有预先定义的路线。
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)发往安塔利亚(9),则必须选择Route1-Route3-Route4。
如果案件是Zonguldak到Edirne Route1-Route2必须选择。
等。
基于步长之间距离的最短路径算法,找到“最短路径”而不是路径。因为我的位置在路线中,所以对于这种情况,最短路径算法不适合我。关于如何解决这个问题的任何想法,||有没有人有建议?
答案 0 :(得分:2)
最短路径仍然适用;你只需改变思路。不是在路线上的每个城市之间包括边缘,而是将路线1转换为Edirne和伊斯坦布尔的顶点以及它们之间的单个边缘(加权到您的路线长度)。忽略它经过Kirklareli的事实。
为您的其他路线执行相同的操作,您将拥有类似
的内容Edirne--1--Istanbul--2--Zonguldak
|
3
|
Afyon--4--Anatlya
然后你可以应用最短的路径,你会发现Edirne到Anatlya是1-3-4,然后你转换回完整的路线(Edirne - Kırklareli - 伊斯坦布尔 - Isparta - Anatlya)