Main Content

Problems Handled by Optimization Toolbox Functions

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

Minimization Problems

TypeFormulationSolver

Scalar minimization

minxf(x)

such that lb < x < ub (x is scalar)

fminbnd

Unconstrained minimization

minxf(x)

fminunc,
fminsearch

Linear programming

minxfTx

such that A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

linprog

Mixed-integer linear programming

minxfTx

such that A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub, x(intcon) is integer-valued

intlinprog

Quadratic programming

minx12xTHx+cTx

such that A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

quadprog

Cone programming

minxfTx

such that AxbdTxγ, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

coneprog

Constrained minimization

minxf(x)

such that c(x) ≤ 0, ceq(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

fmincon

Semi-infinite minimization

minxf(x)

such that K(x,w) ≤ 0 for all w, c(x) ≤ 0, ceq(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

fseminf

Multiobjective Optimization Problems

TypeFormulationSolver

Goal attainment

minx,γγ

such that F(x) – w·γ ≤ goal, c(x) ≤ 0, ceq(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

fgoalattain

Minimax

minxmaxiFi(x)

such that c(x) ≤ 0, ceq(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

fminimax

Equation Solving Problems

TypeFormulationSolver

Linear equations

C·x = d, n equations, n variables

mldivide (matrix left division)

Nonlinear equation of one variable

f(x) = 0

fzero

Nonlinear equations

F(x) = 0, n equations, n variables

fsolve

Least-Squares (Model-Fitting) Problems

TypeFormulationSolver

Linear least squares

minx12Cxd22

m equations, n variables

mldivide (matrix left division)

Nonnegative linear least squares

minx12Cxd22

such that x ≥ 0

lsqnonneg

Constrained linear least squares

minx12Cxd22

such that A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

lsqlin

Nonlinear least squares

minxF(x)22=minxiFi2(x)

such that lb ≤ x ≤ ub

lsqnonlin

Nonlinear curve fitting

minxF(x,xdata)ydata22

such that lb ≤ x ≤ ub


lsqcurvefit