すべてのアルゴリズム |
算法
|
“trust-region-reflective” (既定の設定)と“levenberg-marquardt” から選択します。
算法 オプションは使用するアルゴリズムの優先順位を指定します。これは基本設定のみです。条件によっては,各アルゴリズムに対応しなければならないからです。信頼領域反射法アルゴリズムでは、非線形方程式系は劣決定では解けません。すなわち、方程式の数 (有趣的 によって返されるF の要素数)は少なくともx の長さと同じでなければなりません。アルゴリズムの選択についての詳細は、アルゴリズムの選択を参照してください。
|
CheckGradients |
ユーザー設定の導関数(目的関数または制約の勾配)と有限差分による導関数とを比較します。選択肢は,假 (既定の設定)または真正的 です。 optimset の場合,名前はDerivativeCheck で,値は“上” または“关闭” です。詳細は,新旧のオプション名を参照してください。
|
诊断 |
最小化または計算する関数に関する情報を表示します。選択肢は,“关闭” (既定の設定)または“上” です。 |
DiffMaxChange |
有限差分勾配を計算する場合に変数内で生じる最大変化量です(正のスカラー)。既定値は正 です。 |
DiffMinChange |
有限差分勾配を計算する場合に変数内で生じる最小変化量です(正のスカラー)。既定値は0 です。 |
显示
|
表示レベル(反復表示を参照):
“关闭” または“没有” ——出力を表示しない。
“通路” ——各反復の出力を表示し,既定の終了メッセージを与える。
“iter-detailed” ——各反復の出力を表示し,技術的な終了メッセージを与える。
“最后一次” (既定の設定)——最終出力を表示し,既定の終了メッセージを返す。
最后详细的 ——最終出力のみを表示し,技術的な終了メッセージを与える。
|
FiniteDifferenceStepSize |
有限差分のスカラーまたはベクトルのステップサイズファクター。FiniteDifferenceStepSize をベクトルv に設定すると,前方有限差分δ は
δ= v *标志的(x) *马克斯(abs (x)、TypicalX);
ここで,标志' (0)= 1 を除き符号“(x) =符号(x) です。中心有限差分法では
δ= v *马克斯(abs (x)、TypicalX);
スカラーFiniteDifferenceStepSize はベクトルに拡張します。既定値は、前進有限差分法ではsqrt (eps) 中,心有限差分法ではeps ^ (1/3) です。optimset の場合,名前はFinDiffRelStep です。詳細は,新旧のオプション名を参照してください。
|
FiniteDifferenceType |
勾配推定に使用される有限差分は“前进” (既定の設定)または“中央” (中心)のいずれかです。“中央” では2倍の関数評価が必要になりますが,正確性が増します。 アルゴリズムは有限差分の両方のタイプを推定するとき,範囲に注意深く従います。そのためたとえば,向前ではなく,向后を選択すると,範囲外の点を計算しないようにすることができます。 optimset の場合,名前はFinDiffType です。詳細は,新旧のオプション名を参照してください。
|
FunctionTolerance
|
関数値に関する終了許容誤差(正のスカラー)。既定値は1 e-6 です。詳細は,許容誤差と停止条件を参照してください。 optimset の場合,名前はTolFun です。詳細は,新旧のオプション名を参照してください。
|
FunValCheck |
関数値が有効かどうかをチェックします。“上” は,関数が复杂的 、正 ,または南 である値を返すと,エラーを表示します。既定の“关闭” ではエラーを表示しません。 |
MaxFunctionEvaluations
|
可能な関数評価の最大回数(正の整数)。既定の設定は100 * numberOfVariables です。詳細は,許容誤差と停止条件と反復と関数計算回数を参照してください。 optimset の場合,名前はMaxFunEvals です。詳細は,新旧のオプション名を参照してください。
|
MaxIterations
|
可能な反復の最大数(正の整数)。既定値400 です。詳細は,許容誤差と停止条件と反復と関数計算回数を参照してください。 optimset の場合,名前は麦克斯特 です。詳細は,新旧のオプション名を参照してください。
|
OptimalityTolerance |
1次の最適性に関する終了許容誤差(正のスカラー)。既定値は1 e-6 です。詳細は,1次の最適性の尺度を参照してください。 内部的に,“levenberg-marquardt” アルゴリズムは,FunctionTolerance の1的军医 倍となる最適性の許容誤差(停止条件)を使用し,OptimalityTolerance は使用しません。 optimset の場合,名前はTolFun です。詳細は,新旧のオプション名を参照してください。
|
OutputFcn |
各反復で最適化関数が呼び出すユーザー定義の関数を1つ以上指定します。関数ハンドルか,関数ハンドルの细胞配列を渡します。既定の設定はなし([] )です。詳細は,出力関数とプロット関数の構文を参照してください。 |
PlotFcn
|
アルゴリズムが実行中のさまざまな進行状況の測定値をプロットします。事前定義されたプロットから選択するか,独自のコードを記述してください。名前,関数ハンドル,または名前か関数ハンドルの细胞配列を渡します。カスタムプロット関数の場合は,関数ハンドルを渡します。既定の設定はなし([] )です。
“optimplotx” は現在の点をプロットします。
“optimplotfunccount” は関数計算をプロットします。
“optimplotfval” は関数値をプロットします。
“optimplotresnorm” は残差のノルムをプロットします。
“optimplotstepsize” はステップサイズをプロットします。
“optimplotfirstorderopt” は1次の最適性尺度をプロットします。
カスタムのプロット関数は,出力関数と同じ構文を使用します。詳細は,优化工具箱™の出力関数と出力関数とプロット関数の構文を参照してください。 optimset の場合,名前はPlotFcns です。詳細は,新旧のオプション名を参照してください。
|
SpecifyObjectiveGradient |
假 (既定の設定)の場合,ソルバーは有限差分法を使用してヤコビアンを近似します。真正的 の場合,ソルバーは目的関数に対してユーザー定義のヤコビアン(既定の設定では有趣的 ),または(JacobMult を使用するときの)ヤコビ情報を使用します。
optimset の場合,名前は雅可比矩阵 で,値は“上” または“关闭” です。詳細は,新旧のオプション名を参照してください。
|
StepTolerance
|
x に関する許容誤差(正のスカラー)。既定値は1 e-6 です。詳細は,許容誤差と停止条件を参照してください。
optimset の場合,名前はTolX です。詳細は,新旧のオプション名を参照してください。
|
TypicalX
|
典型的なx の値です。TypicalX の要素数は,開始点x0 の要素数と等しくなります。既定値は的(numberofvariables, 1) です。ソルバーはTypicalX を使用して勾配推定の有限差分をスケーリングします。 |
UseParallel |
真正的 の場合,ソルバーは並列で勾配を推定します。既定の假 に設定すると,無効になります。詳細は,並列計算を参照してください。
|
信頼領域反射法アルゴリズム |
JacobianMultiplyFcn |
ヤコビ乗算関数。関数ハンドルとして指定されます。大規模構造化問題に対して、この関数は実際にJ を計算しないで,ヤコビ行列乗算J * Y 、J ' * Y 、J”* (J * Y) のいずれかを計算します。この関数は次の形式を取ります。
ここで,动力系统 はJ * Y (またはJ ' * Y かJ”* (J * Y) )の計算に使用される行列を含んでいます。1番目の引数动力系统 は目的関数有趣的 が返す2番目の引数と同じにしなければなりません。
Y は問題の次元と同じ行数をもつ行列です。国旗 はどの乗数が計算されるかを決めます。
どの場合でも,J は明示的に形成されません。ソルバーは动力系统 を使用して前提条件子を計算します。jmfun が必要とする追加のパラメーターを与える方法については追加パラメーターの受け渡しを参照してください。
メモ:
“SpecifyObjectiveGradient” は真正的 に設定し,ソルバーが动力系统 を有趣的 からjmfun に渡すようにしなければなりません。
同様の例は密に構造化されたヘッシアンと線形等式を使用した最小化と線形最小二乗付きヤコビ乗算関数を参照してください。 optimset の場合,名前はJacobMult です。詳細は,新旧のオプション名を参照してください。
|
JacobPattern |
有限差分に対するヤコビスパースパターン。有趣的(我) がx (j) によって異なる場合,JacobPattern (i, j) = 1 を設定します。それ以外の場合は,JacobPattern (i, j) = 0 を設定します。言い換えると,∂有趣的(我) /∂x (j) ≠0をもつことができる場合,JacobPattern (i, j) = 1 となります。 有趣的 でヤコビ行列J を計算するのが不便な場合は,JacobPattern を使用します。ただし,有趣的(我) がx (j) によって異なる場合は見ただけで判断できます。JacobPattern を提供できる場合,ソルバーはスパース有限差分を使ってJ を近似することができます。
構造が不明であれば,JacobPattern を設定しないでください。既定では,JacobPattern は1からなる密行列のように動作します。その後,ソルバーは,非スパース状態の有限差分近似を反復ごとに計算します。大規模な問題では,この計算には多大なリソースが必要となる場合があり,通常はスパース構造を決定するのが妥当です。 |
MaxPCGIter |
PCG(前処理付き共役勾配)法の反復の最大回数です(正のスカラー)。既定値は马克斯(1,numberOfVariables / 2) です。詳細は,大規模な非線形最小二乗法を参照してください。 |
PrecondBandWidth |
PCGに対する前提条件子の帯域幅の上限(非負の整数)。既定のPrecondBandWidth が正 の場合,共役勾配(CG)ではなく,直接因子分解(コレスキー因子)が使用されます。直接因子分解ではCGより計算量が増加しますが,解を求めるためのステップの質が向上します。対角型をした前提条件のために,PrecondBandWidth を0 に設定します(上部帯域幅0)。一部の問題では帯域幅を中間にすることでPCG法の反復回数を減らします。 |
SubproblemAlgorithm |
反復ステップの計算方法を定義します。既定の設定である“分解” のステップは“重心” より低速ですが,精度の点で勝ります。詳細は,信頼領域反射法の最小二乗を参照してください。 |
TolPCG |
PCG反復に関する終了許容誤差(正のスカラー)。既定値は0.1 です。 |
レーベンバーグ・マルカート法アルゴリズム |
InitDamping |
レーベンバーグ・マルカートパラメーターの初期値(正のスカラー)。既定値は1)依照 です。詳細は,レーベンバーグ・マルカート法を参照してください。 |
ScaleProblem |
的雅可比矩阵 は,適切にスケール化されていない問題に対して収束性を高める場合があります。既定値は“没有” です。
|