Metadata-Version: 2.1
Name: alpaqa
Version: 0.0.1a1
Summary: Augmented Lagrangian and PANOC solvers for nonconvex numerical optimization
Home-page: https://github.com/kul-optec/alpaqa
Author: Pieter P
Author-email: 
License: UNKNOWN
Project-URL: Documentation, https://kul-optec.github.io/alpaqa
Project-URL: Source, https://github.com/kul-optec/alpaqa
Project-URL: Bug Tracker, https://github.com/kul-optec/alpaqa/issues
Keywords: optimization
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: casadi
Requires-Dist: ninja
Requires-Dist: cmake

[![Build Status](https://github.com/kul-optec/alpaqa/workflows/CI%20Tests/badge.svg)](https://github.com/kul-optec/alpaqa/actions)
[![Test Coverage](https://img.shields.io/endpoint?url=https://kul-optec.github.io/alpaqa/Coverage/shield.io.coverage.json)](https://kul-optec.github.io/alpaqa/Coverage/index.html)
[![GitHub](https://img.shields.io/github/stars/kul-optec/alpaqa?label=GitHub&logo=github)](https://github.com/kul-optec/alpaqa)


# alpaqa

`Alpaqa` is an efficient implementation of the 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:

<div align="center">

![Problem formulation](https://github.com/kul-optec/alpaqa/blob/main/doxygen/images/problem.svg?raw=True)

</div>

The objective function _f_(x) and the constraints function _g_(x)
should have a Lipschitz-continuous gradient.

## Documentation

[**Sphinx documentation**](https://kul-optec.github.io/alpaqa/Sphinx/index.html)  
[**Doxygen documentation**](https://kul-optec.github.io/alpaqa/Doxygen/index.html)  
[**Python examples**](https://kul-optec.github.io/alpaqa/Sphinx/examples/examples_landing_page.html)  
[**C++ examples**](https://kul-optec.github.io/alpaqa/Doxygen/examples.html)  

## Installation

The project is available on [PyPI](https://pypi.org/project/alpaqa):

```sh
python3 -m pip install alpaqa
```

For more information, please see the full
[installation instructions](https://kul-optec.github.io/alpaqa/Sphinx/install/installation.html).


