Main Content

Problems Handled byOptimization ToolboxFunctions

The following tables show the functions available for minimization, multiobjective optimization, equation solving, and solving least-squares (model-fitting) problems.

Minimization Problems

Type Formulation Solver

Scalar minimization

min x f ( x )

such thatlb<x<ub(xis scalar)

fminbnd

Unconstrained minimization

min x f ( x )

fminunc,
fminsearch

Linear programming

min x f T x

such thatA·xb,Aeq·x=beq,lbxub

linprog

Mixed-integer linear programming

min x f T x

such thatA·xb,Aeq·x=beq,lbxub,x(intcon) is integer-valued

intlinprog

Quadratic programming

min x 1 2 x T H x + c T x

such thatA·xb,Aeq·x=beq,lbxub

quadprog

Cone programming

min x f T x

such that A x b d T x γ ,A·xb,Aeq·x=beq,lbxub

coneprog

Constrained minimization

min x f ( x )

such thatc(x) ≤ 0,ceq(x) = 0,A·xb,Aeq·x=beq,lbxub

fmincon

Semi-infinite minimization

min x f ( x )

such thatK(x,w) ≤ 0 for allw,c(x) ≤ 0,ceq(x) = 0,A·xb,Aeq·x=beq,lbxub

fseminf

Multiobjective Optimization Problems

Type Formulation Solver

Goal attainment

min x , γ γ

such thatF(x) –w·γ≤ goal,c(x) ≤ 0,ceq(x) = 0,A·xb,Aeq·x=beq,lbxub

fgoalattain

Minimax

min x max i F i ( x )

such thatc(x) ≤ 0,ceq(x) = 0,A·xb,Aeq·x=beq,lbxub

fminimax

Equation Solving Problems

Type Formulation Solver

Linear equations

C·x=d,nequations,nvariables

mldivide(matrix left division)

Nonlinear equation of one variable

f(x) = 0

fzero

Nonlinear equations

F(x) = 0,nequations,nvariables

fsolve

Least-Squares (Model-Fitting) Problems

Type Formulation Solver

Linear least squares

min x 1 2 C x d 2 2

mequations,nvariables

mldivide(matrix left division)

Nonnegative linear least squares

min x 1 2 C x d 2 2

such thatx≥ 0

lsqnonneg

Constrained linear least squares

min x 1 2 C x d 2 2

such thatA·xb,Aeq·x=beq,lb ≤ x ≤ ub

lsqlin

Nonlinear least squares

min x F ( x ) 2 2 = min x i F i 2 ( x )

such thatlb ≤ x ≤ ub

lsqnonlin

Nonlinear curve fitting

min x F ( x , x d a t a ) y d a t a 2 2

such thatlb ≤ x ≤ ub


lsqcurvefit