NLP.py: : An Object-Oriented Environment for Large-Scale Optimization

NLP.py is a Python package for numerical optimization. It aims to provide a toolbox for solving linear and nonlinear programming problems that is both easy to use and extensible. It is applicable to problems that are smooth, have no derivatives, or have integer data.

Implementing, testing, prototyping, experimenting with, and modifying innovative optimization algorithms for large-scale constrained problems are difficult and challenging tasks, regardless of the programming language. The purpose of NLP.py is to offer an environment in which such tasks naturally combine with the programming language and the algorithmics in such a way that they are not more difficult than they really should and yet efficient large-scale implementations remain possible.

Be sure to check the Documentation for examples.

NLP.py is open-source software distributed under the tems of the GNU Lesser General Public License.

Documentation

The complete documentation is also available in PDF format.

Obtaining NLP.py

If You Use Git

NLP.py is available in source form directly from the Git repository using

git clone https://github.com/PythonOptimizers/NLP.py

Everytime you wish to update your NLP.py source files, simply bring your tree up to date:

git pull origin master

If You Do Not Use Git

Navigate to

https://github.com/PythonOptimizers/NLP.py

By clicking the ZIP button, you will be able to download NLP.py as a ZIP archive.