alpaqa#

alpaqa is an efficient implementation of an augmented Lagrangian method for general nonlinear programming problems, which uses the first-order, matrix-free PANOC algorithm as an inner solver. The numerical algorithms themselves are implemented in C++ for optimal performance, and they are exposed as an easy-to-use Python package.

The solvers in this library solve minimization problems of the following form:

\[\begin{split}\newcommand\mymathbb[1] { {\rm I\mathchoice{\hspace{-2pt}}{\hspace{-2pt}} {\hspace{-1.75pt}}{\hspace{-1.7pt}}#1} } \newcommand{\R}{\mymathbb R} \begin{aligned} & \underset{x}{\text{minimize}} & & f(x) &&&& f : \R^n \rightarrow \R \\ & \text{subject to} & & \underline{x} \le \phantom{g(}x\phantom{)} \le \overline{x} \\ &&& \underline{z} \le g(x) \le \overline{z} &&&& g : \R^n \rightarrow \R^m \end{aligned}\end{split}\]

For more information, please see Getting started.

The package can be easily installed using:

python3 -m pip install --upgrade --pre alpaqa

More the details can be found on the Installation page.

The Sphinx pages you are currently viewing contain most of the documentation for the Python and Matlab interfaces. Detailed documentation of the underlying C++ library and some more examples can be found in the Doxygen pages.