QP a general convex qpp solver

QP solves dense convex quadratic programming and supports ill conditionned problem
200 Downloads
Updated 31 Jan 2023

View License

QP is a self contained quadratic programming solver based upon the well known Goldfarb Idnani algorithm. Hessian factorization and orthogonal transformation are used every where (Householder and givens rotation) it is necessary. When equality constraints exist, only the reduced Hessian is required to be positive definite. The full Hessian matrix is checked against a possibly very small negative eigenvalue due to rounding errors.
The calling sequence is similar to quadprog except that there is no starting point x0 argument. Option is limited to a tolerance tol and a maximum of iterations. The exitflag convention is maintained for >=0 value and is little bit different for <0 values. The output.status gives explanation as usually. A field .drop shows how many times a previously added constraint has been dropped.
Fixed variables are set through lb(*)=ub(*). Equality constraints may be linear dependent and they are checked against incompatibilty.
The cpu time is similar to quadprog and precision is usually better in particular for ill conditionned problem.
The package has been written with matlab R2018a however it does run successfully with many older releases.

Cite As

Alain Barraud (2024). QP a general convex qpp solver (https://www.mathworks.com/matlabcentral/fileexchange/67864-qp-a-general-convex-qpp-solver), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2018a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Quadratic Programming and Cone Programming in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

correction of a bug when there is no equality constraint and modification of test to check non strictly convex problem

1.0.0.0