資源簡介
題目描述和數據都打包了。作業題,matlab實現。
某公司于乙城市的銷售點急需一批成品,該公司成品生產基地在甲城
市。甲城市與乙城市之間共有 n 座城市,互相以公路連通。甲城市、乙
城市以及其它各城市之間的公路連通情況及每段公路的長度由矩陣
M1 給出。
每段公路均由地方政府收取不同額度的養路費等費用,具體數額由矩
陣M2 給出。
請給出在需付養路費總額不超過 1500 的情況下,該公司貨車運送其
產品從甲城市到乙城市的最短運送路線。
代碼片段和文件信息
%%Assignment?2?張天宇?BY1706135
global?path;?%DFS函數中使用變量,記錄當前路徑
global?dest;?%目的地點,本題中為50
global?mark;?%標記是否訪問過,DFS函數中使用
global?A;?%原始數據,m1.txt?鄰接矩陣,9999改為inf
global?B;?%原始數據,m2.txt?cost矩陣,9999改為inf
global?shortestpath;?%長度為50的數組,記錄各個城市到目標城市的最短路徑長度
global?minimumcost;?%長度為50的數組,記錄各個城市到目標城市的最小代價
global?dis_low;%路徑長度下界
global?max_cost;%cost最大為1500
global?path_best;%記錄最短路徑
global?cost_best;%記錄最短路徑的Cost
max_cost=1500;
dis_low=inf;
load?m1.txt;
load?m2.txt;
m1(m1==9999)=inf;
m2(m1==inf)=inf;
shortestpath=zeros(([150]));
minimumcost=zeros(([150]));
for?i=1:50
????shortestpath(i)=dijkstra(m1i50);
????minimumcost(i)=dijkstra(m2i50);
end
mark=zeros([150]);
dest=50;
path=zeros([150]);
A=m1;
B=m2;
dfs(100);?%深度優先遍歷所有路徑
disp([‘最短路徑長度:‘num2str(dis
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-01-09?11:40??Assignment_2\
?????文件????????3329??2018-01-09?11:38??Assignment_2\Assignment_2.m
?????文件????????7942??2005-12-06?01:13??Assignment_2\Assignment_2.pdf
?????文件???????12010??2005-04-10?12:07??Assignment_2\m1.txt
?????文件????????8861??2005-04-10?12:08??Assignment_2\m2.txt
- 上一篇:minfunc工具包matlab
- 下一篇:FCM圖像分割算法MATTLABA實現
評論
共有 條評論