主要内容

optimoptions

创建优化选项

描述

例子

选项= Optimoptions(SolverName的默认选项集SolverName解算器。

例子

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

例子

选项= Optimoptions(oldoptions.名称,价值返回oldoptions.命名参数以指定的值更改。

例子

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

例子

选项= Optimoptions(概率的默认选项集概率优化问题或方程问题。

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

例子

全部收缩

为此创建默认选项fmincon解算器。

选择= optimoptions (“fmincon”
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)
选项= fmincon选项:当前算法('sqp')使用的选项('sqp'):(其他可用算法:'活动集','内部点','sqp-cregacy','信任区域反光')设置属性:算法:'SQP'maxIlerations:1500默认属性:赛程检查+20 OptimalalAlytolerance:1.0000E-06 OutputFCN:[] PlotFCN:[] ScaleQublem:0 SpecifyConstraintGRadient:0 SpecifyObjectiveGRadient:0 StepifyObjectsiveGRadient:0 StepTolerance:1.0000E-06 TypicalX:'(NumberOfVarialbles,1)'使用adplate:0显示当前未使用的选项算法('SQP')

用新值更新现有选项。

设置选项lsqnonlin求解器使用levenberg-marquardt算法和最多1500个函数计算

oldoptions = optimoptions (@lsqnonlin,'算法'“levenberg-marquardt”...“MaxFunctionEvaluations”,1500)
OldOptions = LSQNONLIN选项:当前算法使用的选项('Levenberg-Marquardt'):(其他可用算法:'信任区域反光')设置属性:算法:'Levenberg-Marquardt'MaxFunctioneValuations:1500默认属性:赛程:0显示:'Final'finitedifferenceStepsize:'sqrt(eps)'finitedifferenceType:'转发'functiontolerance:1.0000E-06最大值:400 outputfcn:[] plotfcn:[] specifyobjectivegradient:0 steptiolance:1.0000e-06典型x:'numberofvariables,1)'DeveryParelial:0显示当前算法不使用的选项('Levenberg-Marquardt')

增加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年。

选项。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选项:当前算法('SQP')使用的选项('SQP'):(其他可用算法:'活动集','内部点','SQP-Learacy','信任区域反光')设置属性:算法:'SQP'maxIlerations:1500默认属性:赛程检查+20 OptimalalAlytolerance:1.0000E-06 OutputFCN:[] PlotFCN:[] ScaleQublem:0 SpecifyConstraintGRadient:0 SpecifyObjectiveGRadient:0 StepifyObjectsiveGRadient:0 StepTolerance:1.0000E-06 TypicalX:'(NumberOfVarialbles,1)'使用adplate:0显示当前未使用的选项算法('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,'indowbound',0);expr = x'*(眼睛(3)+ Randn(3))* x  -  Randn(1,3)* x;prob = OptimProblem('客观的',expr);选项= Optimoptions(prob)
options = quadprog options: options by current Algorithm ('interior-point-凸'):(其他可用算法:'active-set', 'trust-region-reflective')设置属性:没有设置选项。默认属性:Algorithm: ' inner -point-凸' constraintolerance: 1.0000e-08 Display: 'final' LinearSolver: 'auto' MaxIterations: 200 OptimalityTolerance: 1.0000e-08 StepTolerance: 1.0000e-12显示当前算法(' inner -point-凸')未使用的选项

默认解算器为quadprog

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

options.display =.'iter';索尔=解决(概率,'选项',选项);
用四轴飞行器解决问题。你的Hessian不是对称的。重置H = (H + H) / 2。Iter Fval Primal infas Dual infas complement 0 2.018911e+00 0.000000e+00 2.757660e+00 6.535839e-01 1 -2.170204e+00 0.000000e+00 8.88178e -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”

例子:@fmincon

数据类型:字符|function_handle|细绳

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

例子:oldoptions = optimoptions (@fminunc)

问题对象,指定为一个优化问题对象或An.EquationProblem目的。创建概率使用具体问题具体分析优化工作流程基于问题的解决方程的工作流程

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

例子:概率= optimproblem(“目标”,myobj), 在哪里myobj为优化表达式

名称值对参数

指定可选的逗号分离对名称,价值参数。的名字是参数名称和价值为对应值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:Optimoptions(@ Fmincon,'显示','iter','functiontolerance',1e-10)fmincon选项有迭代显示和一个functiontolerance.1E-10

对于相关的名称值对参数,请参阅Solver的选项表:

输出参数

全部收缩

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

选择功能

住编辑任务

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

扩展能力

介绍了R2013a