matlab 用模拟退火,使用了option的设置,如下 options = saoptimset('HybridFcn',@patternsearch,);

matlab 用模拟退火,使用了option的设置,如下 options = saoptimset('HybridFcn',@patternsearch,);,第1张

这是对寻优函数搜索方式的设定,LargeScale指大规模搜索,off表示在规模搜索模式关闭,Simplex指单纯形算... 一般选择final显示最终结果。 在MATLAB运行窗口直接输入optimset可显示所有可设置的参数及对应的可选择的参...

“模拟退火”算法是源于对热力学中退火过程的模拟,在某一给定初温下,通过缓慢下降温度参数,使算法能够在多项式时间内给出一个近似最优解。退火与冶金学上的‘退火’相似,而与冶金学的淬火有很大区别,前者是温度缓慢下降,后者是温度迅速下降。

“模拟退火”的原理也和金属退火的原理近似:我们将热力学的理论套用到统计学上,将搜寻空间内每一点想像成空气内的分子;分子的能量,就是它本身的动能;而搜寻空间内的每一点,也像空气分子一样带有“能量”,以表示该点对命题的合适程度。算法先以搜寻空间内一个任意点作起始:每一步先选择一个“邻居”,然后再计算从现有位置到达“邻居”的概率。

这个算法已经很多人做过,可以优化BP神经网络初始权值。附件是解决TSP问题的matlab代码,可供参考。看懂了就可以自己编程与bp代码结合。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12166268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存