2017-06-17 21 views
1

我可以命名的问题,因为“多旅行商问题与共同节点”之旅。我有一群来自城市不同地点的人。他们想要计划参观特定商店。我怎么解决这个问题?我如何建模问题以使用元启发式算法,如GA或ACO?规划一批业务员的成员有不同的起源

+2

你有什么试过?你需要包括一个最小的工作示例。 –

+0

@ThomasW问题是我还没有找到任何文件或研究或类似的项目来完成这项任务。通常使用元启发式方法来解决这些问题。但是使用这些方法存在问题。为不同用户组成不同路线的计划旅程是该问题的单一解决方案(在GA中,它是染色体)。我们如何才能形成这个单一的解决方案?我们如何应用演化算子将解决方案发展成更好的答案? ACO也是如此。我们如何形成解决方案? – Ebola

回答

1

我会认为问题是如下;

  • 每个人都可能想从大地图去任何一组城市。

  • 两个或更多的人可以在同一时间在同一城市

  • 两个或更多的人可以在同一时间使用相同的边缘。

对于遗传算法,每个染色体看起来像这样;

的人1路线| 路线为人2 |对人3路线..

一个例子代即可;

1号染色体= 2,6,7,1 | 4,7,2 | 3,5,6-
2号染色体= 6,7,2,1 | 2,4,7- | 3,5,6-

您需要分别为每条路线应用交叉和变异操作。您可以使用交叉方法(如PMX(部分映射交叉))进行置换表示。您可以使用随机交换,插入,争夺突变等操作。

对于蚁群优化,每只蚂蚁需要为每个人在每个迭代构建解决方案。另外,应该为每个人的路线存储不同的信息素值。因为即使他们有共同的位置(例如他们都有城市2和3),这并不意味着这些城市之间的边缘应该具有相同的愿望(2和3之间的边缘可能适合person1,但它可以不适合person2)。

所以,我认为这将是最好的分别找到每个人的路线。因为每个人的路线不能有解决方案之间的信息交换。

+0

您的回答非常有帮助,但我认为最好一起考虑所有旅行团,因为所有旅行团长度的总和必须最小化,除此之外,它应该管理访问的POI次序。 – Ebola