




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
本文格式為Word版,下載可任意編輯——蟻群算法附帶數(shù)據(jù)結(jié)果%{
[代碼說明]
蟻群算法解決VRP問題
[算法說明]
首先實現(xiàn)一個ant螞蟻類,用此螞蟻類實現(xiàn)探尋。
算法依照tsp問題去解決,但是在最終計算路徑的時候有區(qū)別。
譬如有10個城市,城市1是配送站,螞蟻探尋的得到的路徑是1,3,5,9,4,10,2,6,8,7。
計算路徑的時候把城市依次放入派送線路中,
每放入一個城市前,檢查該城市放入后是否會超過車輛最大載重假使沒有超過就放入
假使超過,就重新開始一條派送路線……
直到最終一個城市放完就會得到多條派送路線
這樣處理比較簡單可以把vrp問題轉(zhuǎn)為tsp問題求解但是實際效果還需要驗證。
[]
Wugsh@2023.12.16
wuguangsheng@guangsheng.wu@163.com%}
%清除所有變量和類的定義clear;
clearclasses;
%蟻群算法參數(shù)(全局變量)globalALPHA;%啟發(fā)因子globalBETA;%期望因子
globalANT_COUNT;%螞蟻數(shù)量globalCITY_COUNT;%城市數(shù)量globalRHO;%信息素殘留系數(shù)!!!globalIT_COUNT;%迭代次數(shù)globalDAry;%兩兩城市間距離globalTAry;%兩兩城市間信息素globalCITYWAry;%城市貨物需求量globalVW;%車輛最大載重
%===================================================================
%設置參數(shù)變量值ALPHA=1.0;BETA=2.0;RHO=0.95;
IT_COUNT=200;
VW=100;
%===================================================================%讀取數(shù)據(jù)并根據(jù)讀取的數(shù)據(jù)設置其他參數(shù)loaddata.txt;%從文本文件加載數(shù)據(jù)
city_xy_ary=data(:,2:3);%得到城市的坐標數(shù)據(jù)
CITYWAry=data(:,4);%得到每個城市的貨物需求量
CITY_COUNT=length(CITYWAry);%得到城市數(shù)量(包括配送站在內(nèi))
ANT_COUNT=round(CITY_COUNT*2/3)+1;%根據(jù)城市數(shù)量設置螞蟻數(shù)量,一般設置為城市數(shù)量的2/3
%MMAS信息素參數(shù)
%計算最大信息素和最小信息素之間的比值PBest=0.05;%螞蟻一次探尋覓到最優(yōu)解的概率temp=PBest^(1/CITY_COUNT);
TRate=(1-temp)/((CITY_COUNT/2-1)*temp);%最大信息素和最小信息素之間的比值
%信息素的最大最小值開始的時候設置成多大無所謂
%第一次探尋完成會生成一個最優(yōu)解,然后用這個解會重新產(chǎn)生最大最小值Tmax=1;%信息素最大值
Tmin=Tmax*TRate;%信息素最小值
%計算兩兩城市間距離DAry=zeros(CITY_COUNT);fori=1:CITY_COUNT
forj=1:CITY_COUNT
DAry(i,j)=sqrt((city_xy_ary(i,1)-city_xy_ary(j,1))^2+(city_xy_ary(i,2)-city_xy_ary(j,2))^2);endend
%初始化城市間信息素TAry=zeros(CITY_COUNT);TAry=TAry+Tmax;
%===================================================================
%初始化隨機種子
rand('state',sum(100*clock));
%另一種方法
%rand('twister',sum(100*clock))
%定義螞蟻mayi=ant();
Best_Path_Length=10e9;%最正確路徑長度,先設置成一個很大的值
tm1=datenum(clock);%記錄算法開始執(zhí)行時的時間
FoundBetter=0;%一次探尋是否有更優(yōu)解產(chǎn)生
%開始探尋
fori=1:IT_COUNT
fprintf('開始第%d次探尋,剩余%d次',i,IT_COUNT-i);
FoundBetter=0;%探尋前先置為沒有更優(yōu)解產(chǎn)生
forj=1:ANT_COUNT
%螞蟻探尋一次mayi=Search(mayi);
%得到螞蟻探尋路徑長度
Length_Ary(j)=get(mayi,'path_length');
%得到螞蟻探尋的路徑
Path_Ary{j}=get(mayi,'path');
%保存最優(yōu)解
if(Length_Ary(j)Tmax)TAry(m,n)=Tmax;
end
if(TAry(m,n)VW)%運輸?shù)呢浳锍^限制
fprintf('(滿載率:%.1f%%)\\n[1]-%d',dbW*100/VW,n);dbW=CITYWAry(n);%運輸?shù)闹亓康扔谠摮鞘械男枨罅縠lse%沒有超過限制fprintf('-%d',n);
dbW=dbW+CITYWAry(n);%運輸?shù)闹亓考由显摮鞘械男枨罅縠ndend
fprintf('(滿載率:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度商業(yè)連鎖店租賃合同續(xù)期補充協(xié)議
- 2025年度虛擬現(xiàn)實技術知識產(chǎn)權許可及合作開發(fā)協(xié)議
- 二零二五年度窗簾設計大賽作品授權合同
- 二零二五年度交通事故交通事故責任劃分及精神損害賠償協(xié)議
- 二零二五年度上市公司股權激勵協(xié)議虛擬分紅權操作細則
- 2025年度環(huán)保產(chǎn)業(yè)利潤分紅共享協(xié)議
- 2025年度混泥土攪拌車租賃及施工監(jiān)管服務合同
- 二零二五奶茶店員工入職合同與職業(yè)發(fā)展機會
- 辦公、繪圖、教學用品百貨企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 膠基糖果(口香糖)企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 食材配送企業(yè)管理制度(完整)
- (帶答案)初中物理第八章運動和力重難點歸納
- 梅毒的診斷與治療資料
- 《干眼診斷和治療》
- 報價單模板完整版
- 2022年水域救援考試題庫(含答案)
- GB/T 18658-2018擺錘式?jīng)_擊試驗機間接檢驗用夏比V型缺口標準試樣
- 罰款單的模板
- GB 16899-2011自動扶梯和自動人行道的制造與安裝安全規(guī)范
- 2022年江西建設職業(yè)技術學院單招語文試題及答案解析
- 高中信息技術《人工智能》優(yōu)質(zhì)教學課件
評論
0/150
提交評論