我必须在各个集合中找到节点之间的最短路径,我可以在每个集合中仅使用一次节点。每个节点通过距离连接到每个其他节点。有一些例外,它们之间没有连接集合中的节点。路径必须包含每个集合中的一个节点。
例如。
Set A - [a1, a2, a3]
Set B - [b1, b2]
Set C - [c1]
Set D - [d1, d2, d3]
Set Z - [z1, z2, z3]
节点是a1,a2,a3,b1,b2 ......
例如。 节点 a1 与
连接B1,B2,C1,D1,D2,D3,Z1,Z2,Z3
或节点 c1 与
有联系A1,A2,A3,B1,B2,D1,D2,D3,Z1,Z2,Z3
posibble路径可能是:
a1 - > b1 - > c1 - > d1 - > z1或c1 - > z2 - > a3 - > b1 - > D2
每个节点之间的距离(集合中的节点除外,没有连接)可以是0到1。
答案 0 :(得分:1)
这被称为广义旅行商问题。
来自C. Noon & J.Bean, An Efficient Transformation of the Generalized Traveling Salesman Problem:
广义旅行商问题(GTSP)是一个有用的模型,用于涉及选择和顺序决策的问题。问题的非对称版本在具有节点N的有向图上定义,连接弧A和相应电弧成本c的矢量。节点被预先分成m个互斥和穷举的节点集。连接弧仅在属于不同组的节点之间定义,即,没有帧内弧。每个定义的弧具有相应的非负成本。 GTSP可以说是找到最小成本m-arc循环的问题,其中包括每个节点集中的一个节点。
本文解释了如何将您的问题转化为标准旅行商问题的案例。