clc;
nodenum = 13;
inf = 1000;
dis = zeros(nodenum,nodenum);
sign = zeros(nodenum,1);
linkss = zeros(nodenum,nodenum);
signnum = 1;
sign(signnum) = 1;%選擇第乙個點
minnum = [1,1];
x = 1;
for k = 1:nodenum-1
min = inf;
for i = 1:nodenum
if sign(i) == 1
for j = 1:nodenum
if dis(i,j)min = dis(i,j);
minnum(1,1) = i;
minnum(1,2) = j;
endend
endend
signnum = signnum+1;
sign(minnum(1,2)) = 1;
disp(num2str(minnum(1,1)))
linkss(minnum(1,1),minnum(1,2)) = 1;
disp(['第',num2str(x),'次']);
disp(['minnum=',num2str(minnum(1,1)),' ',num2str(minnum(1,2))]);
x = x+1;
end
a=[26,31];
h=[ 5,33;8,9;10,24;13,34;17,23;20,10;25,47;...
31,18;35,42;36,25;41,31;45,38];
hold on
ph=[a;h];
load a:\dat\a2.txt; %載入168個點的座標
pc=a2;%將168個點的座標生成向量賦值給pc
pt=[h;pc]; %將一級供水站和二級供水站座標拼接起來
plot(pt(:,1),pt(:,2),'b.');
plot(a(:,1),a(:,2),'g*',h(:,1),h(:,2),'ro');
hold on
sumnew = 0;
for i=1:nodenum
for j=1:nodenum
if linkss(i,j)==1
sumnew = sumnew+dis(i,j);
plot([ph(i,1),ph(j,1)],[ph(i,2),ph(j,2)],'r');
end
endend
load c:\users\nianzhen\desktop\數學建模\dat\dis2.txt;
sumnew2 = 0;
for i=1:180
for j=1:180
if link(i,j)==1
sumnew2 = sumnew2+dis2(i,j);
plot([pt(i,1),pt(j,1)],[pt(i,2),pt(j,2)],'b');
end
endend
最優佈線問題 prim 最小生成樹
description 學校有n臺計算機,現要將它們用資料線連線起來。兩台計算機被連線是指它們之間有資料線連線。由於計算機所處的位置不同,因此不同的兩台計算機的連線費用往往是不同的。為了節省費用,一台計算機可以間接的通過若干臺計算機 作為中轉 來實現與另一台計算機的連線。現在由你負責連線這些計算機,...
最優比率生成樹 最優比例生成樹
2005年的acm地區賽賽場上,樓爺高速過了乙個求最優比率生成樹的問題,從而打亂了全場的陣腳,順利奪冠.有帶權圖g,對於圖中每條邊e i 都有benifit i 收入 和cost i 花費 我們要求的是一棵生成樹t,它使得 benifit i cost i i t 最大 或最小 這顯然是乙個具有現實...
最優比率生成樹 最優比例生成樹
有帶權圖g,對於圖中每條邊e i 都有benifit i 收入 和cost i 花費 我們要求的是一棵生成樹t,它使得 benifit i cost i i t最大 或最小 這顯然是乙個具有現實意義的問題.設x i 等於1或0,表示邊e i 是否屬於生成樹.則我們所求的比率r benifit i x...