資源簡介
matlab中使用蟻群算法求解基本TSP問題的源代碼,已調(diào)試過,更改參數(shù)即可運(yùn)行。
代碼片段和文件信息
function?[R_bestL_bestL_aveShortest_RouteShortest_Length]=ACATSP(CNC_maxmAlphaBetaRhoQ)
%%-------------------------------------------------------------------------
%%?主要符號說明
%%?C?n個城市的坐標(biāo),n×2的矩陣
????C?=100*rand(132)?%?13個城市問題
%%?NC_max?最大迭代次數(shù)
???NC_max?=?30;
%%?m?螞蟻個數(shù)
????m?=?20;
%%?Alpha?表征信息素重要程度的參數(shù)
????Alpha?=?0.3;
%%?Beta?表征啟發(fā)式因子重要程度的參數(shù)
????Beta?=?0.4;
%%?Rho?信息素蒸發(fā)系數(shù)
????Rho?=?0.5;
%%?Q?信息素增加強(qiáng)度系數(shù)
????Q?=?0.4;
%%?R_best?各代最佳路線
?
%%?L_best?各代最佳路線的長度
%%=========================================================================
%%第一步:變量初始化
n=size(C1);%n表示問題的規(guī)模(城市個數(shù))
D=zeros(nn);%D表示完全圖的賦權(quán)鄰接矩陣
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時不計算,應(yīng)該為0,但后面的啟發(fā)因子要取倒數(shù),用eps(浮
評論
共有 條評論