As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center用于指导。
我在一个项目中使用了随机变异爬山算法,但我想知道是否最好使用模拟退火来最小化陷入任何局部最优的机会。
我的问题是,从你的经验来看,哪一个通常更快?显然,这两种算法都有大量的应用程序;如果你愿意的话,这更多的是一种泛化的思考。
谢谢您。

最佳答案

没有办法提前告诉你(除非你的项目是一个100%匹配一个很好研究的学术问题,像一个纯粹的tsp-甚至是那时…)。这取决于项目的约束和项目的大小(以及是否正确实现了算法)。
因此,要确定,必须同时实现这两种算法(以及许多其他算法,如tabu search,…)和use a Benchmarker like this one才能进行比较。
也就是说,我会把我的钱放在模拟退火上,而不是在任何一天攀爬随机变异的山丘:)
注:模拟退火是一种短而难的算法:我在第3次实现中才得到正确的结果,我在博客中看到了很多错误的实现(仍然输出了一个非常好的解决方案),等等。只要reuse optimization algorithms

10-04 12:23