如何进行蚁群优化以产生更一致的结果?

时间:2014-02-12 13:34:27

标签: algorithm combinatorics mathematical-optimization ant-colony

我开发了蚁群优化的软件实现来解决旅行商问题,但由于ACO的随机性,每次执行ACO算法都会产生不同的近似最优解。有没有办法让ACO更具确定性?我知道它永远不会是100%确定性的,但我需要它能够在同一个问题空间上运行多次,并且至少在大多数情况下都会提出类似的解决方案。我已经尝试过调整α,β,ρ和迭代次数,但我现在只是在黑暗中拍摄。

1 个答案:

答案 0 :(得分:1)

正如迈克尔已经说过:使用种子伪随机数生成器(PRNG)并在整个实施中重复使用

在Java中,做这样的事情:

Random workingRandom = new Random(0L);
// Never use Math.random(), always use workingRandom.next*() instead

您可能需要禁用其他一些内容(特别是在多线程实现中)以获得100%的可重复性,其中一些我在实现的文档部分4.4.3.4. REPRODUCIBLE中讨论(例如替换{{ 1}}在需要时通过HashMap