使用遗传算法找到给定距离的正确/最佳轨道组合

时间:2010-11-05 12:06:03

标签: genetic-algorithm

我有一个不同长度的轨道列表(模型铁轨),例如: TrackA在3.0厘米, TrackB在5.0厘米, TrackC在6.5厘米, TrackD在10.5厘米

然后我想找出我应该放在一起的哪种轨道,以便从给定距离和边距的A点到达B点。我还应该能够优先使用轨道类型。

实施例;从A点到B点的距离是1.7米,我有很多TrackC和很少的TrackB。 并且我将允许距离距离+/- 0.5cm的边距。

我应该使用什么样的曲目,每首曲目有多少,以及我有多少组合,按照我最常用的曲目排序。

我使用遗传算法在一些C#帮助之后得到谷歌,但我迷失了,我怎么能用一个好的方法来实现它。

请帮助..

1 个答案:

答案 0 :(得分:0)

这是你如何做到的。我假设您熟悉基本的G.A.概念:

人口中的每个个人都包含各种“长度的轨道”。

原语集因此是一组常量,对应于您可用的长度,例如{3,4,5}

因此,每个人的适合度被认为是总误差的总和。或者更简单:说你的赛道应该是1米长。如果一个人完全是1米长,则没有错误,适应性为0.如果另一个人的长度为0.5米,则其适应度为0.5。所以越低越好。


所以你的算法就像:

  1. 构建一个群体(可能是随机的,但还有其他初始化技术,例如渐变半,完整等等......查看它们。)
  2. 评估每个人的健康状况。如果任何人在一定范围内有健康,那就完成了。
  3. 通过交叉/再现/变异推进一代。
  4. 转到#2