我正在尝试用模拟退火为我的n个皇后提出算法。这是一般的在线算法,但是当我看到它时,我无法理解它是如何工作的。我的节点只有板上的命中数的值。如何使用模拟退火算法来解决这个问题。什么是“温度”,“时间表”?
请帮我理解一下。谢谢
发布于 2011-02-20 20:41:30
温度是一个数字,它代表了你接受一个不能改善解决方案的移动的可能性。你从高温开始(很可能接受没有改进的动作),然后慢慢进化到低温度(不太可能接受不改进的动作)。
我花了几次努力才得到了正确的模拟退火。实际上,当我终于开始工作的时候,我就感觉到了这种感觉:
禁忌搜索是一种技巧:每一次变化都会使它变得更好。模拟退火是一门艺术:一次改变就会使它产生或破坏。
您可以找到我的实现这里 ( OptaPlanner,java,开放源码的一部分)。
https://stackoverflow.com/questions/5055184
复制相似问题