| 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 | ![]() |