2

我正在研究一个非常大规模的问题,我有一个启发式算法,除了表现非常好的遗传算法启发式算法之外,它还提供了一个相当好的解决方案。我想知道用启发式解决方案预先播种 GA 是否有任何收益,如果有的话如何。

谢谢 2t

4

3 回答 3

2

这在很大程度上取决于启发式方法和您的问题。

如果您知道这种启发式算法有接近全局最优的趋势,那么这可能是一个好主意,因为 GA 可能会“围绕”这个解决方案进行探索,并找到一个最优/更接近最优的解决方案。

问题是,当您为 GA 预先设置一个好的解决方案时,它将比其他随机生成的解决方案具有巨大优势,并且可能会被多次选择执行交叉,这意味着,如果启发式给您一个局部最优,您可能会将 GA 拉向该解决方案。

另一个想法是在过程中间播种 GA。让它运行一半代,然后注入启发式解决方案。那么如果它只是局部最优,那么你将它拖到启发式解决方案的机会就会更小。

一般来说,由于我们讨论的是启发式和概率模型,最好对所有可能性进行基准测试,看看什么最适合您,因为这些陈述通常取决于问题。

于 2013-10-23T18:43:13.003 回答
0

在您的情况下,我会使用基于轨迹的算法,例如模拟退火、禁忌搜索或可变邻域搜索 (VNS)。当您已经有了一个好点时,您可能已经想要更集中地关注某个子区域。VNS 可能是一个很好的折衷方案,因为它还允许您进行更大的更改并逐渐增加对更大部分搜索空间的优化。

于 2013-10-24T08:37:27.637 回答
0

您可以做的另一件事是在不同的启发式方法之间切换。例如,在 ANN 训练中,GA 可以在特定时刻与 BP 进行切换,反之亦然。

于 2016-03-22T15:23:39.950 回答