Create optimization options
options = optimoptions(SolverName)
options = optimoptions(SolverName,Name,Value)
options = optimoptions(oldoptions,Name,Value)
options = optimoptions(SolverName,oldoptions)
returns
a set of default options for the options
= optimoptions(SolverName
)SolverName
solver.
returns
options with the named parameters altered with the specified values.options
= optimoptions(SolverName
,Name,Value
)
returns
a copy of options
= optimoptions(oldoptions
,Name,Value
)oldoptions
with the named parameters
altered with the specified values.
returns
default options for the options
= optimoptions(SolverName
,oldoptions
)SolverName
solver, and
copies the applicable options in oldoptions
to options
.
Create default options for the fmincon
solver.
options = optimoptions('fmincon')
options = fmincon options: Options used by current Algorithm ('interior-point'): (Other available algorithms: 'active-set', 'sqp', 'sqp-legacy', 'trust-region-reflective') Set properties: No options set. Default properties: Algorithm: 'interior-point' CheckGradients: 0 ConstraintTolerance: 1.0000e-06 Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' HessianApproximation: 'bfgs' HessianFcn: [] HessianMultiplyFcn: [] HonorBounds: 1 MaxFunctionEvaluations: 3000 MaxIterations: 1000 ObjectiveLimit: -1.0000e+20 OptimalityTolerance: 1.0000e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 SpecifyConstraintGradient: 0 SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-10 SubproblemAlgorithm: 'factorization' TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('interior-point')
Create nondefault options for the fmincon
solver.
options = optimoptions(@fmincon,'Algorithm','sqp','MaxIterations',1500)
options = fmincon options: Options used by current Algorithm ('sqp'): (Other available algorithms: 'active-set', 'interior-point', 'sqp-legacy', 'trust-region-reflective') Set properties: Algorithm: 'sqp' MaxIterations: 1500 Default properties: CheckGradients: 0 ConstraintTolerance: 1.0000e-06 Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' MaxFunctionEvaluations: '100*numberOfVariables' ObjectiveLimit: -1.0000e+20 OptimalityTolerance: 1.0000e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 SpecifyConstraintGradient: 0 SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('sqp')
Update existing options with new values.
Create options for the lsqnonlin
solver.
oldoptions = optimoptions(@lsqnonlin,'Algorithm','levenberg-marquardt',... 'MaxFunctionEvaluations',1500)
oldoptions = lsqnonlin options: Options used by current Algorithm ('levenberg-marquardt'): (Other available algorithms: 'trust-region-reflective') Set properties: Algorithm: 'levenberg-marquardt' MaxFunctionEvaluations: 1500 Default properties: CheckGradients: 0 Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('levenberg-marquardt')
Increase MaxFunctionEvaluations
to 2000.
options = optimoptions(oldoptions,'MaxFunctionEvaluations',2000)
options = lsqnonlin options: Options used by current Algorithm ('levenberg-marquardt'): (Other available algorithms: 'trust-region-reflective') Set properties: Algorithm: 'levenberg-marquardt' MaxFunctionEvaluations: 2000 Default properties: CheckGradients: 0 Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('levenberg-marquardt')
Update existing options with new values by using dot notation.
Create options for the lsqnonlin
solver.
options = optimoptions(@lsqnonlin,'Algorithm','levenberg-marquardt',... 'MaxFunctionEvaluations',1500)
options = lsqnonlin options: Options used by current Algorithm ('levenberg-marquardt'): (Other available algorithms: 'trust-region-reflective') Set properties: Algorithm: 'levenberg-marquardt' MaxFunctionEvaluations: 1500 Default properties: CheckGradients: 0 Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('levenberg-marquardt')
Increase MaxFunctionEvaluations
to 2000 by using dot notation.
options.MaxFunctionEvaluations = 2000
options = lsqnonlin options: Options used by current Algorithm ('levenberg-marquardt'): (Other available algorithms: 'trust-region-reflective') Set properties: Algorithm: 'levenberg-marquardt' MaxFunctionEvaluations: 2000 Default properties: CheckGradients: 0 Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('levenberg-marquardt')
Transfer nondefault options for the fmincon
solver to options for the fminunc
solver.
Create nondefault options for the fmincon
solver.
oldoptions = optimoptions(@fmincon,'Algorithm','sqp','MaxIterations',1500)
oldoptions = fmincon options: Options used by current Algorithm ('sqp'): (Other available algorithms: 'active-set', 'interior-point', 'sqp-legacy', 'trust-region-reflective') Set properties: Algorithm: 'sqp' MaxIterations: 1500 Default properties: CheckGradients: 0 ConstraintTolerance: 1.0000e-06 Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' MaxFunctionEvaluations: '100*numberOfVariables' ObjectiveLimit: -1.0000e+20 OptimalityTolerance: 1.0000e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 SpecifyConstraintGradient: 0 SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('sqp')
Transfer the applicable options to the fminunc
solver.
options = optimoptions(@fminunc,oldoptions)
options = fminunc options: Options used by current Algorithm ('quasi-newton'): (Other available algorithms: 'trust-region') Set properties: CheckGradients: 0 FiniteDifferenceType: 'forward' MaxIterations: 1500 OptimalityTolerance: 1.0000e-06 PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-06 Default properties: Algorithm: 'quasi-newton' Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' MaxFunctionEvaluations: '100*numberOfVariables' ObjectiveLimit: -1.0000e+20 OutputFcn: [] TypicalX: 'ones(numberOfVariables,1)' Show options not used by current Algorithm ('quasi-newton')
SolverName
— Solver nameSolver name, specified as a character vector, string, or function handle.
Example: 'fmincon'
Example: @fmincon
Data Types: char
| function_handle
| string
oldoptions
— Optionsoptimoptions
Options, specified as an options object. The optimoptions
function
creates options objects.
Example: oldoptions = optimoptions(@fminunc)
Specify optional
comma-separated pairs of Name,Value
arguments. Name
is
the argument name and Value
is the corresponding value.
Name
must appear inside single quotes (' '
). You can
specify several name and value pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
optimoptions(@fmincon,'Display','iter','FunctionTolerance',1e-10)
sets fmincon
options
to have iterative display, and to have a FunctionTolerance
of 1e-10
.For relevant name-value pairs, consult the options table for your solver:
fgoalattain
options
fmincon
options
fminimax
options
fminunc
options
fseminf
options
fsolve
options
ga
options
(in Global Optimization
Toolbox)
gamultiobj
options
(in Global Optimization
Toolbox)
intlinprog
options
linprog
options
lsqcurvefit
options
lsqlin
options
lsqnonlin
options
particleswarm
options
(in Global Optimization
Toolbox)
patternsearch
options
(in Global Optimization
Toolbox)
quadprog
options
simulannealbnd
options
(in Global Optimization
Toolbox)
options
— Options objectOptions object, returned as the options for the SolverName
solver.
You can set and modify options using the Optimization app (optimtool
).
The Optimization app warns that it will be removed in a future release.