1. 程式人生 > >最優化方法matlab實現

最優化方法matlab實現

優化引數選項。可以通過optimset函式設定或改變這些引數。其中有的引數適用於所有的優化演算法,有的則只適用於大型優化問題,另外一些則只適用於中型問題。

首先描述適用於大型問題的選項。這僅僅是一個參考,因為使用大型問題演算法有一些條件。對於fminunc函式來說,必須提供梯度資訊。

l LargeScale – 當設為'on'時使用大型演算法,若設為'off'則使用中型問題的演算法。

適用於大型和中型演算法的引數:

l Diagnostics – 列印最小化函式的診斷資訊。

l Display – 顯示水平。選擇'off',不顯示輸出;選擇'iter',顯示每一步迭代過程的輸出;選擇'final',顯示最終結果。列印最小化函式的診斷資訊。

l GradObj – 使用者定義的目標函式的梯度。對於大型問題此引數是必選的,對於中型問題則是可選項。

l MaxFunEvals – 函式評價的最大次數。

l MaxIter – 最大允許迭代次數。

l TolFun – 函式值的終止容限。

l TolX – x處的終止容限。

只用於大型演算法的引數:

l  Hessian – 使用者定義的目標函式的Hessian矩陣。

l HessPattern – 用於有限差分的Hessian矩陣的稀疏形式。若不方便求fun函式的稀疏Hessian矩陣H,可以通過用梯度的有限差分獲得的H的稀疏結構(如非零值的位置等)來得到近似的Hessian矩陣H。若連矩陣的稀疏結構都不知道,則可以將HessPattern設為密集矩陣,在每一次迭代過程中,都將進行密集矩陣的有限差分近似(這是預設設定)。這將非常麻煩,所以花一些力氣得到Hessian矩陣的稀疏結構還是值得的。

l  MaxPCGIter – PCG迭代的最大次數。

l PrecondBandWidth – PCG前處理的上頻寬,預設時為零。對於有些問題,增加頻寬可以減少迭代次數。

l TolPCG – PCG迭代的終止容限。

l TypicalX – 典型x值。

只用於中型演算法的引數:

l DerivativeCheck – 對使用者提供的導數和有限差分求出的導數進行對比。

l DiffMaxChange – 變數有限差分梯度的最大變化。

l DiffMinChange - 變數有限差分梯度的最小變化。

l LineSearchType – 一維搜尋演算法的選擇。