91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

旅行者問(wèn)題的優(yōu)化實(shí)現(xiàn),三種算法通過(guò)一個(gè)圖形化界面,可以進(jìn)行動(dòng)態(tài)演示比較。隨機(jī)生成節(jié)點(diǎn)然后規(guī)劃路徑,注釋充分!

資源截圖

代碼片段和文件信息

function[R_bestL_bestL_aveShortest_RouteShortest_Length]=ASTSP(CNC_maxmAlphaBetap0Q)
%C?n個(gè)城市的坐標(biāo),n*2矩陣(xy)
%NC_max最大迭代次數(shù)
%m?螞蟻個(gè)數(shù)
%Alpha?表征信息素重要程度的參數(shù)
%Beta?表征啟發(fā)式因子重要程度的參數(shù)
%p0?信息素蒸發(fā)系數(shù)
%Q?信息素增加強(qiáng)度系數(shù)
%R_best?各代最佳路線(xiàn)
%L_best?各代最佳路線(xiàn)的長(zhǎng)度


%初始化1
n=size(C1);%size(C1)返回C的行數(shù),也就是城市個(gè)數(shù),n表示城市個(gè)數(shù)
D=zeros(nn);%D表示圖的鄰接矩陣,各點(diǎn)的值為每個(gè)點(diǎn)到每個(gè)點(diǎn)的權(quán)值
%?把坐標(biāo)轉(zhuǎ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;%簡(jiǎn)單地求兩點(diǎn)之間的距離
????????else
????????????D(ij)=eps;%應(yīng)該賦值為0,但因?yàn)楹竺鎲l(fā)因子需要取倒數(shù),所以用eps表示,eps為當(dāng)發(fā)現(xiàn)某個(gè)值小于eps時(shí),就把這個(gè)數(shù)當(dāng)做0來(lái)處理
????????end
????????D(ji)=D(ij);%對(duì)稱(chēng)矩陣
????end
end

%初始化2
%D直接傳入鄰接矩陣
%?n=size(D1);

QF=1./D;%Eta為啟發(fā)因子矩陣,這里設(shè)為距離的倒數(shù)
XXS=ones(nn);%XXS為信息素矩陣
JJtable=zeros(mn);%存儲(chǔ)并記錄路徑的生成,禁忌表,m為螞蟻個(gè)數(shù)
NC=1;%迭代計(jì)數(shù)器,記錄迭代次數(shù)
R_best=zeros(NC_maxn);%迭代之后的每一代最佳路線(xiàn)
L_best=inf.*ones(NC_max1);%各代最佳路線(xiàn)長(zhǎng)度,初始化為無(wú)窮大
L_ave=zeros(NC_max1);%各代路線(xiàn)的平均長(zhǎng)度

while?NC<=NC_max?%迭代次數(shù)到最大停止
????%將m只螞蟻放到n個(gè)城市上
????Randpos=[];%隨機(jī)位置
????for?i=1:(ceil(m/n))%ceil向正方向取整,求得最多安排幾次
????????Randpos=[Randposrandperm(n)];%randperm把1到n這些數(shù)隨機(jī)打亂得到的一個(gè)數(shù)字序列,然后不斷添加到Randpos中去
????end
????JJtable(:1)=(Randpos(11:m))‘;%Tabu(:1)表示Tabu第一行就是初始m只螞蟻被隨機(jī)分到所n城市中的一個(gè)
????
????%m只螞蟻按概率函數(shù)選擇下一座城市,完成各自的周游
????for?j=2:n%從所在城市的下一個(gè)城市開(kāi)始
????????for?i=1:m
????????????visited=JJtable(i1:(j-1));%記錄已訪(fǎng)問(wèn)的城市,可避免重復(fù)訪(fǎng)問(wèn)
????????????ToVisitCity=zeros(1(n-j+1));%待訪(fǎng)問(wèn)的城市待訪(fǎng)問(wèn)城市的數(shù)量為(n-j+1)
????????????P=ToVisitCity;%待訪(fǎng)問(wèn)的城市的選擇概率分布
????????????count=1;%訪(fǎng)問(wèn)的城市個(gè)數(shù)
????????????for?k=1:n
????????????????if?length(find(visited==k))==0%開(kāi)始設(shè)置為0find()語(yǔ)句找到visited中等于k的元素在數(shù)組visited中的位置,length如果為零就是visited中沒(méi)有k元素,即沒(méi)有訪(fǎng)問(wèn)過(guò)k城市。
????????????????????ToVisitCity(count)=k;
????????????????????count=count+1;
????????????????end
????????????end
????????????
????????????%下面進(jìn)行城市的概率分布
????????????for?k=1:length(ToVisitCity)
????????????????%visited(end)表示螞蟻現(xiàn)在所在城市編號(hào),ToVisitCity(k)表示下一個(gè)要訪(fǎng)問(wèn)的城市編號(hào)
????????????????P(k)=(XXS(visited(end)ToVisitCity(k))^Alpha)*(QF(visited(end)ToVisitCity(k))^Beta);
????????????end
????????????P=P/(sum(P));%把各個(gè)路徑概率統(tǒng)一到和為1
????????????
????????????%按概率原則選取下一個(gè)城市
????????????
????????????%螞蟻要選擇的下一個(gè)城市不是按最大概率,就是要用到輪盤(pán)法則,不然影響全局收縮能力,所以用到累積函數(shù),Pcum=cumsum(P)
????????????Pcum=cumsum(P);%cumsum,元素累加即求和,比如P=[0.1?0.5?0.4],cumsum(P)=??[0.1000????0.6000????1.0000]
????????????Select=find(Pcum>=rand);%若計(jì)算的概率大于原來(lái)的就選擇這條路線(xiàn)
????????????%要選擇其中總概率大于等于某一個(gè)隨機(jī)數(shù),找到大于等于這個(gè)隨機(jī)數(shù)的城市的在J中的位置
????????????
????????????%輪盤(pán)法則,Select(1),1保證可以選到最大概率的城市,比如:p=[0.1?0.6?0.3]中間那個(gè)城市概率最大此時(shí)Pcum=[0.1??0.7??1]???Select?=[2???3];??Select(1)=2中間那個(gè)城市概率最大
????????????to_visit=ToVisitCity(Select(1));%提取這些城市的編號(hào)到to_visit中
????????????JJtable(ij)=to_visit;
????????end
????end
????if?NC>=2
????????JJtable(1:)=R_best(NC-1:);
????end
????
????%記錄本次迭代最佳路線(xiàn)
????L=zeros(m1);%記錄本次迭代最佳路線(xiàn)的長(zhǎng)度,每個(gè)螞蟻都有自己走過(guò)的長(zhǎng)度記錄在向量L中開(kāi)始距離為0,m*1的列向量
????for?i=1:m
????????R=JJtable(i:);
????????for?j=1:(n-1)
????????????L(i)=L(i)+D(R(j)R(j+1));%原距離加上第j個(gè)城市到第j+1個(gè)城市的距離
????????end
????????L(i)=L(i)+D(R

?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----

?????文件???????9215??2018-05-23?10:24??GUI.m

?????文件???????3531??2018-05-23?11:05??SATSP.m

?????文件???????5965??2018-05-23?10:53??ASTSP.m

?????文件???????6631??2018-05-23?16:08??GATSP.m

?????文件??????26687??2018-05-18?15:06??GUI.fig

-----------?---------??----------?-----??----

????????????????52029????????????????????5


評(píng)論

共有 條評(píng)論

相關(guān)資源