Optimize or solve equations in the Live Editor
TheOptimizetask lets you interactively optimize linear and nonlinear objective functions subject to constraints of various types, and to solve nonlinear systems of equations. The task automatically generates MATLAB®code for your live script.
Using this task, you can:
Choose a solver based on the characteristics of your problem. If you haveGlobal Optimization Toolbox, you can choose to use its solvers as well.
Specify the objective and constraint functions, either by writing functions or browsing for functions.
Specify solver options.
Run the optimization.
For suggestions on how to useOptimize, seeUse Optimize Live Editor Task Effectively. Currently, you cannot use thefseminf
,GlobalSearch
, orMultiStart
solvers withOptimize.
对于一般的信息ve Editor tasks, seeAdd Interactive Tasks to a Live Script.
To add theOptimizetask to a live script in the MATLAB Editor, on the Live EditorInserttab, selectTask > Optimize.
Alternatively, in a code block in the script, type a relevant keyword, such asoptim
orfmincon
. SelectOptimizefrom the suggested command completions.
Objective
— Objective function typeLinear
|Quadratic
|Least squares
|Nonlinear
|Nonsmooth
Objective function type, specified by clicking the appropriate labeled button. The selected objective function determines which solvers are available and which solver is recommended for the problem (seeSolver
).
Constraints
— Constraint typesUnconstrained
|Lower bounds
|Upper bounds
|Linear inequality
|Linear equality
|Second-order cone
|Nonlinear
|Integer
Constraint types, specified by clicking the appropriate labeled buttons. You can specify more than one constraint type. The selected constraints determine which solvers are available and which solver is recommended for the problem (seeSolver
).
Solver
— Optimization solverOptimization solver that MATLAB uses to solve the problem, specified by selecting a solver from the list of available solvers. The available solvers and the recommended solver depend on your license and the selectedObjective
andConstraints
.
Available Solvers
Constraint Type | Objective Type | ||||
---|---|---|---|---|---|
Linear | Quadratic | Least Squares | Nonlinear | Nonsmooth | |
Unconstrained | Solution is trivial | quadprog |
lsqcurvefit ,lsqnonlin ,lsqnonneg ,lsqlin |
fgoalattain ,fminsearch ,fminimax ,fminunc ,fsolve ,fzero ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),particleswarm (Global Optimization Toolbox),simulannealbnd (Global Optimization Toolbox) |
fminsearch ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),particleswarm (Global Optimization Toolbox),simulannealbnd (Global Optimization Toolbox) |
Bounds Only | linprog |
quadprog |
lsqcurvefit ,lsqnonlin ,lsqnonneg ,lsqlin |
fgoalattain ,fminbnd ,fmincon ,fminimax ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),particleswarm (Global Optimization Toolbox),simulannealbnd (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
fminbnd ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),particleswarm (Global Optimization Toolbox),simulannealbnd (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
Linear | linprog |
quadprog |
lsqlin ,fmincon |
fgoalattain ,fmincon ,fminimax ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
Linear + Integer | intlinprog |
ga (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
Second-order cone | coneprog |
fgoalattain ,fmincon ,fminimax ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
fgoalattain ,fmincon ,fminimax ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
fgoalattain ,fmincon ,fminimax ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
Nonlinear | fgoalattain ,fmincon ,fminimax ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
fgoalattain ,fmincon ,fminimax ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
fgoalattain ,fmincon ,fminimax ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
fgoalattain ,fmincon ,fminimax ,ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),gamultiobj (Global Optimization Toolbox),paretosearch (Global Optimization Toolbox),patternsearch (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
Nonlinear + Integer | ga (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
ga (Global Optimization Toolbox),surrogateopt (Global Optimization Toolbox) |
Example:fmincon
For functions with extra inputs,Optimize需要你选择优化变量,and to specify which workspace variables contain the fixed data inputs. For example, seePlace Optimization Variables in One Vector and Data in Other Variables, which contains three function inputs:
Optimizegenerates code only after you specify all function inputs.
Optimizecannot parse a function containing thevarargin
input or a function that contains an error.
If you select an objective or nonlinear constraint function from a file,Optimizeadds the file location to your MATLAB path.
IfOptimizehas a parsing error or if multiple local functions have the same name, the list of available local functions is empty.
fmincon
|intlinprog
|patternsearch
(Global Optimization Toolbox)|surrogateopt
(Global Optimization Toolbox)