一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法
【專利摘要】本發(fā)明提出了一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法,屬于機(jī)器人仿真【技術(shù)領(lǐng)域】,針對機(jī)器人救援仿真中動態(tài)變化環(huán)境的路徑規(guī)劃問題,對經(jīng)典蟻群算法進(jìn)行改進(jìn),引入目標(biāo)優(yōu)勢度,修改螞蟻的狀態(tài)轉(zhuǎn)移概率的計算方法,信息素的更新規(guī)則,適應(yīng)救援環(huán)境中道路情況未知且動態(tài)變化、救援智能體任務(wù)復(fù)雜、路徑規(guī)劃需求要求不一致情形,使得救援機(jī)器人能夠根據(jù)自身的任務(wù)屬性搜索到較優(yōu)路徑。本發(fā)明的改進(jìn)蟻群算法與經(jīng)典蟻群算法比較,具有有效性和可靠性。
【專利說明】一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于機(jī)器人仿真【技術(shù)領(lǐng)域】,具體涉及一種改進(jìn)蟻群算法的城市救援智能體 動態(tài)路徑規(guī)劃方法。
【背景技術(shù)】
[0002] 在城市救援行動中由于地震、火災(zāi)等造成的不確定因素,以及救援智能體救援工 作的進(jìn)行,將造成城市路況的不斷變化。因此,在動態(tài)變化的救援場景中為救援機(jī)器人搜尋 到最優(yōu)路徑,縮短救援行動時間,是機(jī)器人救援的首要挑戰(zhàn)和關(guān)鍵問題。
[0003] 機(jī)器人救援仿真中的動態(tài)路徑規(guī)劃問題可以歸納為:根據(jù)救援任務(wù)的實際需要, 智能體通過路徑規(guī)劃算法搜索出從起始節(jié)點到目標(biāo)節(jié)點的路徑,傳統(tǒng)路徑規(guī)劃問題中,全 局環(huán)境信息已知,優(yōu)化指標(biāo)僅為路徑長度。在救援仿真平臺中智能體期望獲取的路徑是讓 機(jī)器人在行走過程中安全、無碰撞的到達(dá)目標(biāo)點,同時面臨的環(huán)境也更為復(fù)雜,優(yōu)化指標(biāo)不 僅是距離,還需綜合考慮道路安全、路障、計算時間等因素。
[0004] 傳統(tǒng)的路徑規(guī)劃算法主要有:蟻群算法、遺傳算法、模擬退火算法、神經(jīng)網(wǎng)絡(luò)算法 和啟發(fā)式算法等。神經(jīng)網(wǎng)絡(luò)算法收斂速度慢,需要大量的訓(xùn)練數(shù)據(jù),搜索效率不高,動態(tài)性 不好,且存在局部極小等情況;而遺傳算法也有計算速度過慢,存儲量空間大、運算時間和 搜索效率低等缺點。啟發(fā)式算法中典型的為A星算法,A星算法搜索效率較高并且具有可采 納性、單調(diào)性等特點。因此,需要通過一種適合機(jī)器人救援環(huán)境的路徑規(guī)劃算法來指導(dǎo)救援 智能體獲得全局最優(yōu)路徑,保證各智能體協(xié)作的完成。蟻群算法中的螞蟻尋路與救援機(jī)器 人的路徑搜索行為非常相似,對于動態(tài)變化的環(huán)境有著很強(qiáng)的適應(yīng)性和健壯性,適用于動 態(tài)環(huán)境下的路徑搜索問題。但常規(guī)蟻群算法在搜索過程中容易陷入局部最優(yōu)和出現(xiàn)早熟, 收斂速度慢等問題。與TSP(TravellingSalesmanProblem)不同的是,TSP問題中整個地 圖信息是無噪聲的,而救援系統(tǒng)的世界模型中環(huán)境是未知的、帶噪聲的,比如無法確定道路 擁堵情況、建筑燃燒情況、智能體分布情況等,無法提前獲得準(zhǔn)確的路徑規(guī)劃方案。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)的不足,提出一種改進(jìn)蟻群算法的城 市救援智能體動態(tài)路徑規(guī)劃方法,針對傳統(tǒng)蟻群算法進(jìn)行改進(jìn),定義基于全局動態(tài)信息的 目標(biāo)優(yōu)勢度,改善螞蟻選擇下一個節(jié)點的性能,對螞蟻在復(fù)雜動態(tài)環(huán)境下的路徑搜索進(jìn)行 引導(dǎo)。此外,為了加快蟻群算法的收斂速度,采用自適應(yīng)的信息素更新策略,使得螞蟻在收 斂速度和解的多樣性之間取得平衡。
[0006] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0007] 本發(fā)明提出一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法,螞蟻在路 徑搜索時會觸發(fā)信息素更新,使得蟻群在較優(yōu)的路徑上釋放更多信息素,所述的信息素更 新包括:蟻群間信息素共享更新、局部信息素更新、全局信息素更新;所述方法包括以下步 驟:
[0008]步驟I:設(shè)每個道路和建筑抽象成一個頂點,將城市抽象為圖G(N,E),其中N表示 頂點集合,E表示頂點與頂點之間的連接邊,邊是頂點的有序偶對,若兩個頂點之間存在一 條邊,表示著兩個頂點具有相鄰關(guān)系;給定起始節(jié)點和目標(biāo)節(jié)點,初始化系統(tǒng)參數(shù),若收到 蟻群間信息素共享更新信息,則根據(jù)該信息更新相應(yīng)邊的信息素濃度,在起始節(jié)點釋放一 批螞蟻;
[0009] 步驟2:螞蟻從起始節(jié)點出發(fā)開始搜索遍歷,根據(jù)轉(zhuǎn)移概率從候選節(jié)點中選擇優(yōu) 勢度最大的為下一個遍歷的節(jié)點;同時將選擇過的節(jié)點存入禁忌列表中,使螞蟻在下次選 擇時排除已選節(jié)點;當(dāng)每只螞蟻搜索結(jié)束時,對搜索得到的結(jié)果進(jìn)行局部信息素更新; [0010] 步驟3 :當(dāng)滿足釋放的螞蟻均搜索完成或者達(dá)到超時的終止條件,則存儲當(dāng)前批 次螞蟻搜索得到的路徑,對所有路徑進(jìn)行評價,根據(jù)評價值進(jìn)行全局信息素更新;
[0011] 步驟4 :輸出最優(yōu)路徑。
[0012] 進(jìn)一步的,本發(fā)明的一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法,步 驟2中優(yōu)勢度定義為:
【權(quán)利要求】
1. 一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法,其特征在于:螞蟻在路 徑搜索時會觸發(fā)信息素更新,使得蟻群在較優(yōu)的路徑上釋放更多信息素,所述的信息素更 新包括:蟻群間信息素共享更新、局部信息素更新、全局信息素更新;所述方法包括以下步 驟: 步驟1 :設(shè)每個道路和建筑抽象成一個頂點,將城市抽象為圖G(N,E),其中N表示頂點 集合,E表示頂點與頂點之間的連接邊,邊是頂點的有序偶對,若兩個頂點之間存在一條邊, 表示著兩個頂點具有相鄰關(guān)系;給定起始節(jié)點和目標(biāo)節(jié)點,初始化系統(tǒng)參數(shù),若收到蟻群 間信息素共享更新信息,則根據(jù)該信息更新相應(yīng)邊的信息素濃度,在起始節(jié)點釋放一批螞 蟻; 步驟2 :螞蟻從起始節(jié)點出發(fā)開始搜索遍歷,根據(jù)轉(zhuǎn)移概率從候選節(jié)點中選擇優(yōu)勢度 最大的為下一個遍歷的節(jié)點;同時將選擇過的節(jié)點存入禁忌列表中,使螞蟻在下次選擇時 排除已選節(jié)點;當(dāng)每只螞蟻搜索結(jié)束時,對搜索得到的結(jié)果進(jìn)行局部信息素更新; 步驟3 :當(dāng)滿足釋放的螞蟻均搜索完成或者達(dá)到超時的終止條件,則存儲當(dāng)前批次螞 蟻搜索得到的路徑,對所有路徑進(jìn)行評價,根據(jù)評價值進(jìn)行全局信息素更新; 步驟4 :輸出最優(yōu)路徑。
2. 根據(jù)權(quán)利要求1所述的一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法,其 特征在于:步驟2中優(yōu)勢度定義為:
式(1)中,5Aortesffirf為節(jié)點j到目標(biāo)節(jié)點goal的曼哈頓距離,PassRateij為救援智 能體通過邊(i,j)的通過率,allowedk = {0, 1,. . .,n-1}表示螞蟻k下一步的所有候選節(jié) 點,其中η表示節(jié)點個數(shù),(^表示節(jié)點i和j之間的距離,dis表示節(jié)點i和s之間的距離, 為權(quán)值。
3. 根據(jù)權(quán)利要求2所述的一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法,其 特征在于:步驟2中螞蟻選擇下一節(jié)點的轉(zhuǎn)移概率為 :
式(2)中,allowedk = {0, 1,. . .,η-I}表示螞蟻k下一步的所有候選節(jié)點,τu為邊 (i,j)的信息素濃度,Tis為邊(i,s)的信息素濃度,α和β分別表示信息素和啟發(fā)信息 對螞蟻選擇節(jié)點時的作用,vantage表示優(yōu)勢度。
4. 根據(jù)權(quán)利要求1所述的一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法,其 特征在于:所述的信息素更新方法如式(3)所示: Tij (t+X) =(I^p)Xr#(t)+ Δ 4 + Δff6+ ΔTfmm(3) 式(3)中τu(t)表示t時刻邊(i,j)上的信息素強(qiáng)度,X表示一批螞蟻完成一次搜索需 要的時間,P表示信息素?fù)]發(fā)系數(shù),I-P為信息素殘留因子,PC[0,1],A<表示根據(jù)局部 信息素更新規(guī)則釋放到邊(i,j)上的信息素增量、Arf表示根據(jù)全局信息素更新規(guī)則釋放 到邊(i,j)上的信息素增量、Aff-表示根據(jù)蟻群間信息素共享更新規(guī)則釋放到邊(i,j) 上的信息素增量。
5. 根據(jù)權(quán)利要求4所述的一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法, 其特征在于:所述的局部信息素更新規(guī)則是讓所有螞蟻在經(jīng)過的路徑上都釋放信息素,令 表示在本次搜索過程中根據(jù)局部信息素更新規(guī)則釋放到邊(i,j)上的信息素增量,其 定義如下: Ari = (4) A*=l 式⑷中,m表示本次搜索循環(huán)中螞蟻的數(shù)量,△<是螞蟻k在邊(i,j)上釋放的信息 素,其定義如下:
其中,Lk為當(dāng)前螞蟻本次搜索到的路徑的長度,q為常量,表示局部信息素軌跡強(qiáng)度。
6. 根據(jù)權(quán)利要求4所述的一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法,其 特征在于:所述的全局信息素更新規(guī)則是指在一批螞蟻搜索結(jié)束后從結(jié)果集合中根據(jù)目標(biāo) 函數(shù)從所有路徑中按照搜索路徑的優(yōu)劣進(jìn)行信息素增強(qiáng),Arf表示按照全局信息素更新規(guī) 則得到邊(i,j)上的信息素增量,定義如下:
其中 e Aftj='E (8) O 其中,m表示本次搜索循環(huán)中螞蟻的數(shù)量,e為常量,表示全局信息素軌跡強(qiáng)度,Li為第i只螞蟻搜索到的路徑的長度,σi為第i只螞蟻所對應(yīng)的路徑結(jié)果對邊(i,j)信息量更新 的影響程度,σi定義為: Qi= (1-ξij)k-rank[i] (9) N 式(9)中ξu為邊(i,j)的權(quán)重,計算方式為$ 其中Nt為一批螞蟻搜索到的路 徑的數(shù)量總和,N。為所有路徑中經(jīng)過邊(i,j)的路徑數(shù)量,對所有螞蟻搜索到的路徑按照目 標(biāo)函數(shù)值從大到小進(jìn)行排序,rank[i]為第i只螞蟻搜索到的路徑的索引值。
7.根據(jù)權(quán)利要求4所述的一種改進(jìn)蟻群算法的城市救援智能體動態(tài)路徑規(guī)劃方法,其 特征在于:所述的蟻群間信息素共享更新的公式為:
式(10)中,e。?!窞槌A?,表示通過通信共享路段的信息素軌跡強(qiáng)度,L_"為蟻群搜索到 的全局最優(yōu)路徑的長度。
【文檔編號】G05D1/02GK104317293SQ201410482748
【公開日】2015年1月28日 申請日期:2014年9月19日 優(yōu)先權(quán)日:2014年9月19日
【發(fā)明者】梁志偉, 魏志鵬, 沈杰 申請人:南京郵電大學(xué)