Main Content

Quadratic Programming and Cone Programming

Solve problems with quadratic objectives and linear constraints or with conic constraints

Before you begin to solve an optimization problem, you must choose the appropriate approach: problem-based or solver-based. For details, see First Choose Problem-Based or Solver-Based Approach.

For the problem-based approach, create problem variables, and then represent the objective function and constraints in terms of these symbolic variables. For the problem-based steps to take, see Problem-Based Optimization Workflow. To solve the resulting problem, use solve.

For the solver-based steps to take, including defining the objective function and constraints, and choosing the appropriate solver, see Solver-Based Optimization Problem Setup. To solve the resulting problem, use quadprog or coneprog.


expand all

evaluateEvaluate optimization expression or objectives and constraints in problem
infeasibilityConstraint violation at a point
optimproblemCreate optimization problem
optimvarCreate optimization variables
solveSolve optimization problem or equation problem
coneprogSecond-order cone programming solver (Since R2020b)
optim.coder.infboundInfinite bound support for code generation (Since R2022b)
optimwarmstartCreate warm start object (Since R2021a)
quadprogQuadratic programming
secondorderconeCreate second-order cone constraint (Since R2020b)

Live Editor Tasks

OptimizeOptimize or solve equations in the Live Editor (Since R2020b)


SecondOrderConeConstraintSecond-order cone constraint object (Since R2020b)


Problem-Based Quadratic Programming

Solver-Based Quadratic Programming

Problem-Based Second-Order Cone Programming

Solver-Based Second-Order Cone Programming

Code Generation

Problem-Based Algorithms

Algorithms and Options