Quadratic Programming
Quadratic Programming
There are different methods available to implement quadratic programming for convex optimization
problems.
MATLAB: fmincon uses a sequential quadratic programming (SQP) method. In this method, the function
solves a quadratic programming (QP) subproblem at each iteration. fmincon updates an estimate of the
Hessian of the Lagrangian at each iteration using the BFGS formula. Method BFGS uses the quasi-
Newton method of Broyden, Fletcher, Goldfarb, and Shanno (BFGS). It uses the first derivatives only.
BFGS has proven good performance even for non-smooth optimizations.
Python: CVXOPT is a Python open-source package for convex optimization. The software documentation
provides help on different examples and tutorials on solving the quadratic programs. There are different
optimality criteria for experimental design to obtain maximum information about the models. This
software package can be used to solve various nonlinear convex optimization problems, where both linear
and nonlinear equalities are specified as constraints.
SQOPT is another software package to minimize a convex quadratic function subject to inequality and
equality constraints. It uses reduce-Hessian, active-set and two-phase method.