作者yichen1006 (123木頭人)
看板MATLAB
標題[問題] 最佳化工具的終止條件如何判定?
時間Wed Dec 14 11:58:47 2011
想請問MATLAB的的最佳化工具和全域最佳化工具的終止條件是怎麼判定?
我看matlab 最佳化工具裡的說明
input參數 絕對誤差是使
|(x,i - x,i+1)| < TolX 就結束最佳化過程
說明裡又說
TolX is sometimes used as a relative bound, meaning iterations end when
|(xi – xi+1)| < TolX*(1 + |xi|), or a similar relative measure.
而TolFcn收斂條件也是同樣的方式
那要怎麼知道matlab是使用"絕對誤差"還是"相對誤差"做判定阿?
例如
使用fminsearch,設定 TolX=1e-3, TolFcn=1e-3
目標函數 Fcn,i= 8.3256 → Fcn,i+1=8.3255 程式沒有做終止的動作
Input參數 X1,i = 0.016021 → X1,i+1 =0.016025
X2,i = 0.007318 → X2,i+1 =0.007316
而全域最佳化工具裡的patternsearch,最佳化終止的說明是(目標函數部分)
當前的最佳點與前一個最佳點之間的差異(difference)<TolFcn,演算停止。
例如
使用patternsearch,設定 TolFcn=1e-2
目標函數 Fcn,i= 16.5658 → Fcn,i+1= 16.3073
出現終止訊息
Optimization terminated: change in the function value less than options.
TolFun.
由Fcn數據看來應該,當最佳值與前一個最佳值的差異比我設定的1e-2還要多出許多
現在做最佳化收尋,終止條件讓我一頭霧水
拜託板上了解的大大指點一下,感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.126.65.183
※ 編輯: yichen1006 來自: 122.126.65.183 (12/14 12:22)