主要内容

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

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

最適化オプション

下記の表では,最適化オプションを説明します。関数最佳选择を使用してオプションを作成します。fminbndfminsearch一元函数零点またはlsqnonnegにはoptimsetを使用します。

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

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

optimoptions (“fmincon”)

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

opts=options(“fmincon”,“算法”,“sqp”)

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

最適化オプション

オプション名 説明 使用する関数 制限
绝对宽容

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

U–L<=绝对公差.

intlinprog 最佳选择のみ
绝对最大目标计数

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

fminimax

算法

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

fmincon,fminunc,fsolve,linprog.,最小二乘拟合,lsqlin,lsqnonlin,Quadprog.
小枝

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

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

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

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

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

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

intlinprog 最佳选择のみ
检查梯度

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

fgoalattain,fmincon,fminimax,fminunc,费塞米夫,fsolve,最小二乘拟合,lsqnonlin

最佳选择のみ。optimsetに対しては,导数切克を使用
ConstraintTolerance

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

fgoalattain,fmincon,fminimax,费塞米夫,intlinprog,linprog.,lsqlin,Quadprog.

最佳选择のみ。optimsetに対しては,TolConを使用
CutGeneration

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

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

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

  • “中级”——より多くのカットのタイプを使用。

  • “高级”— 最も多くのカットのタイプを使用。

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

表示レベル。

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

  • “国际热核实验堆”— 各反復の出力を表示し、既定の終了メッセージを与える。

  • “国际热核实验堆详细说明”— 各反復の出力を表示し、技術的な終了メッセージを与える。

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

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

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

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

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

相等目标计数

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

fgoalattain

最佳选择のみ。optimsetに対しては,进球数を使用
有限差分步长

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

δ=v.*符号′(x)。*最大值(绝对值(x),典型值x);

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

δ= v *马克斯(abs (x)、TypicalX);

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

fgoalattain,fmincon,fminimax,fminunc,费塞米夫,fsolve,最小二乘拟合,lsqnonlin

最佳选择のみ。optimsetに対しては,FinDiffielstepを使用
FiniteDifferenceType

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

fgoalattain,fmincon,fminimax,fminunc,费塞米夫,fsolve,最小二乘拟合,lsqnonlin

最佳选择のみ。optimsetに対しては,FinDiffTypeを使用
功能公差

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

fgoalattain,fmincon,fminimax,fminsearch,fminunc,费塞米夫,fsolve,最小二乘拟合,lsqlin,lsqnonlin,Quadprog.

最佳选择のみ。optimsetに対しては,TolFunを使用
HessianApproximation

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

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

fmincon

最佳选择のみ。optimsetに対しては,黑森を使用
HessianFcn

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

fmincon,fminunc 最佳选择のみ。optimsetに対しては,HessFcnを使用
HessianMultiplyFcn

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

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

fmincon,fminunc,Quadprog.

最佳选择のみ。optimsetに対しては,Hessmult.を使用
启发式

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

  • “基本”

  • “中级”

  • “高级”

  • “rss”

  • “rins”

  • “圆形”

  • “潜水”

  • “rss潜水”

  • “rins-diving”

  • “圆形跳水”

  • “没有”

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

既定の真的は範囲制約が各反復で満たされているかを確認します。假的にに设定する,この动作はします。

fmincon 最佳选择のみ。optimsetに対しては,Alwayshonor约束を使用
IntegerPreprocess

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

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

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

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

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

ユーザー定義のヤコビ乗算関数。関数ハンドルとして指定されます。fsolve,最小二乘拟合,lsqnonlinに対して指定对象半径真的でない限り、無視されます。

fsolve,最小二乘拟合,lsqlin,lsqnonlin

线人

アルゴリズムの内部的な線形ソルバーのタイプ

  • “自动”— 渡された二次行列 (Quadprog.ではHlsqlinではC)がスパースである場合は“稀疏”,そうでない場合は“稠密”を使用。

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

  • “稠密”——密な線形代数を使用。

lsqlin“内点”アルゴリズムとQuadprog.“interior-point-convex”アルゴリズム

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

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

fgoalattain,fminbnd,fmincon,fminimax,fminsearch,fminunc,费塞米夫,fsolve,最小二乘拟合,lsqnonlin

最佳选择のみ。optimsetに対しては,MaxFunEvalsを使用
最大迭代次数

反復の最大許容回数。

一元函数零点lsqnonnegを除くすべて

最佳选择のみ。optimsetに対しては,maxiter.を使用
MaxFeasiblePoints 厳密に正の整数。MaxFeasiblePoints整数実行可能点を見つけると,intlinprogは停止します。 intlinprog 最佳选择のみ
最大节点 ソルバーが分枝限定プロセスで探索するノードの最大数である厳密に正の整数。

intlinprog

MaxTime

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

intlinprog,linprog.

节点选择

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

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

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

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

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

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

fmincon,fminunc,lsqlin,Quadprog.
OptimalityTolerance

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

fgoalattain,fmincon,fminimax,fminsearch,fminunc,费塞米夫,fsolve,linprog.(内点のみ),最小二乘拟合,lsqlin,lsqnonlin,Quadprog.

最佳选择のみ。optimsetに対しては,TolFunを使用
OutputFcn

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

