時間:2023-06-08 09:15:56
序論:速發表網結合其深厚的文秘經驗,特別為您篩選了11篇路徑規劃典型算法范文。如果您需要更多原創資料,歡迎隨時與我們的客服老師聯系,希望您能從中汲取靈感和知識!
交通運輸的現代化使人們享受便利的同時,也面臨道路擁堵、事故頻發等問}。近年來,智能交通系統越來越受到人們的重視,它涉及到交通領域諸多方面,如最優路徑選擇、車輛路徑規劃、動態車輛調度、交通流量控制等。其中一個重要的應用是一類典型的以數學理論為基礎的組合優化問題,而蟻群算法具有內在的搜索機制及正反饋性,適合求解一系列的組合優化問題。
1 蟻群算法描述
蟻群算法源于20世紀90年代初意大利學者M.Dorigo首次提出的螞蟻系統。它是基于種群的啟發式放生進化系統,是通過對蟻群覓食過程中其行為的研究而得出的一種算法。主要思路是螞蟻借助自己路徑尋優的能力可以找到巢穴與食物之間最短的途徑。在尋找過程中主要依靠的是每個螞蟻在行進過程中留下的揮發性分泌物――信息素,依靠信息素,蟻群的螞蟻之間可以相互合作,相互配合,因此形成的正反饋可以使每只螞蟻找到所有路徑中最短的路徑。
螞蟻a從節點j移動至k的轉移概率可以從式(1)中獲取:
(1)
(2)
(3)
2 蟻群算法的應用優勢
蟻群算法,又名螞蟻算法,螞蟻可以利用信息素的濃度大小從而尋找到覓食的最優路徑。該算法的優點可以總結為:
2.1 并行分布式計算
每個螞蟻都是獨立的個體,在覓食過程中屬于多起點同時啟動,互不影響,從根本上分析該過程屬于分布式的多Agent系統,整體蟻群最終任務的順利完成不會由于某些個體的缺陷而受到影響。該算法具有真實可用性,并且可用于解決對單目標的優化或者對多目標的優化等重要問題。此外,螞蟻算法還可進行并行計算。
2.2 魯棒性
蟻群算法的最終結果與螞蟻最初選擇的路徑無太大關系,在利用人工仿真螞蟻進行問題求解過程中,不需要對其進行人工的修整。把問題簡單化,可以和其他算法相互結合求解最優問題。
2.3 自組織性
蟻群算法組織指令的來源為系統內部,它不受外界環境的干擾,因此該算法具有自組織性。
2.4 正反饋性
螞蟻對于最優路徑的選擇主要依靠路徑上信息素濃度的多少,信息素的堆積是正反饋的過程,路徑上信息素的含量越多則該路徑被選擇的幾率就會越大,正反饋的作用是使整體能夠更快的尋找到最優途徑,正反饋在蟻群算法中處于重要地位。
2.5 易于實現
它是一種啟發示算法,其計算復雜性為,整個算法的空間復雜度是:。
3 蟻群算法在智能交通領域的應用空間
蟻群算法在解決組合優化問題方面有著明顯的優勢,從而在智能交通領域也有著廣泛的應用空間。
3.1 車輛路徑導航
根據行車人員的需要,根據對實時路況信息的統計,系統可以智能的為其推薦最優路徑,節省時間,節省資源。
3.2 動態車輛調度
當客戶需要調度中心為其進行車輛服務時,調度中心要考慮到客戶的情況,要考慮到效率的問題,要考慮到行車路線、行駛時間等問題。蟻群算法便可迅速得到合理的解決方案,使客戶和調度中心均可受益。
3.3 車輛路徑規劃
面對多個客戶不同的要求時,配送中心要根據實際情況進行車輛的配送,通過蟻群算法系統獲取整體的最優路線,根據路線規劃,及時進行車輛出發以滿足客戶要求,同時充分利用了道路資源和車輛資源。
3.4 公共交通智能化調度
利用先進的技術手段、大型數據庫技術等動態地獲取實時交通信息,實現對車輛的實時監控和調度,最終建立集運營指揮調度、綜合業務通信及信息服務等為一體的智能化管理系統。
3.5 交通流量控制
通過蟻群算法簡化復雜的道路交通網絡,盡量使交通流量在各個道路上分布均勻,避免因流量過大而造成車輛的阻塞。及時了解交通流量情況,緩解了交通擁擠,降低了交通事故的發生率。
參考文獻
[1]M.Dorigo,V.Maniezzo,A.Colom.Ant System:Optimization by a colony of cooperating agents.IEEE trans on SMC,1996,26(01):28-41
[2]Eric BONABEAUB, Marco DORIGO,Guy THERAULAZ.AWARM intelligence: from natural to artificial systems[M].New York:Oxford University Press,1999
[3]楊海.蟻群算法及其在智能交通中的應用[D].濟南:山東師范大學,2008:14-18
作者簡介
白曉(1979-),女。工學碩士學位。現供職于廈門軟件職業技術學院軟件工程系。主要研究方向為軟件工程、智能算法。
1 引言
在移動機器人導航技術應用過程中,路徑規劃是一種必不可少的算法,路徑規劃要求機器人可以自己判定障礙物,以便自主決定路徑,能夠避開障礙物,自主路徑規劃可以自動的要求移動機器人能夠安全實現智能化移動的標志,通常而言,機器人選擇的路徑包括很多個,因此,在路徑最短、使用時間最短、消耗的能量最少等預定的準則下,能夠選擇一條最優化的路徑,成為許多計算機學者研究的熱點和難點。
2 背景知識
神經網絡模擬生物進化思維,具有獨特的結構神經元反饋機制,其具有分布式信息存儲、自適應學習、并行計算和容錯能力較強的特點,以其獨特的結構和信息處理方法,在自動化控制、組合優化領域得到了廣泛的應用,尤其是大規模網絡數據分析和態勢預測中,神經網絡能夠建立一個良好的分類學習模型,并且在學習過程中優化每一層的神經元和神經元連接的每一個節點。1993年,Banta等將神經網絡應用于移動機器人路徑規劃過程中,近年來,得到了廣泛的研究和發展,morcaso等人構建利用一個能夠實現自組織的神經網絡實現機器人導航的功能,并且可以通過傳感器訓練網絡,取得更好的發展,確定系統的最佳路徑。神經網絡拓撲結構模型可以分為:
2.1 前向網絡
網絡中各個神經元接受前一級的輸入,并輸出到下一級,網絡中沒有反饋,可以用一個有向無環路圖表示。這種網絡實現信號從輸入空間到輸出空間的變換,它的信息處理能力來自于簡單非線性函數的多次復合。網絡結構簡單,易于實現。反傳網絡是一種典型的前向網絡。
2.2 反饋網絡
網絡內神經元間有反饋,可以用一個無向的完備圖表示。這種神經網絡的信息處理是狀態的變換,可以用動力學系統理論處理。系統的穩定性與聯想記憶功能有密切關系。Hopfield網絡、波耳茲曼機均屬于這種類型。
3 基于人工神經網絡的移動機器人路徑規劃算法
神經網絡解決移動機器人路徑規劃的思路是:使用神經網絡算法能夠描述機器人移動環境的各種約束,計算碰撞函數,該算法能夠將迭代路徑點集作為碰撞能量函數和距離函數的和當做算法需要優化的目標函數,通過求解優化函數,能夠確定點集,實現路徑最優規劃。神經網絡算法在移動機器人路徑規劃過程中的算法如下:
(1)神將網絡算法能夠初始化神經網絡中的所有神經元為零,確定目標點位置的神經元活性值,并且能夠神經網絡每層的神經元連接將神經元的值傳播到出發點;
(2)動態優化神經網絡,根據神經網絡的目標節點和障礙物的具置信息,在神經網絡拓撲結構中的映射中產生神經元的外部輸入;
(3)確定目標值附件的神經元活性值,并且使用局部側的各個神經元之間,連接整個神經網絡,并且在各個神經元中進行傳播。
(4)利用爬山法搜索當前鄰域內活性值最大的神經元,如果鄰域內的神經元活性值都不大于當前神經元的活性值,則機器人保持在原處不動;否則下一個位置的神經元為鄰域內具有最大活性值的神經元。
(5)如果機器人到達目標點則路徑規劃過程結束,否則轉步驟(2)。
4 基于人工神經網絡的移動機器人路徑規劃技術展望
未來時間內,人工神經在機器人路徑規劃過程中的應用主要發展方向包括以下幾個方面:
4.1 與信息論相融合,確定神經網絡的最優化化目標解
在神經網絡應用過程中,由于經驗值較為難以確定,因此在神經網絡的應用過程中,將神經網絡看做是一個貝葉斯網絡,根據貝葉斯網絡含有的信息熵,確定神經網絡的目標函數的最優解,以便更好的判斷機器人移動的最佳路徑。
4.2 與遺傳算法想結合,確定全局最優解
將神經網絡和遺傳算法結合起來,其可以將機器人的移動環境設置為一個二維的環境,障礙物的數目、位置和形狀是任意的,路徑規劃可以由二維工作空間一系列的基本點構成,神經網絡決定機器人的運動控制規則,利用相關的神經元的傳感器作用獲未知環境的情況,將障礙信息和目標點之間的距離作為神經網絡的輸入信息,使用遺傳算法完成神經網絡的權值訓練,神經網絡的輸出作為移動機器人的運動作用力,實現一個可以在未知環境中進行的機器人運動路徑規劃。
4.3 與蟻群算法相結合,降低搜索空間,提高路徑規劃準確性
為了提高神經網絡的搜索準確性和提高效率,可以將蟻群算法與神經網絡相互結合,蟻群算法的路徑規劃方法首先采用柵格法對機器人工作環境進行建模,然后將機器人出發點作為蟻巢位置,路徑規劃最終目標點作為蟻群食物源,通過螞蟻間相互協作找到一條避開障礙物的最優機器人移動路徑。
5 結語
隨著移動機器人技術的發展,路徑規劃作為最重要的一個組成部分,其得到了許多的應用和發展,其在導航過程中,也引入了許多先進的算法,比如神經網絡,更加優化了移動的路徑。未來時間內,隨著神經網絡技術的改進,可以引入遺傳算法、信息論、蟻群算法等,將這些算法優勢結合,將會是路徑規劃更加準確和精確。
參考文獻
[1]朱大奇,顏明重,滕蓉. 移動機器人路徑規劃技術綜述[J].控制與決策,2010,25(7): 961-967.
[2]劉毅.移動機器人路徑規劃中的仿真研究[J].計算機仿真,2011,28(6): 227-230.
[3]熊開封,張華.基于改進型 FNN 的移動機器人未知環境路徑規劃[J].制造業自動化,2013,35(22): 1-4.
[4]柳長安,鄢小虎,劉春陽.基于改進蟻群算法的移動機器人動態路徑規劃方法[J].電子學報,2011,39(5).
二、算法模型
基于時間成本的物流線路優化計算主要運用到三個求解算法,分別是聚類算法、最優路徑算法和訂單日規劃算法。基本求解方案是:第一步按照車輛裝載率完成對客戶興趣點聚類;第二步細致優化配送路徑;第三步平衡每日訂單分布。
1.聚類算法
聚類是空間數據挖掘中的一個重要研究領域,是指將物理的或抽象的對象分組成為由類似對象組成的多個類(簇)的過程。
以紹興煙草為例,聚類計算時首先采用自下而上的一階段方法對全地區26000個零售戶點進行聚類,獲得411個初始聚類結果。再根據實際需求,按照類容量將前408個類作為直接指派的初始類核,以配送車裝載率90%作為類容量上限,進行直接指派聚類,最終獲得聚類結果。
2.最優路徑算法
最優路徑算法的目標是尋找給定起點和終點間的最短路徑,文章采用Dijkstra(迪杰斯特拉)算法。Dijkstra算法是典型的單源最短路徑算法,用于計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。
⑴初始時,S只包含源點,即S=v。U包含除v外的其他頂點,U中頂點u對應的距離值為邊上的權(若v與u有邊)或 (若u不是v的出邊鄰接點)。
⑵從U中選取一個距離v最小的頂點k,把k,加入S中(該選定的距離就是v到k的最短路徑長度)。
⑶以k為新考慮的中間點,修改U中各頂點的距離;若從源點v到頂點u的距離(經過頂點k)比原來距離(不經過頂點k)短,則修改頂點u的距離值,修改后的距離值為頂點k的距離加上邊上的權。
⑷重復步驟(2)和(3)直到所有頂點都包含在S中。
3.配送工作量模型和訂單日規劃算法
進行訂單日規劃時,文章引入工作量模型概念,將綜合作業時間作為線路優化的單一標準,把送貨戶數、送貨量、行駛里程等多維度統一轉換成工作時間,解決線路優化時指標過多,計算困難的問題。
綜合作業時間=裝車交接時間+車輛行駛時間+基本服務時間+客戶交接時間+現金繳款時間。裝車交接時間=(裝車準備時間車次)+(裝車框數單框裝車時間)
訂單日規劃算法的目標是確定各配送線路的配送車輛和配送日,規劃要求滿足以下約束條件:車輛數最少;一周內各配送車輛工作時間基本均衡;每天各配送車輛工作時間基本均衡;每天工作時間上限設定6.5小時。
訂單日規劃算法模型:
約束條件:
(1.1)
(1.2)
(1.3)
(1.4)
i 需要安排的路線序號;取值范圍從1到路線的最大數;
j 送貨車序號;取值范圍從1到指定車輛數;
k訂單日的序號;取值范圍從1到5,表示一周配送5天;
b每天所有車輛工作時間的上限;
c每輛車一周工作量上限;
d每輛車每天工作量的上限,d為6.5小時。
公式(1.1)一條路線有卻只能有某輛車在某一天配送;
公式(1.2)每天所有車
的工作量不能超過上限b;
公式(1.3)每輛車每周的工作量不能超過上限c;
關鍵詞:多機器人;路徑規劃;強化學習;評判準則
Abstract:This paper analyzed and concluded the main method and current research of the path planning research for multirobot.Then discussed the criterion of path planning research for multirobot based large of literature.Meanwhile,it expounded the bottleneck of the path planning research for multirobot,forecasted the future development of multirobot path planning.
Key words:multirobot;path planning;reinforcement learning;evaluating criteria
近年來,分布式人工智能(DAI)成為人工智能研究的一個重要分支。DAI研究大致可以分為DPS(distributed problem solving)和MAS(multiagent system)兩個方面。一些從事機器人學的研究人員受多智能體系統研究的啟發,將智能體概念應用于多機器人系統的研究中,將單個機器人視做一個能獨立執行特定任務的智能體,并把這種多機器人系統稱為多智能體機器人系統(MARS)。因此,本文中多機器人系統等同于多智能體機器人系統。目前,多機器人系統已經成為學術界研究的熱點,而路徑規劃研究又是其核心部分。
機器人路徑規劃問題可以建模為一個帶約束的優化問題,其包括地理環境信息建模、路徑規劃、定位和避障等任務,它是移動機器人導航與控制的基礎。單個移動機器人路徑規劃研究一直是機器人研究的重點,且已經有許多成果[1~3],例如在靜態環境中常見的有連接圖法、可視圖法、切線圖法、Voronoi圖法、自由空間法、柵格法、拓撲法、鏈接圖法、DempsterShafer證據理論建圖等;動態環境中常見的有粒子群算法、免疫算法、遺傳算法、神經網絡、蟻群算法、模擬退火算法、人工勢場法等。然而,多機器人路徑規劃研究比單個機器人路徑規劃要復雜得多,必須考慮多機器人系統中機器人之間的避碰機制、機器人之間的相互協作機制、通信機制等問題。
1 多機器人路徑規劃方法
單個機器人的路徑規劃是找出從起始點至終點的一條最短無碰路徑。多個機器人的路徑規劃側重考慮整個系統的最優路徑,如系統的總耗時間最少路徑或是系統總路徑最短等。從目前國內外的研究來看,在規劃多機器人路徑時,更多考慮的是多機器人之間的協調和合作式的路徑規劃。
目前國內外多機器人路徑規劃研究方法分為傳統方法、智能優化方法和其他方法三大類。其中傳統方法主要有基于圖論的方法(如可視圖法、自由空間法、柵格法、Voronoi圖法以及人工勢場方法等);智能優化方法主要有遺傳算法、蟻群算法、免疫算法、神經網絡、強化學習等;其他方法主要有動態規劃、最優控制算法、模糊控制等。它們中的大部分都是從單個機器人路徑規劃方法擴展而來的。
1)傳統方法 多機器人路徑規劃傳統方法的特點主要體現在基于圖論的基礎上。方法一般都是先將環境構建成一個圖,然后再從圖中尋找最優的路徑。其優點是比較簡單,比較容易實現;缺點是得到的路徑有可能不是最優路徑,而是次優路徑。薄喜柱等人[4]提出的一種新路徑規劃方法的基本思想就是基于柵格類的環境表示和障礙地圖的。而人工勢場方法的基本思想是將移動機器人在環境中的運動視為一種虛擬人工受力場中的運動。障礙物對移動機器人產生斥力,目標點產生引力,引力和斥力周圍由一定的算法產生相應的勢,機器人在勢場中受到抽象力作用,抽象力使得機器人繞過障礙物。其優點是適合未知環境下的規劃,不會出現維數爆炸問題;但是人工勢場法也容易陷入局部最小,并且存在丟失解的部分有用信息的可能。顧國昌等人[5]提出了引用總體勢減小的動態調度技術的多機器人路徑規劃,較好地解決了這個問題。
2)智能優化方法 多機器人路徑規劃的智能優化方(算)法是隨著近年來智能計算發展而產生的一些新方法。其相對于傳統方法更加智能化,且日益成為國內外研究的重點。
遺傳算法是近年來計算智能研究的熱點,作為一種基于群體進化的概率優化方法,適用于處理傳統搜索算法難以解決的復雜和非線性問題,如多機器的路徑規劃問題。在路徑規劃中,其基本思想是先用鏈接圖法把環境地圖構建成一個路徑節點鏈接網,將路徑個體表達為路徑中一系列中途節點,并轉換為二進制串;然后進行遺傳操作(如選擇、交叉、復制、變異),經過N次進化,輸出當前的最優個體即機器人的最優路徑。遺傳算法的缺點是運算速度不快,進化眾多的規劃要占據很大的存儲空間和運算時間;優點是有效避免了局部極小值問題,且計算量較小。
孫樹棟等人[6,7]在這方面較早地展開了研究,提出的基于集中協調思想的一種混合遺傳算法來規劃多機器人路徑方法較好地解決了避障問題。但不足的是該方法必須建立環境地圖,在環境未知情況下的規劃沒有得到很好的解決;且規劃只能保證找到一個比較滿意的解,在求解全局最優解時仍有局限。
文獻[8]中提出的一種基于定長十進編碼方法有效降低了遺傳算法的編碼難度,克服了已有的變長編碼機制及定長二進制編碼機制需特殊遺傳操作算子和特殊解碼的缺陷, 使得算法更加簡單有效。
智能計算的另一種常見的方法——蟻群算法屬于隨機搜索的仿生算法。其基本思想是模擬螞蟻群體的覓食運動過程來實現尋優,通過螞蟻群體中各個體之間的相互作用,分布、并行地解決組合優化問題。該算法同樣比較適合解決多機器人的路徑規劃問題。
朱慶保[9]提出了在全局未知環境下多機器人運動螞蟻導航算法。該方法將全局目標點映射到機器人視野域邊界附近作為局部導航子目標,再由兩組螞蟻相互協作完成機器人視野域內局部最優路徑的搜索,然后在此基礎上進行與其他機器人的碰撞預測與避碰規劃。因此,機器人的前進路徑不斷被動態修改,從而在每條局部優化路徑引導下,使機器人沿一條全局優化的路徑到達目標點。但其不足是在動態不確定的環境中路徑規劃時間開銷劇增,而且機器人缺乏必要的學習,以至于整個機器人系統路徑難以是最優路徑。
強化學習[10,11] (又稱再激勵學習)是一種重要的機器學習方法。它是一種智能體從環境狀態到行為映射的學習,使得行為從環境中獲得積累獎賞值最大。其原理如圖1所示。
強化學習算法一般包含了兩個步驟:a)從當前學習循環的值函數確定新的行為策略;b)在新的行為策略指導下,通過所獲得的瞬時獎懲值對該策略進行評估。學習循環過程如下所示,直到值函數和策略收斂:
v0π1v1π2…v*π*v*
目前比較常見的強化學習方法有:Monte Carlo方法、動態規劃方法、TD(時間差分)方法。其中TD算法包含Sarsa算法、Q學習算法以及Dyna-Q算法等。其Q值函數迭代公式分別為
TD(0)策略: V(si)V(si)+α[γi+1+γV(si+1)-V(si)]
Sarsa算法: Q(st,at)Q(st,at)+α[γt+1+γQ(st+1,at.+1)-Q(st,at)]Qs′學習算法: Qπ(s,a)=∑Pαss′[Rass′+γVπ(s′)]
近年來,基于強化學習的路徑規劃日益成為國內外學者研究的熱點。M. J. Mataric[12]首次把強化學習引入到多機器人環境中。而基于強化學習的多機器人路徑規劃的優點主要體現在:無須建立精確的環境模型,簡化了智能體的編程;無須構建環境地圖;強化學習可以把路徑規劃、避碰、避障、協作等問題統一解決。
張芳等人[13]提出了基于再激勵協調避障路徑規劃方法,把再勵函數設計為基于行為分解的無模型非均勻結構,新的再勵函數結構使得學習速度得以提高且有較好的魯棒性。同時,證明了在路徑規劃中,機器人的趨向目標和避障行為密切相關,對反映各基本行為的再勵函數取加權和來表示總的再勵函數要優于取直接和的表示方式,也反映了再勵函數設計得合理與否及其確切程度將影響再勵學習的收斂速度。王醒策等人[14]在動態編隊的強化學習算法方面展開了研究。宋一然[15]則提出了分段再勵函數的強化學習方法進行路徑規劃。其缺點是學習次數較多、效率不高,當機器人數目增加時,它有可能面臨維數災難的困難。所以,基于強化學習的路徑規劃在多機器人環境下的學習將變得比較困難,需要對傳統的強化學習加以優化,如基于人工神經網絡的強化學習[16]等。
3)其他方法 除了以上國內外幾種比較常見且研究較多的方法外,還有唐振民等人[17]提出的基于動態規劃思想的多機器人路徑規劃,把運籌學中的動態規劃思想與Dijkstra算法引入到多機器人的路徑規劃中,用動態規劃的基本思想來解決圖論中的費用流問題和路徑規劃中的層級動態聯盟問題。其選擇距離鄰近法作為聯盟參考依據。一個機器人的鄰居是指在地理位置上分布在這個機器人周圍的其他機器人;與該機器人最近鄰的機器人為第一層鄰居,第一層鄰居的鄰居為該機器人的第二層鄰居, 依此類推。那么層級越高(即越近)的鄰居,它滿足協作要求的可能性越大。動態規劃算法實質上是一種以空間換時間的技術,它在實現的過程中,必須存儲產生過程中的各種狀態,其空間復雜度要大于其他算法,故動態規劃方法比較適合多機器人的全局路徑規劃。
孫茂相等人[18]提出了最優控制與智能決策相結合的多移動機器人路徑規劃方法。其首先構造一個以各機器人最優運動狀態數據庫為核心的實時專家系統, 在離線狀態下完成; 然后各機器人在此專家系統的支持下, 以最優規劃策略為基礎, 采用速度遷移算法, 自主決定其控制。該方法擁有較好的穩定性與復雜度。焦立男等人[19]提出的基于局部傳感和通信的多機器人運動規劃框架較好地解決了多機器人路徑規劃在局部在線規劃的系統框架問題。沈捷等人[20]提出了保持隊形的多移動機器人路徑規劃。以基于行為的導航算法為基礎,把機器人隊列的運動過程劃分為正常運動、避障和恢復隊形三個階段。在避障階段,引入虛擬機器人使隊形保持部分完整;當隊形被嚴重打亂時,規劃機器人的局部目標位姿使隊列快速恢復隊形。其算法重點為避障機器人進入避障狀態,暫時脫離隊列,并以虛擬機器人代替避障機器人。
2 多機器人避碰和避障
避障和避碰是多機器人路徑規劃研究中需要考慮的重點問題之一。避障和避碰主要討論的內容有防止碰撞;沖突消解、避免擁塞;如何避免死鎖。在路徑規劃中常見的多機器人避障方法[21]有主從控制法、動態優先法(建立在機器人之間的通信協商上)、交通規則法、速率調整法,以及障礙物膨脹法、基于人工勢場的方法等。
目前國內外對于多機器人避障展開的研究還不是很多,比較典型的有徐潼等人[22]以Th.Fraichard的思想為基礎,擴充并完善了路徑/速度分解方案來協調多機器人,設立集中管理agent進行整體規劃,為每個機器人規劃路徑;并根據優先級規則對運動特征進行分布式規劃以避免機器人間的沖突。周明等人[23]提出分布式智能避撞規劃系統,將原來比較復雜的大系統轉換為相對簡單的子系統問題,由各智能機器人依據任務要求和環境變化, 獨立調整自身運動狀態,完成任務的分布式智能決策體系結構。任炏等人[24]提出了基于過程獎賞和優先掃除的強化學習多機器人系統的沖突消解方法。該算法能夠顯著減少沖突,避免死鎖,提高了系統整體性能。歐錦軍等人[25]提出了通過調整機器人的運動速度實現多機器人避碰,將避碰問題轉換為高維線性空間的優化問題, 并進一步將其轉換為線性方程的求解。該方法的缺點是系統的復雜度較高、計算量太大。
人工勢場方法的特點是計算簡潔、實時性強、便于數學描述,且適合于多自由度機器人環境,但容易產生抖動和陷入局部極小。為了克服其缺點,景興建等人[26]提出了人工協調場的方法,在傳統排斥力場中增加一個協調力,并將吸引力、排斥力和協調力與局部環境下機器人的運動狀態和運動要求結合起來,有效地保證機器人的安全性,提高機器人在復雜動態環境下行為決策的準確性和魯棒性。
3 多機器人協作和協調機制
多機器人間的運動協調[27~31]是多機器人路徑規劃的關鍵,也是多機器人與單機器人路徑規劃相區別的根本所在。多機器人系統在復雜動態實時環境下,由于受到時間、資源及任務要求的約束,需要在有限時間、資源的情況下進行資源分配、任務調配、沖突解決等協調合作問題,而機器人間的協調與協作,能夠大大地提高整個系統的效率和魯棒性,成為系統完成控制或解決任務的關鍵。
目前已有的協調方式分為集中式、分布式和混合式三種。在集中式協調中,集中規劃器詳細地規劃出每個機器人的動作,通常的做法是將多個機器人看做一個多自由度的機器人進行規劃;而分布式協調規劃中,機器人之間進行合作,將一個任務分成多個子任務,根據各自的特點完成不同的子任務,從而共同完成總任務;混合式協調是集中式和分布式混合在一起的形式。
多機器人間典型的協調方法[32]有合同網協議[33]、黑板模型、結果共享的協同方法、市場機制。近年來強化學習在多機器人協作方面也得到很好的應用,陳雪江[32]在基于強化學習的多機器人協作方面展開了研究,提出了多智能體協作的兩層強化學習方法來求解在多智能體完全協作、有通信情況下的協作問題。其主要通過在單個智能體中構筑兩層強化學習單元來實現:第一層強化學習單元負責學習智能體的聯合任務協作策略;第二層強化學習單元負責學習在本智能體看來是最有效的行動策略。陳偉等人[34]提出基于多目標決策理論的多機器人協調方法;通過對環境的拓撲建模,從基于行為的機器人學角度出發,對任務進行分解并設計目標行為,以多目標行為決策理論作為決策支持,從而達到多機器人運動協調的目的。
4 多機器人路徑規劃方(算)法的判優準則
通常評價機器人路徑規劃方(算)法的標準文獻[35]有正確性、時間/空間復雜度、并行性、可靠性、擴展性、魯棒性和學習。而多機器人的路徑規劃除了以上一些衡量標準之外,還需要考慮整個系統的最優化以及機器人間的協調性。
1)正確性 是分析算法的最基本的原則之一。一般來說算法的正確性是指:在給定有效的輸入數據后,算法經過有窮時間的計算能給出正確的答案。但在多機器人路徑規劃算法中,正確性主要指:路徑規劃算法要生成多個機器人協調運動的無碰安全路徑;這條路徑是優化的。
2)安全性 一般指多機器人所生成的各路徑中節點與障礙物有一定的距離。但在實際的應用背景下,有人認為安全性可以從兩個方面來理解:a)狹義地講,它就是機器人在行走過程中所做的功。在一定的條件下,它與路徑長度準則是一致的。b)廣義地講,它是各種優化條件加權綜合而得到的結果。
3)復雜度 一個算法的復雜性高低體現在該算法所需要的計算機資源的多少上面。所需要的資源越多,該算法的復雜性越高;反之,所需要的資源越少,該算法的復雜性就越低。算法的復雜性包括時間復雜度和空間復雜度。
在多機器人的路徑規劃算法中,算法的復雜度分析顯得尤為重要。一般地,單機器人路徑規劃算法的時空復雜度已經頗高,它們的數量級至少是O(n2);多機器人的路徑規劃算法不僅是m-O(n2)(即m個機器人路徑規劃簡單地疊加),它們之間還存在著對運動空間競爭的沖突,面對不斷變化的沖突的協調需要花費大量的時間和空間。通常多機器人的路徑規劃算法與機器人的個數呈指數關系O(km×n2)(k為常數)。這對多機器人路徑規劃算法的時間/空間復雜度控制是一個很嚴峻的考驗。
4)并行性 算法的并行性從算法設計、編寫程序、編譯和運行等多個不同的層次來體現。路徑規劃過程需要大量的計算,當處理的環境比較復雜,機器人工作的環境過于緊湊,尤其是機器人數量很多時,算法的時間/空間復雜度勢必會成為算法效率的關鍵。因此,在算法設計和運行上的并行性是通常考慮的方法。對多個機器人的路徑規劃盡量采用分布式多進程的規劃機制,以實現每個機器人路徑規劃的并行性。
5)可靠性 把多個機器人及其工作環境看成是一個系統,多機器人處于它們各自的起始點時,稱該系統處于初始狀態;當它們處于各自的目標點時,稱該系統處于目標狀態。多機器人的路徑規劃就是在該系統的這兩個狀態間建立一串合理的狀態變遷。這一狀態變遷過程可能會歷經許多狀態,如果在狀態變遷過程中,路徑規劃算法控制不好各狀態間的轉移關系,就會導致系統紊亂,出現機器人間的碰撞、找不到路徑等惡性后果,使任務失敗。所以這就對算法的可靠性和完備性提出了挑戰。為了很好地克服這一困難,需要對系統的各種可能狀態建模,分析它們相互間的關系,建立有限狀態自動機模型或Petri網模型,并以此為指導,按照軟件工程的思想,構造恰當的算法輸入來對算法的可靠性進行檢驗。
6)可擴展性 在多機器人的路徑規劃算法中,可擴展性主要是指一種路徑規劃算法在邏輯上,或者說在實現上能否容易地從2D空間擴展到3D空間,從低自由度擴展到高自由度,從較少的機器人數到更多的機器人數。可擴展性在各種路徑規劃算法之間沒有一種量的比較標準,只能從實際的具體情況出發、從對環境描述的適宜程度出發、從算法解決這一問題的復雜度出發、從算法本身的自適應出發等來考慮。
7)魯棒性和學習 魯棒性對于多機器人系統非常重要。因為許多應用,如路徑規劃要求連續的作業、系統中的單個機器人出現故障或被破壞,要求機器人利用剩余的資源仍然能夠完成任務。學習是在線適應特定的任務。雖然通用的系統非常有用,但將它用于特定應用上時,通常需要調整一些參數。具有在線調整相關參數的能力是非常吸引人的,這在將體系結構轉移到其他應用時可以節省許多工作。尤其是多機器人系統中機器人的自身學習和相互間的學習能夠大大提高整個系統的效率和系統的穩定性。
8)最優化 對動態環境有優化反應。由于有些應用領域涉及的是動態的環境條件,具有根據條件優化系統的反應能力成為能否成功的關鍵。
5 結束語
綜上所述,國內外研究者在多機器人路徑規劃取得了一些成果,但是在協作、學習、通信機制等方面仍面臨很大的困難和不足。如何進一步提高機器人間的協調性,增強機器人自身以及相互間的學習以提高多機器人系統的效率和魯棒性都有待深入研究。近年來無線通信技術得到長足發展,但在目前的技術條件下,在多機器人系統中實現所有機器人之間的點對點實時通信還有較大困難,這也是大多數多機器人系統仍然采用集中通信方式的主要原因。因此,如何降低多機器人系統對通信速度的依賴程度也是一個非常重要的問題。
總之,多機器人路徑規劃設計和實現是一項極其復雜的系統工程,展望其能在結合計算智能方法,如差分進化、遺傳算法、粒子群算法、免疫算法、模糊邏輯算法、BP網絡、人工勢場的改進、模擬退火和環境建模方法等方面取得新的突破。
參考文獻:
[1]WEISS G.Multiagent systems:a modern approach to distributed modern approach to artificial intelligence[M].Cambridge, Massachusetts:MIT Press,1999:121-161.
[2]蔡自興,徐光祐.人工智能及其應用:研究生用書[M].3版.北京:清華大學出版社,2004:124-198.
[3]譚民,王碩,曹志強.多機器人系統[M].北京:清華大學出版社,2005:6-81.
[4]薄喜柱,洪炳熔.動態環境下多移動機器人路徑規劃的一種新方法[J].機器人,2001,23(5):407-410.
[5]顧國昌,李亞波.基于總體勢減小的動態調度技術解決多機器人的路徑規劃[J].機器人,2001,23(2):171-174.
[6]孫樹棟,林茂.基于遺傳算法的多移動機器人協調路徑規劃[J].自動化學報,2000,26(5):672-676.
[7]周明,孫樹棟,彭炎午.基于遺傳算法的多機器人系統集中協調式路徑規劃[J].航空學報,2000,21(2):146-149.
[8]CAI Zixing,PENG Zhihong.Cooperative coevolutionary adaptive genetic algorithm in path planning of cooperative multimobile robot systems[J].Journal of Intelligent and Robotic Systems:Theory and Applications,2002,33(1):61-71.
[9]朱慶保.全局未知環境下多機器人運動螞蟻導航算法[J].軟件學報,2006,17(9):1890-1898.
[10]SANDHOLM T W,CRITES R H.Multiagent reinforcement learning in the iterated prisoner’s dilemma[J].BioSystems,1996,37(1):147-166.
[11]高陽,陳世福,陸鑫.強化學習研究綜述[J].自動化學報,2004,30(1):
86-100.
[12]MATARIC M J.Interaction and intelligent behavior[D].Massachusetls:Department of Electrical Engineering and Computer Science,MIT,1994.
[13]張芳,顏國正,林良明.基于再勵學習的多移動機器人協調避障路徑規劃方法[J].計算機工程與應用,2003,39(3):80-83.
[14]王醒策,張汝波,顧國昌.多機器人動態編隊的強化學習算法研究[J].計算機研究與發展,2003,40(10):1444-1450.
[15]宋一然.基于強化學習的多機器人路徑規劃方法[J].莆田學院學報,2006,13(2):38-41.
[16]韓學東,洪炳熔.基于人工神經網絡的多機器人協作學習研究[J].計算機工程與設計,2002,23(6):1-3.
[17]唐振民,趙春霞,楊靜宇,等.基于動態規劃思想的多機器人路徑規劃[J].南京理工大學學報,2003,27(5):610-615.
[18]孫茂相,周明,王艷紅,等.多移動機器人實時最優運動規劃[J].控制與決策,1998,
13(2):125-130.
[19]焦立男,唐振民.基于局部傳感和通訊的多機器人運動規劃框架[J].計算機工程與應用,2007,43(17):89-93.
[20]沈捷,費樹岷,鄭波.多移動機器人保持隊形路徑規劃[J].東南大學學報,2005,35(3):391-395.
[21]MANSOR M A,MORRIS A S.Path planning in unknown environment with obstacles using virtual window[J].Journal of Intelligent and Robotic Systems,1999,24(3):235-251.
[22]徐潼,唐振民.多機器人系統中的動態避碰規劃[J].計算機工程,2003,29(17):
79-81,104.
[23]周明,孫茂相,尹朝萬,等.多移動機器人分布式智能避撞規劃系統[J].機器人,1999,21(2):139-143.
[24]任炏,陳宗海.基于強化學習算法的多機器人系統的沖突消解的方法[J].控制與決策,2006,21(4):430-434,439.
[25]歐錦軍,朱楓.一種多移動機器人避碰規劃方法[J].機器人,2000,22(6):474-481.
[26]景興建,王越超,談大龍.基于人工協調場的多移動機器人實時協調避碰規劃[J].控制理論與應用,2004,21(5):757-764.
[27]PANAIT L,LUKE S.Cooperative multiagent learning:the state of the art[J].Autonomous Agents and MultiAgent Systems,2005,11(3):387-434.
[28]TZAFESTAS C S,PROKOPIOU P A,TZAFESTAS S G.Path planning and control of a cooperative three robot system manipulating large objects[J].Journal of Intelligent and Robotic Systems,1998,22(2):99-116.
[29]薛宏濤,葉媛媛,沈林成,等.多智能體系統體系結構及協調機制研究綜述[J].機器人,2001,23(1):85-90.
[30]周風余,李貽斌,宋銳,等.基于混合式多智能體系統的協作多機器人系統研究[J].山東大學學報:工學版,2005,35(1):82-87.
[31]夏冰,張佐,張毅,等.基于多智能體系統的動態路徑選擇算法研究[J].公路交通科技,2003,20(1):93-96.
[32]陳雪江.基于強化學習的多機器人協作機制研究[D].杭州:浙江工業大學,2004.
引言
物流與國民經濟及生活的諸多領域密切相關,得到越來越多的重視,甚至被看作是企業“第三利潤的源泉”。因此,作為物流領域中的典型問題,旅行商問題(Traveling Salesman Problem,TSP)的研究具有巨大的經濟意義。
TSP(Traveling Salesman Problem)問題, 是VRP[2]的特例,也稱為巡回旅行商問題,貨擔郎問題。簡稱為TSP問題,已證明TSP問題是NP難題。。TSP問題可描述為:給定一組n個城市和它們兩兩之間的直達距離,尋找一條閉合的旅程,使得每個城市剛好經過一次而且總的旅行路徑最短。TSP問題的描述很簡單,簡言之就是尋找一條最短的遍歷n個城市的路徑,或者說搜索整數子集X={1,2,…,n}(X中的元素表示對n個城市的編號)的一個排列π(X)={v1, v2,…, vn},使取最小值.式中的d(vi,vi+1)表示城市vi到城市vi+1的距離。它是一個典型的、容易描述但卻難以處理的NP完全問題。同時TSP問題也是諸多領域內出現的多種復雜問題的集中概括和簡化形式。所以,有效解決TSP問題在計算理論上和實際應用上都有很高的價值。而且TSP問題由于其典型性已經成為各種啟發式的搜索、優化算法 (如遺傳算法、神經網絡優化法、列表尋優法、模擬退火法等)的間接比較標準。
1 遺傳算法與蟻群算法
1.1 遺傳算法原理
遺傳算法(Genetic Algorithms,GA) 是一種借鑒生物界自然選擇和自然遺傳機制的隨機搜索算法,由美國J.Holland教授提出,其主要內容是種群搜索策略和種群中個體之間的信息交換,搜索不依賴于梯度信息.該算法是一種全局搜索算法,尤其適用于傳統搜索算法難于解決的復雜和非線性問題.。選擇算子、交叉算子和變異算子是遺傳算法的3個主要操作算子.遺傳算法中包含了如下5個基本要素:①對參數進行編碼;②設定初始種群大小;③設計適應度函數;④設計遺傳操作;⑤設定控制參數(包括種群大小、最大進化代數、交叉率、變異率等)
1.2 蟻群算法原理
研究表明:螞蟻在覓食途中會留下一種外激素.螞蟻利用外激素與其他螞蟻交流、合作,找到較短路徑.經過某地的螞蟻越多,外激素的強度越大.螞蟻擇路偏向選擇外激素強度大的方向.這種跟隨外激素強度前進的行為會隨著經過螞蟻的增多而加強,因為通過較短路徑往返于食物和巢穴之間的螞蟻能以更短的時間經過這條路徑上的點,所以這些點上的外激素就會因螞蟻經過的次數增多而增強.這樣就會有更多的螞蟻選擇此路徑,這條路徑上的外激素就會越來越強,選擇此路徑的螞蟻也越來越多.直到最后,幾乎所有的螞蟻都選擇這條最短的路徑.這是一種正反饋現象.
2.算法改進
在傳統解決方法中,遺傳算法以其快速全局搜索能力在物流領域獲得了廣泛的應用。但遺傳算法在求解到一定程度時,往往作大量的冗余迭代,對于系統中的反饋信息利用不夠,效率較低;蟻群算法也以其較強的魯棒性和智能選擇能力被廣泛應用于旅行商問題 。蟻群算法是通過信息素的累積和更新而收斂于最優路徑,具有分布、并行、全局收斂能力,但由于蟻群算法的全局搜索能力較差,易陷入局部最優,很難得到最優解。
為了克服兩種算法各自的缺陷,形成優勢互補。為此首先利用遺傳算法的隨機搜索、快速性、全局收斂性產生有關問題的初始信息素分布。然后,充分利用蟻群的并行性、正反饋機制以及求解效率高等特征。算法流程如圖1
圖1 遺傳混合算法流程
2.1遺傳混合算法的具體描述如下:
Step1 給出,放置m個螞蟻在n個城市上。
Step 2 把所有螞蟻的初始城市號碼放置到tabuk中,列表tabuk紀錄了當前螞蟻k所走過的城市,當所有n個城市都加入到tabuk中時,螞蟻k便完成了一次循環,此時螞蟻k所走過的路徑便是問題的一個解。
Step 3 螞蟻K從起點開始,按概率的大小選擇下一個城市j,k∈{1,2,…,m},j∈allowedk如果螞蟻k轉移到j ,從allowedk中刪除,并將j加入到tabuk直至allowedk= 時重新回到起點。
Step 4 是否走完所有的城市,否,則轉入Step 3。
Step 5 計算,記錄,更新信息素濃度,所有路徑信息更新,如果,清空tabuk則轉入Step 2。
Step 6 當時,得到相對較優螞蟻的序列。初始化種群。
Step 7 計算適應度值。
Step 8 進行遺傳交叉與變異操作。
Step 9 輸出得到的最短回路及其長度。
2.2 算法過程實現
(1)種群初始化
用蟻群算法進行初始化種群,放m只螞蟻對所有城市進行遍歷,將得到的結果進行優化,做為蟻群算法的初始種群。每只螞蟻走過的路徑的就代表了一條基因(a0、a1、…、am-1、am),對于這條基因表示這只螞蟻首先從a0出發,次之訪問a1、…然后依次訪問am-1、am最后再回到a0。
(2)狀態轉移規則設置
轉移概率,為t時刻螞蟻由i城到j城的概率。
(1)
式中,allowedk表示螞蟻k下一步允許選則的城市,表示信息啟發因子,其值越大,該螞蟻越傾向于選擇其他螞蟻經過的路徑,螞蟻之間的協作性超強;β為期望啟發因子,β的大小表明啟發式信息受重視的程度,其值越大,螞蟻選擇離它近的城市的可能性也越大,越接近于貪心規則[6]。為啟發因子,其表達式為: ,每條路上的信息量為:
(2)其中
其中ρ表示路徑上信息的蒸發系數,1-ρ表示信息的保留系數;表示本次循環路徑(i,j)上信息的增量。表示第k只螞蟻在本次循環中留在路徑(i,j)上的信息量,如果螞蟻k沒有經過路徑(i,j),則的值為零,表示為:
(3)
其中,Q為常數, 表示第k只螞蟻在本次循環中所走過的路徑的長度。
(3)交叉算子的設計
首先隨機地在父體中選擇兩雜交點,再交換雜交段,其它位置根據保持父體中城市的相對次序來確定。例如,設兩父體及雜交點的A1和A2, A1=(2 6 4 7 3 5 8 9 1), A2=(4 5 2 8 1 6 7 9 3)。交換雜交段于是仍有B1=(2 6 4 1 8 7 6 9 1),B2=(4 5 2 7 3 5 8 9 3)。在新的城市序列中有重復的數,將雜交段中對應次序排列,即: 7-8、3-1、5-6,依此對應關系替換雜交段中重復的城市數。將B1中(2 6 4)重復的6換為5,B2(9 3)中重復的3換為1.。雜交后的兩個體為B1=(2 5 4 1 8 7 6 9 1),B2=(4 5 2 7 3 5 8 9 1)。本算法采用此方法交雜交。
3.仿真實驗
對TSP問題仿真所用的數據庫是TSPLIB典型51城市的數據。仿真平臺如表1所示。
表1 仿真試驗平臺
設備名稱
型號
CPU
Pentium(R)M 1.66 GH
內存
512M
操作系統
Microsoft Windows XP
仿真軟件
MierosoftVisualC++6.0
3.1 遺傳算法仿真
基本遺傳算法仿真。對51城市路徑優化路徑優化。參數設置如下:種群:50,最大迭代數:5000,交叉概率:0.8,變異概率:0.2
遺傳算法找到最優解的時間是95 s, ,路徑長度497。
3.2 蟻群算法仿真
基本蟻群算法對51城市路徑優化。其參數設置如下:ρ=1α=1,β=8,τ0=0.001Qu=100., m=51
基本蟻群算法找到最優解的時間是68 s, 路徑長度465。
3.3遺傳混合算法
遺傳混合算法對51城市路徑優化。其參數設置如下:種群:51,最大迭代數:5 000,交叉概率:0.8,變異概率:0.001;ρ=1α=1,β=8,τ0=0.001Qu=100,m=51;
遺傳混合算法找到最優解的時間是50 s, 路徑長度459。
遺傳算法、基本蟻群算法、遺傳混合算法對TSPLIB典型51城市的數據進行仿真,仿真結
果對比如表2所
算法名稱
所用時間(s)
最優結果
遺傳算法
95
497
基本蟻群算法
68
465
改進混合算法
50
456
4.結論
本文為了更好地解決物流領域中的旅行商問題,充分發揮遺傳算法的全局搜索能力和蟻群算法的正反饋能力和協同能力,采用了遺傳算法與蟻群算法混合算法進行求解,并且進行了模擬仿真。仿真結果表明,利用遺傳與蟻群混合算法可以找到較好解的能力,大大提高計算效率,結果質量也較好。
參考文獻:
[1]小平,曹立明.遺傳算法———理論、應用與軟件實現[M].西安交通大學出版社,2002.
[2][日]玄光男,程潤偉.遺傳算法與工程設計[M].科學出版社, 2000.
[3]胡小兵,黃席樾。蟻群優化算法及其應用[J]. 計算機仿真 2004,24(5)
一、概述各移動運營商及移動通信相關技術咨詢單位在進行規劃方案驗證時,傳統的方法是通過規劃仿真軟件使用宏蜂窩傳播模型及20米精度三維電子地圖對規劃方案進行仿真驗證;然而,宏蜂窩傳播模型的應用范圍和自身局限性限制了規劃方案仿真驗證的精度:首先,宏蜂窩傳播模型的應用范圍一般在500米以上,而CBD區域基站的覆蓋半徑一般在500米以下。其次,宏蜂窩傳播模型只能從宏觀上反映方案覆蓋效果,無法根據建筑物的高度從微觀上反映局部的覆蓋情況。因此,需要采用更合適的傳播模型配合高精度的三維電子地圖對CBD區域的規劃方案進行仿真驗證,以確保該重點區域無線網絡建成后的網絡性能。
目前射線跟蹤模型作為一種高精度的規劃仿真傳播模型在大中型城市覆蓋重點區域的規劃方案仿真驗證中得到廣泛應用。本文首先對射線跟蹤模型的原理進行探討,然后以WaveCall公司的WaveSight模型為例說明射線跟蹤模型的應用方法。其結果有助于應用射線跟蹤模型對規劃方案進行精確驗證,對規劃工作有積極的參考和指導作用。
二、射線跟蹤模型簡介2.1 微蜂窩傳播模型介紹 當前傳播模型根據應用范圍可分為宏蜂窩傳播模型和微蜂窩傳播模型,宏蜂窩傳播模型應用范圍為1km至幾十km;而微蜂窩傳播模型應用范圍僅為幾百米,一般只適用于基站附近區域。免費論文。由于CBD區域基站的覆蓋一般在500米以內,因此應用微蜂窩傳播模型對該區域規劃方案的效果進行仿真驗證更為合適。
微蜂窩傳播模型根據模型建立方法,可分為經驗模型,確定性模型以及混合模型;
l經驗模型
經驗模型是在大量測量的基礎上產生的,該模型與室外傳統宏蜂窩傳播模型類似,不考慮理論計算,對基站附近測量大量數據后統計歸納出經驗模型。
l確定性模型
確定性模型是依據電波傳播理論計算出接收點與發射點之間的傳播損耗。射線跟蹤模型是一種典型的確定性模型,確定性模型不考慮測量,僅在確定計算公式中的個別參數時需要測量驗證。
l混合模型
混合模型結合了經驗模型和確定性模型,一方面混合模型以電波傳播理論為依據得出電波的傳播模型,同時需要對基站附近測量大量數據以統計確定傳播模型中的參數值。
2.2 射線跟蹤模型介紹 射線跟蹤模型是一種確定性模型,其基本原理為標準衍射理論(Uniform Theory ofDiffraction,簡稱UTD)。根據標準衍射理論,高頻率的電磁波遠場傳播特性可簡化為射線(Ray)模型。因此射線跟蹤模型實際上是采用光學方法,考慮電波的反射、衍射和散射,結合高精度的三維電子地圖(包括建筑物矢量及建筑物高度),對傳播損耗進行準確預測。
由于在電波傳播過程中影響的因素過多,在實際計算預測中無法把所有的影響因素都考慮進去,因此需要簡化傳播因素;射線跟蹤算法把建筑物的反射簡化為光滑平面反射、建筑物邊緣散射以及建筑物邊緣衍射。
根據考慮路徑的種類不同,射線跟蹤模型可分為三種:
l2D射線跟蹤模型
只考慮水平切面的傳播路徑,即第一類路徑。
l3D射線跟蹤模型
只考慮水平切面以及垂直切面的傳播路徑,即第一類及第三類路徑。
l全3D射線跟蹤模型
考慮所有傳播路徑,即考慮所有第一、二、三類路徑。
三、射線跟蹤模型基本原理射線跟蹤模型的基本原理是簡化傳播因素,采用光學方法定位傳播路徑并計算各接收點與發射點之間的路徑損耗;因此,射線跟蹤模型的關鍵在于如何定位接收點與發射點之間的傳播路徑并計算路徑損耗。免費論文。
3.1 水平切面的傳播損耗從發射源在接收點之間可能存在很多傳播路徑,但是一般只有一到兩條強度最強,在傳播中起主導作用的主導傳播路徑。路徑損耗計算時只需計算主導傳播路徑的損耗即可。免費論文。
3.2 垂直切面的傳播損耗 相對于水平切面的傳播損耗,垂直切面的傳播損耗計算要簡單一些,計算垂直切面的傳播損耗時,需要首先確定發射源與接收點之間的垂直傳播路徑,然后計算其中各個刀鋒衍射損耗,其路徑損耗為各刀鋒衍射損耗之和。
3.3 射線跟蹤模型簡要結論 根據射線跟蹤模型的理論以及相關資料,可以得到射線跟蹤模型的簡要結論如下:
1.對近距離的場強預測, 水平切面算法(2D射線跟蹤算法)起主導作用。
2.全3D方向算法中全3D路徑(即第三類路徑)對遠距離的場強預測準確性影響很大。
3.在整齊規劃的建筑群中,對遠距離的場強預測,垂直切面算法可取代全3D方向算法。
四、射線跟蹤模型的應用 本節主要以WaveCall公司的WaveSight射線跟蹤模型為例,對射線跟蹤模型的應用進行說明。
WaveCall公司的WaveSight射線跟蹤模型作為AIRCOM公司的規劃軟件Enterprise的插件,可用于高精度的規劃方案仿真驗證。該模型基于標準衍射理論及射線跟蹤算法,綜合考慮電波傳播范圍內建筑物的輪廓、高度、地形剖面圖,對電波的傳播特性進行準確預測。
WaveSight模型是一種3D射線跟蹤模型,該模型包括兩種類型路徑:水平切面路徑以及垂直切面路徑。
對比傳統射線跟蹤模型,WaveSight 具有優點十分明顯:首先,WaveSight射線跟蹤模型采用了不同于傳統射線跟蹤模型的算法,空前地提高了計算效率:該模型完成一個基站的覆蓋預測所需時間僅是傳統射線跟蹤模型所需時間的1/3左右,不僅保證了覆蓋預測的精度,同時還保證了覆蓋預測的速度。此外,WaveSight 模型使用簡單,該模型不需要使用測試數據對其進行調校,僅需要輸入兩個參數:使用頻率及接收端高度。
WaveSight 射線跟蹤模型的缺點是:僅適用于市區環境,對電子地圖精度要求較高,不僅要求地圖精度必須達到5m 以上,而且要求提供建筑物矢量信息以及高度信息。
五、結論及后續工作 本文首先對射線跟蹤模型的原理進行探討,然后給出射線跟蹤模型的簡要結論,最后以WaveCall公司的WaveSight模型為例說明射線跟蹤模型的應用方法。其結果有助于應用射線跟蹤模型對規劃方案進行精確驗證,對規劃工作有積極的參考和指導作用。
今后研究工作可以再上述研究基礎上進一步展開,對全3D射線跟蹤算法進行進一步的探討,同時也可以對其它射線跟蹤模型如WinProp模型等進行研究,
進一步研究射線跟蹤傳播模型算法,更精確地城市CBD區域進行預測,指導網絡的規劃及優化工作。
【參考文獻】
1.WaveCall公司;《WaveCallPropagationWhitePaper》;2001
中圖分類號:P208 文獻標識碼:A 文章編號:1007-9599 (2013) 02-0000-02
1 概述
物流產業隨著基礎工業的不斷壯大及消費市場的蓬勃發展而快速興起。而中國的物流企業不論從技術裝備還是管理水平與國外仍存在較大差距,概括起來有一下幾個方面:對現代物流理念上的差距,企業規模方面的差距,社會需求方面的差距,管理體制方面的差距,專業手段方面的差距,專門人才方面的差距。據對美國物流業的統計與分析,以運輸為主的物流企業年平均資產回報率為8.3%(irr),倉儲為7.1%,綜合服務為14.8%。在中國大部分物流企業的年平均資產回報率僅為1%。這一數據,不僅說明了中國物流效率低下,同時企業仍有很大的空間通過物流來降低成本。
如何應用先進的技術手段來提高物流業的經營效率,及時高效、經濟地將商品配送到客戶手中,成了大家探討的話題,這也就是現代物流領域中備受關注的車輛路徑問題(vehicle routing problem,VRP)。物流配送路徑規劃的優化與否,對物流配送效率、費用和服務水平影響較大。而此類問題都涉及如何處理大量的空間數據與屬性數據而縮短物流時間、降低成本的問題。
地理信息系統作為不僅具有對空間和屬性數據采集、處理和顯示功能,而且可為系統用戶進行預測,監測、規劃管理和決策提供科學依據。它可以有效的結合最優路徑、各種VRP模型、車輛行駛成本等要素,在可視化分析以及物流規劃路徑分析等方面具有不可替代的作用。GIS技術與現代物流工程技術相結合,給現代物流行業提供了巨大的發展空間,為物流企業完善管理手段、減低管理成本、提高經濟效益、最終提升核心競爭力提供了機遇。
2 技術實現途徑研究
物流配送車輛路線優化問題由Dautzig和Ramser于1959年首次提出,該問題一般定義為:對一系列給定的顧客(取貨點或送貨點),確定適當的配送車輛行駛路線,使其從配送中心出發,有序地通過它們,最后返回配送中心。并在滿足一定的約束條件下(如車輛容量限制、顧客需求量、交發貨時間等),達到一定的目標(如路程最短、費用最少等)。配送中心的每次配送活動通常面對多個非固定用戶,并且這些用戶分布在不同的地點,同時他們的配送時間和配送數量也都不盡相同。如果配送中心不合理規劃車輛、貨物的運輸路線,常會影響了配送服務水平,還會造成運輸成本的上升,因此對車輛及貨物的配送路線進行規劃是配送中心的一項重要工作。
車輛路線優化問題一般可根據空間特性和時間特性分為車輛路線規劃問題和車輛調度問題。當不考慮時間要求,僅根據空間位置安排車輛的線路時稱為車輛線路或車輛路徑規劃問題(VRP)。當考慮時間要求安排運輸線路時稱為車輛調度問題(VSP)。本文不考慮時間要求,主要針對第一類VRP問題,提出相應的技術實現方案研究。
典型的VRP具有以下特征:(1)所有車輛從倉庫出發,并最終回到倉庫;(2)所有車輛必須滿足一定的約束;(3)多輛車負責多個客戶;(4)每個客戶由一輛車訪問一次;(5)車輛的路線上可以取送貨。目前研究的車輛路線規劃的模型主要有兩類,一類為網絡圖模型,另一類為數學模型。由于VRP難以用精確算發求解,啟發式算法是求解車輛運輸問題的主要方法,多年來許多學者對車輛運輸問題進行了研究,提出了各種各樣的啟發式方法。
物流公司的業務一般具有配送范圍廣的特點,本文主要針對大范圍跨省配送的案例進行智能路徑規劃,因此影響因素較多,主要包括:(1)大范圍、跨省的配送交通網絡圖;(2)復雜的車輛運作規則,包括運行時間、運載能力、運行成本計算、駕駛員工作時間限制等;(3)復雜的道路選擇優先級;(4)復雜的運輸車輛優先級;(5)客戶訂單及運輸車輛數據;(6)取貨及分發過程;(7)繁雜的配送規則,如倉庫、貨物、客戶的時間等;(8)運輸車輛的重復利用,要求同一輛車在符合多個約束條件下盡可能多的參與到不同路線的配送中。
本文主要基于ArcObjects的網絡分析和地圖展示等組件進行二次開發,同時對其提供的車輛路徑規劃算法進行了拓展性研究。
3 功能模塊設計方案
3.1 軟件架構設計
系統建設遵循SOA架構,由數據資源層、組件層、服務層和表現層組成。數據資源層包括各種數據庫、關系型數據庫和空間數據庫引擎ArcSDE,實現對物流業務數據的存儲和管理;組件層包括接口協議、GIS組件、其他中間件;服務層實現計算功能,接受表現層的請求進行計算;表現層采用多種形式展現分析結果。
3.2 軟件功能設計
本系統是物流業務管理系統的一部分,主要提供歷史數據管理模塊、線路優化分析模塊、地圖操作模塊,同時提供與其他相關業務系統的擴展功能。
(1)線路優化分析模塊
線路優化分析模塊是系統的關鍵,提供兩種分析結果:一種是基于AO自帶的網絡分析模塊設計,計算分析結果;另一種是歷次根據具體路況等信息的實際調度結果。
實際調度結果來自車輛GPS監控數據,并將實際調度結果作為輸入,用來校正線路優化分析方法,最后生成最優路徑規劃。
(2)地圖展示模塊
地圖展示模塊,在配送交通網絡圖上展示道路基本信息、周邊環境、倉庫及客戶地點、車輛位置信息等。同時將各種車輛路徑規劃分析結果以地圖形式展示。基于ArcGIS提供的基礎地圖操作功能,實現地圖縮放、瀏覽、鷹眼、圖層控制、測量、選擇、標注、信息查詢等功能。
(3)歷史數據管理模塊
歷史數據管理主要存儲歷史客戶訂單數據、實時路況信息、歷史路徑規劃分析結果、實際運輸路徑等,可支持對歷史數據的查詢和修改。
(4)擴展功能模塊
提供與其他相關業務系統、車載GPS設備、車輛監控設備等的接口,便于系統的擴展。
3.4 數據庫設計
本系統中涉及的數據庫主要包括元數據庫、基礎地理空間數據庫、業務數據庫、分析模型數據庫、歷史數據庫等。
4 結束語
本文將物流車輛路徑規劃理論算法的研究與地理信息系統的網絡分析模塊相結合,經過二次開發,形成了用于實際的物流車輛路徑規劃信息系統。另外車輛路徑規劃設計約束較多,本文中不考慮時間要求,僅根據空間位置安排車輛的線路,同時不考慮裝箱問題。
車輛路徑規劃問題是現代物流業的熱點問題,但是基本停留在理論算法層面,隨著技術的不斷進步,必然出現考慮更多約束的先進算法,希望將這些算法真正與現代物流業結合,那將會是一個跨越式的進步。
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)32-0190-04
Design and Implementation of Order Routing System Based on iOS
XU Jing-hui
(North China University of Technology, Beijing 100144, China)
Abstract: The routing problem of multi-warehouse and multi-distribution task in order distribution has the characteristics of picking from the warehouse and returning to the starting warehouse after completing the delivery task by multiple distribution points. In view of the current path planning applications on the mobile platform to solve the known starting point to the end of the route planning, after a number of points along the planning has not yet been a good application to achieve. Therefore, this paper combines the path planning and iOS platform to make full use of the characteristics of electronic map application, design and implement the order routing system based on iOS in order to provide the optimal path results. This paper focuses on how to realize the function of map display and operation, map location, mark drawing, route planning and so on. Finally, using the real order data of inventory management platform, the test proves the effectiveness and convenience of the system.
Key words: route plan; multi-warehouse multi-distribution tasks; iOS; digital map; optimal path
在實際訂單配送環節中,路徑規劃要求找出車輛從倉庫取貨出發依次經過一系列配送點后返回倉庫的最短回路路徑。目前關于路徑規劃的研究多數集中在常見路徑算法的改進及優化方面[1-3],對于路徑規劃應用系統的研究還較少。國內iOS平臺上有關路徑規劃的熱門應用有高德地圖、百度地圖等App,但它們也只提供了支持公交、駕車及步行三種出行方式的點到點的路徑規劃,對于從起點經過多個沿途點到達終點的路線規劃并未涉及。鑒于目前尚未有將路徑規劃與iOS移動平臺的應用特點充分相結合的應用,本文就設計開發了iOS平臺上基于電子地圖的路徑規劃系統――稱之為“易配送系統”。易配送系統可在用戶使用期間自動定位用戶當前所在位置,同時提供倉庫到各配送點的路線規劃和導航等主要功能,還通過服務端的接口服務將數據封裝成XML編碼格式通過網絡提供給客戶端,保障了訂單數據的真實性與實時性。在系統開發過程中利用高德iOS地圖SDK進行應用開發,提供了可視化的路徑規劃人機交互界面。
本文的內容首先對iOS平臺開發相關技術進行了簡要介紹,然后對訂單配送路徑規劃系統進行分析,設計出了整體的技術方案與系統架構,然后對系統功能進行詳細實現,包括倉庫、訂單查詢,地圖位置顯示、路線規劃及導航等功能,最后進行結果分析與總結。
1 iOS開發平臺介紹
1.1 iOS系統架構
iOS平臺應用的開發語言主要有Objective-C和Swift語言,由于swift作為一門新生語言使用人數較少的原因,本系統采用了主流開發語言Objective-C進行編碼開發。Objective-C作ANSI C的超集[4],不僅擴展了面向對象設計的能力,如類、消息、繼承,同時它可以調用C的函數,也可以通過C++對象訪問方法,具有對C和C++語言的兼容性。
蘋果公司最新推出的iOS 10 SDK (Software Development Kit, 軟件開發工具包)增加了新的API (Application Programming Interface, 應用程序編程接口)和服務,能夠支持更多新類型的應用程序和功能。目前基于iOS平臺開發的應用程序可以擴展到消息、Siri、電話和地圖等系統自帶服務,擁有了更吸引人的功能。圖1為iOS系統架構圖:
圖中可觸摸層主要提供用戶交互相關的服務如界面控件、事件管理、通知中心、地圖,包含以下框架:UIKit、Notification Center、MapKit等;媒體層主要提供圖像引擎、音頻引擎及視頻引擎框架;核心服務層為程序提供基礎的系統服務如網絡訪問、瀏覽器引擎、定位、文件訪問、數據庫訪問等。最底層的核心系統層為上層結構提供了最基礎的服務包括操作系統內核服務、本地認證、安全、加速等。
1.2 iOS 地圖SDK
iOS 地圖SDK 是高德提供的一套基于 iOS 6.0.0 及以上版本的地圖應用程序開發接口,供開發者在iOS應用中加入地圖相關的功能[6]。它提供的四種地圖模式包括:標準地圖、衛星地圖、夜景模式地圖和導航模式地圖。開發者不僅可以利用其地圖計算工具實現坐標轉換和距離或面積計算,而且可以調用API完成出行路線規劃及點標注、折線、面的繪制等工作。這些實現的提前需要注冊并認證成為高德開發者,接著為應用申請APIKey,然后將iOS地圖SDK配置到應用工程中,這里可以采用手動和自動化兩種配置方式。前者的配置過程簡單易操作,但更新操作代價大,后者配置過程稍顯負雜,但更新很方便。手動配置的方式則需要手動向工程項目中導入MAMapKit.framework和AMapSearchKit. framework兩個包,當框架有更新時需將工程中舊框架刪除并添加新框架,其使用稍顯麻煩。本系統的實現采用了自動化配置工程的方式,利用第三方庫管理工具CocoaPods通過命令:pod ‘AMap3DMap’, ‘~>4.0’和pod ‘AMapSearch’, ‘~>4.0’完成自動導入框架的目的,當框架更新時只需執行pod update即可實現項目中框架的更新。
2 整體方案設計
通常App功能復雜的情況下需要有后臺服務器的業務處理支持,本文涉及的路徑規劃功能需要處理的計算量會隨著配送點個數的增長呈指數階上升,因此需要后臺服務器的強大計算能力處理路徑規劃結果,進而減輕客戶端內存使用壓力。
本系統整體技術方案的設計綜合考慮了移動應用端、服務端(包括應用服務器和提供商服務器)以及數據庫服務器三部分所涉及的技術及其簡要的功能模塊劃分,如下圖2所示:
其中應用服務端是典型的電商進銷存管理系統,移動端LBS應用――易配送App的實現需要在進銷存Web系統的表示層、業務邏輯層、數據持久層添加相應的訂單配送接口,該接口將服務端經過處理的數據結果封裝成XML標準的數據格式通過HTTP協議傳輸給App。
3 基于iOS的路徑規劃App設計
3.1 App開發模式
易配送App采用Objective-C開發語言,開發工具為Xcode7.0,主要針對iPhone進行設計的。系統的設計模式采用了MVC范型如圖3。由于系統所涉及的內容數據均通過網絡請求服務器實時更新獲取,故采用了iOS App開發模式中的Native App,以保證有較好的網絡環境以及節省的帶寬,以便利用充分的設備資源來提供良好的交互體驗。
該系統平臺中的位置信息主要體現在:位置服務和地圖。位置服務是由Core Location框架負責,它將用戶的位置及方向信息以Objective-C語言能識別的形式羅列出來[4];地圖服務通過應用中集成的高德開發平臺提供的MAMapKit框架負責,利用它可以展示出地圖和圖釘標注等信息。易配送App的路徑規劃模塊有效地將Core Location框架和MAMapKit框架結合起來,以實現地圖定位、距離測試、路線顯示及導航功能。
3.2 重要功能設計及關鍵技術實現
系統的主界面設計采用了圖文結合的布局方式如圖4,使用戶能夠快速便捷的操作系統。對于信息查詢類似功能的界面多采用表視圖結構,得到了清楚地展示大量內容信息的效果如圖5所展示的待配送訂單列表。
圖4 主界面 圖5 待配送列表
圖6 路徑規劃
系統主要的路徑規劃功能在電子地圖的地理信息背景下完成了標注及路線可視化如圖6所示,其關鍵技術的實現如下:
1)初始化地圖服務
系統中地圖服務的使用首先需要初始化地圖控件,這需要在創建MAMapView之前需要先綁定APIKey:[MAMapServices sharedServices].apiKey = APIKey; 和[AMapSearchServices sharedServices].apiKey = APIKey;接著初始化MAMapView地圖控件:_mapView = [[MAMapView alloc] initWithFrame: self.view. frame];并o系統添加地圖視圖:[self.view addSubview:_mapView];
2)分組待配送訂單
因為業務要求需要將待配送訂單按各自對應的出貨倉庫進行分組配送,系統中通過自定義實現分組方法:-(void)groupAction:(NSMutableArray *)array; 其中參數array中存儲著多個配送單對象XJDeliveryOrder。方法實現中利用可變的集合對象NSMutableSet保存的內容對象不重復的特性,用_warehouseSet記錄不同的倉庫信息:_warehouseSet = [NSMutableSet set]; [array enumerateObjectsUsing Block: ^( XJDeliveryOrder * _Nonnull order, NSUInteger idx, BOOL * _Nonnull stop) {[_warehouseSet addObject:order.warehouseName]; }]; 同時該方法中利用謂詞NSPredicate過濾數組array實現按倉庫名稱分組:[_warehouseSet enumerateObjectsUsingBlock:^(NSString * _Nonnull warehouseName, BOOL * _Nonnull stop) {NSPredicate *predicate = [NSPredicate predicateWithFormat: @"warehouseName = %@", warehouseName];NSArray *tempArr = [NSArray arrayWithArray:[array filteredArrayUsingPredicate:predicate]]; [groupArr addObject: tempArr];}];
3)添加標注及氣泡視圖
給地圖添加標注需要調用地理編碼請求:[self.search AMapGeocodeSearch: geo]; 其中對象geo為AMapGeocodeSearchRequest類對象且其屬性值address不為空,該請求會回調AMapSearchDelegate中的方法:- (void)onGeocodeSearchDone: (AMapGeocodeSearchRequest*)request response:(AMapGeocodeSearchResponse *) response;其中response對象中包含了經緯度信息并且該方法中調用了添加標注方法:[_mapView addAnnotation:pointAn];其中對象pointAn為MAPointAnnotation類對象。
實現觸摸標注彈出氣泡的效果需要實現MAMapViewDelegate委托中-(MAAnnotationView*)mapView:(MAMapView*)mapViewviewForAnnotaion: (id< MAAnotation>)annotation;和-(void)mapView:(MAMapView*)mapView didSelect AnnotationView:(MAAnnotationView *)view;方法。
4)路徑規劃及繪制路線
iOS地圖API提供了按參數順序進行路徑規劃的方法:[_search AMapDriving RouteSearch:request];其中request為AMapDrivingRouteSearchRequ -est對象,需要給定request的屬性:起點origin、終點destination和沿途點waypoints的值。而對于最優路徑的規劃只能通過自定義方法:-(void)planBestPaths WithLoaction:(CLLocationCoordinate2D)location wayPoints: (NSArray*) wayPoints;該方法中調用了網絡請求服務器方法,并能夠獲取服務器返回的處理結果,其結果中包含了多個經緯度字符串,需要利用方法- (CLLocationCoordinate2D *)coordinatesForString:(NSString*)string coordinateCount:(NSUInteger *)coordinate Count parseToken:(NSString *)token;來解析經緯度,然后系統利用解析得到的經緯度調用[MAPolyline polylineWithCoordinates:coordinates count:count]來繪制路線。
5)最優路徑算法
本系統的服務端路徑規劃接口實現中采用了適合解決單回路最短路徑問題的算法――最近c插入算法。最近插入法是一種啟發式算法,它不僅適用于各種復雜的TSP問題,對于中小規模問題同樣適用。圖7為算法具體流程。算法的實現是在后臺服務端通過java語言實現的,這里就不做詳細說明了。
4 系統測評與應用實例
為了對系統的功能及路徑優化效果進行測試,采用了如下的實驗環境:客戶端是所有系統為iOS 7.0及以上iPhone手機,安裝App后即可使用;服務端為可安裝運行在windows平臺下的進銷存管理系統;數據庫為Oracle數據庫安裝在Linux數據庫服務器上。
本系統中路徑規劃功能的實現采用了將多個倉庫多配送點的路徑規劃分解為多個單倉庫多點配送的思想。下面一系列圖示說明了多個單倉庫出發到多個配送點的路徑規劃對比結果。
圖8中顯示當天需要規劃路徑的所有點,包括三個倉庫和八個客戶位置。接下來分別對三個倉庫進行出貨配送安排,如圖9為從總倉庫出發的配送路線對比,其中上圖為按下單順序依次配送的路線圖,下圖為根據與出發倉庫距離由近到遠的依次配送的路線圖,從圖中可以明顯看出兩者各自的路程代價,表1為各倉庫配送路徑的對比結果。
通過實驗測試結果表明,當單次規劃的配送數量小于等于6時,本系統的最優路徑準確且計算處理很快,幾乎網絡無延遲。當單次規劃的配送數量大于6小于17時,優化結果準確但是處理速度變慢,并且處理響應時間雖配送數量呈現指數階增長。當單次規劃的配送數量大于16時,服務端需通過一定路徑優化算法處理大規模計算,但其結果往往是最優解的近似值而非最優路徑值。
5 結束語
本文是在iOS系統上基于電子地圖的應用開發,基本實現了小規模訂單配送的路徑規劃功能。經過優化的路徑的確節省了許多里程,真正意義上為企業提高了效益。但是本系統還存在一些不足之處,如適合處理小規模訂單配送路徑規劃的局限性,系統的可擴展性有待加強。在今后的學習和研究中,將進一步深化和擴展該應用的功能,提供更加豐富的視圖信息和交互方式,實現更良好的路徑規劃體驗。
參考文獻:
[1] WANG Tiejun,WU Kaijun. Study multi-depots vehicle routing based on improve -ed particle swarm optimization[J]. Computer Engineering and Applications,2013, 49(2): 5-8.
[2] 馬建華,房勇,袁杰.多車場多車型最快完成車輛路徑問題的變異蟻群算法[J].系統工程理論與實踐,2011(8).
[3] 李波,邱紅艷.基于雙層模糊聚類的多車場車輛路徑遺傳算法[J].計算機工程與應用,2014(5).
中圖分類號:TP312文獻標識碼:A文章編號:1009-3044(2010)09-2132-02
Application of C-W Algorithm in Logistics Distribution Vehicle Scheduling
CAO Jing-xia1,2
(1.School of Information Engineering, Jiangnan University, Wuxi 2141222, China; 2.Jiangyin Polytechnic College, Jiangyin 214400, China)
Abstract: Logistics Distribution Vehicle Scheduling is a very crucial step in the process of logistic distribution. This paper briefly describes the most representative algorithm, points out that the heuristic algorithm is the main method to solve vehicle routing problem, and demonstrates its applicability to solving the problem of vehicle scheduling by citing the examples of C-W algorithm, a typical method among the heuristic algorithm.
Key words: C-W algorithm; delivery vehicle scheduling; heuristic algorithm
隨著我國市場經濟的建立和發展,作為“第三利潤源泉”的物流日益受到政府有關部門和廣大企業的重視,成為當前最重要的競爭領域。配送是物流活動中直接與消費者相連的環節,在物流的各項成本中,配送成本占了相當高的比例。配送車輛調度的合理與否對配送速度、成本、效益影響很大,采用科學、合理的方法來進行配送車輛調度,是物流配送中非常關鍵的一環。
1 物流配送車輛路徑問題(VRP) 概述
物流配送車輛路徑問題(Vehicle Routing Problem ,VRP) 最早是由Dantzig 和Ramser于1959年提出的,一經提出立即引起了運籌學、物流科學、計算機應用等學科專家和運輸問題制定和管理者的極大關注。
該問題的研究目標是對一系列的顧客需求點設計適當的路線,使車輛有序地通過它們,在滿足一定的約束條件(如貨物需求量、發送量、交發貨時間、車輛容量限制、行駛里程限制、時間限制等) 下, 達到一定的優化目標(如里程最短、費用最少、時間盡量少、車隊規模盡量小、車輛利用率盡量高等)。
2 VRP問題的求解算法
VRP問題是組合優化領域著名的NP難題之一,即隨著客戶數量的增加,可選的配送路徑方案數量將以指數速度急劇增長,即出現組合爆炸現象,因此通常的做法就是應用相關技術將問題分解或者轉化為一個或者多個已經研究過的基本問題,再使用相對比較成熟的基本理論和方法求解。VRP問題的求解方法基本上可以分為精確算法和啟發式算法兩大類。
2.1 求解VRP問題的精確算法
求解VRP問題的精確算法主要運用線性規劃、整數規劃、非線性規劃等數學規劃技術來描述物流系統的數量關系,以便求得最優解。求解VRP問題常用的精確算法有分枝定界法、割平面法、動態規劃法、網絡流算法等。這些方法從理論上給出了VRP問題精確求法,在可以求解的情況下,其解通常要優于啟發式算法。由于精確算法在求解時引入了嚴格的數學方法(手段),因而無法避開指數爆炸問題,使其獲得整個系統的最優解越來越困難,因此,這些算法都是針對某一特定問題設計的, 適用能力較差, 在實際中其應用范圍很有限。
2.2 求解VRP問題的啟發式算法
為了克服精確算法的不足,可以運用一些經驗法則來降低優化模型的數學精確程度,并通過模仿人的跟蹤校正過程來求取運輸系統的滿意解,為此專家們主要把精力花在構造高質量的啟發式算法上。啟發式算法能同時滿足詳細描繪和求解問題的需要,較精確式算法更加實用。
目前己經提出的啟發式算法很多,按照Cesar Reg的分類法,基本可以分為構造啟發式算法(節約算法、最鄰近法、插入法、掃描法)、兩階段啟發式算法、不完全優化算法和智能化啟發式算法(禁忌搜索算法、模擬退火法、遺傳算法、神經網絡算法、蟻群算法、微粒群算法等)四類。啟發式算法中由Clarke 和Wright 在1964 年提出的節約法(簡記為C-W算法)具有非常典型的代表性。
3 C-W算法的應用
3.1 定義與原理
C-W算法是根據物流中心的運輸能力和物流中心到各送/ 取貨點以及各個送/ 取貨點之間的距離,制訂使總的車輛運輸噸公里數(或者時間或者費用)最小的方案。
C-W算法的基本思路如圖1所示,已知P點為配送中心,它分別向用戶A 和B送貨。設P點到用戶A 和用戶B 的距離分別為a 和b。用戶A 和用戶B 之間的距離為c,現有兩種送貨方案,如圖1(a)和(b)所示。
在圖1(a)中配送距離為2(a+b);圖1(b)中,配送距離為a+b+c。對比這兩個方案,2(a+b)-(a+b+c)=a+b-c,很明顯,由三角形的幾何性質可知, 三角形中任意兩條邊的邊長之和大于第三邊的邊長。即:a+b-c>0 。連接AB所得的節約量是a+b-c。
3.2 實例
為了使C-W算法體現較為明了,選取較典型的實例介紹。假設配送中心使用同類型的配送車(主要是裝載量和容積相同),保證一條線路上各用戶的貨運量之和不大于車輛的載重量。
基本資料介紹:
現有6個用戶(標號是1,…,6),各個用戶的貨運量是gi(噸)(i=1,…,6),這些用戶由配送中心(標號是0)發出的載重量為8噸的車輛完成配送任務,要求最后的路線安排使總距離最小。具體數據見表1、表2。
首先,把各個點單獨與配送中心相連,構建僅含一個點的初始路線,得到總的距離為:2*(40+60+75+90+200+100)=1130km
然后,連接兩兩用戶到同一條線路上得到節約值(節約量公式a+b-c),節約值越大,說明兩用戶連在一起時運距減少的越多,如果是負值就不應該把兩用戶連在同一條線路上。
C-W算法解題步驟:
1)計算各用戶之間的節約值(節約量公式a+b-c)
例如:連接用戶1和用戶2時,節約量=40+60-65=35
連接用戶3和用戶5時,節約量=75+200-50=225,類似可以得到其他,如表3。
2)按照從大到小的順序排序,見表4。
表4 節約里程排序表
3)連接點對,見表5。
根據表,得到最后的路線安排如下:
0-3-5-6-0
0-1-2-4-0
比初始路線節約運距:230+225+50+35=540km
通過使用C-W算法,對配送線路進行組合以后,由原來的6條初始化線路,減少到2條組合線路, 運行距離從開始的1130km 縮短為590 km ,節約的里程相當可觀。不難明白, 中國的物流行業是一座金山。只有不斷進行物流管理和技術創新,提高物流效率, 才可能大幅降低整個業務成本。
參考文獻:
[1] 李如姣.“節約里程法”在某物流公司配送中心的實際運用[J].科技咨詢,2008(28):156-158.
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2011)21-5080-03
Research on Technology of Nodes Localization Based on Mobile Beacon for Wireless Sensor Network (WSN)
DING Hui, LI Bo-yong, AI Shu-liang
(Chenzhou Vocational and Technical College, Chenzhou 423000, China)
Abstract:Wireless sensor network has been used in many field. Nodes location of WSN has provided the basic information for many applications. Nodes location based on mobile beacon is one of the important research fields. Some basic principles and performance evaluating criterions of nodes localization based on mobile beacon for WSN are introduced. Some issues which need to be resolved in future are discussed.
Key words: wireless sensor network (WSN); mobile beacon; nodes localization
隨著傳感器技術、無線通信、微電子技術以及嵌入式計算等技術的發展,無線傳感器網絡(Wireless Sensor Network 簡稱WSN)得到了廣泛應用,成為當今活躍的研究領域。無線傳感器網絡是新型的傳感器網絡,同時也是一個多學科交叉的領域,與當今主流無線網絡技術一樣,均使用802.15.4的標準,由具有感知能力、通信能力和計算能力的大量微型傳感器節點組成,具有低成本、低功耗的優點和強大的數據獲取和處理能力。
在無線傳感器網絡的眾多應用中,如:國防軍事、環境監測、交通管理、醫療衛生、目標跟蹤、物流管理、入侵檢測、交通流量監控和勘測應用等領域, 監測到事件之后需要確定事件發生的位置,信息融合后得到的相關數據信息如果不包含事件位置信息將毫無意義,只有帶有標識位置信息的傳感數據才有實際的意義。傳感器節點自身的正確定位是提供事件位置信息的前提, 因此節點的精確定位基礎而關鍵[1] 。
1 無線傳感器網絡節點定位的分類及基本方法
節點定位是指確定傳感器節點的相對位置或絕對位置,節點所采集到的數據必須結合其在測量坐標系內的位置信息才有意義。人工部署傳感節點和為所有節點安裝GPS接收器都會受到成本、功耗、節點體積、擴展性等方面的限制,甚至在某些應用中是根本無法實現的。通常是為部分節點配置定位裝置(如GPS接收器)或事先標定其準確位置,這些節點稱為信標節點(也稱錨節點),再利用信標節點的相關信息采用一定的機制與算法實現無線傳感器網絡節點的自身定位。目前人們提出了兩類節點定位算法[2]:基于測量距離的定位算法與測量距離無關的定位算法。基于距離的定位方法首先使用測距技術測量相鄰節點間的實際距離或方位,然后使用三邊測量法、三角測量法、最小二乘估計法等方法進行定位。與測量距離無關的定位算法主要包括:APIT、質心算法、DV-Hop、Amorphous等。
1.1 基于無線傳感器網絡自身定位系統的分類[1,3-5]
1) 絕對定位與相對定位。絕對定位與物理定位類似,定位結果是一個坐標位置,如經緯度。而相對定位通常是以傳感區域某點為參考,建立整個網絡的相對坐標系統。
2) 物理定位與符號定位。經緯度就是物理位置;而某個節點在某街道的某門牌的建筑物內就是符號位置。一定條件下,物理定位和符號定位可以相互轉換。與物理定位相比,符號定位在一些特定的應用場合更加便于使用。
3) 集中式計算與分布式計算定位。集中式計算是指把所需信息傳送到某個中心節點,并在那里進行節點定位計算的方式;分布式計算是指依賴節點間的信息交換和協調,由節點自行計算的定位方式。
4) 移動信標與固定信標定位。移動信標節點是一類裝備了GPS或其它定位裝置的可移動節點,它在移動的過程中周期性自己的位置信息。基于移動信標的未知節點定位有很多優點,如定位成本低,容易達到很高的定位精度、可實現分布式定位計算、易于實現三維定位等。而固定信標節點是一類裝備了GPS或其它定位裝置的不可移動節點。
1.2 基于距離的節點坐標計算基本方法
待定位節點在獲得與鄰近信標節點的距離信息后,通常采用下列方法計算自身的位置[3]。
1) 三邊測量法:利用網絡中三個信標節點的位置坐標以及未知節點到這三個信標節點的距離,運用幾何方法求出未知節點的坐標。
2) 三角測量法:利用網絡中三個信標節點的位置坐標以及未知節點為角頂點角邊分別為三個信標節點的角度,運用幾何方法求出未知節點的坐標。
3) 最小二乘估計法:利用未知節點的相鄰節點中的多個信標節點的位置坐標以及它們與未知節點的距離或角度,運用最小均方差估計方法求出未知節點的坐標。
1.3 常用的測距方法
1) 信號接收強度(RSSI)測距法
已知發射功率和天線接收增益,在接收節點測量信號接收功率,計算傳播損耗,使用理論或經驗的無線電傳播模型由傳播損耗計算出信源與接收者間的距離。通常使用下列對數-常態分布模型來計算節點間的距離[1]。
PL(d)=PL(d0)+10λ?log(d/d0)+X (1)
PL(d0)=32.44+10λ?log(d0)+ 10λ?log(f) (2)
RSSI=發射功率+天線增益-路徑損耗(PL(d)) (3)
其中PL(d)[dB]是經過距離d后的路徑損耗,X是平均值為0的高斯分布隨機變數,其標準差取為4至10,λ為取衰減因子通常為2至3.5,f是頻率,取d0=1(m),這樣根據上述3式可得節點間的距離。
2) 到達時間測距法
到達時間(TOA)技術通過測量信號傳播時間來測量距離,若電波從信標節點到未知節點的傳播時間為t,電波傳播速度為c,則信標節點到未知節點的距離為t×c。
3) 時間差測距法
TDOA測距是通過測量兩種不同信號到達未知節點的時間差,再根據兩種信號傳播速度來計算未知節點與信標節點之間的距離,通常采用電波和超聲波組合。
4) 到達角定位法
到達角(AOA)定位法采用陣列天線或多個接收器組合來獲取相鄰節點所處位置的方向,從而構成從接收機到發射機的方位線。兩條方位線的交點就是未知節點的位置。
1.4 典型非測距算法
基于距離測量和角度測量的定位算法的缺點是對專用硬件有一定的要求,從而使傳感器節點成本和體積加大,限制了它的實用性。非測距的算法不需要測量未知節點到信標節點的距離,在成本和功耗方面比基于測距的定位方法具有一定的優勢,但是精度相對不足。
1) DV-hop算法
為了避免對節點間距離的直接測量, Niculescu等人提出了DV-hop算法[3]。該算法基本思想是:用網絡中節點的平均每跳距離和信標到待定位節點之間的跳數乘積來表示待定位節點到信標節點之間的距離,再用三角定位來獲得待定位節點的位置坐標。
2) 質心法
質心法由南加州大學Nirupama Bulusu等學者提出[3],該算法是未知節點以所有可收到信號的信標節點的幾何質心作為自己的估計位置,它是一種基于網絡連通性的室外節點定位算法。
3) APIT 算法
一個未知節點任選3個能夠與之通信的信標節點構成一個三角形,并測試自身位置是在這個三角形內部還是在其外部;然后再選擇另外3個信標節點進行同樣的測試,直到窮盡所有的組合或者達到所需的精度。
4) Amorphous 算法
Amorphous 定位算法[3]采用與 DV-Hop 算法類似的方法獲得距信標節點的跳數,稱為梯度值。未知節點收集鄰居節點的梯度值,計算關于某個信標節點的局部梯度平均值。Amorphous 算法假定預先知道網絡的密度,然后離線計算網絡的平均每跳距離,最后當獲得3個或更多錨節點的梯度值后,未知節點計算與每個錨節點的距離,并使用三邊測量法和最大似然估計法估算自身位置。
2 基于移動信標的無線傳感器網絡節點定位技術
無論是距離相關還是距離無關定位算法,常采用固定信標節點方式測量距離、相對角度、傳播時間差及傳播時間等進行節點定位[1]。通常參與定位的固定信標節點越多, 定位精度將越高。但是信標節點的成本遠遠高于普通節點,當定位工作完成后,信標節點將轉成普通的傳感器節點使用。因此信標點越多,布設整個網絡的成本將會增大, 定位算法的計算負荷以及通訊負荷將會增大[1] ,過多的信標節點將會造成較大的浪費。所以利用移動節點發出的虛擬坐標點進行輔助定位的思想將成為節點定位研究的一個重要研究方向。
假定整個WSN由靜止節點以及移動節點(如撒播節點完畢的飛機、運動的車輛、移動的小型機器人或普通的能移動的傳感器節點等) 兩種類型節點構成。根據傳感器網絡的規模大小, 可以配置一個或者多個移動節點。各移動節點均配置一個GPS接收器用于定位移動信標節點本身, 并有足夠的能量自我移動或捆綁移動機器人、移動車輛或三維空間中的飛機等工具。移動節點在傳感器區域內按照一定的運動路徑移動, 并周期性地發送坐標位置信息, 待定位節點根據接收到的坐標信息與采用適當的定位算法完成定位[6] 。
近幾年有一些研究者對移動錨節點路徑規劃展開研究,提出了一些比較好的路徑規劃方案。移動錨節點路徑規劃主要有兩個目標:
1) 移動軌跡能夠覆蓋網絡中的所有未知節點;
2) 為未知節點定位提供質量好的信標點。
如果滿足網絡節點均勻分布的條件,規劃路徑通常采用靜態規劃路徑,移動錨節點都按照預先規劃的路徑移動,不具有根據節點分布狀況靈活變化的性能。文獻[7]針對移動錨節點的路徑規劃問題利用空間填充線理論提出了SCAN、DOUBLESCAN以及HILBERT路徑規劃方法,分別如圖1、圖2和圖3所示。在節點通信距離小和空間填充線密度大的條件下, SCAN路徑比HILBERT路徑的定位結果準確。但是在節點通信距離大、空間填充線密度較小時,HILBERT路徑明顯優于SCAN路徑。
SCAN路徑存在明顯的缺點就是提供了大量共線的信標點,HILBERT路徑通過增加移動路徑長度解決了信標點共線性的問題,只要達到一定的密度就可以為定位提供優質的不共線信標點。為了解決信標點存在共線性的問題,文獻[8]提出了圓形規劃路徑和S形規劃路徑方法,如圖4和圖5所示。圓形規劃路徑完全覆蓋方形網絡區域時必須增加大圓路徑,這很大程度增加了路徑的長度。而圓形的直徑非常大時,在局部帶來了信標點的共線性問題。S形路徑通過引入S形曲線代替直線,解決了信標點共線性問題。
而對于實際環境中節點非均勻分布的情況,文獻[9]提出了提出了寬度優先和回溯式貪婪算法。這種方法能夠根據網絡信息自適應進行路徑規劃,規劃路徑不再是規則的圖形,能夠充分利用節點分布信息覆蓋所有節點,保證路徑最短,克服了靜態路徑規劃的缺點。文獻[10]提出讓一個攜帶GPS的移動信標采用隨機移動模型的方式盡量遍歷傳感區域,然后采用分布式算法為未知節點定位,該方法結合了基于測距方法的優點,并且無需布置固定的信標節點,節省了成本開銷,但是由于移動信標的移動模型采用隨機的方式,難以讓其移動范圍覆蓋整個傳感區域,從而有些未知節點無法定位。
3 定位算法的評價標準
定位算法設計的優劣通常以下列幾個評價標準[11]來評價:
1)定位精度:一般用誤差值與節點無線射程的比例表示,是定位技術首要的評價指標。
2)定位覆蓋率:指利用定位算法能夠進行定位的節點數與總的未知節點個數之比,它是評價定位算法的另外一個重要的指標。
3)信標節點密度:信標節點占所有節點的比例或者是單位區域內信標節點的數目。
4)節點密度:節點密度通常以網絡的平均連通度來表示。
5)功耗:功耗是指傳感器節點在單位時間內所消耗的能源的數量。由于傳感器節點不會始終在工作的,有時候會處于休眠狀態,但這同樣也會消耗少量的能量,因此,傳感器節點的功耗一般會有兩個,一個是工作時的功耗,另一個是待機時的功耗。
6)成本:包括時間、空間和費用。時間指一個系統的安裝、配置和定位所需的時間。空間包括一個定位系統或算法所需的基礎設施和網絡節點的數量、安裝尺寸等。費用則包括實現某種定位系統或算法的基礎設施、節點設備的總費用。
7)魯棒性:定位系統和算法必須具有很強的容錯性和自適應性,能夠通過自身調整或重構糾正錯誤、適應環境、減小各種誤差的影響,以提高定位精度。
上述的這些評價指標不僅是評價WSN自身定位系統和算法的標準,也是其設計和實現的優化目標。
4 結束語
使用移動信標節點來完成WSN所有節點的定位,就必須要足夠的時間讓移動信標節點遍歷完整個網絡, 為了減小所有節點定位所需的時間以及提高定位效率,如何進一步優化移動信標節點的運動路徑將成為基于移動信標的WSN節點定位技術更研究的重要方向。
參考文獻:
[1] 孫利民.無線傳感器網絡[M].北京:清華大學出版社,2005.
[2] A l-Karaki.JN, Kamal.AE. Routing Techniques in Wireless Sensor Networks: A Survey[J].In Wireless Communications,IEEE,Volume:11,Issue:6, Dec,2004:6-28.
[3] 王福豹,史龍,任豐原.無線傳感器網絡中的自身定位系統和算法[J].軟件學報,2005,16(5):857-869.
[4] Kushwaha,M. Molnar,K. Sallai,J. Volgyesi, P. Maroti, M. Ledeczi, A. Sensor Node Localization Using Mobile Acoustic Beacons[C], In proc. 2005. IEEE International Conference on Mobile Adhoc and Sensor Systems Conference, Nov,2005.
[5] 倪巍,王宗欣.基于接收信號強度測量的室內定位算法[J].復旦學報(自然科學版),2004.43(1):72-76.
[6] Mihail L. Sichitiu ,Vaidyanathan Ramadurai. Localization of Wireless Sensor Networks with a Mobile Beacon[C].//IEEE 2004:174-182.
[7] Koutsonilas D, Das S M, Hu Y Charlie. Path Planning of mobile landmarks for localization in wireless sensor networks[J].Computer Communication.2007,30(13): 2577-259.
[8] Rui Huang,Zaruba Gergely V. Static Pathplanning for mobile beaeons to localize sensor networks[C] / /Proc of IEEE PerComW. Piscataway,NJ:IEEE,2007:323-330.
[9] Hongjun Li,Jianwen Wang,Xun Li and Hongxu Ma. Real-time Path Planning of Mobile Anchor Node in Localization for Wireless Sensor Networks[C].//Proeeedings of the 2008 IEEE International Conference on Information and Automation,Zhangjiajie,China,June,20-23,2008.
中圖分類號:U116.2 文獻標識碼:A
Abstract: Vehicle routing problem is the core problem in logistics management and in the organization and optimization of transportation, and is a classic combinatorial optimization problem in operations research. This article systematically summarized the common classifications and the basic model of VRP problems. And through referring to scholars' research situation, summarized the commonly used and efficient heuristic algorithms of solving VRP problems and the present situation of the corresponding research. Finally, summarized the problems in the research of VRP problems and discussed the future research and the solving methods for VRP problems.
Key words: vehicle routing problem; heuristic algorithm; optimization
0 引 言
隨著科技的進步和電子商務的飛速發展,作為國民經濟中一個重要行業的物流產業已成為拉動國家經濟發展與提高居民生活水平的重要動力源泉,而物流行業中的車輛路徑問題(Vehicle Routing Problem, VRP)是制約物流行業發展的一個關鍵要素,其研究也受到人們的廣泛關注。車輛路徑問題是物流管理與運輸組織優化中的核心問題之一,是指在滿足一定的約束條件(如時間限制、車載容量限制、交通限制等)下,通過對一系列收貨點與發貨點客戶合理安排行車路線,在客戶的需求得到滿足的前提下,達到配送車輛最少、配送時間最短、配送成本最低、配送路程最短等目標。該問題由Dantzig和Ramser[1]于1959年在優化亞特蘭大煉油廠的運輸路徑問題時首次提出,現已成為運籌學中一類經典的組合優化問題,是典型的NP-難題。
企業通過選取恰當的配送路徑,對運輸車輛進行優化調度,可以明顯提高配送效率,有效減少車輛的空駛率和行駛距離,降低運輸成本,加快響應客戶的速度從而提高客戶服務質量,提高企業的核心競爭力。VRP作為物流系統優化環節中關鍵的一環,其研究成果已經應用到快遞和報紙配送連鎖商店線路優化以及城市綠化車線路優化等社會實際問題中,因而車輛路徑問題的優化研究具有很好的現實意義。
1 車輛路徑問題的分類與基本模型
VRP的構成要素通常包括車輛、客戶點、貨物、配送中心(車場)、道路網絡、目標函數和約束條件等,根據側重點的不同,VRP可以分為不同的類型。根據運輸車輛載貨狀況分類可分為非滿載車輛路徑問題和滿載車輛路徑問題;根據任務特征可分為僅裝貨、僅卸貨和裝卸混合的車輛路徑問題;根據優化目標的數量可分為單目標車輛路徑問題和多目標車輛路徑問題;根據配送車輛是否相同可分為同型車輛路徑問題和異型車輛路徑問題;根據客戶對貨物接收與發送有無時間窗約束可分為不帶時間窗的車輛路徑問題和帶時間窗的車輛路徑問題;根據客戶需求是否可拆分可分為需求可拆分車輛路徑問題和需求不可拆分車輛路徑問題;根據客戶是否優先可分為優先約束車輛路徑問題和無優先約束車輛路徑問題;根據配送與取貨完成后車輛是否需要返回出發點可分為開放式車輛路徑問題和閉合式車輛路徑問題;還可以將上述兩個或更多約束條件結合起來,構成一些更復雜的車輛路徑問題。
由于VRP的約束條件不同引起了其分類多種多樣,而不同類型的VRP其模型構造及求解算法有很大差別。VRP的一般數學模型為:
在上述模型中,式(1)表示目標函數,式(2)表示約束條件。其他VRP模型大致都是在此模型的基礎上根據約束條件完善形成的。
2 VRP的求解算法與研究現狀
VRP的求解方法,基本上可分為精確算法和啟發式算法兩大類。由于精確算法的計算難度與計算量隨著客戶點的增多呈指數級增加,在實際中應用范圍有限,而啟發式算法則具有全局搜索能力強、求解效率高的特點,求出的解也具有較好的參考性,因此,目前大部分研究者們主要把精力集中在如何構造高質量的啟發式算法上,本文也主要討論一些近年來研究比較多的啟發式優化算法。針對VRP問題目前已提出了大量的啟發式算法,其中研究較多的主要包括以下算法:
2.1 遺傳算法(Genetic Algorithm,GA)
GA是一種通過模擬生物進化過程來搜索最優解的方法,該方法通過對群體進行選擇、交叉和變異等操作,產生代表新的解集的種群,根據個體適應度大小選擇個體,通過迭代逐步使群體進化到近似最優解狀態。但是該算法具有搜索速度慢、易早熟、總體可行解質量不高等缺點。
采用遺傳算法研究VRP問題的研究現狀包括:蔣波[2]設計了遺傳算法求解以配送總成本最小為目標函數和帶有懲罰函數的VRPTW模型;趙辰[3]基于遺傳算法求解了從生產中心到倉庫之間的路徑優化問題,設計了配送路徑優化決策;張群和顏瑞[4]建立了多配送中心、多車型車輛路徑問題混合模型,并采用一種新的模糊遺傳算法求解該問題。
2.2 模擬退火算法(Simulated Annealing,SA)
SA同禁忌搜索算法一樣,也屬于局部搜素算法,但是模擬退火算法是模仿金屬加工中退火的過程,通過一個溫度函數作為目標函數,使其趨于最小值,是一種基于概率的算法。
采用模擬退火算法研究VRP問題的研究現狀包括:郎茂祥[5]研究了裝卸混合車輛路徑問題,并構造了模擬退火算法求解該問題;穆東等[6]提出了一種并行模擬退火算法,并將該算法的應用領域擴展到其他車輛路徑問題和組合優化問題;魏江寧和夏唐斌[7]以模擬退火算法為基礎,研究了單個集散點與多個客戶之間的運輸問題;Mirabi和Fatemi Ghomi等[8]提出了一種基于模擬退火思想的三步啟發式算法求解最小化配送時間的多配送中心VRP模型。
2.3 蟻群算法(Ant Colony Optimization,ACO)
蟻群算法是人們受螞蟻可以快速找到食物的自然現象啟發提出的。蟻群算法所建立的機制,主要包括螞蟻的記憶、螞蟻利用信息素進行交互通信及螞蟻的集群活動三個方面。單個螞蟻缺乏智能,但整個蟻群則表現為一種有效的智能行為。通過這種群體智能行為建立的路徑選擇機制可使蟻群算法的搜索向最優解靠近。
采用蟻群算法研究VRP問題的研究現狀包括:馬建華等[9]研究了基于動態規劃方法的多車場最快完成車輛路徑問題的變異蟻群算法;辛穎[10]通過對MMAS蟻群算法進行了三種策略的改造,指出蟻群算法可以找到相對較好的解和很強的魯棒性;陳迎欣[11]針對蟻群算法的缺點,分別對信息素更新策略、啟發因子進行改進,引入搜索熱區機制,有效解決車輛路徑優化問題;段征宇等[12]通過最小成本的最鄰近法生成蟻群算法和局部搜索操作設計了一種求解TDVRP問題的改進蟻群算法。
2.4 粒子群算法(Particle Swarm Optimization,PSO)
PSO算法是通過對鳥群覓食行為的研究而得出的一種群體并行優化算法,它從隨機解出發,通過迭代尋找最優解。蟻群算法具有容易實現、收斂速度快、精度高等優點,在多種優化問題上均取得了較好的效果。但是由于PSO算法是通過粒子之間的相互作用來尋找最優解,缺乏像遺傳算法那樣的變異機制,因而PSO算法容易陷入局部最優。
采用粒子群算法研究VRP問題的研究現狀包括:馬炫等[13]提出了一種基于粒子交換原理的整數粒子更新方法求解有時間窗約束的車輛路徑問題;吳耀華和張念志[14]以處理集貨或送貨非滿載帶時間窗車輛路徑優化問題為背景,提出了帶自調節機制的局部近鄰粒子群算法解決VRP問題。
2.5 蝙蝠算法(Bat Algorithm,BA)
蝙蝠算法是劍橋大學學者Yang[15]于2010年提出的一種新型群智能進化算法,模擬自然界中蝙蝠通過超聲波搜索、捕食獵物的生物學特性,是一種基于種群的隨機尋優算法。截至目前,蝙蝠算法主要用于求解連續域的函數優化問題,只有少數學者將其用來求解離散型問題,具有很好的研究前景。
采用蝙蝠算法研究VRP問題的研究現狀包括:馬祥麗等[16]將蝙蝠算法應用于求解VRP問題,在蝙蝠速度更新公式中引入了慣性權重,對基本蝙蝠算法進行了改進,克服了基本蝙蝠算法的不足之處;馬祥麗等[16]針對VRPTW問題的具體特性重新定義了蝙蝠算法的操作算子,設計了求解VRPTW 問題的蝙蝠算法,并采用罰函數的方式對目標函數進行了簡化求解。
3 總結與展望
車輛路徑問題由于約束條件的不同其分類多種多樣,數學模型與求解算法也層出不窮。本文總結了近幾年一些相關學者對VRP問題的研究和求解算法,通過較為系統地總結VRP問題,本文總結出以下當前研究存在的問題和今后可能的研究方向:
(1)研究目標太過理想化。目前學者研究VRP的研究過于注重成本最小和路徑最短,大部分是單目標優化,而在實際應用中,配送的駕駛員也可能會因許多原因耽誤計劃的行程,顧客的需求各異甚至沖突,顧客滿意度與企業成本最小化目標之間存在效益悖反的矛盾。今后的研究可以將成本、路程、駕駛員休息、顧客滿意度等多個目標聯合起來進行研究,并可以通過線性加權的方式進行綜合求解。
(2)單個約束的VRP問題由于研究時間較長,現在已經研究的較為成熟,而且其應用局限也比較大,應該考慮將多個約束條件結合起來,建立符合實際的多約束條件的車輛路徑問題,更好地解決企業的配送優化。
(3)雖然啟發式算法具有全局搜索能力強,運算方便等優點,但是也存在著局部搜索能力差、收斂時間過長、易陷于局部最優等問題。使用單一的群智能算法不是求解VRP的最有效算法,將兩種和多種群智能算法結合起來研究車輛路徑問題,取長補短,是今后應該考慮的問題;同時,應考慮尋求更多的智能優化算法來求解VRP問題。
參考文獻:
[1] GB. Dantzig, JK. Ramser. The truck dispatching problem[J]. Management Science, 1959,6(1):80-91.
[2] 蔣波. 基于遺傳算法的帶時間窗車輛路徑優化問題研究[D]. 北京:北京交通大學(碩士學位論文),2010.
[3] 趙辰. 基于遺傳算法的車輛路徑優化問題研究[D]. 天津:天津大學(碩士學位論文),2012.
[4] 張群,顏瑞. 基于改進遺傳算法的混合車輛路徑問題[J]. 中國管理科學,2012,20(2):121-128.
[5] 郎茂祥. 裝卸混合車輛路徑問題的模擬退火算法研究[J]. 系統工程學報,2005,20(5):485-491.
[6] 穆東,王超,王勝春,等. 基于并行模擬退火算法求解時間依懶型車輛路徑問題[J]. 計算機集成制造系統,2015,21(6):1626
-1636.
[7] 魏江寧,夏唐斌. 基于混合模擬退火算法的多階段庫存路徑問題研究[J]. 工業工程與管理,2015,20(3):1-8.
[8] M Mirabi, SMTF Ghomi, F Jolai. Efficent stochastic hybrid heuristics for the multi-depot vehicle routing problem[J]. Robotics and Computer-Integrated Manufacturing, 2010,26(6):564-569.
[9] 馬建華,房勇,袁杰. 多車場多車型最快完成車輛路徑問題的變異蟻群算法[J]. 系統工程理論與實踐,2011,31(8):1508
-1516.
[10] 辛穎. 基于蟻群算法的車輛路徑規劃問題求解研究[D]. 長春:吉林大學(碩士學位論文),2015.
[11] 陳迎欣. 基于改進蟻群算法的車輛路徑優化問題研究[J]. 計算機應用研究,2012,29(6):2031-2034.
[12] 段征宇,楊東援,王上. 時間依賴型車輛路徑問題的一種改進蟻群算法[J]. 控制理論與應用,2010,27(11):1557-1563.
[13] 馬炫,彭M,劉慶. 求解帶時間窗車輛路徑問題的改進粒子群算法[J]. 計算機工程與應用,2009,45(27):200-204.
[14] 吳耀華,張念志. 帶時間窗車輛路徑問題的改進粒子群算法研究[J]. 計算機工程與應用,2010,46(15):230-235.