Skip to content
/ daqp Public
forked from darnstrom/daqp

A dual active-set algorithm for convex quadratic programming

License

Notifications You must be signed in to change notification settings

tinsirius/daqp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FORKED DAQP

Add pre-factorization once you know a varying H ahead of time. Since the code is parallel and prone to racing condition. Create an entirely set of function that will ignore Rinv and scaling:

  • setup_warm_daqp
  • setup_daqp_warm_ldp
  • allocate_daqp_warm_workspace

DAQP

License: MIT CI

DAQP is a dual active-set solver that solves convex quadratic programs of the form

minimize        0.5 x' H x + f' x

subject to      l  <=  x  <= u
		bl <=  Ax <= bu.

Binary constraints of the form A x { b l , b u } are also supported, allowing for mixed-integer quadratic programs to be solved.

The code is written in C and is library free. DAQP can be interfaced to C, Julia, MATLAB, and Python.

Quick installation

Julia

] add DAQP

MATLAB

websave('install_daqp','https://raw.githubusercontent.com/darnstrom/daqp/master/interfaces/daqp-matlab/install_daqp.m')
install_daqp

Python

pip install daqp

Details

See the Documentation for more detailed installation instructions and basic use of the interfaces.

Citing DAQP

@article{arnstrom2022dual,
  author={Arnström, Daniel and Bemporad, Alberto and Axehill, Daniel},
  journal={IEEE Transactions on Automatic Control},
  title={A Dual Active-Set Solver for Embedded Quadratic Programming Using Recursive {LDL}$^{T}$ Updates},
  year={2022},
  volume={67},
  number={8},
  pages={4362-4369},
  doi={10.1109/TAC.2022.3176430}
}

About

A dual active-set algorithm for convex quadratic programming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 66.1%
  • MATLAB 26.0%
  • Cython 4.0%
  • CMake 2.0%
  • Python 1.9%