主要内容

optimoptions

创建优化选项

描述

例子

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

例子

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

例子

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

例子

选项= optimoptions (SolverNameoldoptions的默认选项SolverName求解,并复制适用的选项oldoptions选项

例子

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

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

例子

全部折叠

属性的默认选项fmincon解算器。

选项= Optimoptions('粉丝'
其他可用算法:'active-set', 'sqp', 'sqp-legacy', 'trust-region- reflection ')设置属性:没有设置选项。默认属性:Algorithm: ' inner -point' BarrierParamUpdate: 'monotone' CheckGradients: 0 constrainttancerance: 1.0000e-06 Display: 'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' HessianApproximation: 'bfgs' HessianFcn: [] HessianMultiplyFcn: [] HonorBounds: 1 maxfunctionevalues: 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)
options = fmincon options: options used by current Algorithm ('sqp'): (Other available algorithms: 'active-set', 'interior-point', 'sqp-legacy', 'trust-region-reflective')设置属性:'sqrt(eps)' FiniteDifferenceType: 'forward' maxfunctionevalues: '100*numberOfVariables' objectivellimit: -1.0000e+20 OptimalityTolerance: 1.0000e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 specific constraintgradient: 0 specific objective gradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel:0显示未被当前算法使用的选项('sqp')

使用新值更新现有选项。

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

oldOptions = Optimoptions(@lsqnonlin,“算法”“levenberg-marquardt”...“MaxFunctionEvaluations”, 1500)
算法:'levenberg-marquardt' maxfunctionevaluation: 1500默认属性:CheckGradients: 0显示:'final' FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType:` forward ` FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] specific objectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('levenberg-marquardt')

增加MaxFunctionEvaluations到2000年。

选项= Optimoptions(OldOptions,“MaxFunctionEvaluations”,2000)
options = lsqnonlin options: options used by current Algorithm ('levenberg-marquardt'):(其他可用算法:'trust-region-reflective') Set properties:` forward ` FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] specific objectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('levenberg-marquardt')

使用点符号用新值更新现有选项。

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

选择= optimoptions (@lsqnonlin,“算法”“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' maxfunctionevaluation: 1500` forward ` FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] specific objectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('levenberg-marquardt')

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

options.maxfunctionevaluations = 2000.
options = lsqnonlin options: options used by current Algorithm ('levenberg-marquardt'):(其他可用算法:'trust-region-reflective') Set properties:` forward ` FunctionTolerance: 1.0000e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] specific objectivegradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('levenberg-marquardt')

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

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

oldoptions = optimoptions (@fmincon,“算法”'SQP'“MaxIterations”, 1500)
(其他可用算法:'active-set', 'interior-point', 'sqp-legacy', 'trust-region-reflective')设置属性:'sqrt(eps)' FiniteDifferenceType: 'forward' maxfunctionevalues: '100*numberOfVariables' objectivellimit: -1.0000e+20 OptimalityTolerance: 1.0000e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 specific constraintgradient: 0 specific objective gradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel:0显示未被当前算法使用的选项('sqp')

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

选择= optimoptions (@fminunc oldoptions)
options = fminunc options: options used by current Algorithm('准newton'): (Other available algorithms: 'trust-region') Set properties: CheckGradients: 0 FiniteDifferenceType: 'forward' MaxIterations: 1500 OptimalityTolerance: 1.0000e-06 PlotFcn: [] specific objectivegradient: 0 StepTolerance: 1.0000e-06 Default properties: Algorithm:maxfunctionevalues: '100*numberOfVariables' objectivellimit: -1.0000e+20 OutputFcn: [] TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm('类牛顿')

算法选项不转移到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函数,指定为options对象。

例子:oldoptions = Optimoptions(@Fminunc)

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

语法的使用概率使您能够确定问题的默认解决方案,并修改算法或其他选项。

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

名称-值对的观点

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

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

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

输出参数

全部折叠

优化选项SolverName求解器,作为一个选项对象返回。

替代功能

住编辑任务

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

扩展功能

在R2013A介绍