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·x ≤ b,Aeq·x = beq,lb ≤ x ≤ ub | linprog |
Mixed-integer linear programming | minxfTxsuch 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 | minxfTxsuch that ‖A⋅x−b‖≤dT⋅x−γ, 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
Type | Formulation | Solver |
---|---|---|
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
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·x ≤ b,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.