This Jupyter notebook introduces the basic concepts of nonlinear programming.
With the help of interactive plots, the gradient descent algorithm for optimization, and the penalty method for the incorporation of constraints are explained.
Furthermore, it is shown, how nonlinear programming can be run with the Python-Package SciPy
.
In the end, we give an outlook to automatic differentiation with the Python package autograd
.
You can run the notebook on Binder with the following link: https://mybinder.org/v2/gh/ahudde/nonlinear_programming/HEAD?labpath=nonlinear_programming.ipynb
One way is to install the Python-Anaconda-Distribution (https://www.anaconda.com/products/individual).
On top of that, please install the packages plotly
and autograd
(by typing conda install plotly
and conda install autograd
in the anaconda prompt).
Download the files nonlinear_programming.ipynb
and nonlinear_programming.py
as well as the .svg
-files in the same folder.
Now, start the jupyter notebook by typing jupyter notebook
into the anaconda prompt and navigating to the nonlinear_programming
folder.
Now you can run the cells of the notebook and thus learn about nonlinear programming. You can run many cells several times, where each time one iteration is shown. Just try it out.
Have fun learning!