[問題] 最佳化工具的終止條件如何判定?

看板MATLAB作者 (123木頭人)時間14年前 (2011/12/14 11:58), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
想請問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)
文章代碼(AID): #1Ew1xwnc (MATLAB)