主要内容

optimoptions

创建优化选项

描述

例子

选项= optimoptions (SolverName返回一组默认选项SolverName解算器。

例子

选项= optimoptions (SolverName名称,值返回选项使用一个或多个名称-值对参数设置指定的参数。

例子

选项= optimoptions (oldoptions名称,值返回oldoptions用指定的值更改命名参数。

例子

选项= optimoptions (SolverNameoldoptions的默认选项SolverName中的可应用选项oldoptions选项

例子

选项= optimoptions (概率返回一组默认选项概率优化问题或方程问题。

选项= optimoptions (概率名称,值返回带有使用一个或多个名称-值对参数设置的指定参数的选项。

例子

全部折叠

的默认选项fmincon解算器。

选项= Optimoptions('粉丝'
options = fmincon options: options used by current Algorithm (' internal -point'):(其他可用算法:'active-set', 'sqp', 'sqp-legacy', 'trust-region-reflective')默认属性:Algorithm: ' internal -point' BarrierParamUpdate: 'monotone' CheckGradients: 0 constrainttrance: 1.0000e-06 Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' HessianApproximation: 'bfgs' HessianFcn: [] HessianMultiplyFcn: [] HonorBounds: 1 maxfunctionevaluates: 3000 MaxIterations:1000 ObjectiveLimit: -1.0000 e + 20 OptimalityTolerance: 1.0000 e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 SpecifyConstraintGradient: 0 SpecifyObjectiveGradient: 0 StepTolerance: 1.0000平台以及SubproblemAlgorithm:“分解”TypicalX:“(numberOfVariables, 1)的”UseParallel: 0显示选项不习惯目前的算法(“内点”)

设置选项fmincon用来SQP.算法,最多1500次迭代。

选择= optimoptions (@fmincon,“算法”'SQP'“MaxIterations”, 1500)
设置属性:Algorithm: 'sqp' MaxIterations: 1500默认属性:CheckGradients: 0 constraintttolerance: 1.0000e-06 Display: 'final' FiniteDifferenceStepSize:maxfunction evaluates: '100*numberOfVariables' objectilimit: -1.0000e+20 OptimalityTolerance: 1.0000e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 specificconstraintgradient: 0 specificobjectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel:显示当前算法未使用的选项('sqp')

使用新值更新现有选项。

lsqnonlin求解器的使用levenberg-marquardt算法和最多1500个功能评估

oldOptions = Optimoptions(@lsqnonlin,“算法”“levenberg-marquardt”...“MaxFunctionEvaluations”, 1500)
oldoptions = lsqnonlin options: options used by current Algorithm ('levenberg-marquardt'):(其他可用算法:' trusted -region-reflective')设置属性:Algorithm: 'levenberg-marquardt' maxfunctionevalues: 1500默认属性:CheckGradients: 0显示:'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType:'forward' FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] speciyobjectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0显示当前算法未使用的选项(' levenbermarquardt ')

增加MaxFunctionEvaluations到2000年。

选项= Optimoptions(OldOptions,“MaxFunctionEvaluations”,2000)
options = lsqnonlin options: options used by current Algorithm ('levenberg-marquardt'):(其他可用算法:' trusted -region-reflective')设置属性:Algorithm: 'levenberg-marquardt' maxfunctionevalues: 2000默认属性:CheckGradients: 0显示:'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType:'forward' FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] speciyobjectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0显示当前算法未使用的选项(' levenbermarquardt ')

使用点表示法用新值更新现有选项。

lsqnonlin求解器的使用levenberg-marquardt算法和最多1500个功能评估

选择= optimoptions (@lsqnonlin,“算法”“levenberg-marquardt”...“MaxFunctionEvaluations”, 1500)
options = lsqnonlin options: options used by current Algorithm ('levenberg-marquardt'):(其他可用算法:' trusted -region-reflective')设置属性:Algorithm: 'levenberg-marquardt' maxfunctionevalues: 1500默认属性:CheckGradients: 0显示:'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType:'forward' FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] speciyobjectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0显示当前算法未使用的选项(' levenbermarquardt ')

增加MaxFunctionEvaluations通过使用点表示法来2000。

options.maxfunctionevaluations = 2000.
options = lsqnonlin options: options used by current Algorithm ('levenberg-marquardt'):(其他可用算法:' trusted -region-reflective')设置属性:Algorithm: 'levenberg-marquardt' maxfunctionevalues: 2000默认属性:CheckGradients: 0显示:'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType:'forward' FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] speciyobjectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0显示当前算法未使用的选项(' levenbermarquardt ')

的非默认选项fmincon解算器的选项fminunc解算器。

设置选项fmincon使用SQP算法和最多1500个迭代。

oldoptions = optimoptions (@fmincon,“算法”'SQP'“MaxIterations”, 1500)
oldoptions = fmincon options: options used by current Algorithm ('sqp'):(其他可用算法:'active-set', ' internal -point', 'sqp-legacy', 'trust-region-reflective')设置属性:算法:'sqp' MaxIterations: 1500默认属性:CheckGradients: 0 constraintolerance: 1.0000e-06 Display: 'final' FiniteDifferenceStepSize:maxfunction evaluates: '100*numberOfVariables' objectilimit: -1.0000e+20 OptimalityTolerance: 1.0000e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 specificconstraintgradient: 0 specificobjectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel:显示当前算法未使用的选项('sqp')

将适用的选项转移到fminunc解算器。

选择= optimoptions (@fminunc oldoptions)
设置属性:CheckGradients: 0 FiniteDifferenceType: 'forward' MaxIterations: 1500 OptimalityTolerance: 1.0000e-06 PlotFcn: [] specificobjectivegradient: 0 StepTolerance: 1.0000e-06默认属性:Algorithm:输出:[]TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0显示当前算法未使用的选项('类牛顿')

算法选项没有转移到fminunc因为'SQP'不是一个有效的算法选项fminunc

创建一个优化问题,并找到默认的解决方案和选项。

RNG.默认的x = optimvar (“x”,3,下界的, 0);Expr = x'*(eye(3) + randn(3))*x - randn(1,3)*x;概率= optimproblem (“目标”, expr);选项= optimoptions(概率)
选项= QuadProg选项:当前算法('Interion-point-convex')使用的选项:(其他可用算法:'活动集','信任区域反光')设置属性:无选项集。默认属性:算法:'内部点凸'约束约束:1.0000E-08显示:'Final'Linearsolver:'Auto'MaxIrlations:200 OptimalalAlytolance:1.0000E-08 StepTolerance:1.0000E-12显示当前算法不使用的选项('Internal-point-convex')

默认解算器为Quadprog.

设置要使用迭代显示的选项。找到解决方案。

选项。显示=“通路”;sol =解决(prob,“选项”、选择);
使用Quadprog解决问题。你的黑森州不对称。重置H =(H + H')/ 2。ITER FVAL PRIMAL INFEAS双INFEAS互补0 2.018911E + 00 0.0000000 + 00 2.757660E + 00 6.535839C-01 1 -2.170204C + 00 0.5 00000E + 00 8.881784E-16 2.586177E-01 2 -3.405808E + 00 0.000000E+00 8.881784E-16 2.244054E-03 3 -3.438788E + 00 0.000000E + 00 3.356690E-16 7.261144E-09最小,以满足约束。优化完成,因为目标函数在可行的方向上不降低,到在最优性公差的值内,并且对约束公差的值满足约束。
sol.x
ans =3×11.6035 0.0000 0.8029

输入参数

全部折叠

解析器名称,指定为字符向量、字符串或函数句柄。

例子:'粉丝'

例子:@Fmincon.

数据类型:char|function_handle|字符串

使用optimoptions函数,指定为选项对象。

例子:oldoptions = Optimoptions(@Fminunc)

问题对象,指定为OptimizationProblem对象或一个公式问题对象。创建概率使用具体问题具体分析优化工作流程要么求解方程的基于问题的工作流

语法的使用概率允许您确定问题的默认解算器,并修改算法或其他选项。

例子:prob = OptimProblem('目标',myobj),在那里myobj.是一种优化表达式

名称-值对的观点

指定可选的逗号分隔的对名称,值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:optimoptions (@fmincon‘显示’,‘iter’,‘FunctionTolerance’,1平台以及)fmincon具有迭代显示的选项和一个FunctionTolerance1平台以及

对于相关的名称-值对参数,请参考求解器的选项表:

输出参数

全部折叠

优化选项SolverName解算器,作为选项对象返回。

替代功能

住编辑任务

优化Live Editor任务允许您可视化地设置选项。例如,请参见使用fmincon求解器优化实时编辑器任务

扩展功能

在R2013A介绍