蟻群算法在最短路中的應(yīng)用

蟻群算法在最短路中的應(yīng)用

ID:26084182

大小:77.50 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2018-11-24

蟻群算法在最短路中的應(yīng)用_第1頁(yè)
蟻群算法在最短路中的應(yīng)用_第2頁(yè)
蟻群算法在最短路中的應(yīng)用_第3頁(yè)
蟻群算法在最短路中的應(yīng)用_第4頁(yè)
蟻群算法在最短路中的應(yīng)用_第5頁(yè)
資源描述:

《蟻群算法在最短路中的應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、下面的程序是蟻群算法在最短路中的應(yīng)用,稍加擴(kuò)展即可應(yīng)用于機(jī)器人路徑規(guī)劃function[ROUTES,PL,Tau]=ACASP(G,Tau,K,M,S,E,Alpha,Beta,Rho,Q)%%---------------------------------------------------------------%?ACASP.m%?蟻群算法動(dòng)態(tài)尋路算法%?ChengAihua,PLAInformationEngineeringUniversity,ZhengZhou,China%?Email:aihuacheng@gm

2、ail.com%?Allrightsreserved%%---------------------------------------------------------------%?輸入?yún)?shù)列表%?G???????地形圖為01矩陣,如果為1表示障礙物%?Tau?????初始信息素矩陣(認(rèn)為前面的覓食活動(dòng)中有殘留的信息素)%?K???????迭代次數(shù)(指螞蟻出動(dòng)多少波)%?M???????螞蟻個(gè)數(shù)(每一波螞蟻有多少個(gè))%?S???????起始點(diǎn)(最短路徑的起始點(diǎn))%?E???????終止點(diǎn)(最短路徑的目的點(diǎn))%?Alpha??

3、?表征信息素重要程度的參數(shù)%?Beta????表征啟發(fā)式因子重要程度的參數(shù)%?Rho?????信息素蒸發(fā)系數(shù)%?Q???????信息素增加強(qiáng)度系數(shù)%%?輸出參數(shù)列表%?ROUTES??每一代的每一只螞蟻的爬行路線%?PL??????每一代的每一只螞蟻的爬行路線長(zhǎng)度%?Tau?????輸出動(dòng)態(tài)修正過(guò)的信息素%%--------------------變量初始化----------------------------------%loadD=G2D(G);N=size(D,1);%N表示問(wèn)題的規(guī)模(象素個(gè)數(shù))MM=size(G,1)

4、;a=1;%小方格象素的邊長(zhǎng)Ex=a*(mod(E,MM)-0.5);%終止點(diǎn)橫坐標(biāo)ifEx==-0.5???Ex=MM-0.5;endEy=a*(MM+0.5-ceil(E/MM));%終止點(diǎn)縱坐標(biāo)Eta=zeros(1,N);%啟發(fā)式信息,取為至目標(biāo)點(diǎn)的直線距離的倒數(shù)%下面構(gòu)造啟發(fā)式信息矩陣fori=1:N????ifix==-0.5???????ix=MM-0.5;???end???iy=a*(MM+0.5-ceil(i/MM));??????ifi~=E???????Eta(1,i)=1/((ix-Ex)^2+(iy-E

5、y)^2)^0.5;???else???????Eta(1,i)=100;???endendROUTES=cell(K,M);%用細(xì)胞結(jié)構(gòu)存儲(chǔ)每一代的每一只螞蟻的爬行路線PL=zeros(K,M);%用矩陣存儲(chǔ)每一代的每一只螞蟻的爬行路線長(zhǎng)度%%-----------啟動(dòng)K輪螞蟻覓食活動(dòng),每輪派出M只螞蟻--------------------fork=1:K???disp(k);???form=1:M%%????第一步:狀態(tài)初始化???????W=S;%當(dāng)前節(jié)點(diǎn)初始化為起始點(diǎn)???????Path=S;%爬行路線初始化????

6、???PLkm=0;%爬行路線長(zhǎng)度初始化???????TABUkm=ones(1,N);%禁忌表初始化???????TABUkm(S)=0;%已經(jīng)在初始點(diǎn)了,因此要排除???????DD=D;%鄰接矩陣初始化%%????第二步:下一步可以前往的節(jié)點(diǎn)???????DW=DD(W,:);???????DW1=find(DW???????forj=1:length(DW1)???????????ifTABUkm(DW1(j))==0???????????????DW(j)=inf;???????????end???????end???

7、????LJD=find(DW???????Len_LJD=length(LJD);%可選節(jié)點(diǎn)的個(gè)數(shù)%%????覓食停止條件:螞蟻未遇到食物或者陷入死胡同???????whileW~=E&&Len_LJD>=1%%????????第三步:轉(zhuǎn)輪賭法選擇下一步怎么走???????????PP=zeros(1,Len_LJD);???????????fori=1:Len_LJD???????????????PP(i)=(Tau(W,LJD(i))^Alpha)*(Eta(LJD(i))^Beta);???????????end????

8、???????PP=PP/(sum(PP));%建立概率分布???????????Pcum=cumsum(PP);???????????Select=find(Pcum>=rand);%%????????第四步:狀態(tài)更新和記錄???????????Path=[P

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。