-2

有预定义的路线。

Route1 [Edirne (1)-Kırklareli (2)-Istanbul (3)]
Route2 [Istanbul (3) - Sakarya (4) - Zonguldak (5)]
Route3 [Istanbul (3) - Kutahya (6) - Afyon(7)]
Route4 [Afyon(7) - Isparta (8) - Anatlya(9)]

每条路线都有一辆汽车经过。

例如,如果某些货物将从 Edirne(1) 发送到 Antalya(9),则必须选择 Route1-Route3-Route4。

如果情况是宗古尔达克到埃迪尔内必须选择Route1-Route2。

ETC..

最短路径算法基于步骤之间的距离并找到“最短路径”而不是路线。因为我的位置在路线中,所以在这种情况下,最短路径算法对我来说不是正确的方法。关于如何解决这个问题的任何想法,|| 有人有建议吗?

4

1 回答 1

2

最短路径仍然适用;你只需要改变你的想法。与其在您的路线上包含每个城市之间的边,不如将 Route 1 转换为 Edirne 和 Istanbul 的顶点以及它们之间的一条边(加权到您的路线长度)。忽略它通过 Kirklareli 的事实。

对你的其他路线做同样的事情,你会有类似的东西

Edirne--1--Istanbul--2--Zonguldak
               |
               3 
               |
             Afyon--4--Anatlya

然后您可以应用最短路径,您会发现 Edirne 到 Anatlya 是 1-3-4,然后您将其转换回完整路线(Edirne - Kırklareli - 伊斯坦布尔 - Isparta - Anatlya)

于 2013-11-13T17:00:22.360 回答