{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "HLEvRhX10Q3F", "pycharm": {} }, "source": [ "\n", "*This notebook contains course material from [CBE40455](https://jckantor.github.io/CBE40455) by\n", "Jeffrey Kantor (jeff at nd.edu); the content is available [on Github](https://github.com/jckantor/CBE40455.git).\n", "The text is released under the [CC-BY-NC-ND-4.0 license](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode),\n", "and code is released under the [MIT license](https://opensource.org/licenses/MIT).*" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "4uEPJGsQ0Q3G", "pycharm": {} }, "source": [ "\n", "< [Getting Started Guides](http://nbviewer.jupyter.org/github/jckantor/CBE40455/blob/master/notebooks/01.00-Getting-Started-Guides.ipynb) | [Contents](toc.ipynb) | [Getting Started with Gurobi](http://nbviewer.jupyter.org/github/jckantor/CBE40455/blob/master/notebooks/01.02-Getting-Started-with-Gurobi.ipynb) >
" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "WaSEnPcC0Q3H", "pycharm": {}, "slideshow": { "slide_type": "-" } }, "source": [ "# Getting Started with CVXPY" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "aBeww8An0Q3I", "pycharm": {}, "slideshow": { "slide_type": "skip" } }, "source": [ "This [Jupyter notebook](http://jupyter.org/notebook.html) demonstrates use of the [CVXPY](http://www.cvxpy.org/en/latest/) package for describing and solving convex optimization problems. CVXPY provides a modeling language embedded within Python that is well suited to linear and quadratic optimization problems with linear constraints. A limited set of solvers are distributed with CVXPY, and interfaces are available for others. Further documentation is available [here (.pdf)](https://media.readthedocs.org/pdf/cvxpy/latest/cvxpy.pdf)." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "r_BFRIGe0Q3J", "pycharm": {}, "slideshow": { "slide_type": "slide" } }, "source": [ "## Installation\n", "\n", "It is necessary to install CVXPY before use. Instructions can be found [here](http://www.cvxpy.org/en/latest/install/). If you happen to be using the Anaconda distribution of Python, the following cell should be sufficient for installation.\n", "\n", " !conda install -c cvxgrp -y cvxpy\n", " \n", "CVXPY is already installed in Google Colaboratory, so no extra installation steps are required on that platform." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "collapsed": true, "id": "VJehVC_o0Q3O", "pycharm": {}, "slideshow": { "slide_type": "slide" } }, "source": [ "## Solving linear equations\n", "\n", "One of the simpliest use cases for cvxpy is solving a system of linear equations. For example, consider the pair of the equations\n", "\n", "\\begin{align*}\n", "3\\,x + 4\\,y & = 26 \\\\\n", "2\\,x - 3\\,y & = -11\n", "\\end{align*}\n", "\n", "where $x$ and $y$ are the unknowns. Each equation is a linear equality constraint. The problem is easily solved with a few simple cvxpy constructss." ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 68 }, "colab_type": "code", "executionInfo": { "elapsed": 872, "status": "ok", "timestamp": 1557239774334, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "KRXlD5uq0Q3P", "outputId": "9083c6e7-1a15-4355-da8d-f57ea6917af9", "pycharm": {}, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "optimal\n", "2.0000000000000004\n", "4.999999999999999\n" ] } ], "source": [ "import numpy as np\n", "import cvxpy as cp\n", "\n", "# create the variables to solve for\n", "x = cp.Variable()\n", "y = cp.Variable()\n", "\n", "# create a list of equality constraints\n", "eqns = [\n", " 3*x + 4*y == 26,\n", " 2*x - 3*y == -11\n", "]\n", "\n", "# create a problem instance \n", "prob = cp.Problem(cp.Minimize(0), eqns)\n", "\n", "# solve\n", "prob.solve()\n", "print(prob.status)\n", "\n", "# display solution\n", "print(x.value)\n", "print(y.value)" ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "colab": {}, "colab_type": "code", "id": "wXDQrUE__H4n" }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "fJINN-ai_G7D" }, "source": [ "### Using Matrix Parameters and Vector Variables" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 85 }, "colab_type": "code", "executionInfo": { "elapsed": 311, "status": "ok", "timestamp": 1557244162724, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "b1eL_yAL--BA", "outputId": "252d5394-4fb5-454c-a20d-5806ec06f902" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Problem Status: optimal\n", "Objective Value: 5.385164802505173\n", " Solution x[0]: 2.0\n", " Solution x[1]: 4.999999999999999\n" ] } ], "source": [ "import cvxpy as cp\n", "import numpy as np\n", "\n", "# specify problem data as numpy matrix and vectors\n", "A = np.array([[3, 4], [2, -3]])\n", "b = np.array([26, -11])\n", "\n", "# create a vector variables\n", "x = cp.Variable(2)\n", "\n", "# specify equality constraints\n", "constraints = [A*x == b]\n", "\n", "# form objective.\n", "objective = cp.Minimize(cp.norm(x))\n", "\n", "# form and solve problem.\n", "problem = cp.Problem(objective, constraints)\n", "problem.solve()\n", "\n", "# display the solution\n", "print(\" Problem Status:\", problem.status)\n", "print(\"Objective Value:\", problem.value)\n", "print(\" Solution x[0]:\", x[0].value)\n", "print(\" Solution x[1]:\", x[1].value)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "8biL-F7_0Q3S", "pycharm": {}, "slideshow": { "slide_type": "slide" } }, "source": [ "## Regression: Evidence of Climate Change\n", "\n", "Get the historical record of ice out dates on Rainy Lake, Minnesota. Rainy Lake is a large lake, approximately 1000 sq. km., located on the Minnesota/Ontario border. Reliable records for ice-out date goes back to 1935, where for this lake ice-out is defined as the first day the lake can be navigated from one end to the other following a specified route.\n", "\n", "The next cell downloads and extracts the historical ice-out date from [Climatology office of the Minnesota Department of Natural Resources](https://www.dnr.state.mn.us/ice_out/index.html). The url needed to extract the historical information is found by clicking on a particular lake, then on the link labeled \"all ice-out data for this lake\"." ] }, { "cell_type": "code", "execution_count": 0, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 312 }, "colab_type": "code", "executionInfo": { "elapsed": 1720, "status": "ok", "timestamp": 1557239775191, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "A_CC7v0l0Q3T", "outputId": "795bec27-9d76-4889-f3ce-ea3b047bfd3d", "pycharm": {}, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Data Download Status: OK\n" ] }, { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "