【问题标题】:What is a good individual representation for a closed path planning task using genetic algorithm?使用遗传算法的封闭路径规划任务的良好个体表示是什么?
【发布时间】:2014-05-05 12:05:41
【问题描述】:

有一个 n*n 网格,网格的其中一个单元中有一个代理 A。 A可以通过T个细胞。

网格中的每个单元格都有一些权重,A 的路径必须最大化该权重。

A 也必须在其行程 T 内返回其起始位置。

什么是代表路径的良好个体表示?

我尝试过的方法:

  1. 染色体是坐标列表。
  2. 染色体是一个方向列表。每个基因都是一个方向,如上、下、右上等。路径永远不会在中间中断。

这两种方法的问题是交叉几乎总是会产生无效路径。路径在中间断裂。它们不会形成封闭路径。我似乎无法找到一种表示单个解决方案的好方法和一种适当的交叉方法。请帮忙。

【问题讨论】:

  • 第一个对我来说比第二个更有意义

标签: algorithm graph genetic-algorithm


【解决方案1】:

首先,我想说这个问题更适合其他方法,例如ant colony optimization,提供足够好的解决方案的贪婪方法等。由于您描述的确切原因,GA 可能效果不佳。

但是,如果您必须使用 GA,以下两种可能的模型可能值得研究:

  1. 通过给予无效移动 -infinity 的成本来严厉惩罚无效路径。例如,如果您的染色体说从一个单元格x 到一个无法到达的单元格y,请考虑y -infinity 的成本。这可能值得与交叉发生的低概率相结合,比如 5%。

  2. 不要进行交叉,只需对后代进行某种形式的更复杂的突变。

如果你想变得更花哨,这有点类似于travelling salesman problem,它对遗传算法有很多研究:

http://www.lalena.com/AI/Tsp/

http://www.math.hmc.edu/seniorthesis/archives/2001/kbryant/kbryant-2001-thesis.pdf

【讨论】:

  • 实际上我决定使用 GA,因为互联网上有很多论文提供了某种方式从地图中的 A 点到达 B 点,并使用 GA 获得最佳路径。使我的问题与众不同的是我不一定想要最短路径。我想最大化路径覆盖的单元格中的权重,同时将路径的总长度保持在代理的最大范围内。
  • 我目前正在从answer获得一些灵感
  • 请注意,建议 1. 可能会导致适应度环境变得非常参差不齐,具体取决于问题中无效路径的数量。搜索过程可能会恶化为随机搜索。如果可以,您应该尝试从无效路径中获取一些有意义的信息(与二分法分类相比,衡量无效性会更好)。我也会尝试 ACO 方法,因为在 GA 中表示您的问题可能很困难。
【解决方案2】:

您可以将路径编码为参考列表: 假设这些是您的位置(1 2 3 4 5 6 7 8 9) (1 2 3 4 8) 的子集路由可以编码为(1 1 2 1 4)。

现在带两个父母 p1 = (1 1 2 1 | 4 1 3 1 1) p2 = (5 1 5 5 | 5 3 3 2 1)

会产生

o1 = (1 1 2 1 5 3 3 2 1) o2 = (5 1 5 5 4 1 3 1 1)

将被解码为这些位置路线

o1 = 1 – 2 – 4 – 3 – 9 – 7 – 8 – 6 – 5 o2 = 5 – 1 – 7 – 8 – 6 – 2 – 9 – 3 – 4

这样,交叉总是会产生有效的结果(这种表示是否会帮助您更好地解决问题是另一个问题)。

一些额外的信息可以在here找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-03
    • 2010-10-16
    • 2012-07-07
    • 2016-01-13
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多