資源簡介
蟻群算法求解旅行商問題matlab源程序,可畫圖,
代碼片段和文件信息
C=[1?2;10?3;4?4;1?7;2?4];NC_max=100;m=3;Alpha=1.5;Beta=1.5;Rho=0.9;Q=1;
%%-------------------------------------------------------------------
%%?主要符號說明
%%?C?n個城市的坐標,n×2的矩陣
%%?NC_max?最大迭代次數
%%?m?螞蟻個數
%%?Alpha?表征信息素重要程度的參數
%%?Beta?表征啟發式因子重要程度的參數
%%?Rho?信息素蒸發系數
%%?Q?信息素增加強度系數
%%?R_best?各代最佳路線
%%?L_best?各代最佳路線的長度
%%
%%第一步:變量初始化
n=size(C1);%n表示問題的規模(城市個數)
D=zeros(nn);%D表示完全圖的賦權鄰接矩陣
for?i=1:n
for?j=1:n
if?i~=j
D(ij)=((C(i1)-C(j1))^2+(C(i2)-C(j2))^2)^0.5;
else
D(ij)=eps;??????%i=j時不計算,應該為0,但后面的啟發因子要取倒數,用eps(浮點相對精度)表示
end
D(ji)=D(ij);???%對稱矩陣
end
end
Eta=1./D;??????????%Eta為啟發因子,這里設為距離的倒數
Tau=ones(nn);?????%Tau為信息素矩陣
Tabu=zeros(mn);???%存儲并記錄路徑的生成
NC=1;???????????????%迭代計數器,記錄迭代次數
R_best=zeros(NC_maxn);
- 上一篇:matlab實現DCT變換和量化
- 下一篇:associateFiles.m
評論
共有 條評論