禁忌搜索可能在遗传算法中使用. 遗传算法可能需要很多代才能获得成功,因此以高性能运行对他们来说非常重要. Tabu搜索用于增强以避免局部最大值,并且具有良好的内存机制以通过迭代
遗传算法可能需要很多代才能获得成功,因此以高性能运行对他们来说非常重要. Tabu搜索用于增强以避免局部最大值,并且具有良好的内存机制以通过迭代获得更好的成功.然而,禁忌搜索使算法比平常更慢,除了它的好处.
我的问题是:
是否有关于何时使用基因算法禁忌搜索的研究?
一般来说,GAs花费大量时间采样非常不理想的点.假设你正在优化一个看起来像几个驼峰的功能. GA最初会在整个地方转移点,并慢慢收敛到位于驼峰顶部的点.然而,即使是非常简单的局部搜索算法也可以在GA的斜率上产生GA,并且基本上立即将其直接推到驼峰的顶部.如果你让GA生成的每个点都经过这个简单的局部优化,那么你最终会得到一个只搜索局部最优空间的GA,这通常会大大提高你找到最佳解决方案的机会.问题是,当你开始真正的问题而不是驼峰时,简单的局部搜索算法通常不足以找到真正好的局部最优,但像tabu搜索这样的东西可以用在他们的位置.有两个缺点.其一,GA的每一代都要慢得多(但通常需要更少的代数).第二,你会失去一些多样性,这会导致你更频繁地收敛到次优解决方案.
在实践中,我会尽可能在GA内部包含某种形式的本地搜索.没有免费的午餐告诉我们,有时候你会让事情变得更糟,但是经过十年左右的时间专业地进行GA和本地搜索研究,我几乎总是提出一个清晰的新100美元账单,说本地搜索将改善事物对于你真正关心的大多数情况.它不一定是禁忌搜索;你可以使用模拟退火,VDS,或者只是一个简单的下一个登山攀岩者.