Proximal Augmented Lagrangian method for Quadratic Programs
Project description
Proximal Augmented Lagrangian method for Quadratic Programs
QPALM is a numerical optimization package that finds stationary points of (possibly nonconvex) quadratic programs, that is
minimize ½ xᵀQx + qᵀx
subject to l ≤ Ax ≤ u
Documentation
The documentation can be found at: https://tttapa.github.io/QPALM-minimal/Doxygen
Examples are included as well: https://tttapa.github.io/QPALM-minimal/Doxygen/examples.html
Installation
To install the Python interface to QPALM, you can download pre-built binaries from PyPI:
python3 -m pip install qpalm
To install the Matlab interface, download qpalm-matlab.tar.gz
from the
releases page, and
extract it into the ~/Documents/MATLAB
folder. As a one-liner:
wget https://github.com/tttapa/QPALM-minimal/releases/download/0.0.0a2/qpalm-matlab.tar.gz -O- | tar xz -C ~/Documents/MATLAB
Benchmarks
Check out the papers below for detailed benchmark tests comparing QPALM with state-of-the-art solvers.
- QPALM: A Newton-type Proximal Augmented Lagrangian Method for Quadratic Programs
- QPALM: A Proximal Augmented Lagrangian Method for Nonconvex Quadratic Programs
Citing
If you use QPALM in your research, please cite the following paper:
@inproceedings{hermans2019qpalm,
author = {Hermans, B. and Themelis, A. and Patrinos, P.},
booktitle = {58th IEEE Conference on Decision and Control},
title = {{QPALM}: {A} {N}ewton-type {P}roximal {A}ugmented {L}agrangian {M}ethod for {Q}uadratic {P}rograms},
year = {2019},
volume = {},
number = {},
pages = {},
doi = {},
issn = {},
month = {Dec.},
}
License
QPALM is licensed under LGPL v3.0. Some modules are used in this software:
- LADEL: authored by Ben Hermans and licensed under LGPL-v3.
- LOBPCG: the version of LOBPCG used here was written by Ben Hermans and licensed under the GNU Lesser General Public License v3.0, see LOBPCG/LICENSE.
- LAPACK: authored by The University of Tennessee and The University of Tennessee Research Foundation, The University of California Berkeley, and The University of Colorado Denver, and licensed under BSD-3, see here.
- Minunit: a minimal unit testing framework for C, modified from the version by David Siñuela Pastor and licensed under MIT, see here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for qpalm-0.0.0a2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70023c540939bbc1fef457df1957367ffd67cd1ed30fa9213649b336dfa0a509 |
|
MD5 | 935ccd96ac1e46333063c1ce6e6797f6 |
|
BLAKE2b-256 | f1fa5469ed7ed170892e4a538b349879d0c1f86c49b5faf9877b59f84e757f9d |
Hashes for qpalm-0.0.0a2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e674f22e843cad779fbcc3f9cf44d8e87fb3fbb5a798005d6ca647e152b2ae9e |
|
MD5 | e428cab57059f1210252ca884911293d |
|
BLAKE2b-256 | ab246e4ef75e2505fe24bd13e218b66e76a26fe92ef21269ca64587a4b7a3539 |
Hashes for qpalm-0.0.0a2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16aa54373f1da00152b18a32886038a283f2bdefd2e0d0d943b055cd078ad420 |
|
MD5 | 6b09c858adcea887d9ddca26f48b7025 |
|
BLAKE2b-256 | 8f0e379580253fef4ccbc87775bae80a2f17dd8f3dd1c3061c34c838ae54577c |
Hashes for qpalm-0.0.0a2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b25720190cf18594afa40628b39d93409bf191b18a80a3a9eccfb30c52b9e045 |
|
MD5 | 3356d0f2fef8097c69a37a069dd419c5 |
|
BLAKE2b-256 | f44a98038f6ff8629d1c851423e5dd17d5135157ebe8c476062184af0568cef7 |
Hashes for qpalm-0.0.0a2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f5ff1aa068398bf801e803ff2d060c935561a22eda4c7b91fffec3adef9e78f |
|
MD5 | f76d618ac7eca72be185f9c9fc937e64 |
|
BLAKE2b-256 | 73bf61add3a6954e7bf072f6103ffaf3f83419e0b21f88b14f944ae377944a53 |
Hashes for qpalm-0.0.0a2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51b31e9bce2ec106bea0f2249e2d03d99f4b14e74dd7a5e6275abffa3c19aa69 |
|
MD5 | 619e7816b79f5ec8051a82fc143e93dc |
|
BLAKE2b-256 | 0d149ff6309f582caad5d0e43b8187e2d1815e33862842200ce3dd0fbd6d8eaa |
Hashes for qpalm-0.0.0a2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a208f9d022ce390484df4e6c5e02d60843fb376afc0246eb74504980899497cd |
|
MD5 | 38ab2760e5112df1d2b858b79a37f60c |
|
BLAKE2b-256 | 9b0f2f8a3081be9e09f6cc5409c892017e22aaa859d56408c1c185868f5d5ad0 |
Hashes for qpalm-0.0.0a2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4beea6c2a8422ed8e994617966e1f9c1a5bd2079f948356a1a761e0d143dd82 |
|
MD5 | 44c4b8aa94096df4c3c85ea58a7576b2 |
|
BLAKE2b-256 | fbe1c9ffede9dc7070ed7dca3a57af1f2046457d6f59bf65eb0955c93e79ea8d |
Hashes for qpalm-0.0.0a2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7895494cda5e2f051d5eb08f8d26ac664c34546e2ca5e92225774234048d674f |
|
MD5 | 1b805a34720443ade433f0f59bd0315a |
|
BLAKE2b-256 | f45c40586660d76203161f16a8d952dbcd999969ec7e1bded14d062578b1c926 |