说我是跑步者,跑了42KM,不多也不少。
如果你认为城市之间的距离通常大于42公里,有几个城市(或商店)可以在这个范围内穿越。
您可以从任何顶点(城市)开始,如何安排路线以便我可以到达最多的城市?跑步者一次访问每个城市并返回原始城市。 (当跑步者回到原点时,他跑的KM可能小于42KM)
在现实世界中,此图应该是循环的,非定向的加权图。
但是,欢迎您提出任何意见,包括更改约束。
修改:
我有一个强力解决方案如下,仍然试图找到一个更好的解决方案。
(1)设置一组可能的结果集(例如4个城市,a,b,c,d;然后我得到2个城市的组合[ab,ac,ad,bc,bd,cd],3个城市[abc,abd,acd,bcd],4个城市[abcd]);
(2)对每个结果运行TSP,结果是距离;如果该距离小于42KM,则该结果是候选者。
(3)从候选人名单中选择一个城市最多的人。然而,这是一个强力解决方案。