alpaqa
1.0.0a12
Nonconvex constrained optimization
|
alpaqa
is an efficient implementation of an Augmented Lagrangian method for general nonlinear programming problems. It makes use of 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 also exposed as an easy-to-use Python package.
The solvers in this library solve minimization problems of the following form:
\[ \begin{aligned} & \underset{x}{\text{minimize}} & & f(x) &&&& f : \Rn \rightarrow \R \\ & \text{subject to} & & \underline{x} \le x \le \overline{x} \\ &&& \underline{z} \le g(x) \le \overline{z} &&&& g : \Rn \rightarrow \R^m \end{aligned} \]
Sphinx documentation
Doxygen documentation
For the Python interface, it is recommended to consult the Sphinx documentation, whereas the Doxygen documentation provides the best overview of the C++ API (see especially the Topics page).
To get started using the C++ API, see the C++/CustomCppProblem/main.cpp example, which explains how to formulate an optimization problem, how to configure the solver, and how to solve the problem.
Other examples are provided to demonstrate how to load external problems or problems that have been defined in different programming languages:
alpaqa-driver
command-line tool)The project is available on PyPI:
For more information, please see the full installation instructions.
If you use this software in your research, please cite the following publication: [2]
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.