MATLAB Function Reference |
Syntax
options = optimset('param1',value1,'param2',value2,...) optimset options = optimset options = optimset(optimfun) options = optimset(oldopts,'param1',value1,...) options = optimset(oldopts,newopts)
Description
options = optimset('param1',value1,'param2',value2,...)
產生一個最佳化選項結構 options
,它定義參數(param
) 為特定值。任何沒有定義的參數會設為 []
([]
的參數表示當 options
傳到最佳化函數時,使用參數預設值)。只要輸入可以獨立確定屬性名稱的前幾個字母就可以了。屬性名稱的大小寫會被忽略。
optimset
沒有輸入或輸出參數,會顯示所有屬性名稱和合法值。
options = optimset
(沒有輸入參數)產生選項結構 options
,而所有的欄位都設為 []
。
options = optimset(optimfun)
產生一個選項結構 options
,而所有參數名稱和預設值會適合最佳化函數 optimfun
。
options = optimset(oldopts,'param1',value1,...)
產生一個 oldopts
的複製,修改特定參數為特定值。
options = optimset(oldopts,newopts)
合併新選項結構 newopts
到以存在結構 oldopts
。任何 newopts
中不是空的參數值都會覆寫到對應 oldopts
的舊參數。
Parameters
最佳化工具函數使用的最佳化參數(更多個別參數的資訊,請看 Optimization Toolbox User's Guide 中的 Optimization Options Parameters,使用這些參數的最化函數):
Property |
Value |
Description |
DerivativeCheck |
'on' | {'off' } |
比較使用者提供分析微分(gradients or Jacobian)和有限微分。 |
Diagnostics |
'on' | {'off' } |
印出關於最小化或解的函數對角線資訊。 |
DiffMaxChange |
正純量 | {1e-1 } |
有限微分變數的最大改變數。 |
DiffMinChange |
正純量 | {1e-8 } |
有限微分變數的最少改變數。 |
GoalsExactAchieve |
正純量整數 | {0 } |
實際要達到的目標數(不要超過或不及) |
GradConstr |
'on' | {'off' } |
使用者定義的非線性約束梯度。 |
GradObj |
'on' | {'off' } |
使用者定義的目標函數梯度。 |
Hessian |
'on' | {'off' } |
使用者定義的目標函數 Hessian。 |
HessMult |
函數 | {[] } |
使用者定義的 Hessian 乘法函數。 |
HessPattern |
稀疏矩陣 |{全部 1 的稀疏矩陣} |
Hessian 的有限積分稀疏模式。矩陣大小是 n-by-n,其中 n 是起始點 x0 的元素個數。 |
HessUpdate |
{'bfgs' } | 'dfp' | 'gillmurray' | 'steepdesc' |
Quasi-Newton updating scheme。 |
Jacobian |
'on' | {'off' } |
使用者定義用於目標函數的 Jacobian。 |
JacobMult |
函數 | {[] } |
使用者定義的 Jacobian 乘法函數。 |
JacobPattern |
稀疏矩陣 |{全部 1 的稀疏矩陣} |
Jacobian 的有限積分稀疏模式。矩陣的大小是 m-by-n,其中 m 是使用者定義函數 fun 傳回的第一個元素值數目,而 n 是起始點 x0 的元素個數。 |
LargeScale |
{'on' } | 'off' |
如果允許的話,使用大尺度的演算法。 |
LevenbergMarquardt |
'on' | {'off' } |
在 Gauss-Newton 演算法中選擇 Levenberg-Marquardt。 |
LineSearchType |
'cubicpoly' | {'quadcubic' } |
線搜尋演算法的選擇(Line search algorithm choice)。 |
MaxPCGIter |
正整數 |
允許的最大 PCG 重複(iteration)次數。預設值是大於 1 和 floor(n/2) ,其中 n 是起始點 x0 的元素個數。 |
MeritFunction |
'singleobj' | {'multiobj' } |
使用 goal attainment/minimax merit function(multiobjective) vs. fmincon (single objective)。 |
MinAbsMax |
正純量整數 | {0 } |
最差情形絕對值(worst case absolute value)的最小化數目。 |
PrecondBandWidth |
正整數 | {0} | Inf |
對 PCG 前處理的頻寬上限。 |
TolCon |
正純量 |
constraint violation 的終結容忍度。 |
TolPCG |
正純量 | {0.1 } |
PCG 重複(iteration)的終結容忍度。 |
TypicalX |
全部一的向量 |
代表 x 值。向量的長度與起始點 x0 元素數目相等。 |
Examples
這個敘述產生一個最佳化選項結構 options
,它的 Display
參數設成 'iter'
而 TolFun
參數設成 1e-8
。
options = optimset('Display','iter','TolFun',1e-8)
這個敘述複製選項結構 options
,改變 TolX
參數且存新的值到 optnew
。
optnew = optimset(options,'TolX',1e-4);
這個敘述傳回包含所有適合函數 fminbnd
的參數名稱和預設值的最佳化選項結構。
optimset('fminbnd')
See Also
optimget
, fminbnd
, fminsearch
, fzero
, lsqnonneg
optimget | orient |