matlab优化 带参数设置,优化选项参考- MATLAB Simulink- MathWorks 中国
AbsoluteGapTolerance非負(fù)實(shí)數(shù)。如果內(nèi)部計(jì)算的目標(biāo)函數(shù)的上界 (U) 和下界 (L) 之間的差小于或等于 AbsoluteGapTolerance,則 intlinprog 停止:
U – L <=
AbsoluteGapTolerance。
AbsoluteMaxObjectiveCountF(x) 的數(shù)量,用于最小化最差情形絕對(duì)值。
BranchRule選擇分支分量的規(guī)則:
'maxpscost' - 具有最大偽代價(jià)的小數(shù)分量。請(qǐng)參閱分支定界。
'strongpscost' - 具有最大偽代價(jià)的小數(shù)分量,需要審慎估計(jì)偽代價(jià)。請(qǐng)參閱分支定界。
'reliability' - 具有最大偽代價(jià)的小數(shù)分量,需要比 'strongpscost' 更為審慎地估計(jì)偽代價(jià)。請(qǐng)參閱分支定界。
'mostfractional' - 小數(shù)部分最接近 1/2 的分量。
'maxfun' - 目標(biāo)向量 f 的絕對(duì)值中對(duì)應(yīng)分量最大的小數(shù)分量。
CheckGradients將用戶提供的分析導(dǎo)數(shù)(梯度或 Jacobian 矩陣,取決于所選求解器)與有限差分導(dǎo)數(shù)進(jìn)行比較。僅限于 optimoptions。對(duì)于 optimset,使用 DerivativeCheck
CutGeneration切割生成的級(jí)別(請(qǐng)參閱切割生成):
'none' - 無(wú)切割。使 CutMaxIterations 不相關(guān)。
'basic' - 正常切割生成。
'intermediate' - 使用更多切割類型。
'advanced' - 使用大多數(shù)切割類型。
CutMaxIterations在進(jìn)入分支定界階段之前經(jīng)歷所有切割生成方法的次數(shù),從 1 到 50 的整數(shù)。通過(guò)將 CutGeneration 選項(xiàng)設(shè)置為 'none' 可禁用切割生成。
Display顯示級(jí)別。
'off' 不顯示輸出。
'iter' 顯示每次迭代的輸出,并給出默認(rèn)退出消息。
'iter-detailed' 顯示每次迭代的輸出,并給出帶有技術(shù)細(xì)節(jié)的退出消息。
'notify' 僅當(dāng)函數(shù)不收斂時(shí)才顯示輸出,并給出默認(rèn)退出消息。
'notify-detailed' 僅當(dāng)函數(shù)不收斂時(shí)才顯示輸出,并給出技術(shù)性退出消息。
'final' 僅顯示最終輸出,并給出默認(rèn)退出消息。
'final-detailed' 僅顯示最終輸出,并給出帶有技術(shù)細(xì)節(jié)的退出消息。全部。有關(guān)適用的值,請(qǐng)參閱各個(gè)函數(shù)參考頁(yè)。
EqualityGoalCount指定目標(biāo) fun 達(dá)到設(shè)置目標(biāo)所需的目標(biāo)數(shù)量。如有必要,請(qǐng)對(duì)您的目標(biāo)重新排序,讓 fgoalattain 準(zhǔn)確實(shí)現(xiàn)第一個(gè) EqualityGoalCount 目標(biāo)。僅限于 optimoptions。對(duì)于 optimset,使用 GoalsExactAchieve
FiniteDifferenceStepSize有限差分的標(biāo)量或向量步長(zhǎng)大小因子。當(dāng)您將 FiniteDifferenceStepSize 設(shè)置為向量 v 時(shí),前向有限差分 delta 是
delta = v.*sign′(x).*max(abs(x),TypicalX); 其中 sign′(x) = sign(x)(例外是 sign′(0) = 1)。中心有限差分是
delta = v.*max(abs(x),TypicalX);標(biāo)量 FiniteDifferenceStepSize 擴(kuò)展為向量。對(duì)于正向有限差分,默認(rèn)值為 sqrt(eps);對(duì)于中心有限差分,默認(rèn)值為 eps^(1/3)。僅限于 optimoptions。對(duì)于 optimset,使用 FinDiffRelStep
FiniteDifferenceType用于估計(jì)梯度的有限差分是 'forward'(默認(rèn)值)或 'central'(中心化),這需要兩倍的函數(shù)計(jì)算次數(shù),但結(jié)果應(yīng)該更準(zhǔn)確。如果 HonorBounds 選項(xiàng)設(shè)置為 false,則在 fmincon 內(nèi)點(diǎn)計(jì)算中,'central' 差分可能會(huì)在其計(jì)算過(guò)程中違反邊界。僅限于 optimoptions。對(duì)于 optimset,使用 FinDiffType
HessianApproximationHessian 矩陣逼近的方法:'bfgs'、'lbfgs'、{'lbfgs',Positive Integer} 或 'finite-difference'。
當(dāng) HessianFcn 或 HessianMultiplyFcn 非空時(shí)將被忽略。
HessianFcn用戶提供的 Hessian 函數(shù),指定為函數(shù)句柄(請(qǐng)參閱包含 Hessian 矩陣)。
HessianMultiplyFcn用戶提供的 Hessian 矩陣乘法函數(shù),指定為函數(shù)句柄。
當(dāng) HessianFcn 非空時(shí)將被忽略。
Heuristics搜索可行點(diǎn)的算法(請(qǐng)參閱使用啟發(fā)式方法求出可行解):
'basic'
'intermediate'
'advanced'
'rss'
'rins'
'round'
'diving'
'rss-diving'
'rins-diving'
'round-diving'
'none'
HeuristicsMaxNodes嚴(yán)格正整數(shù),它限制 intlinprog 在分支定界搜索可行點(diǎn)的過(guò)程中可探查的節(jié)點(diǎn)數(shù)。請(qǐng)參閱使用啟發(fā)式方法求出可行解。
HonorBounds默認(rèn)值 true 確保每次迭代都滿足邊界約束。通過(guò)設(shè)置為 false 關(guān)閉。僅限于 optimoptions。對(duì)于 optimset,使用 AlwaysHonorConstraints
IntegerPreprocess整數(shù)預(yù)處理的類型(請(qǐng)參閱混合整數(shù)規(guī)劃預(yù)處理):
'none' - 使用非常少的整數(shù)預(yù)處理步驟。
'basic' - 使用中等數(shù)量的整數(shù)預(yù)處理步驟。
'advanced' - 使用所有可用的整數(shù)預(yù)處理步驟。
IntegerTolerance1e-6 到 1e-3 范圍內(nèi)的實(shí)數(shù),這是解 x 的分量仍被視為整數(shù)時(shí)相比整數(shù)可具有的最大偏差。IntegerTolerance 不是停止條件。
JacobianMultiplyFcn用戶定義的 Jacobian 矩陣乘法函數(shù),指定為函數(shù)句柄。除非對(duì)于 fsolve、lsqcurvefit 和 lsqnonlin 來(lái)說(shuō) SpecifyObjectiveGradient 是 true,否則被忽略。
LinearSolver算法內(nèi)部線性求解器的類型:
'auto' - 如果傳遞的二次矩陣為稀疏矩陣(對(duì)于 quadprog 來(lái)說(shuō)為 H,對(duì)于 lsqlin 來(lái)說(shuō)為 C),則使用 'sparse';否則使用 'dense'。
'sparse' - 使用稀疏線性代數(shù)。
'dense' - 使用稠密線性代數(shù)。lsqlin 'interior-point' 算法和 quadprog 'interior-point-convex' 算法
LPMaxIterations嚴(yán)格正整數(shù),在分支定界過(guò)程中每個(gè)節(jié)點(diǎn)的單純形算法迭代的最大次數(shù)。
LPOptimalityTolerance非負(fù)實(shí)數(shù),要將一個(gè)變量納入基,該變量的簡(jiǎn)化后的代價(jià)必須超過(guò) LPOptimalityTolerance。
MaxIterations允許的最大迭代次數(shù)。
MaxFeasiblePoints嚴(yán)格正整數(shù)。intlinprog 在找到 MaxFeasiblePoints 個(gè)整數(shù)可行點(diǎn)時(shí)停止。
MaxNodes嚴(yán)格正整數(shù),它是求解器在其分支定界過(guò)程中探查的最大節(jié)點(diǎn)數(shù)。
MaxTime算法允許的最長(zhǎng)時(shí)間(以秒為單位)。
NodeSelection選擇下一步要探查的節(jié)點(diǎn)。
'simplebestproj' - 最佳投影。請(qǐng)參閱分支定界。
'minobj' - 探查目標(biāo)函數(shù)值最小的節(jié)點(diǎn)。
'mininfeas' - 探查整數(shù)不可行性之和最小的節(jié)點(diǎn)。請(qǐng)參閱分支定界。
ObjectiveCutOff大于 -Inf 的實(shí)數(shù)。默認(rèn)值為 Inf。
ObjectiveImprovementThreshold非負(fù)實(shí)數(shù)。intlinprog 僅在找到目標(biāo)函數(shù)值比當(dāng)前可行解的目標(biāo)函數(shù)值低至少 ObjectiveImprovementThreshold 的另一個(gè)解時(shí),才會(huì)更改當(dāng)前可行解:(fold – fnew)/(1 + |fold|) >
ObjectiveImprovementThreshold。
ObjectiveLimit如果目標(biāo)函數(shù)值低于 ObjectiveLimit 并且迭代可行,則迭代停止。
PlotFcn繪制算法執(zhí)行過(guò)程中的各個(gè)進(jìn)度測(cè)量值。從預(yù)定義繪圖中選擇,或者自行編寫。以列表或函數(shù)句柄(如 @optimplotx)形式給出函數(shù)名稱。傳遞內(nèi)置繪圖函數(shù)名稱、函數(shù)句柄,或由內(nèi)置名稱或函數(shù)句柄組成的元胞數(shù)組。對(duì)于自定義繪圖函數(shù),傳遞函數(shù)句柄。
'optimplotx' 繪制當(dāng)前點(diǎn)
'optimplotfunccount' 繪制函數(shù)計(jì)數(shù)
'optimplotfval' 繪制函數(shù)值
'optimplotfvalconstr' 將找到的最佳可行目標(biāo)函數(shù)值繪制為線圖。該圖將不可行點(diǎn)顯示為紅色,可行點(diǎn)顯示為藍(lán)色,使用的可行性容差為 1e-6。
'optimplotconstrviolation' 繪制最大值約束違反度
'optimplotresnorm' 繪制殘差范數(shù)
'optimplotfirstorderopt' 繪制一階最優(yōu)性
'optimplotstepsize' 繪制步長(zhǎng)大小
'optimplotmilp' 繪制混合整數(shù)線性規(guī)劃的間隙
RelativeGapTolerance0 到 1 范圍內(nèi)的實(shí)數(shù)。如果內(nèi)部計(jì)算的目標(biāo)函數(shù)上界 (U) 和下界 (L) 之間的差小于或等于 RelativeGapTolerance,則 intlinprog 停止:
(U – L) / (abs(U)
+ 1) <=
RelativeGapTolerance。
intlinprog 自動(dòng)針對(duì)較大的 L 量級(jí)修正容差:
容差 = min(1/(1+|L|),
RelativeGapTolerance)
RootLPAlgorithm求解線性規(guī)劃的算法:
'dual-simplex' - 對(duì)偶單純形算法
'primal-simplex' - 原始單純形算法
RootLPMaxIterations非負(fù)整數(shù),它是求解初始線性規(guī)劃問(wèn)題要進(jìn)行的單純形算法迭代的最大次數(shù)。
ScaleProblem對(duì)于 fmincon interior-point 和 sqp 算法,true 會(huì)使算法根據(jù)所有約束和目標(biāo)函數(shù)的初始值對(duì)其進(jìn)行歸一化。要禁用,請(qǐng)?jiān)O(shè)置為默認(rèn)值 false。
SpecifyConstraintGradient非線性約束的用戶定義梯度。
StepTolerancex 的終止容差。
SubproblemAlgorithm確定迭代步的計(jì)算方式。
總結(jié)
以上是生活随笔為你收集整理的matlab优化 带参数设置,优化选项参考- MATLAB Simulink- MathWorks 中国的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓oaid怎么查(安卓oa)
- 下一篇: xftp连接linux乱码(xftp连接