主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

optimoptions

最適化オプションの作成

説明

选项= optimoptions (SolverNameSolverNameソルバーの一連の既定オプションを返します。

选项= optimoptions (SolverName名称,值は1つ以上の名前と値のペアの引数を使用して設定したパラメーターが指定された选项を返します。

选项= optimoptions (oldoptions名称,值は,名前付きパラメーターを指定値で変更してoldoptionsのコピーを返します。

选项= optimoptions (SolverNameoldoptionsSolverNameソルバーの既定オプションを返し,oldoptionsの該当するオプションを选项にコピーします。

选项= optimoptions (概率は,最適化問題または方程式問題概率について一連の既定オプションを返します。

选项= optimoptions (概率名称,值は1つ以上の名前と値のペアの引数を使用して設定したパラメーターが指定されたオプションを返します。

すべて折りたたむ

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のオプションを,使用するアルゴリズムがsqp1500年,反復回数が回以下になるように設定します。

选择= 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、関数評価回数が 1,500 回以下になるように設定します。

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 ')

MaxFunctionEvaluations2000年をに増やします。

选择= 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、関数評価回数が 1,500 回以下になるように設定します。

选择= 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 ')

ドット表記を使用してMaxFunctionEvaluations2000年をに増加させます。

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显示当前算法未使用的选项('类牛顿')

“sqp”fminuncの有効なアルゴリズムオプションではないため,このアルゴリズムオプションはfminuncに引き継がれません。

最適化問題を作成し,既定のソルバーおよびオプションを特定します。

rng默认的x = optimvar (“x”3,下界的, 0);Expr = x'*(eye(3) + randn(3))*x - randn(1,3)*x;概率= optimproblem (“目标”, expr);选项= optimoptions(概率)
options=quadprog options:当前算法使用的选项(“内点-凸”):(其他可用算法:“活动集”、“信赖域反射”)设置属性:未设置选项。默认属性:算法:“内点凸”约束公差:1.0000e-08显示:“最终”线性解决方案:“自动”最大迭代次数:200最佳公差:1.0000e-08步长公差:1.0000e-12显示当前算法未使用的选项(“内点凸”)

既定のソルバーは二次规划优化函数です。

反復表示を使用するオプションを設定します。解を求めます。

选项。显示=“通路”; sol=求解(prob,“选项”、选择);
使用quadprog解决问题。您的Hessian不对称。重置H=(H+H'))/2.国际热核聚变实验堆(Iter)Fval原始感染-双重感染互补性0 2.018911e+00 0.000000e+00 2.757660e+00 6.535839e-01 1-2.170204e+00 0.000000e+00 8.881784e-16 2.586177e-01 2-3.405808e+00 0.000000e+00 8.881784e-16 2.244054e-03-3.438788e+00 0.000000e+00 3.356690e-16 7.1144E-09。发现最小优化满足已完成的约束条件se目标函数在可行方向上不递减,在最优性公差值范围内,约束满足在约束公差值范围内。
sol.x
ans =3×11.6035 0.0000 0.8029

入力引数

すべて折りたたむ

文字ベクトル,弦または関数ハンドルとして指定されるソルバー名です。

例:“fmincon”

例:@fmincon

データ型:字符|function_handle|字符串

関数optimoptionsで作成した、期权オブジェクトとして指定されるオプションです。

例:oldoptions = optimoptions (@fminunc)

問題オブジェクト。OptimizationProblemオブジェクトまたはEquationProblemオブジェクトとして指定します。問題ベースの最適化ワークフローまたは方程式を解くための問題ベースのワークフローを使用して,概率を作成します。

概率を使用する構文では,問題に対する既定ソルバーが何であるかを判断でき,アルゴリズムなどのオプションを変更できます。

例:prob=优化问题(“目标”,myobj)myobjは最適化式です。

名前と値のペアの引数

引数名称,值のオプションのコンマ区切りペアを指定します。的名字は引数名、价值は対応する値です。的名字は引用符で囲まなければなりません。名称1,值1,…,名称,值のように,複数の名前と値のペアの引数を任意の順番で指定できます。

例:optimoptions (@fmincon‘显示’,‘iter’,‘FunctionTolerance’,1平台以及)fminconオプションを,反復表示をもち1平台以及FunctionToleranceをもつように設定します。

関連する名前と値のペアの引数については,ソルバーのオプション表を参照してください。

出力引数

すべて折りたたむ

SolverNameソルバーの最適化オプション。选择オブジェクトとして返されます。

代替機能

ライブ エディター タスク

最適化ライブエディタータスクを使用すれば,オプションを視覚的に設定できます。例については,fminconソルバーを使用した最適化ライブエディタータスクを参照してください。

拡張機能

R2013aで導入