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. An
experimental MATLAB interface is available as well.
The solvers in this library solve minimization problems of the following form:
$$ \begin{equation} \begin{aligned} & \underset{x}{\textbf{minimize}} & & f(x) &&&& f : {\rm I\!R}^n \rightarrow {\rm I\!R} \ & \textbf{subject to} & & \underline{x} \le x \le \overline{x} \ &&& \underline{z} \le g(x) \le \overline{z} &&&& g : {\rm I\!R}^n \rightarrow {\rm I\!R}^m \end{aligned} \end{equation} $$
The Python interface can be installed directly from PyPI:
python3 -m pip install --upgrade --pre alpaqa
For more information, please see the full installation instructions.
Pieter Pas, Mathijs Schuurmans, and Panagiotis Patrinos. Alpaqa: A matrix-free solver for nonlinear MPC and large-scale nonconvex optimization. In 2022 European Control Conference (ECC), pages 417–422, 2022.