作业帮 > 综合 > 作业

旅行商的匈牙利算法A,B,C,D四城市之间的距离表如下:[∞ 8 5 6][6 ∞ 8 5]D= [7 9 ∞ 5][9

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 10:20:58
旅行商的匈牙利算法
A,B,C,D四城市之间的距离表如下:
[∞ 8 5 6]
[6 ∞ 8 5]
D= [7 9 ∞ 5]
[9 7 8 ∞]
求从某一城市出发遍历各城市各一次的最短路径~
*
答案是有4个O 路径是A--C--D--B--A!
我想请问的是:答案A--C--D--B--A这个顺序是怎么从矩阵里判断出来~我求得出矩阵,但是不知道这个顺序是怎么来判断的~我是自学物流数学~是个女生有点笨~怎么从最后的那个矩阵中判断顺序!
设一个Shortest_Path变量
先说用穷举法求解,待会再介绍匈牙利算法
用for循环,
默认是从A出发遍历,
那么有A-B-C-DA,A-B-D-CA,ACBDA,ACDBA,ADBCA,ADCBA(还有从BCD出发的等等等等)
然后就是一个个求
例如ABCD,那么就是6+9+8+6(我猜A-B是6哪个,如果不是那就是8,反正方向是你自己设的)
就这么一个个的求出来所有最短路径,每次当有更小的时候就记录到Shortest_Path,最后就能得到了~
至于匈牙利算法我没做过.但是其实本质是一样的,只不过相当于做一个分支分别求解,这样地算法效率更高而已,具体的匈牙利程序百度百科里有很多
如果我讲的不清楚你可以在百度hi上直接问我