fgoalattain,fminbnd,fmincon,fminimax,fminsearch,fminunc,费塞米夫,fsolve,一元函数零点,intlinprog,最小二乘拟合,lsqnonlin

绘图仪

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

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

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

  • 'OptimplotFval'— 関数値をプロット

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

  • “优化冲突”——最大制約違反をプロット

  • 'Optimplotresnorm'— 残差のノルムをプロット

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

  • “optimplotstepsize”——ステップサイズをプロット

  • “米尔普”——混合整数線形計画法のギャップをプロット

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

fgoalattain,fminbnd,fmincon,fminimax,fminsearch,fminunc,费塞米夫,fsolve,一元函数零点,intlinprog,最小二乘拟合,lsqnonlin。適用される値については,各関数のリファレンスページを参照してください。

最佳选择のみ。optimsetに対しては,绘图仪を使用
RelativeGapTolerance

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

(U-L)/(abs(U)+1)<=相对耐受性.

intlinprogは大きさLが大きい場合に許容誤差を自動的に変更します。

許容誤差 =min (1 / (1 + L | |), RelativeGapTolerance)

intlinprog 最佳选择のみ
RootLPAlgorithm

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

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

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

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

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

fmincon
指定约束约束梯度

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

fgoalattain,fmincon,fminimax

最佳选择のみ。optimsetに対しては,渐变を使用
指定对象半径

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

fgoalattain,fmincon,fminimax,fminunc,费塞米夫,fsolve,最小二乘拟合,lsqnonlin

最佳选择のみ。optimsetに対しては,格拉多布または雅可比を使用
StepTolerance

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

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

最佳选择のみ。optimsetに対しては,收费を使用
SubproblemAlgorithm

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

fmincon
典型的

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

fgoalattain,fmincon,fminimax,fminunc,fsolve,最小二乘拟合,lsqlin,lsqnonlin,Quadprog.

使用并行

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

fgoalattain,fmincon,fminimax,fminunc,fsolve,最小二乘拟合,lsqnonlin.

非表示オプション

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

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

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

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

最佳选择で非表示になっているオプション

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

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

fminbndfminsearch一元函数零点lsqnonnegを除くすべて

DiffMaxChange

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

fgoalattain,fmincon,fminimax,fminunc,费塞米夫,fsolve,最小二乘拟合,lsqnonlin

DiffMinChange

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

fgoalattain,fmincon,fminimax,fminunc,费塞米夫,fsolve,最小二乘拟合,lsqnonlin

FunValCheck

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

メモ

FunValCheckを適切に処理するfminbndfminsearch一元函数零点と共に使用する場合,のエラーを出力しません。

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

fgoalattain,fminbnd,fmincon,fminimax,fminsearch,fminunc,费塞米夫,fsolve,一元函数零点,最小二乘拟合,lsqnonlin

HessPattern

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

fmincon,fminunc

HessUpdate

準ニュートン更新手法。

fminunc

初始参数

初期境界値。

fmincon
InitDamping

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

fsolve,最小二乘拟合,lsqnonlin 最佳选择のみ
初始信任区域半径

信頼領域の初期半径。

fmincon
JacobPattern

有限差分に対するヤコビ スパース パターン。行列のサイズはMN列です。Mはユーザー定義の関数乐趣より返される1番目の引数の値の数であり,Nは开启値x0の要素数です。

fsolve,最小二乘拟合,lsqnonlin

LPS预处理

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

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

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

intlinprog 最佳选择のみ
MaxPCGIter

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

fmincon,fminunc,fsolve,最小二乘拟合,lsqlin,lsqnonlin,Quadprog.

MaxProjCGIter

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

fmincon
MaxSQPIter

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

fgoalattain,fmincon,fminimax

功绩函数

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

fgoalattain,fminimax

PrecondBandWidth

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

fmincon,fminunc,fsolve,最小二乘拟合,lsqlin,lsqnonlin,Quadprog.

预处理

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

linprog.

最佳选择のみ
RelLineSrchBnd

ライン探索ステップ長の相対範囲。

fgoalattain,fmincon,fminimax,费塞米夫

RelLineSrchBndDuration

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

fgoalattain,fmincon,fminimax,费塞米夫

ScaleProblem

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

fsolve,最小二乘拟合,lsqnonlin
TolConSQP

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

fgoalattain,fmincon,fminimax,费塞米夫
托尔普克

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

fmincon,fminunc,fsolve,最小二乘拟合,lsqlin,lsqnonlin,Quadprog.

TolProjCG

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

fmincon
TolProjCGAbs

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

fmincon

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

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

最佳选择で非表示になっているオプション

オプション名 使用する関数
隐藏物

patternsearch

缓存大小

patternsearch

卡塞托尔

patternsearch

显示间隔

粒子热,同时退火

FunValCheck

粒子热

HybridInterval

同时退火

初始惩罚

ga,patternsearch

最大网格尺寸

patternsearch

MeshRotate

patternsearch

MigrationDirection

ga

MigrationFraction

ga

MigrationInterval

ga

PenaltyFactor

ga,patternsearch

绘图间隔

ga,patternsearch,同时退火

失速试验

ga

TolBind patternsearch

関連するトピック