What is oppy?

oppy: optimization in python

Documentation is available in the docstrings and online at https://www.mathematik.uni-konstanz.de/volkwein/python/oppy/

Optimization package in python (oppy) is a library with optimization algorithms, which are implemented in the programming language Python. Besides algorithms for solving constrained, unconstrained and non-linear optimization problems, the package contains built-in iterative methods for solving linear systems.

The first idea behind oppy was to provide optimization methods which are often used in the work group of Prof. Dr. Volkwein. Therefore, investigations in more advanced methods and optimization projects will be easier, since the basic methods are available.

Since the beginning of oppy, algorithms from Bachelor, Master and PHD theses have been collected and edited for user-friendly use. The developement of oppy is still in process and and oppy has become a large optimization package with various methods.

Currently advanced optimization methods are included in oppy such as SQP (Square Quadratic Programming), Augmented Lagrangian and different newton-type methods. Furthermore Krylov methods such as CG (conjugated gradient) and GMRES method are implemented for stable solving of linear systems.

The goal is to provide a straightforward integration of the optimization package to other applications such that other methods benefit from it.