simulated-annealing - 使用模拟退火的 N 皇后问题

标签 simulated-annealing

我正在尝试使用模拟退火为我的 n 个皇后提出算法。网上有通用的算法,但是当我看它时,我无法理解它是如何工作的。我的节点只有关于棋盘上的命中次数的值。我该如何使用模拟退火算法来实现这一点。什么是“温度”、“时间表”?

请帮我理解这一点。 谢谢

最佳答案

温度是一个数字,代表您接受不会改善解决方案的移动的可能性。你从高温开始(=很可能接受无改进的 Action ),然后慢慢进化到低温(=极不可能接受无改进的 Action )。

我进行了多次尝试才使模拟退火正确。事实上,当我终于开始工作时,我的感觉是这样的:

Tabu search is craftsmanship: every changes makes it better. Simulated annealing is an art: one change makes or breaks it.

你可以找到我的实现here (OptaPlanner 的一部分,java,开源)。

关于simulated-annealing - 使用模拟退火的 N 皇后问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5055184/

相关文章:

parameters - Encog 模拟退火参数

algorithm - 为什么 WSAT 优于模拟退火?

python - TSP,算法陷入局部最小值

c++ - 网格中的高效方法

c# - C# 中的模拟退火

algorithm - TSP 的模拟退火成本函数

algorithm - 在 C# 中为 0-1 背包编写模拟退火算法

java - 模拟退火代码的 OutOfMemory 问题

r - 如何在 R 中使用 GenSA 函数进行数学约束

algorithm - 如何在模拟退火中找到邻近的解决方案?