Problems Handled by Optimization Toolbox Functions - MATLAB & Simulink (original) (raw)

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 minxf(x)such that lb < x < ub (x is scalar) fminbnd
Unconstrained minimization minxf(x) fminunc, fminsearch
Linear programming minxfTxsuch that A·xb,Aeq·x = beq,lbxub linprog
Mixed-integer linear programming minxfTxsuch that A·xb,Aeq·x = beq,lbxub, x(intcon) is integer-valued intlinprog
Quadratic programming minx12xTHx+cTx such that A·xb,Aeq·x = beq,lbxub quadprog
Cone programming minxfTxsuch that ‖A⋅x−b‖≤dT⋅x−γ, A·xb,Aeq·x = beq,lbxub coneprog
Constrained minimization minxf(x)such that c(x) ≤ 0,ceq(x) = 0,A·xb,Aeq·x = beq,lbxub fmincon
Semi-infinite minimization minxf(x)such that K(x,w) ≤ 0 for all w,c(x) ≤ 0,ceq(x) = 0,A·xb,Aeq·x = beq,lbxub fseminf

Multiobjective Optimization Problems

Type Formulation Solver
Goal attainment minx,γγsuch that F(x) – w_·_γ ≤ goal,c(x) ≤ 0,ceq(x) = 0,A·xb,Aeq·x = beq,lbxub fgoalattain
Minimax minxmaxiFi(x)such that c(x) ≤ 0,ceq(x) = 0,A·xb,Aeq·x = beq,lbxub fminimax

Equation Solving Problems

Type Formulation Solver
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

Type Formulation Solver
Linear least squares minx12‖C⋅x−d‖22_m_ equations,n variables mldivide (matrix left division)
Nonnegative linear least squares minx12‖C⋅x−d‖22such that x ≥ 0 lsqnonneg
Constrained linear least squares minx12‖C⋅x−d‖22such that A·xb,Aeq·x = beq,lb ≤ x ≤ ub lsqlin
Nonlinear least squares minx‖F(x)‖22=minx∑iFi2(x)such that lb ≤ x ≤ ub lsqnonlin
Nonlinear curve fitting minx‖F(x,xdata)−ydata‖22such that lb ≤ x ≤ ub lsqcurvefit

Optimization Toolbox™ solvers apply to smooth problems. This means the objective function and any nonlinear constraint functions should be at least twice continuously differentiable. Sometimes, Optimization Toolbox solvers work with nonsmooth functions; feel free to try them on any problem. The base MATLAB® optimization solvers fminbnd, fminsearch, and fzero have no smoothness requirements, and most Global Optimization Toolbox solvers have no smoothness requirements.

See Also

Topics