我实现了下坡单纯形模拟退火算法。算法很难调整,参数包括冷却计划、启动温度......
我的第一个问题是关于收敛的。一般来说,独立于初始参数的选择,算法是否会收敛到全局最优解?
更准确地说:我将 SA 与基于 Num.recipes 的下坡单纯形一起使用,但是,我正在添加一些特定的操作来观察约束。你认为我的额外约束条件是导致收敛性差的原因吗?
然后,我想请您就如何继续求解器概念提出建议:例如,我的算法在 10 维空间(10 个参数)中的数据上进行了测试。它是这样的:预处理(蒙特卡罗)选择了一个很好的起点。然后我下坡运行单纯形-> 不收敛。我运行了模拟退火(单纯形下坡进入下一步),但距离解决方案还很远(RMSE == 0.001)。这些数据的 Excel 求解器做得很好。Excel方法是广义的减少梯度。我应该继续对 SA 进行微调,还是使用非导数方法 sa GRG?
最后,说同样的语言:在我的例子中,收敛是根本达不到的。我也没有时间达到局部最小值,因为当单纯形卡住时我已经设置了一些退出条件。“求解器不收敛”一般是什么意思?这是否意味着满足终止条件(sa低于公差值)并且解决方案是次优的,还是意味着永远不会满足终止条件?
感谢和问候。
编辑
我的目标函数是明确给出的。例如,它可以看起来像
因此,使用“三个高斯 + 步长”模型的平方残差。
这是一个例子,求解器应该使用“合理”数量的参数求解高斯、指数、幂、多项式、线性、有理函数之间的任何函数组合。
指定参数的框约束,形式为 $l_{i} \leq p_{i} \leq u_{i}$。.