用于路径查找的遗传算法——交叉和变异



我想使用遗传算法来查找无向图中的最短路径。关于交叉和突变,我有两个问题。我一直在研究如何在类似的情况下进行交叉,目前最流行的算法似乎是PMX,我对此的理解是,在2个亲本染色体之间交换部分路径以产生后代。我的问题是,几乎所有的后代都有很大的残疾空间,不是吗?我想知道你是否可以为我确认这一点,如果我错了,请纠正我并解释。

单独但相关的注释;我确实知道如何做到这一点,但我不知道这是否是个好主意,只需选择两个父母,他们在路径上共享同一节点,并在这一点上交叉,这样所有的后代都保持有效。

我的第二个问题是突变;我对如何做到这一点有一个大致的想法;明智的做法是选择一个节点并删除它,然后通过其他方式重新链接路径吗?

谢谢:)!

首先你研究了交叉和突变,因为你说你可能会失去一些有效的亲本,但这是遗传算法中"精英主义"的概念。你应该通过你提出的交叉方法来克服。因为在交叉本身,我们有n个方法要做,我建议你做二次变异交叉顺序。这不是墨菲定律,所以努力你会成功的。

最新更新