主要内容

最適化オプションリファレンス

最適化オプション

下記の表では,最適化オプションを説明します。関数optimoptionsを使用してオプションを作成します。fminbndfminsearchfzeroまたはlsqnonnegにはoptimsetを使用します。

使用可能なオプション値と既定値にいては,個々のリファレンスペジを参照してください。

オプションの既定値は选项を入力引数として呼び出す最適化関数により異なります。任意の最適化関数の既定のオプション値は,optimoptions ('solvername”)またはそれと等価のoptimoptions (@solvernameと入力して確認できます。たとえば,

optimoptions (“fmincon”

オプションのリストと既定の“内点”fminconアルゴリズムに対する既定値が返されます。別のfminconアルゴリズムの既定値を確認するには,算法オプションを設定します。たとえば,

Opts = optimoptions(“fmincon”“算法”“sqp”

optimoptionsでは,一部のオプションが"非表示"になります。まり,該当するオプションの値が表示されなくなります。これらのオプションは次の表には示されていません。こらではなく非表示オプションに記載されています。

最適化オプション

オプション名 説明 使用する関数 制限
AbsoluteGapTolerance

非負の実数。intlinprogは、オブジェクト関数で内部的に計算された上限(U)と下限(l)の範囲の差がAbsoluteGapTolerance以下の場合に停止します。

U - L <= AbsoluteGapTolerance

intlinprog optimoptionsのみ
AbsoluteMaxObjectiveCount

最悪値の絶対値を最小にするF(x)の数。

fminimax

算法

ソルバ,に使用されるアルゴリズムを選択します。

fminconfminuncfsolvelinproglsqcurvefitlsqlinlsqnonlinquadprog
BarrierParamUpdate

“内点”アルゴリズムで範囲パラメ,タ,を更新するアルゴリズムとして,“单调”または预估的を選択します。

fmincon
BranchRule

分枝の要素を選択するル,ル:

  • “maxpscost”—最大擬似コストをも分数要素。詳細は,分枝限定法を参照してください。

  • “strongpscost”—最大擬似コストをも分数要素。擬似コストは注意深く見積もられます。詳細は、分枝限定法を参照してください。

  • “可靠性”—最大擬似コストをも分数要素。擬似コストは“strongpscost”よりさらに注意深く見積もられます。詳細は,分枝限定法を参照してください。

  • “mostfractional”-小数部が1/2に最も近い要素。

  • “maxfun”-目的ベクトルfの絶対値の最大の対応する要素をも分数要素。

intlinprog optimoptionsのみ
CheckGradients

ユーザー設定の解析の導関数(勾配またはヤコビアン。選択したソルバーにより異なる)を有限差分の導関数と比較します。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptionsのみ。optimsetに対しては,DerivativeCheckを使用
ConstraintTolerance

制約違反に関する許容誤差。

coneprogfgoalattainfminconfminimaxfseminfintlinproglinproglsqlinquadprog

optimoptionsのみ。optimsetに対しては,TolConを使用
CutGeneration

カット生成のレベル(詳細はカットの生成を参照):

  • “没有”-カットを生成しない。CutMaxIterationsを不要にします。

  • “基本”-通常のカットを生成。

  • “中间”-より多くのカットのタie浏览器プを使用。

  • “高级”-最も多くのカットのタie浏览器プを使用。

intlinprog optimoptionsのみ
CutMaxIterations 分枝限定段階に入る前にすべてのカット生成方法を経由するパスの数は150の整数です。CutGenerationオプションを“没有”に設定してカット生成を無効にします。 intlinprog optimoptionsのみ
显示

表示レベル。

  • “关闭”-出力を表示しない。

  • “通路”-各反復の出力を表示し,既定の終了メッセ,ジを与える。

  • “iter-detailed”-各反復の出力を表示し,技術的な終了メッセ,ジを与える。

  • “通知”-関数が収束しない場合にのみ出力を表示し,既定の終了メッセ,ジを与える。

  • “notify-detailed”-関数が収束しない場合にのみ出力を表示し,技術的な終了メッセ,ジを与える。

  • “最后一次”(既定の設定)-最終出力のみを表示し,既定の終了メッセ.ジを与える。

  • 最后详细的-最終出力のみを表示し,技術的な終了メッセ,ジを与える。

すべての関数。適用される値にいては,各関数のリファレンスペジを参照してください。

EnableFeasibilityMode

“内点”アルゴリズムで実行可能性を実現するためのアルゴリズムを選択します。真正的の場合,既定のとは異なるアルゴリズムを使用します。

fmincon
EqualityGoalCount

目的関数有趣的が,設定したゴ,ルに等しくなるために必要となる目的関数の数を指定します。必要に応じて目的関数を並べ替え,fgoalattainが最初のょうどEqualityGoalCount個の目的関数を実現するようにします。

fgoalattain

optimoptionsのみ。optimsetに対しては,GoalsExactAchieveを使用
FiniteDifferenceStepSize

有限差分のスカラまたはベクトルのステップサズファクタ。FiniteDifferenceStepSizeをベクトルvに設定すると,前方有限差分δ

delta = v *符号' (x).*max(abs(x),TypicalX);

ここで,符号' (0)= 1を除き符号' (x) =符号(x)です。中心有限差分法では

delta = v.*max(abs(x),TypicalX);

スカラFiniteDifferenceStepSizeはベクトルに拡張します。既定値は、前進有限差分法ではsqrt (eps),中心有限差分法ではeps ^ (1/3)です。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptionsのみ。optimsetに対しては,FinDiffRelStepを使用
FiniteDifferenceType

勾配推定に使用される有限差分法。“前进”(既定の設定)または“中央”(中心)のいずれかが指定されます。中心差分法では2倍の関数評価が必要になりますがより正確です。“中央”HonorBoundsオプションがに設定されている場合,fminconの内点計算中に範囲を超える可能性があります。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptionsのみ。optimsetに対しては,FinDiffTypeを使用
FunctionTolerance

関数値に関する終了許容誤差。

fgoalattainfminconfminimaxfminsearchfminuncfseminffsolvelsqcurvefitlsqlinlsqnonlinquadprog

optimoptionsのみ。optimsetに対しては,TolFunを使用
HessianApproximation

ヘッセ近似法:“蓄热”“lbfgs”{“lbfgs”,正整数},または有限差分的

HessianFcnまたはHessianMultiplyFcnが空でない場合は無視されます。

fmincon

optimoptionsのみ。optimsetに対しては,黑森を使用
HessianFcn

ユ,ザ,指定のヘッシアン。関数ハンドルとして指定されます (ヘッシアンを含めるを参照)。

fminconfminunc optimoptionsのみ。optimsetに対しては,HessFcnを使用
HessianMultiplyFcn

ユ,ザ,指定のヘッセ乗算関数。関数ハンドルとして指定されます。

HessianFcnが空でない場合は無視されます。

fminconfminuncquadprog

optimoptionsのみ。optimsetに対しては,HessMultを使用
启发式

実行可能点を検索するアルゴリズム(実行可能解を求めるためのヒュ,リスティックな方法を参照):

  • “基本”

  • “中间”

  • “高级”

  • “rss”

  • “rin”

  • “圆”

  • “潜水”

  • “rss-diving”

  • “rins-diving”

  • “round-diving”

  • “没有”

intlinprog optimoptionsのみ
HeuristicsMaxNodes ノ,ドの数を制限する厳密に正の整数。intlinprogは分枝限定検索によって実行可能点を探索することができます。詳細は,実行可能解を求めるためのヒュ,リスティックな方法を参照してください。 intlinprog optimoptionsのみ
HonorBounds

既定の真正的は範囲制約が各反復で満たされているかを確認します。に設定すると,この動作は停止します。

fmincon optimoptionsのみ。optimsetに対しては,AlwaysHonorConstraintsを使用
IntegerPreprocess

整数前処理のタescプ(混合整数計画法の前処理を参照):

  • “没有”-ごくわずかの整数前処理手順を使用。

  • “基本”-適度な数の整数前処理手順を使用。

  • “高级”-利用可能なすべての整数前処理手順を使用。

intlinprog optimoptionsのみ
IntegerTolerance 1 e-61 e - 3の実数(解xの要素が整数をもことができ,整数値と見なされる整数からの最大偏差)。IntegerToleranceは停止条件ではありません。 intlinprog optimoptionsのみ
JacobianMultiplyFcn

ユ,ザ,定義のヤコビ乗算関数。関数ハンドルとして指定されます。fsolvelsqcurvefitlsqnonlinに対してSpecifyObjectiveGradient真正的でない限り,無視されます。

fsolvelsqcurvefitlsqlinlsqnonlin

LinearSolver

アルゴリズムの内部的な線形ソルバのタプ。lsqlinおよびquadprogの場合:

  • “汽车”-渡された二次行列(quadprogではHlsqlinではC)がスパ,スである場合は“稀疏”,そうでない場合は“密集”を使用。

  • “稀疏”—スパスな線形代数を使用。

  • “密集”-密な線形代数を使用。

coneprogの場合:

  • “汽车”(既定)-coneprogがステップソルバ,を選択する。

    • スパ,スな問題の場合は“prodchol”をステップソルバ,とする。

    • それ以外の場合は“增强”をステップソルバ,とする。

  • “增强”-拡張形式のステップソルバ。詳細は,[1]を参照してください。

  • “正常”-標準形式のステップソルバ。詳細は,[1]を参照してください。

  • “prodchol”—積形式のコレスキステップソルバ。詳細は,[4][5]を参照してください。

  • “舒尔”—シュア補行列法ステップソルバ。詳細は,[2]を参照してください。

coneproglsqlin“内点”アルゴリズム,quadprog“interior-point-convex”アルゴリズム

LPMaxIterations 厳密に正の整数である分枝限定プロセス時のノ,ドあたりシンプレックスアルゴリズム反復の最大数。 intlinprog optimoptionsのみ
LPOptimalityTolerance 被約費用がそこで,基底に取り込まれる変数のLPOptimalityToleranceを超えなければならない,非負の実数。 intlinprog optimoptionsのみ
MaxFunctionEvaluations

可能な関数評価の最大回数。

fgoalattainfminbndfminconfminimaxfminsearchfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptionsのみ。optimsetに対しては,MaxFunEvalsを使用
MaxIterations

反復の最大許容回数。

fzerolsqnonnegを除くすべて

optimoptionsのみ。optimsetに対しては,麦克斯特を使用
MaxFeasiblePoints 厳密に正の整数。MaxFeasiblePoints整数実行可能点を見けると,intlinprogは停止します。 intlinprog optimoptionsのみ
MaxNodes ソルバ,が分枝限定プロセスで探索するノ,ドの最大数である厳密に正の整数。

intlinprog

MaxTime

アルゴリズムが実行する秒単位の時間の最大量。

coneprogintlinproglinprog

NodeSelection

次に探索するノ,ドを選択します。

  • “simplebestproj”-最良の投影。詳細は,分枝限定法を参照してください。

  • “minobj”—最小オブジェクト関数をもノドを探索。

  • “mininfeas”—実行不可能な整数の最小合計値をもノドを探索。詳細は,分枝限定法を参照してください。

intlinprog optimoptionsのみ
ObjectiveCutOff より大きい実数。既定値はです。 intlinprog optimoptionsのみ
ObjectiveImprovementThreshold 非負の実数。intlinprogは,少なくともObjectiveImprovementThresholdの下限である目的関数値をも別の実行可能解を検出した場合にのみ現在の実行可能解を変更します。(fold - fnew)/(1 + |fold|) >目标改善阈值 intlinprog optimoptionsのみ
ObjectiveLimit

目的関数値がObjectiveLimitの下に到達し,反復が可能な場合,その反復は中止されます。

fminconfminunclsqlinquadprog
OptimalityTolerance

1次の最適性に関する終了許容誤差。

coneprogfgoalattainfminconfminimaxfminuncfseminffsolvelinprog内点のみ),lsqcurvefitlsqlinlsqnonlinquadprog

optimoptionsのみ。optimsetに対しては,TolFunを使用
OutputFcn

各反復で最適化関数が呼び出すユザ定義の関数を1以上指定します。関数ハンドルか,関数ハンドルの单元格配列を渡します。出力関数とプロット関数の構文またはIntlinprogの出力関数とプロット関数の構文を参照してください。

fgoalattainfminbndfminconfminimaxfminsearchfminuncfseminffsolvefzerointlinproglsqcurvefitlsqnonlin

PlotFcn

アルゴリズム実行時における,進行状態の各種測定値のプロット。定義済みのプロットから選択するか,自身で記述します。関数名は,以下のリストのように,または@optimplotxのような関数ハンドルとして指定します。組込みプロット関数名,関数ハンドル,または組み込み名か関数ハンドルのcell配列を渡します。カスタムプロット関数の場合は,関数ハンドルを渡します。

  • “optimplotx”-現在の点をプロット

  • “optimplotfunccount”-関数計算をプロット

  • “optimplotfval”-関数値をプロット

  • “optimplotfvalconstr”-ラie浏览器ンプロットとして検出された実行可能な最良の目的関数値をプロット。このプロットでは,実行可能性の許容誤差を1 e-6として,実行不可能点を赤色,実行可能点を青色で示します。

  • “optimplotconstrviolation”-最大制約違反をプロット

  • “optimplotresnorm”-残差のノルムをプロット

  • “optimplotfirstorderopt”- 1次の最適性をプロット

  • “optimplotstepsize”-ステップサie浏览器ズをプロット

  • “optimplotmilp”-混合整数線形計画法のギャップをプロット

プロット関数またはIntlinprogの出力関数とプロット関数の構文を参照してください。

fgoalattainfminbndfminconfminimaxfminsearchfminuncfseminffsolvefzerointlinproglsqcurvefitlsqnonlin.適用される値にいては,各関数のリファレンスペジを参照してください。

optimoptionsのみ。optimsetに対しては,PlotFcnsを使用
RelativeGapTolerance

01の実数。intlinprogは、オブジェクト関数で内部的に計算された上限(U)と下限(l)の範囲の相対差がRelativeGapTolerance以下の場合に停止します。

(U - L) / (abs(U) + 1) <= RelativeGapTolerance

intlinprog optimoptionsのみ
RootLPAlgorithm

線形計画法を解くアルゴリズム:

  • 对偶单纯形的-双対シンプレックスアルゴリズム

  • “primal-simplex”-主シンプレックスアルゴリズム

intlinprog optimoptionsのみ
RootLPMaxIterations 初期線形計画問題を解くためのシンプレックスアルゴリズム反復の最大数である非負の整数。 intlinprog optimoptionsのみ
ScaleProblem

fmincon内点およびsqpアルゴリズムに対し,真正的を設定するとアルゴリズムがすべての制約関数とこの目的関数をそれぞれの初期値を使って正規化します。既定のに設定すると,無効になります。

fmincon
SpecifyConstraintGradient

ユ,ザ,により定義される非線形制約の勾配。

fgoalattainfminconfminimax

optimoptionsのみ。optimsetに対しては,GradConstrを使用
SpecifyObjectiveGradient

ユ,ザ,により定義される,目的関数の勾配またはヤコビアン。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

optimoptionsのみ。optimsetに対しては,GradObjまたは雅可比矩阵を使用
StepTolerance

Xに関する終了許容誤差。

linprogおよびconeprogを除くすべての関数

SubproblemAlgorithm

反復ステップの計算方法を定義します。

fminconfminuncfsolvelsqcurvefitlsqlinlsqnonlin
TypicalX

パラメタxの配列の典型的な大きさを指定する配列。配列のサ@ @ズは初期点x0のサ@ @ズと等しくなります。主に勾配推定の有限差分のスケ,リングに使用されます。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqlinlsqnonlinquadprog

UseParallel

真正的の場合,適用可能なソルバ,は並列で勾配を推定します。に設定すると,この動作は無効になります。

fgoalattainfminconfminimaxfminuncfsolvelsqcurvefitlsqnonlin

非表示オプション

optimoptionsでは,一部のオプションが"非表示"になります。まり,該当するオプションの値が表示されなくなります。これらのオプションの表示方法および非表示である理由にいては,表示オプションを参照してください。

関数リファレンスペ,ジでは,これらのオプションが“▪▪タリック”で記載されています。

优化工具箱の非表示オプション

以下の表は,优化工具箱™の非表示オプションの一覧です。

optimoptionsで非表示になっているオプション

オプション名 説明 使用する関数 制限
诊断

最小化または計算する関数に関する情報を表示します。

fminbndfminsearchfzerolsqnonnegを除くすべて

DiffMaxChange

有限差分の変数における最大変化量。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

DiffMinChange

有限差分を計算するための変数内での最小変化量。

fgoalattainfminconfminimaxfminuncfseminffsolvelsqcurvefitlsqnonlin

FunValCheck

目的関数値と制約値が有効であるかどうかをチェックします。“上”は目的関数または制約が复杂的,またはの値を返した場合にエラ,を表示します。

メモ

FunValCheckを適切に処理するfminbndfminsearchfzeroと共に使用する場合,のエラ,を出力しません。

“关闭”はエラ,を出力しません。

fgoalattainfminbndfminconfminimaxfminsearchfminuncfseminffsolvefzerolsqcurvefitlsqnonlin

HessPattern

有限差分に対するヘッシアンのスパ,スパタ,ン。行列サesc escズはn行n列であり,nは初期点x0の要素数です。

fminconfminunc

HessUpdate

準ニュ,トン更新手法。

fminunc

InitBarrierParam

初期境界値。

fmincon
InitDamping

レベンバグマルカトパラメタの初期値。

fsolvelsqcurvefitlsqnonlin optimoptionsのみ
InitTrustRegionRadius

信頼領域の初期半径。

fmincon
JacobPattern

有限差分に対するヤコビスパ,スパタ,ン。行列のサ@ @ズはn列です。はユ,ザ,定義の関数有趣的より返される1番目の引数の値の数であり,nは開始値x0の要素数です。

fsolvelsqcurvefitlsqnonlin

LPPreprocess

緩和された線形計画法の解に対する前処理のタescプ(線形計画法の前処理を参照)

  • “没有”-前処理を使用しない。

  • “基本”-前処理を使用。

intlinprog optimoptionsのみ
MaxPCGIter

前処理付き共役勾配法の反復最大回数。

fminconfminuncfsolvelsqcurvefitlsqlinlsqnonlinquadprog

MaxProjCGIter

計画された共役勾配の反復回数の許容誤差です。これは内部反復であり,アルゴリズムの反復数ではありません。

fmincon
MaxSQPIter

逐次二次計画法で可能な反復の最大数。

fgoalattainfminconfminimax

MeritFunction

ゴ,ル到達/ミニマックスメリット関数(複数目的関数),とfmincon(単一目的関数)を使用します。

fgoalattainfminimax

PrecondBandWidth

PCGに対する前提条件子の帯域幅の上限。“正”に設定すると,cgの代わりに直接因子分解が使用されます。

fminconfminuncfsolvelsqcurvefitlsqlinlsqnonlinquadprog

进行预处理

シンプレックス法または双対シンプレックス法アルゴリズムの反復前に行われるlpの前処理のレベル。

linprog

optimoptionsのみ
RelLineSrchBnd

直線探索ステップ長の相対範囲。

fgoalattainfminconfminimaxfseminf

RelLineSrchBndDuration

RelLineSrchBndで範囲を指定された反復数が有効になります。

fgoalattainfminconfminimaxfseminf

ScaleProblem

算法オプションの“levenberg-marquardt”を使用する際にScaleProblemオプションを的雅可比矩阵に設定すると,ソルバが適切にスケル化されていない問題の解決に役立場合があります。

fsolvelsqcurvefitlsqnonlin
TolConSQP

内部のSQP反復法の制約違反許容誤差。

fgoalattainfminconfminimaxfseminf
TolPCG

PCG法の反復の終了許容誤差。

fminconfminuncfsolvelsqcurvefitlsqlinlsqnonlinquadprog

TolProjCG

計画された共役勾配アルゴリズムの相対許容誤差です。これは内部の反復に対してであり,アルゴリズムの反復に対してではありません。

fmincon
TolProjCGAbs

計画された共役勾配アルゴリズムの絶対許容誤差です。これは内部の反復に対してであり,アルゴリズムの反復に対してではありません。

fmincon

全局优化工具箱の非表示オプション

これらのオプションが非表示である理由にいては,optimoptions隐藏的选项(全局优化工具箱)を参照してください。

optimoptionsで非表示になっているオプション

オプション名 使用する関数
缓存

patternsearch

CacheSize

patternsearch

CacheTol

patternsearch

DisplayInterval

particleswarmsimulannealbnd

FunValCheck

particleswarm

HybridInterval

simulannealbnd

InitialPenalty

遗传算法patternsearch

MaxMeshSize

patternsearch

MeshRotate

patternsearch

MigrationDirection

遗传算法

MigrationFraction

遗传算法

MigrationInterval

遗传算法

PenaltyFactor

遗传算法patternsearch

PlotInterval

遗传算法patternsearchsimulannealbnd

StallTest

遗传算法

TolBind patternsearch

関連するトピック