專利名稱:一種解決大規(guī)模tsp的云模型小生境自適應(yīng)蟻群優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種解決大規(guī)模TSP的云模型小生境自適應(yīng)蟻群優(yōu)化方法,其優(yōu)點(diǎn)及所達(dá)成的功效是計(jì)算時(shí)間快,全局優(yōu)化性能好,并具有較強(qiáng)的魯棒性。
本發(fā)明是解決大規(guī)模TSP問(wèn)題的有效技術(shù)途徑,同時(shí),該方法也可應(yīng)用于解決其它組合優(yōu)化問(wèn)題。
圖1現(xiàn)實(shí)中蟻群尋找食物的過(guò)程 圖2基本蟻群算法的邏輯結(jié)構(gòu) 圖3云模型及其數(shù)字特征 圖4單條定性關(guān)聯(lián)規(guī)則構(gòu)造原理 圖5基本蟻群算法求解CH150TSP的進(jìn)化過(guò)程 圖6改進(jìn)蟻群算法求解CH150TSP的進(jìn)化過(guò)程 表1仿真計(jì)算結(jié)果比較 圖中標(biāo)號(hào)及符號(hào)說(shuō)明如下 CGA——對(duì)應(yīng)輸入平面語(yǔ)言值A(chǔ)的帶U條件的云模型對(duì)象 CGB——對(duì)應(yīng)輸出平面語(yǔ)言值B的帶V條件的云模型對(duì)象 Ex——特征期望值 En——熵 He——超熵 Drop(x,μ)—正態(tài)云分布規(guī)律的二維云滴 具體實(shí)施例方式 用上述基于云模型小生境的自適應(yīng)蟻群算法和未改進(jìn)的蟻群算法在同樣初始化參數(shù)下對(duì)TSPLIB中的CH150TSP(即由150座城市組成的旅行商問(wèn)題)進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)采用Matlab 6.5作為編程工具,在CPU為Pentium III、內(nèi)存為256M、操作系統(tǒng)為Windows 2000的計(jì)算機(jī)上進(jìn)行求解。云模型規(guī)則采用按照升半正態(tài)云模型定性關(guān)聯(lián)控制規(guī)則選定信息素的殘留系數(shù)ρ和信息素強(qiáng)度Q。
本發(fā)明所提出的解決大規(guī)模TSP的云模型小生境自適應(yīng)蟻群優(yōu)化方法的具體實(shí)現(xiàn)步驟如下 Step1參數(shù)初始化云滴數(shù)為500個(gè)云滴,最優(yōu)期望值Ex=0.5,熵En=0.2,超熵He=0.08;設(shè)置小生境參數(shù)中每個(gè)城市數(shù)組ci[i′]的規(guī)模為30,即i′=30;設(shè)置算法的參數(shù)α=1,β=4,ρmin=0.3,q0=0.35,Δτij(0)=0,NC=0,NCmax=500,m=90,n=150,ξ=0.95,T′=5,τmax=τij(0),τmin=τmax/300; Step2螞蟻的禁忌表索引號(hào)k=1; Step3螞蟻數(shù)目k←k+2; Step4每?jī)芍晃浵佔(zhàn)鳛橐粋€(gè)派對(duì)共同選擇一個(gè)元素(城市)作為起點(diǎn); Step5螞蟻甲根據(jù)狀態(tài)轉(zhuǎn)移概率公式(1)和(8)計(jì)算的概率選擇元素(城市)j1并前進(jìn),j1∈{ci[i′]∩{C-tabuk}};螞蟻乙也根據(jù)狀態(tài)轉(zhuǎn)移概率公式(1)和(8)計(jì)算的概率選擇元素(城市)j2并前進(jìn),j2∈{ci[i′]∩{C-tabuk-j1}}
Step6當(dāng)前路徑長(zhǎng)度大于本次90只螞蟻相遇循環(huán)的最短路徑,則終止此次相遇循環(huán); Step7修改禁忌表指針,即選擇好之后將螞蟻移動(dòng)到新的元素(城市),并把該元素(城市)移動(dòng)到該螞蟻個(gè)體的禁忌表中; Step8若集合C中元素(城市)未遍歷完,即k<90,則跳轉(zhuǎn)到Step3,否則繼續(xù)到下一步Step9; Step9按照公式(9)自適應(yīng)調(diào)節(jié)信息素殘留系數(shù)ρ
Step10按照公式(11)計(jì)算本次90只成對(duì)的螞蟻所循環(huán)最短路徑的長(zhǎng)度d(t)min,記錄當(dāng)前最優(yōu)解 d(t)min=min{D[1],D[2],…,D[90]} Step11按照公式(12)計(jì)算本次90只成對(duì)的螞蟻所循環(huán)路徑長(zhǎng)度的平均值d(t)aver Step12只有當(dāng)d(t)min<d(t-1)min且D[k]<d(t)aver的時(shí)候,螞蟻k才按照公式(5)計(jì)算Δτijk(t),同時(shí)按照升半正態(tài)云模型定性關(guān)聯(lián)控制規(guī)則選定信息素的殘留系數(shù)ρ和信息素強(qiáng)度Q [規(guī)則1]Ifρ>0.3 and t≤5 then選取較小的ρ和較小的Q; [規(guī)則2]Ifρ≤0.3 and t≤5 then選取較大的ρ和較小的Q; [規(guī)則3]Ifρ>0.3 and t>5 then選取較小的ρ和較大的Q; [規(guī)則4]Ifρ≤0.3 and t>5 then選取較大的ρ和較大的Q。
Step13根據(jù)公式(3)和(4)更新每條路徑上的信息素,并根據(jù)公式(13)將各條尋優(yōu)路徑上的殘留信息素?cái)?shù)量限制在[τmin,τmax] τij(t+150)=(1-ρ)·τij(t)+Δτij(t)
Step14若滿足結(jié)束條件,即如果循環(huán)次數(shù)NC≥500,則循環(huán)結(jié)束并輸出最優(yōu)解,否則清空禁忌表并跳轉(zhuǎn)到Step2。
對(duì)基本蟻群算法和改進(jìn)蟻群算法各進(jìn)行20次數(shù)字仿真,并計(jì)算了蟻群算法的性能評(píng)價(jià)指標(biāo),仿真和計(jì)算結(jié)果如下列表1所示 表1 用未改進(jìn)蟻群算法求解CH150TSP的進(jìn)化過(guò)程如圖5所示。用基于云模型小生境的自適應(yīng)蟻群算法求解CH150TSP的進(jìn)化過(guò)程如圖6所示。
由實(shí)驗(yàn)結(jié)果可知,本發(fā)明提出的改進(jìn)蟻群算法與未改進(jìn)的基本蟻群算法相比較,搜索到全局最優(yōu)解的時(shí)間少了將近一半,算法的魯棒性大大增強(qiáng),全局搜索速度和優(yōu)化性能均得到了明顯改善,改進(jìn)后蟻群算法的組合性能較未改進(jìn)蟻群算法提高了近3倍。
權(quán)利要求
1.一種解決大規(guī)模TSP的云模型小生境自適應(yīng)蟻群優(yōu)化方法,其特征在于該方法的具體步驟如下
第一步參數(shù)初始化;
第二步螞蟻的禁忌表索引號(hào)k=1;
第三步螞蟻數(shù)目k←k+2;
第四步每?jī)芍晃浵佔(zhàn)鳛橐粋€(gè)派對(duì)共同選擇一個(gè)元素(城市)作為起點(diǎn);
第五步螞蟻甲根據(jù)下列狀態(tài)轉(zhuǎn)移概率公式(1)和(8),即
式中,allowedk={C-tabuk}表示螞蟻k下一步允許選擇的城市,α為信息啟發(fā)式因子
和
上式中,q0為揮發(fā)約束系數(shù),且q0(0,1);
根據(jù)上列公式(1)和(8)計(jì)算的概率選擇元素(城市)j1并前進(jìn),j1∈{ci[i′]∩{C-tabuk}};螞蟻乙也根據(jù)上列狀態(tài)轉(zhuǎn)移概率公式計(jì)算的概率選擇元素(城市)j2并前進(jìn),j2∈{ci[i′]∩{C-tabuk-j1}};
第六步當(dāng)前路徑長(zhǎng)度大于本次m只螞蟻相遇循環(huán)的最短路徑,則終止此次相遇循環(huán);
第七步修改禁忌表指針,即選擇好之后將螞蟻移動(dòng)到新的元素(城市),并把該元素(城市)移動(dòng)到該螞蟻個(gè)體的禁忌表中;
第八步若集合C中元素(城市)未遍歷完,即k<m,則跳轉(zhuǎn)到第三步,否則繼續(xù)到下一步第九步;
第九步按照下列公式(9)自適應(yīng)調(diào)節(jié)信息素殘留系數(shù)ρ;
式中,ξ為揮發(fā)約束系數(shù),且ξ(0,1),ρmin為信息素殘留系數(shù)下界;
第十步按照公式
設(shè)集合
d(t)min=min{D[1],D[2],…,D[m]}
計(jì)算本次m只成對(duì)的螞蟻所循環(huán)最短路徑的長(zhǎng)度d(t)min,記錄當(dāng)前最優(yōu)解;
第十一步按照下列公式
計(jì)算本次m只成對(duì)的螞蟻所循環(huán)路徑長(zhǎng)度的平均值d(t)aver;
第十二步只有當(dāng)d(t)min<d(t-1)min且D[k]<d(t)aver的時(shí)候,螞蟻k才按照下列公式(5)計(jì)算Δτijk(t),同時(shí)按照升半正態(tài)云模型定性關(guān)聯(lián)控制規(guī)則選定信息素的殘留系數(shù)ρ和信息素強(qiáng)度Q;
式中,Q表示信息素強(qiáng)度,Lk表示第k只螞蟻在本次循環(huán)中所走路徑的總長(zhǎng)度;
第十三步根據(jù)下列公式
τij(t+n)=(1-ρ)·τij(t)+Δτij(t)(3)
式中,ρ表示信息素?fù)]發(fā)系數(shù),則1-ρ表示信息素殘留因子,為了防止信息的無(wú)限積累,ρ的取值范圍為ρ
;
第十四步若滿足結(jié)束條件,即如果循環(huán)次數(shù)NC≥NCmax,則循環(huán)結(jié)束并輸出最優(yōu)解,否則清空禁忌表并跳轉(zhuǎn)到第二步。
全文摘要
本發(fā)明提供了一種解決大規(guī)模TSP的云模型小生境自適應(yīng)蟻群優(yōu)化方法。它包括如下步驟參數(shù)初始化,并利用小生境構(gòu)建螞蟻在大規(guī)模TSP中的移動(dòng)范圍;每?jī)芍晃浵佔(zhàn)鳛橐粋€(gè)派對(duì)共同選擇一個(gè)城市作為起點(diǎn);根據(jù)狀態(tài)轉(zhuǎn)移概率計(jì)算的概率選擇城市前進(jìn),若當(dāng)前路徑長(zhǎng)度大于本次m只螞蟻相遇循環(huán)的最短路徑,則終止此次相遇循環(huán);然后修改禁忌表指針,并自適應(yīng)調(diào)節(jié)信息素殘留系數(shù);計(jì)算本次m只成對(duì)的螞蟻所循環(huán)路徑長(zhǎng)度的平均值;按照升半正態(tài)云模型定性關(guān)聯(lián)控制規(guī)則選定信息素的殘留系數(shù)和信息素強(qiáng)度;更新每條路徑上的信息素,并將各條尋優(yōu)路徑上的殘留信息素?cái)?shù)量限制在某一范圍;重復(fù)上述過(guò)程,直至滿足算法結(jié)束條件,最后輸出最優(yōu)解。
文檔編號(hào)G06Q10/00GK101118609SQ20071012177
公開(kāi)日2008年2月6日 申請(qǐng)日期2007年9月13日 優(yōu)先權(quán)日2007年9月13日
發(fā)明者段海濱, 于秀芬, 王道波 申請(qǐng)人:北京航空航天大學(xué)