MATLAB Function Reference | ![]() ![]() |
optimset
表示
options = optimset('param1',value1,'param2',value2,...) optimset options = optimset options = optimset(optimfun) options = optimset(oldopts,'param1',value1,...) options = optimset(oldopts,newopts)
詳細
options = optimset('param1',value1,'param2',value2,...)
は、options
と名付けた最適化オプション構造体を作成します。この中で、指定したパラメータ
(param
)
は、指定した値をもっています。いくつかの指定しないパラメータは、[]
で設定されます(値 []
をもつパラメータは、options
が、最適化関数に渡されたとき、そのパラメータにデフォルト値を使用することを意味しています)。パラメータ名をユニークに識別できることが目的で、フルに名前を設定する必要はありません。パラメータ名に対して、大文字、小文字の区別はありません。
optimset
は、引数を設定しないで、それ自身で使用すると、正しい値をもつパラメータの一覧を表示します。
options = optimset
(入力引数なし)
は、すべてのフィールドに []
が設定されているオプション構造体 options
を作成します。
options = optimset(optimfun)
は、最適化関数 optimfun
でのすべてのパラメータ名とそのデフォルト値をもつ最適化構造体
options
を作成します。
options = optimset(oldopts,'param1',value1,...)
は、oldopts
をコピーし、指定したパラメータに指定した値を設定したものを作成します。
options = optimset(oldopts,newopts)
は、既に存在しているオプション構造体 oldopts
と新しいオプション構造体 newopts
を組み合わせて、新しい構造体を作成します。newopts
の中の空でないパラメータが、対応する oldopts
の中の古いパラメータを書き換えます。
パラメータ
MATLAB 関数や Optimization Toolbox
の関数で使用される最適化パラメータ
Optimization Toolbox
の関数で使用する最適化パラメータ(各パラメータに関する詳細な情報については、Optimization
Toolbox User's Guide の中のOptimization Options Parameters
とこれらのパラメータを使用している最適化関数を参照してください)。
プロパティ |
値 |
詳細 |
DerivativeCheck |
'on' | {'off' } |
ユーザが設定する解析的な微係数(勾配、または、ヤコビアン)と有限差分微係数を比較
|
Diagnostics |
'on' | {'off' } |
最小化、または、解く関数に関する警告情報を印刷 |
DiffMaxChange |
正のスカラ | {1e-1 } |
有限差分による微係数を計算するときの変数の中の最大変化量 |
DiffMinChange |
正のスカラ | {1e-8 } |
有限差分による微係数を計算するときの変数の中の最小変化量 |
GoalsExactAchieve |
正のスカラ 整数 | {0 } |
厳密な意味で、達成したゴールの数(過達成、または、劣達成ではない) |
GradConstr |
'on' | {'off' } |
ユーザにより定義された非線形制約に対する勾配 |
GradObj |
'on' | {'off' } |
ユーザ定義の目的関数に対する勾配 |
Hessian |
'on' | {'off' } |
Hessian for the objective function defined by the user. |
HessMult |
function | {[] } |
ユーザ定義の目的関数に対するヘシアン |
HessPattern |
sparse matrix |{sparse matrix of all ones} |
有限差分に関するヘシアンのスパースパターン。行列のサイズは、n
行 n 列です。ここで、n は、初期出発点 x0
の中の要素数です。 |
HessUpdate |
{'bfgs' } | 'dfp' | 'gillmurray' |
'steepdesc' |
準ニュートン更新法 |
Jacobian |
'on' | {'off' } |
ユーザ定義の目的関数に対するヤコビアン |
JacobMult |
関数 | {[] } |
ユーザ定義のヤコビアン乗数関数 |
JacobPattern |
スパース行列 |{すべてが1のスパース行列} |
有限差分に対するヤコビアンのスパースパターン。行列のサイズは、m
行 n 列で、m は、ユーザ定義関数 fun
で戻される最初の引数の中の値の数、n は、初期出発点 x0
の中の要素の数です。 |
LargeScale |
{'on' } | 'off' |
可能な場合は、大規模アルゴリズムを使用 |
LevenbergMarquardt |
'on' | {'off' } |
Levenberg-Marquardt アルゴリズムを使用 |
LineSearchType |
'cubicpoly' | {'quadcubic' } |
ラインサーチアルゴリズムの選択 |
MaxPCGIter |
positive integer |
使用可能な PCG
繰り返し回数の最大数。デフォルトは、1 と floor(n/2))
より大きいものです。ここで、n は、初期出発点 x0
の要素数です。 |
MeritFunction |
'singleobj' | {'multiobj' } |
fmincon
(単目的関数) に対して、ゴール達成/ミニマックスメリット関数(多目的関数)を使用 |
MinAbsMax |
正のスカラ 整数 | {0 } |
最悪な場合の絶対値を最小にするための ![]() |
PrecondBandWidth |
正の整数 | {0} | Inf |
PCG に対する前置条件子の上部n帯域幅 |
TolCon |
正のスカラ |
制約違反に対する終了の許容範囲 |
TolPCG |
正のスカラ | {0.1 } |
PCG 繰り返しの終了の許容範囲 |
TypicalX |
vector of all ones |
代表的な x
の値。ベクトルの長さは、初期出発点 x0
の要素数と等しくなります。 |
例題
つぎのステートメントは、Display
パラメータを 'iter'
に設定し、TolFun
パラメータを 1e-8
に設定した options
と名付けた最適化オプション構造体を作成します。
options = optimset('Display','iter','TolFun',1e-8)
つぎのステートメントは、options
と名付けたオプション構造体をコピーし、TolX
パラメータを変更して、optnew
に新しい値をストアするものです。
optnew = optimset(options,'TolX',1e-4);
つぎのステートメントは、関数 fminbnd
が参照するすべてのパラメータ名とデフォルト値を含む最適化オプション構造体を戻します。
optimset('fminbnd')
参考
optimget
, fminbnd
,
fminsearch
, fzero
,
lsqnnoneg
![]() |
optimget | orient | ![]() |