What Is Quadratic Programming?
Quadratic programming (QP) is minimizing or maximizing an objective function subject to bounds, linear equality, and inequality constraints. Example problems include portfolio optimization in finance, power generation optimization for electrical utilities, and design optimization in engineering.
Quadratic programming is the mathematical problem of finding a vector x that minimizes a quadratic function:
\[\min_{x} \left\{\frac{1}{2}x^{\mathsf{T}}Hx + f^{\mathsf{T}}x\right\}\]
Subject to the constraints:
\[\begin{eqnarray}Ax \leq b & \quad & \text{(inequality constraint)} \\A_{eq}x = b_{eq} & \quad & \text{(equality constraint)} \\lb \leq x \leq ub & \quad & \text{(bound constraint)}\end{eqnarray}\]
You can use MATLAB® to implement the following commonly used algorithms to solve quadratic programming problems:
- Interior-point-convex: solves convex problems with any combination of constraints
- Trust-region-reflective: solves bound constrained or linear equality constrained problems
- Active-set: solves small to medium-sized convex problems with any combination of constraints
For more information about quadratic programming, see Optimization Toolbox™.
Examples and How To
Software Reference
See also: Optimization Toolbox, Global Optimization Toolbox, linear programming, integer programming, nonlinear programming, multiobjective optimization, genetic algorithm, simulated annealing, prescriptive analytics, Convex Optimization