【问题标题】:plan a trip for members of a group of salesman with different origins为一群不同出身的推销员计划一次旅行
【发布时间】:2017-11-20 10:23:39
【问题描述】:

我可以将这个问题命名为“多节点旅行商问题”。我有一群来自城市不同地点的人。他们想计划参观特定的商店。我怎么解决这个问题?如何对问题进行建模以使用 GA 或 ACO 等元启发式算法?

【问题讨论】:

  • 你试过什么?您需要包含一个最小的工作示例。
  • @ThomasW 问题是我还没有找到任何论文或研究或类似项目来完成这项任务。通常使用元启发式方法来解决此类问题。但是使用这些方法存在问题。由针对不同用户的不同路线组成的计划旅行是问题的单一解决方案(在 GA 中,它是一条染色体)。我们如何形成这个单一的解决方案,我们如何应用进化算子来进化解决方案以获得更好的答案? ACO 也是如此。我们如何形成解决方案?

标签: genetic-algorithm traveling-salesman ant-colony


【解决方案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)。

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

【讨论】:

  • 您的回答非常有帮助,但是我认为最好将所有旅行一起考虑,因为所有旅行长度的总和必须最小化,除此之外,它应该管理访问的 POI 序列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 1970-01-01
  • 2015-04-28
  • 1970-01-01
  • 2014-02-07
  • 2015-06-22
相关资源
最近更新 更多