このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
反復表示
はじめに
反復表示とは、ソルバーの各反復における計算を示す統計表です。統計はソルバーとソルバー アルゴリズムの両方によって異なります。この表は、ソルバーを適切なオプションで実行した際に MATLAB® コマンド ウィンドウに表示されます。反復の詳細については、反復と関数計算回数を参照してください。
反復表示を開くには、optimoptions
を使用し、Display
オプションを 'iter'
または 'iter-detailed'
に設定します。以下に例を示します。
options = optimoptions(@fminunc,'Display','iter','Algorithm','quasi-newton'); [x fval exitflag output] = fminunc(@sin,0,options);
First-order Iteration Func-count f(x) Step-size optimality 0 2 0 1 1 4 -0.841471 1 0.54 2 8 -1 0.484797 0.000993 3 10 -1 1 5.62e-05 4 12 -1 1 0 Local minimum found. Optimization completed because the size of the gradient is less than the value of the optimality tolerance.
反復表示は、以下を除くすべてのソルバーで使用できます。
lsqlin
'trust-region-reflective'
アルゴリズムlsqnonneg
quadprog
'trust-region-reflective'
アルゴリズム
一般的な見出し
この表は、反復表示における一般的な見出しの一部を示しています。
見出し | 表示される情報 |
---|---|
| 現在の目的関数値です。 |
| 1 次の最適性の尺度です (1 次の最適性の尺度を参照)。 |
| 関数評価の回数です (反復と関数計算回数を参照)。 |
| 反復回数です (反復と関数計算回数を参照)。 |
| 現在のステップのサイズ (サイズはユークリッド ノルムまたは 2 ノルム) です。 |
関数特有の見出し
この節の表では、使用する最適化関数によって意味が異なる、反復表示の見出しを説明します。
fgoalattain、fmincon、fminimax、fseminf
この表は、fgoalattain
、fmincon
、fminimax
、fseminf
に特有の見出しを示します。
fgoalattain、fmincon、fminimax、fseminf の見出し | 表示される情報 |
---|---|
|
|
| 現在の反復に用いられる共役勾配法の反復数です (前処理付き共役勾配法を参照)。 |
| 探索方向に沿った目的関数の勾配です。 |
| 最大制約違反。ここで満たされる不等式制約の数は |
| 探索方向をスケールする乗法係数です (式 29を参照)。 |
| すべての制約 (内部で作成された制約とユーザー指定の制約の両方) の最大違反です。制約がない場合は、負になる場合もあります。 |
|
|
| ヘッシアンの更新手順:
詳細は、ヘッセ行列の更新を参照してください。 QP 部分問題の手順:
|
| 探索方向をスケールする乗法係数です (式 29を参照)。 |
| 現在の信頼領域の半径です。 |
fminbnd と fzero
この表は、fminbnd
と fzero
に特有の見出しを示します。
fminbnd または fzero の見出し | 表示される情報 |
---|---|
|
|
| アルゴリズムの現在点です。 |
fminsearch
この表は、fminsearch
に特有の見出しを示します。
fminsearch の見出し | 表示される情報 |
---|---|
| 現在のシンプレックスの最小関数値です。 |
| 現在の反復でのシンプレックス処理です。手順は次のとおりです。
詳細は、fminsearch アルゴリズムを参照してください。 |
fminunc
この表は、fminunc
に特有の見出しを示します。
fminunc の見出し | 表示される情報 |
---|---|
| 現在の反復に用いられる共役勾配法の反復数です (前処理付き共役勾配法を参照)。 |
| 探索方向をスケールする乗法係数です (式 11を参照)。 |
fminunc
'quasi-newton'
アルゴリズムは、skipped update
メッセージを First-order optimality
列の右側に発行することがあります。このメッセージは、結果の行列が正定値ではなかったため、fminunc
はヘッシアンの推定を更新しなかったことを意味します。通常、このメッセージは現在の点における目的関数が滑らかでないことを示します。
fsolve
この表は、fsolve
に特有の見出しを示します。
fsolve の見出し | 表示される情報 |
---|---|
| 探索方向に沿った関数の勾配です。 |
| λk の値。次で定義されています。 レーベンバーグ・マルカート法 |
| 関数の残差 (二乗和) です。 |
| 現在の信頼領域の半径 (信頼領域の半径のノルム変位) です。 |
intlinprog
この表は、intlinprog
に特有の見出しを示します。
intlinprog の見出し | 表示される情報 |
---|---|
| 探索されたノードの累積数です。 |
|
|
| 検出された整数実行可能点の数です。 |
| 検出された最良の整数実行可能点に対する目的関数値です。この値は目的関数の最終値の上限です。 |
| ここで、
メモ
|
linprog
この表は、linprog
に特有の見出しを示します。各アルゴリズムには独自の反復表示があります。
linprog の見出し | 表示される情報 |
---|---|
| 主問題の実行不可能性です。制約違反の尺度は、解においてゼロになります。 定義については、予測子修正子 ( |
| 双対問題の実行不可能性です。ラグランジュ関数の導関数の尺度は、解においてゼロになります。 ラグランジュ関数の定義については、予測子修正子を参照してください。双対問題の実行不可能性の定義については、予測子修正子 ( |
| 実行可能上限です。{x} は、有限の上限があるそれらの x を意味します。この値は、レガシ内点線形計画法における ru 残差です。 |
| 主目的関数と双対目的関数間の双対性ギャップです (レガシ内点線形計画法を参照)。 |
| メイン アルゴリズムの終わりに記述されている合計相対誤差です。 |
| ラグランジュ乗数の尺度と範囲からの距離の積で、解においてゼロになります。停止条件の変数 rc を参照してください。 |
|
|
lsqlin
lsqlin
の 'interior-point'
反復表示は、quadprog
反復表示から継承されます。これらの関数の関係は、線形最小二乗法: 内点法または有効制約法で説明されています。反復表示の詳細は、quadprog を参照してください。
lsqnonlin と lsqcurvefit
この表は、lsqnonlin
と lsqcurvefit
に特有の見出しを示します。
lsqnonlin または lsqcurvefit の見出し | 表示される情報 |
---|---|
| 探索方向に沿った関数の勾配です。 |
| λk の値。次で定義されています。 レーベンバーグ・マルカート法 |
|
|
| 関数の残差ベクトルです。 |
quadprog
この表は、quadprog
に特有の見出しを示します。'interior-point-convex'
アルゴリズムにのみ反復表示があります。
quadprog の見出し | 表示される情報 |
---|---|
| 主問題の実行不可能性。 |
| 双対問題の実行不可能性。 |
| 非アクティブな不等式のラグランジュ乗数の最大絶対値の尺度。解においてゼロになります。この数量は、実行不可能性の検出における g です。 |