algorithm - 随机突变爬山法和模拟退火法——哪个最快?

标签 algorithm simulated-annealing hill-climbing

<分区>

作为我正在进行的项目的一部分,我使用了随机突变爬山算法,但我想知道使用模拟退火是否可以更好地减少陷入任何局部最优的可能性。

我的问题是,根据您的经验,哪一个通常更快?显然,这两种算法都有大量的应用;如果您愿意,这更像是一种普遍的思考。

谢谢。

最佳答案

没有办法提前告诉(除非您的项目与一个经过充分研究的学术问题 100% 匹配,例如纯 TSP - 即使那样......)。这取决于您的项目的限制和项目的大小(以及您是否正确实现了算法)。

因此,可以肯定的是,您必须同时实现这两种算法(以及许多其他算法,例如 Tabu Search,...)和 use a Benchmarker like this one比较它们。

话虽这么说,我会把钱花在模拟退火上,而不是随机变异爬山:)

注意:模拟退火是一个简短但困难的算法:我只在我的第 3 次实现中才正确,而且我在博客等中看到了很多错误的实现(仍然输出了一个非常好的解决方案)。它更容易至 reuse optimization algorithms .

关于algorithm - 随机突变爬山法和模拟退火法——哪个最快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9879551/

相关文章:

java - 循环内打印问题 : for

algorithm - 近期任务安排

c++ - 查找函数的所有局部最大值

optimization - 随机爬山与首选爬山算法

artificial-intelligence - 适合爬山的启发式机制

performance - 快速解压算法

vb.net - 在VB中寻找模拟退火实现

java - 随机爬山法

algorithm - Water Jug 的启发式函数

algorithm - 如何解决下面的递归关系?