基于變鄰域搜索蟻群算法的城市智能交通調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于變鄰域搜索蟻群算法的城市智能交通調(diào)度方法,主要用于解決城市智能交通調(diào)度問題,屬于信息物理融合系統(tǒng)和智能交通系統(tǒng)的交叉技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]城市智能交通系統(tǒng)是一個綜合計算、網(wǎng)絡(luò)和物理環(huán)境的多維復(fù)雜系統(tǒng),通過計算、通信和控制技術(shù)的有機融合與深度協(xié)作,實現(xiàn)大型工程系統(tǒng)的實時感知、動態(tài)控制和信息服務(wù)?,F(xiàn)代城市智能交通系統(tǒng)實現(xiàn)計算、通信與物理系統(tǒng)的一體化設(shè)計,可使系統(tǒng)更加可靠、高效、實時協(xié)同,具有重要而廣泛的應(yīng)用前景。城市智能交通系統(tǒng)需要處理公共交通車輛、私人車輛以及指警車、消防車、救護車、工程救險車等特種車輛,如何讓這些類型車輛靠自己的智能在道路上自由行駛、公路靠自身的智能有效地車輛進行調(diào)度而將交通流量調(diào)整至最佳狀態(tài)是非常重要的問題。
[0003]計算智能是一種借鑒和利用自然界中自然現(xiàn)象或生物體的各種原理和機理而開發(fā)的并具有自適應(yīng)環(huán)境能力的計算方法。計算智能的方法是人們從生物進化的機理和一些自然現(xiàn)象中受到啟發(fā),提出的許多用以解雜優(yōu)化問題的新方法,具有分布、并行、仿生、自學(xué)習(xí)、自組織、自適應(yīng)等因其高效的優(yōu)化性能無需問題特殊信息等優(yōu)點在諸多領(lǐng)域得到廣泛應(yīng)用,研宄較多的計算智能技術(shù)主要包括進化計算、人工神經(jīng)網(wǎng)絡(luò)、模糊計算、人工免疫系統(tǒng)和群體智能等。
[0004]蟻群算法屬于群體智能算法中的一種又稱螞蟻算法,該算法是一種用來在圖中尋找優(yōu)化路徑的機率型算法。其靈感來源于螞蟻在尋找食物過程中發(fā)現(xiàn)路徑的行為,螞蟻在運動過程中,能夠在它所經(jīng)過的路徑上留下一種稱之為外激素的物質(zhì)進行信息傳遞,而且螞蟻在運動過程中能夠感知這種物質(zhì),并以此指導(dǎo)自己的運動方向,因此由大量螞蟻組成的蟻群集體行為便表現(xiàn)出一種信息正反饋現(xiàn)象:某一路徑上走過的螞蟻越多,則后來者選擇該路徑的概率就越大。該算法具有較強的魯棒性和并行計算能力
[0005]鄰域搜索是一種元啟發(fā)式算法,對于求解大規(guī)模優(yōu)化問題有較好的效果。該算法在搜索過程中改變鄰域以擴大搜索范圍,獲得局部最優(yōu)解后再重復(fù)改變鄰域和搜索的過程。該算法簡單易用,且可獲得較好的結(jié)果。
【發(fā)明內(nèi)容】
[0006]技術(shù)問題:本發(fā)明的目的是提供一種基于變鄰域搜索蟻群算法的城市智能交通調(diào)度方法,以解決高效的路徑分配問題。
[0007]技術(shù)方案:本發(fā)明所述的基于變鄰域搜索蟻群算法的城市智能交通調(diào)度方法,先判斷客戶需求數(shù)和當前車輛數(shù)的大小,若需求數(shù)小于車輛數(shù)則對每個客戶需求生成一條路徑序列再通過變鄰域搜索對車輛調(diào)度進行優(yōu)化;若需求數(shù)大于車輛數(shù)則先生成一部分路徑,再將未被分配路徑的客戶通過蟻群算法優(yōu)化插入到已有路徑中,再對所有路徑進行變鄰域搜索優(yōu)化調(diào)度。
[0008]基于變鄰域搜索蟻群算法的城市智能交通調(diào)度方法包括以下步驟:
[0009]步驟I)獲取每個客戶的需求信息,包括起點、終點和要求的乘車時間,按時間先后對客戶的需求排序并編號;同時,統(tǒng)計客戶需求總數(shù)η和車輛數(shù)m、每輛車容量Q ;
[0010]步驟2)初始化min {m, η}條路徑,即形成min {m, η}條從起點到終點的序列(Vis, Vit),其中0〈i彡η},所述Vis和V it*別表示編號為i的客戶的上下車結(jié)點位置;
[0011]步驟3)比較m和η的大小,若m〈n則進入步驟4,否則跳至步驟6 ;
[0012]步驟4)利用蟻群算法挑選出當前未被分配路徑的一位客戶的最佳插入路徑,具體如下:
[0013]步驟4.1)將未獲得路徑分配的編號為j的客戶的上下車結(jié)點位置(V> Vjt)按照客戶對乘車時間的限制嘗試擬插入到當前每條路徑中,其中minlm,n}〈j <n,若插入后不滿足時間要求則不插入;若該節(jié)點因為要求的時間原因無法插入到任何一條路徑則將之插入到能夠最小化因插入該結(jié)點而產(chǎn)生的延時的路徑中;
[0014]步驟4.2)初始化蟻群算法參數(shù),將每條被擬插入新結(jié)點的路徑被選概率設(shè)為所有擬被插入新結(jié)點路徑總數(shù)的倒數(shù);
[0015]步驟4.3)讓一只螞蟻根據(jù)概率選擇路徑,同時更新每條路徑被選概率;
[0016]步驟4.4)判斷是否所有螞蟻都走完,若是則進入步驟4.5否則回到步驟4.3 ;
[0017]步驟4.5)根據(jù)蟻群算法的結(jié)果選擇出當前結(jié)點最優(yōu)插入路徑,并將該結(jié)點加入此路徑,其他路徑則恢復(fù)到擬插入之前的狀態(tài);
[0018]步驟5)判斷是否所有客戶都得到路徑分配,若是則進入步驟6,否則回到步驟4 ;
[0019]步驟6)對已有的路徑進行變鄰域搜索,具體步驟如下:
[0020]步驟6.1)優(yōu)先挑選未被挑選過的兩條路徑,交換路徑中任意多的結(jié)點序列,若路徑都被挑選過則任意挑選;
[0021]步驟6.2)按照公式f(s) =c(s)+a*q(s)計算這兩條路徑交換任意多客戶的結(jié)點序列前后的代價,所述s表示一條路徑序列,C(S)表示s這條路徑序列所需的旅行時間,q(s)表示s這條路徑序列上承載的客戶數(shù)量,a為常數(shù);
[0022]步驟6.3)判斷交換結(jié)點序列后這兩條路徑代價的總和是否減少,若減少則執(zhí)行步驟6.5,否則執(zhí)行步驟6.4 ;
[0023]步驟6.4)還原交換序列的兩條路徑,并返回步驟6.1 ;
[0024]步驟6.5)判斷是否達到變鄰域搜索迭代最大次數(shù),若沒有達到則返回步驟6.1,否則進入步驟7 ;
[0025]步驟7)對每條路徑序列進行局部搜索,得出最終路徑。
[0026]2.根據(jù)權(quán)利要求1所述的基于變鄰域搜索蟻群算法的城市智能交通調(diào)度方法,其特征在于步驟7)對每條路徑序列進行局部搜索的具體步驟如下:
[0027]步驟7.1)選擇一條未被局部搜索過的路徑;
[0028]步驟7.2)移除一個未被移除過的客戶的結(jié)點,包括上車點和下車點;
[0029]步驟7.3)將被移除的上車結(jié)點重新插入到原序列除原位置外的一個可能的位置;
[0030]步驟7.4)將被移除的下車結(jié)點重新插入到原序列除原位置外的一個可能的位置;
[0031]步驟7.5)判斷上述改動是否有有益效果,若有則進入步驟7.9,否則進入步驟7.6 ;
[0032]步驟7.6)判斷當前序列所有下車點可能位置是否都被嘗試過,若是,則進入步驟7.7,否則返回步驟7.4;
[0033]步驟7.7)判斷當前序列所有上車點可能位置是否都被嘗試過,若是,則進入步驟7.8,否則返回步驟7.3 ;
[0034]步驟7.8)取消此次改動,將路徑序列還原初始狀態(tài);
[0035]步驟7.9)判斷當前路徑上是否所有客戶結(jié)點都被搜索過,若是則進入步驟7.10,否則返回步驟7.2 ;
[0036]步驟7.10)判斷是否所有路徑都被搜索過,若是則結(jié)束并得出最優(yōu)方案,否則返回步驟7.1o
[0037]有益效果:本發(fā)明在提供路徑解集的時候運用到蟻群算法,根據(jù)把未被分配路徑的客戶上下車結(jié)點插入到已有路徑中前后的代價大小來把多個客戶的需求優(yōu)化合并到一條路徑中。在對生成好的路徑進行變鄰域搜索中經(jīng)過交換路徑序列等操作獲得最終方案。具體體現(xiàn)如下有益效果:
[0038](I)利用蟻群算法生成初試路徑集的方法簡單、高效,為后續(xù)變鄰域搜索減輕負擔(dān);
[0039](2)使用變鄰域搜索算法對以生成的路徑進行優(yōu)化,方法易用且能夠得到良好的結(jié)果,降低問題的復(fù)雜性。
[0040](3)本發(fā)明在滿足客戶的需求下盡可能地將多個客戶合并到一條路徑中用同一車輛運送能極大地節(jié)約城市交通資源,同時降低運輸成本。
【附圖說明】
[0041]圖1是基于變鄰域搜索蟻群算法的城市智能交通調(diào)度方法流程圖;
[0042]圖2是對一條路徑序列進行局部搜索的流程圖;
[0043]圖3是實例需求不意圖。
【具體實施方式】
[0044]本發(fā)明使用嵌入蟻群算法的變鄰域搜索算法,解決城市中短時間內(nèi)出現(xiàn)大量乘車需求的智能交通調(diào)度問題,提高城市交通資源的利用率。下面根據(jù)實施例對本發(fā)明作更詳細的描述。
[0045]現(xiàn)模擬音樂會結(jié)束后觀眾離場而產(chǎn)生大量乘車需求的場景來具體描述本方法。在該場景中客戶需求數(shù)為500,車輛數(shù)為100,每輛車的容量為8。
[0046]步驟I)獲取每個客戶的需求信息,包括起點、終點和時間,