作者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)