我使用随机变异爬山算法作为我正在研究的项目的一部分,但是想知道使用模拟退火是否更好,以最大限度地减少陷入任何局部最优的机会。
我的问题是,从你的经历来看,哪一个往往更快?显然,这两种算法都有很多应用;如果你愿意的话,这更像是一种普遍的思考。
谢谢。
答案 0 :(得分:1)
无法事先告知(除非你的项目与像TSP这样经过充分研究的学术问题100%匹配 - 即便如此......)。这取决于项目的约束和项目的大小(如果正确实现算法)。
所以,当然,你必须实现两种算法(以及许多其他算法,比如禁忌搜索,......)和use a Benchmarker like this one来比较它们。
话虽这么说,我会把钱投入模拟退火随机突变爬山任何一天:)
注意:模拟退火算法是一个简短但难以实现的算法:我只在第3次实现中做到了这一点,并且我已经看到在博客等中看到了大量错误的实现(仍然输出了一个非常好的解决方案)。它更容易到reuse optimization algorithms。