禁忌搜索是随机的还是确定的?

时间:2013-11-13 01:15:22

标签: mathematical-optimization deterministic operations-research tabu-search

我正在对两个保护区设计工具进行比较,即MarxanConsNet,两者都使用元启发式算法来解决最小集合覆盖问题的版本。 Marxan使用模拟退火,ConsNet使用禁忌搜索。虽然我的背景是生物学,但我认为我能够通过元启发式掌握一些优化的概念。

然而,有两件事我还没有想到Tabu搜索。首先是它是如何逃脱当地的最佳选择。我知道它不能改变它的动作,并且它会阻止它骑自行车,但是我不知道是什么让它在发现它时会留下局部最佳状态。我可以理解模拟退火是如何做到的 - 它有一定的概率接受一个更糟的解决方案,随着时间的推移逐渐减少,直到它不再接受更糟糕的解决方案 - 但我不知道TS是如何做到的。

第二个问题是,在ConsNet手册中,找到以下声明

  

搜索完全是确定性的,但它可以根据如何继续进行决策   解决方案存档的当前状态或目标的当前状态

TS总是确定性的吗?通过阅读一些来源,我认为移动可能是随机的,就像SA一样。但后来有一些论文谈论“确定性禁忌搜索”。确定性禁忌搜索如何知道采取哪些动作以及如何逃避局部最优?它有时候必须接受更糟糕的解决方案,对吗?

非常感谢提前

1 个答案:

答案 0 :(得分:2)

多个问题,所以多个答案:)

  • 禁忌搜索脱离本地最佳状态,here是一张显示方式的图片。如果所有改进的解决方案都是禁忌(并且没有预期)并且已经评估了所有移动或者已经达到selectionLimit或acceptedLimit,那么它接受更糟糕的解决方案。

  • TS和SA都可以写成“可重复的”,这意味着运行它两次将产生相同的结果。我认为通过说“完全确定性”(这是一个不同的属性)意味着什么。获得可重现性的技巧很简单:只需在任何地方重用相同的Random实例,然后使用固定的randomSeed启动它。

  • 当缩小时,TS将无法评估合理大小的数据集上每步的所有可能移动。所以它也需要随机选择。

  • TS,SA(以及此事的延迟接受)具有竞争力。它取决于性能最佳的用例(事先不可能预测)。因此,所需的约束可以影响哪个表现最佳,但实际数据集的影响要小得多。

注意:我隶属于OptaPlanner(java,开源)。