欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種求解多車場帶時(shí)間窗車輛路徑問題的變鄰域搜索算法的制作方法

文檔序號:6377229閱讀:1023來源:國知局
專利名稱:一種求解多車場帶時(shí)間窗車輛路徑問題的變鄰域搜索算法的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及運(yùn)籌學(xué)領(lǐng)域中的車輛調(diào)度問題,具體為一種求解多車場帶時(shí)間窗車輛路徑問題的變鄰域搜索算法或是一種基于變鄰域搜索算法的求解模型。
背景技術(shù)
現(xiàn)實(shí)中大量的物流車輛調(diào)度問題都可以歸結(jié)為多車場帶時(shí)間窗的車輛路徑問題(Multi Depot Vehicle Routing Problem with Time Windows,MDVRPTW):物流車輛最初分別于多個(gè)不同物理地點(diǎn)上的車場,它們需要以最少的路徑成本將指定數(shù)量的貨物在要求的時(shí)間范圍內(nèi)送達(dá)顧客,并最后返回車場。盡管MDVRPTW的實(shí)際應(yīng)用已經(jīng)非常廣泛,但該問題在理論研究中尚未得到很好的解決。“多車場”與“時(shí)間窗”分別在問題的空間和時(shí)間方面施加的雙重約束,使原本就具有 NP復(fù)雜性的問題求解具備了疊加的難度,針對大規(guī)模問題的求解效率還有待提高。MDVRPTff仍是車輛路徑問題集合中為數(shù)不多的沒有得到深入研究的課題之一?,F(xiàn)實(shí)中的物流決策者對該類問題通常采用“以車場為中心對顧客分區(qū)并在區(qū)內(nèi)規(guī)劃路線”這一經(jīng)驗(yàn)性做法,路線規(guī)劃的科學(xué)性和有效性都難以保障。MDVRPTW包含多車場車輛路徑問題(MDVRP)和帶時(shí)間窗車輛路徑問題(VRPTW)這兩類子問題的特性,但由于MDVRP和VRPTW所分別關(guān)注的空間和時(shí)間這兩方面的約束具有相互沖突的求解特性,使得它們在組合為一個(gè)新問題之后,用于解決原有問題的啟發(fā)式思想難以被重用。當(dāng)前求解MDVRPTW的算法主要以元啟發(fā)式為主,包括禁忌搜索算法、遺傳算法、變鄰域搜索算法、粒子群算法以及模擬退火算法等等。而這些元啟發(fā)式算法在問題求解過程中都會遇到過早陷入局部最優(yōu),即早熟收斂的情況,這也是元啟發(fā)式算法在求解MDVRPTW的一大通病。同時(shí)元啟發(fā)式算法中通常需要設(shè)置較多的經(jīng)驗(yàn)參數(shù),而這些參數(shù)往往需要根據(jù)具體的問題來進(jìn)行設(shè)置,不具備較強(qiáng)的通用性。因而,如何減小算法陷入局部最優(yōu)的可能性以及相關(guān)參數(shù)的選取都是元啟發(fā)式算法研究的難點(diǎn)問題。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種求解多車場帶時(shí)間窗車輛路徑問題的變鄰域搜索算法。本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,步驟如下
(I)多車場帶時(shí)間窗車輛路徑問題有車輛載重、服務(wù)時(shí)間窗和車輛最長行駛時(shí)間的限制,在所有客戶點(diǎn)的可能排列中,絕大部分對應(yīng)的都是不可行解,許多算法在求解帶有負(fù)載或時(shí)間窗等約束條件的車輛路徑問題時(shí),通常在求解過程中都只保留可行解,而將不可行解舍棄,但值得注意的是,在這些不可行解中,有可能存在少數(shù)的不可行解,即經(jīng)過一定次數(shù)的迭代過程后能求得質(zhì)量更好的可行解,鑒于此,本算法模型在求解過程中允許不可行解的存在,以使得算法具有更廣闊的搜索空間,進(jìn)而增大算法求得更優(yōu)解的可能性;
在本算法模型中,解的評價(jià)函數(shù)表示為/Cr) =cCr) + Ctqijd + β {χ) + r#Cr),其中α、β、γ為懲罰因子,且O" > Q, β> O, r> O。對于解z來說,令c Cr)表示車輛總的行駛距離或時(shí)間,令^Cr)表示車輛總的載重違反量,令i/Cr)表示車輛總的行駛時(shí)間違反量,令#Cr)表示車輛總的時(shí)間窗違反量,在計(jì)算車輛經(jīng)過單條路徑的行駛時(shí)間違反量時(shí),本文引入了由Savelsbergh提出的向前時(shí)間松弛Forward Time Slack的概念,用于對行駛時(shí)間違反量進(jìn)行相應(yīng)的優(yōu)化;
(2)本算法在初始解的構(gòu)造階段采用三標(biāo)準(zhǔn)聚類算法,依據(jù)客戶的地理位置和時(shí)間窗大小將客戶分配到特定的車場,并規(guī)劃路線,進(jìn)而生成初始解;
(3)Shaking過程主要依據(jù)事先定義的鄰域結(jié)構(gòu)集合對解的結(jié)構(gòu)進(jìn)行一定的調(diào)整,以充分?jǐn)U展當(dāng)前解的搜索空間,減小算法在后續(xù)求解過程中陷入局部最優(yōu)的可能性,對于Shaking過程而言,鄰域結(jié)構(gòu)集合的構(gòu)造在很大程度上決定著變鄰域搜索算法的求解效率以及逃離局部最優(yōu)的能力;
MDVRPTff的解是有多條路徑組成,而每條路徑都看成是客戶節(jié)點(diǎn)的有向序列,在求解MDVRPTff時(shí),本算法引入兩種交換算子,分別為Cross-exchange和iCross-exchange,并利用這兩種算子對當(dāng)前解中的兩條路徑進(jìn)行信息交互,進(jìn)而產(chǎn)生新解,每次執(zhí)行Shaking·過程時(shí),MVNS算法將從上述兩種算子中隨機(jī)選擇一種用于路徑交換,今嫌Picross表示iCross-exchange被選取的概率,則Cross-exchange被選取的概率為I _ Pieross,值得注意的是,Aw的取值一般比較小,這主要是因?yàn)镸DVRPTW的解是具有方向性,因而在路徑交換過程中應(yīng)盡量保持子路徑的原有方向以增大求得可行解的可能性;
參與路徑交換的兩條初始路徑、相應(yīng)子路徑的起始位置以及子路徑的長度都需要通過當(dāng)前解的鄰域結(jié)構(gòu)來確定,一般情況下,變鄰域搜索算法都會采用多個(gè)鄰域結(jié)構(gòu)來提高算法的求解質(zhì)量和穩(wěn)定性,該集合由12個(gè)鄰域結(jié)構(gòu)組成,而且每個(gè)鄰域結(jié)構(gòu)都指定了參與路徑交換的車場數(shù)以及子路徑的最大長度,其中Cr表示分配給路徑r的客戶個(gè)數(shù),由于MDVRPTff存在多個(gè)車場,用于路徑交換的兩條路徑既從同一車場內(nèi)選取或從不同的車場中分別選取,子路徑是從選定的路徑中隨機(jī)選取出來的一段序列,其長度不能超過鄰域結(jié)構(gòu)規(guī)定的最大長度,在所有的鄰域結(jié)構(gòu)中,每個(gè)在其規(guī)定范圍內(nèi)的子序列長度被選擇的概率都是相同的;
(4)在本算法模型中,局部搜索過程將對Shaking過程中產(chǎn)生的新解^的鄰域空間進(jìn)行搜索以求得局部最優(yōu)解4,在Shaking過程結(jié)束后,由于MDVRPTW的當(dāng)前解z中只有兩條路徑發(fā)生改變,而其余路徑均保持不變,因此Local Search過程只需要對這兩條路徑分別進(jìn)行局部搜索,Local Search過程在整個(gè)VNS算法框架中是耗時(shí)最多的部分,而且在較大程度上決定著VNS算法最終的求解質(zhì)量,因而在設(shè)計(jì)局部搜索算法時(shí)需要充分考慮到算法的求解效率,在本算法模型中選取了 2-op和or-opt作為局部搜索算子,以便能在較短的時(shí)間范圍內(nèi)求得質(zhì)量較好的局部最優(yōu)解,值得注意的是,每次的局部搜索過程都只采用一種算子,兩種算子通過隨機(jī)的方式進(jìn)行選取,其中,參數(shù)表示2-opt被選取的概率,相應(yīng)地Or-opt被選取的概率可以表示為I - ,采用這種混合算子的方式較為充分的結(jié)合2-opt和Or-opt兩種算子的尋優(yōu)能力,并且能在一定程度上拓展算法的求解空間;
(5)為了在一定程度上加快算法的收斂速度,并提高算法的求解質(zhì)量,本算法在求解過程中引入了后優(yōu)化過程,在局部搜索完成之后,如果得到的局部最優(yōu)解A優(yōu)于全局最優(yōu)解xbM, f{x^ < /( )則繼續(xù)對&進(jìn)行后優(yōu)化操作以尋求更好的全局最優(yōu)解,本算法中的后優(yōu)化操作選用由Gendreau提出的US算法,該算法適用于求解帶時(shí)間窗的旅行商問題和車輛路徑問題;
(6)在定義MDVRPTW的解的評價(jià)函數(shù)時(shí),引入了車輛的載重違反量、行駛時(shí)間違反量以及時(shí)間窗違反量,并對這三種違反量設(shè)定了相應(yīng)的懲罰因子,而在實(shí)驗(yàn)求解過程中,這些懲罰因子通常設(shè)定為較大的常數(shù),以便使得算法迭代過程中更趨向于向可行解收斂,但這樣做同時(shí)也使得算法容易陷入局部最優(yōu),本文通過采用在求解過程中接受部分較差解的方法來增大對求解空間的擾動,以減小算法過早陷入局部最優(yōu)的可能性;
本算法模型通過引入模擬退火算法模型中的Metropolis準(zhǔn)則來控制算法在一定條件下接受較差解,其接受策略可描述為以下內(nèi)容令Z表示當(dāng)前解,A表示Z經(jīng)過Shaking和Local Search操作后最終得到的局部最優(yōu)解,/Cr7)和/( )分別表示解^和X1評價(jià)函數(shù)值,令△ f = /Cr7) - f(x),當(dāng)Δ f ( O時(shí),對Jr7作后優(yōu)化操作得到解xpo,接受解Xpo并更新當(dāng)前解I,即z =&;當(dāng)> O時(shí),以一定的概率(θ_Λ /τ)接受解Z7并更新當(dāng)前解X,即X = 4,本文對溫度采用線性冷卻的方法,在初始狀態(tài)下^ = &,而每迭代便減少{T0 iterT) /i,其中,T表示當(dāng)前溫度,T0表示初始溫度,itermax表示MVNS算法總的 迭代次數(shù);
(7)本算法各個(gè)參數(shù)的設(shè)置算法總的迭代次數(shù)設(shè)置為107,懲罰因子α. β、Y取值為α 二 β 二 Y 二 100,嫌Picross取值為O. \,P2_opt最終選定為O. 5,7;的取值為5,iterJ- 1000 ;
(8)通過采用Cordeau算例來評估本算法在求解MDVRPTW上的性能,Cordeau算例是由Cordeau、Laporte 和 Mercier 設(shè)計(jì)的 20 個(gè) MDVRPTW 算例,并從網(wǎng)站 http://neo. lcc. uma.es/radi-aeb/webvrp/上獲取,對于每一個(gè)算例而言,用于配送的車輛均屬于同一類型,而且都具有相同的約束條件最大載重量^和最長行駛時(shí)間r,每個(gè)算例中的距離類型均采用歐幾里得距離,即歐式距離,并且假設(shè)車輛在客戶節(jié)點(diǎn)之間的行駛時(shí)間等于客戶節(jié)點(diǎn)之間的歐式距離;
(9)為了驗(yàn)證本文提出的算法模型的尋優(yōu)能力,分別與求解Cordeau算例的禁忌搜索算法TS和變鄰域搜索算法VNS和CAVNS在求得的最優(yōu)解和求解的穩(wěn)定性兩方面進(jìn)行對比。本發(fā)明的有益效果是在初始解的構(gòu)造階段采用聚類算法完成客戶的分配,運(yùn)用混合算子進(jìn)行局部搜索,在通過后優(yōu)化過程增強(qiáng)尋優(yōu)效果,最后引入模擬退火算法模型對新解進(jìn)行控制。為了驗(yàn)證本算法模型的有效性,在Cordeau提出的標(biāo)準(zhǔn)測試用例上對本算法進(jìn)行了實(shí)驗(yàn),并與其他優(yōu)化算法進(jìn)行了對比。實(shí)驗(yàn)結(jié)果更新了大部分測試用例的當(dāng)前最優(yōu)解,并在算法的穩(wěn)定性體現(xiàn)出較強(qiáng)的優(yōu)勢。


圖I為本算法模型的基本流程 圖2為MDVRPTW解的圖形化表示;
圖3為Shaking過程中使用的交換算子;
圖4為Shaking過程中使用的鄰域結(jié)構(gòu)集合;
圖5為Shaking過程舉例;
圖6為局部搜索使用的混合算子;圖7為Cordeau算例描述;
圖8、9為實(shí)驗(yàn)對比結(jié)果。
具體實(shí)施例方式
參照說明書附圖對本發(fā)明的算法作以下詳細(xì)地說明。本算法模型的基本流程圖,如圖I所示。下面結(jié)合流程圖中的各個(gè)步驟來說明本發(fā)明的技術(shù)方案。(I)多車場帶時(shí)間窗車輛路徑問題有車輛載重、服務(wù)時(shí)間窗和車輛最長行駛時(shí)間的限制,在所有客戶點(diǎn)的可能排列中,絕大部分對應(yīng)的都是不可行解。許多算法在求解帶有負(fù)載或時(shí)間窗等約束條件的車輛路徑問題時(shí),通常在求解過程中都只保留可行解,而將不可行解舍棄。但值得注意的是,在這些不可行解中,有可能存在少數(shù)這樣的不可行解,即經(jīng)過一定次數(shù)的迭代過程后能求得質(zhì)量更好的可行解。鑒于此,本算發(fā)模型在求解過程中允許不可行解的存在,以使得算法具有更廣闊的搜索空間,進(jìn)而增大算法求得更優(yōu)解的可能 性;
在本算法模型中,解的評價(jià)函數(shù)表示為/Cr) =cCr) + aQ{j) + β ^) + Vw(x),^中a、β、γ為懲罰因子,且> Q, β> O, r > O。對于解z來說,令c Cr)表示車輛總的行駛距離或時(shí)間,令^Cr)表示車輛總的載重違反量,令i/Cr)表示車輛總的行駛時(shí)間違反量,令Hx)表示車輛總的時(shí)間窗違反量。在計(jì)算車輛經(jīng)過單條路徑的行駛時(shí)間違反量時(shí),本文引入了由Savelsbergh提出的向前時(shí)間松弛(Forward Time Slack)的概念,用于對行駛時(shí)間違反量進(jìn)行相應(yīng)的優(yōu)化;
(2)本算法在初始解的構(gòu)造階段采用三標(biāo)準(zhǔn)聚類算法,依據(jù)客戶的地理位置和時(shí)間窗大小將客戶分配到特定的車場,并規(guī)劃路線,進(jìn)而生成初始解;
(3)Shaking過程主要依據(jù)事先定義的鄰域結(jié)構(gòu)集合對解的結(jié)構(gòu)(如圖2所示)進(jìn)行一定的調(diào)整,以充分?jǐn)U展當(dāng)前解的搜索空間,減小算法在后續(xù)求解過程中陷入局部最優(yōu)的可能性。對于Shaking過程而言,鄰域結(jié)構(gòu)集合的構(gòu)造在很大程度上決定著變鄰域搜索算法的求解效率以及逃離局部最優(yōu)的能力;
MDVRPTff的解是有多條路徑組成,而每條路徑都可以看成是客戶節(jié)點(diǎn)的有向序列。在求解MDVRPTW時(shí),本算法引入兩種交換算子(如圖3所示),分別為Cross-exchange和iCross-exchange,并利用這兩種算子對當(dāng)前解中的兩條路徑進(jìn)行信息交互,進(jìn)而產(chǎn)生新解。每次執(zhí)行Shaking過程時(shí),MVNS算法將從上述兩種算子中隨機(jī)選擇一種用于路徑交換。*參數(shù)Picross表示iCross-exchange被選取的概率,則Cross-exchange被選取的概率為I-Picross。值得注意的是,Amws的取值一般比較小,這主要是因?yàn)镸DVRPTW的解是具有方向性,因而在路徑交換過程中應(yīng)盡量保持子路徑的原有方向以增大求得可行解的可能性;
參與路徑交換的兩條初始路徑、相應(yīng)子路徑的起始位置以及子路徑的長度都需要通過當(dāng)前解的鄰域結(jié)構(gòu)(如圖4所示)來確定。一般情況下,變鄰域搜索算法都會采用多個(gè)鄰域結(jié)構(gòu)來提高算法的求解質(zhì)量和穩(wěn)定性。如圖所示,該集合由12個(gè)鄰域結(jié)構(gòu)組成,而且每個(gè)鄰域結(jié)構(gòu)都指定了參與路徑交換的車場數(shù)以及子路徑的最大長度,其中G表示分配給路徑r的客戶個(gè)數(shù)。由于MDVRPTW存在多個(gè)車場,用于路徑交換的兩條路徑既可以從同一車場內(nèi)選取,也可以從不同的車場中分別選取。子路徑是從選定的路徑中隨機(jī)選取出來的一段序列,其長度不能超過鄰域結(jié)構(gòu)規(guī)定的最大長度。可以看到,在所有的鄰域結(jié)構(gòu)中,每個(gè)在其規(guī)定范圍內(nèi)的子序列長度被選擇的概率都是相同的。Shaking過程舉例如圖5所示;
(4)在本算法模型中,局部搜索過程將對Shaking過程中產(chǎn)生的新解^的鄰域空間進(jìn)行搜索以求得局部最優(yōu)解4。在Shaking過程結(jié)束后,由于MDVRPTW的當(dāng)前解z中只有兩條路徑發(fā)生改變,而其余路徑均保持不變,因此Local Search過程只需要對這兩條路徑分別進(jìn)行局部搜索。Local Search過程在整個(gè)VNS算法框架中是耗時(shí)最多的部分,而且在較大程度上決定著VNS算法最終的求解質(zhì)量,因而在設(shè)計(jì)局部搜索算法時(shí)需要充分考慮到算法的求解效率。在本算法模型中選取了 2-op和or-opt (如圖6所示)作為局部搜索算子,以便能在較短的時(shí)間范圍內(nèi)求得質(zhì)量較 好的局部最優(yōu)解。值得注意的是,每次的局部搜索過程都只采用一種算子,兩種算子通過隨機(jī)的方式進(jìn)行選取。其中,參數(shù)表示2-opt被選取的概率,相應(yīng)地Or-opt被選取的概率可以表示為I - p2,t。采用這種混合算子的方式可以較為充分的結(jié)合2-opt和Or-opt兩種算子的尋優(yōu)能力,并且能在一定程度上拓展算法的求解空間;
(5)為了在一定程度上加快算法的收斂速度,并提高算法的求解質(zhì)量,本算法在求解過程中引入了后優(yōu)化過程。在局部搜索完成之后,如果得到的局部最優(yōu)解^優(yōu)于全局最優(yōu)解xbM, fixj)〈 /( )則繼續(xù)對&進(jìn)行后優(yōu)化操作以尋求更好的全局最優(yōu)解。本算法中的后優(yōu)化操作選用由Gendreau等提出的US算法,該算法適用于求解帶時(shí)間窗的旅行商問題和車輛路徑問題;
(6)在定義MDVRPTW的解的評價(jià)函數(shù)時(shí),引入了車輛的載重違反量、行駛時(shí)間違反量以及時(shí)間窗違反量,并對這三種違反量設(shè)定了相應(yīng)的懲罰因子。而在實(shí)驗(yàn)求解過程中,這些懲罰因子通常設(shè)定為較大的常數(shù),以便使得算法迭代過程中更趨向于向可行解收斂,但這樣做同時(shí)也使得算法容易陷入局部最優(yōu)。本文通過采用在求解過程中接受部分較差解的方法來增大對求解空間的擾動,以減小算法過早陷入局部最優(yōu)的可能性。本算法模型通過引入模擬退火算法模型中的Metropolis準(zhǔn)則來控制算法在一定條件下接受較差解。其接受策略可描述為以下內(nèi)容令Z表示當(dāng)前解,A表示Z經(jīng)過Shaking和Local Search操作后最終得到的局部最優(yōu)解,/Cr7)和/( )分別表示解^和A評價(jià)函數(shù)值。令A(yù)f = Ax1)- /Cr),當(dāng)Af ( O時(shí),對&作后優(yōu)化操作得到解&,接受解&并更新當(dāng)前解即^ =&;當(dāng)> O時(shí),以一定的概率(θ_Λ /τ)接受解Z7并更新當(dāng)前解即z 二 X10本文對溫度采用線性冷卻的方法,在初始狀態(tài)下/ = &,而每迭代便減少(G i terT) /i termax。其中,T1表示當(dāng)前溫度,表示初始溫度,i termax表示MVNS算法總的迭代次數(shù);
(7)本算法各個(gè)參數(shù)的設(shè)置算法總的迭代次數(shù)設(shè)置為107。懲罰因子a. β、Y取值為α 二 β 二 Y 二 100。嫌Picross取值為O. 1,P2_opt最終選定為O. 5。T0的取值為5,iterT- 1000 ;
(8)通過釆用Cordeau算例來評估本算法在求解MDVRPTW上的性能。Cordeau算例是由Cordeau、Laporte 和 Mercier 設(shè)計(jì)的 20 個(gè) MDVRPTW 算例,并可以從網(wǎng)站 http://neo. lcc.uma. es/radi-aeb/webvrp/上獲取。如圖7所示,表示客戶數(shù), 表示車場數(shù),t表示每個(gè)車場可以派遣的車輛數(shù)。對于每一個(gè)算例而言,用于配送的車輛均屬于同一類型,而且都具有相同的約束條件最大載重量A和最長行駛時(shí)間八每個(gè)算例中的距離類型均釆用歐幾里得距離,即歐式距離,并且假設(shè)車輛在客戶節(jié)點(diǎn)之間的行駛時(shí)間等于客戶節(jié)點(diǎn)之間的歐式距離;
(9)為了驗(yàn)證本文提出的算法(這里描述為MVNS)模型的尋優(yōu)能力,分別與求解 Cordeau算例的禁忌搜索算法(TS)和變鄰域搜索算法(VNS和CAVNS)在求得的最優(yōu)解和求解的穩(wěn)定性兩方面進(jìn)行對比,其實(shí)驗(yàn)結(jié)果如圖8、9所示。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.一種求解多車場帶時(shí)間窗車輛路徑問題的變鄰域搜索算法,其特征在于步驟如下 (1)多車場帶時(shí)間窗車輛路徑問題有車輛載重、服務(wù)時(shí)間窗和車輛最長行駛時(shí)間的限制,在所有客戶點(diǎn)的可能排列中,絕大部分對應(yīng)的都是不可行解,許多算法在求解帶有負(fù)載或時(shí)間窗等約束條件的車輛路徑問題時(shí),通常在求解過程中都只保留可行解,而將不可行解舍棄,但值得注意的是,在這些不可行解中,有可能存在少數(shù)的不可行解,即經(jīng)過一定次數(shù)的迭代過程后能求得質(zhì)量更好的可行解,鑒于此,本算法模型在求解過程中允許不可行解的存在,以使得算法具有更廣闊的搜索空間,進(jìn)而增大算法求得更優(yōu)解的可能性; 在本算法模型中,解的評價(jià)函數(shù)表示為/Cr) = c(x) + aq{x) + β d{x) + Yw{x),其中σ、盧、r為懲罰因子,且σ > Q, β > O, r > O,對于解Z來說,令C Cr)表示車輛總 的行駛距離或時(shí)間,令^Cr)表示車輛總的載重違反量,令i/Cr)表示車輛總的行駛時(shí)間違反量,令#Cr)表示車輛總的時(shí)間窗違反量,在計(jì)算車輛經(jīng)過單條路徑的行駛時(shí)間違反量時(shí),本文引入了由Savelsbergh提出的向前時(shí)間松弛Forward Time Slack的概念,用于對行駛時(shí)間違反量進(jìn)行相應(yīng)的優(yōu)化; (2)本算法在初始解的構(gòu)造階段采用三標(biāo)準(zhǔn)聚類算法,依據(jù)客戶的地理位置和時(shí)間窗大小將客戶分配到特定的車場,并規(guī)劃路線,進(jìn)而生成初始解; (3)Shaking過程主要依據(jù)事先定義的鄰域結(jié)構(gòu)集合對解的結(jié)構(gòu)進(jìn)行一定的調(diào)整,以充分?jǐn)U展當(dāng)前解的搜索空間,減小算法在后續(xù)求解過程中陷入局部最優(yōu)的可能性,對于Shaking過程而言,鄰域結(jié)構(gòu)集合的構(gòu)造在很大程度上決定著變鄰域搜索算法的求解效率以及逃離局部最優(yōu)的能力; MDVRPTff的解是有多條路徑組成,而每條路徑都看成是客戶節(jié)點(diǎn)的有向序列,在求解MDVRPTff時(shí),本算法引入兩種交換算子,分別為Cross-exchange和iCross-exchange,并利用這兩種算子對當(dāng)前解中的兩條路徑進(jìn)行信息交互,進(jìn)而產(chǎn)生新解,每次執(zhí)行Shaking過程時(shí),MVNS算法將從上述兩種算子中隨機(jī)選擇一種用于路徑交換,令參數(shù)/^_5表示iCross-exchange被選取的概率,則Cross-exchange被選取的概率為I _ Pieross,值得注意的是,Aw的取值一般比較小,這主要是因?yàn)镸DVRPTW的解是具有方向性,因而在路徑交換過程中應(yīng)盡量保持子路徑的原有方向以增大求得可行解的可能性; 參與路徑交換的兩條初始路徑、相應(yīng)子路徑的起始位置以及子路徑的長度都需要通過當(dāng)前解的鄰域結(jié)構(gòu)來確定,一般情況下,變鄰域搜索算法都會采用多個(gè)鄰域結(jié)構(gòu)來提高算法的求解質(zhì)量和穩(wěn)定性,該集合由12個(gè)鄰域結(jié)構(gòu)組成,而且每個(gè)鄰域結(jié)構(gòu)都指定了參與路徑交換的車場數(shù)以及子路徑的最大長度,其中Cr表示分配給路徑r的客戶個(gè)數(shù),由于MDVRPTff存在多個(gè)車場,用于路徑交換的兩條路徑既從同一車場內(nèi)選取或從不同的車場中分別選取,子路徑是從選定的路徑中隨機(jī)選取出來的一段序列,其長度不能超過鄰域結(jié)構(gòu)規(guī)定的最大長度,在所有的鄰域結(jié)構(gòu)中,每個(gè)在其規(guī)定范圍內(nèi)的子序列長度被選擇的概率都是相同的; (4)在本算法模型中,局部搜索過程將對Shaking過程中產(chǎn)生的新解^的鄰域空間進(jìn)行搜索以求得局部最優(yōu)解4,在Shaking過程結(jié)束后,由于MDVRPTW的當(dāng)前解z中只有兩條路徑發(fā)生改變,而其余路徑均保持不變,因此Local Search過程只需要對這兩條路徑分別進(jìn)行局部搜索,Local Search過程在整個(gè)VNS算法框架中是耗時(shí)最多的部分,而且在較大程度上決定著VNS算法最終的求解質(zhì)量,因而在設(shè)計(jì)局部搜索算法時(shí)需要充分考慮到算法的求解效率,在本算法模型中選取了 2-op和or-opt作為局部搜索算子,以便能在較短的時(shí)間范圍內(nèi)求得質(zhì)量較好的局部最優(yōu)解,值得注意的是,每次的局部搜索過程都只采用一種算子,兩種算子通過隨機(jī)的方式進(jìn)行選取,其中,參數(shù)表示2-opt被選取的概率,相應(yīng)地Or-opt被選取的概率可以表示為I - ,采用這種混合算子的方式較為充分的結(jié)合2-opt和Or-opt兩種算子的尋優(yōu)能力,并且能在一定程度上拓展算法的求解空間; (5)為了在一定程度上加快算法的收斂速度,并提高算法的求解質(zhì)量,本算法在求解過程中引入了后優(yōu)化過程,在局部搜索完成之后,如果得到的局部最優(yōu)解A優(yōu)于全局最優(yōu)解&,S卩,/Cr7) < /( )則繼續(xù)對&進(jìn)行后優(yōu)化操作以尋求更好的全局最優(yōu)解,本算法中的后優(yōu)化操作選用由Gendreau提出的US算法,該算法適用于求解帶時(shí)間窗的旅行商問題和車輛路徑問題; (6)在定義MDVRPTW的解的評價(jià)函數(shù)時(shí),引入了車輛的載重違反量、行駛時(shí)間違反量以及時(shí)間窗違反量,并對這三種違反量設(shè)定了相應(yīng)的懲罰因子,而在實(shí)驗(yàn)求解過程中,這些懲罰因子通常設(shè)定為較大的常數(shù),以便使得算法迭代過程中更趨向于向可行解收斂,但這樣做同時(shí)也使得算法容易陷入局部最優(yōu),本文通過采用在求解過程中接受部分較差解的方法來增大對求解空間的擾動,以減小算法過早陷入局部最優(yōu)的可能性; 本算法模型通過引入模擬退火算法模型中的Metropolis準(zhǔn)則來控制算法在一定條件下接受較差解,其接受策略可描述為以下內(nèi)容令Z表示當(dāng)前解,A表示Z經(jīng)過Shaking和Local Search操作后最終得到的局部最優(yōu)解,/Cr7)和/( )分別表示解^和X1評價(jià)函數(shù)值,令△ f = /Cr7) - f(x),當(dāng)Δ f ( O時(shí),對Jr7作后優(yōu)化操作得到解xpo,接受解Xpo并更新當(dāng)前解I,即z =&;當(dāng)> O時(shí),以一定的概率(θ_Λ /τ)接受解Z7并更新當(dāng)前解X,即X = 4,本文對溫度采用線性冷卻的方法,在初始狀態(tài)下^ = &,而每迭代便減少{T0 iterT) /i,其中,T表示當(dāng)前溫度,T0表示初始溫度,itermax表示MVNS算法總的迭代次數(shù); (7)本算法各個(gè)參數(shù)的設(shè)置算法總的迭代次數(shù)設(shè)置為107,懲罰因子α、β、Υ取值為α = β = Υ = 100,參數(shù)取值為O. l,P2-opt最終選定為O. 5,T0的取值為5,iterJ- 1000 ; (8)通過采用Cordeau算例來評估本算法在求解MDVRPTW上的性能,Cordeau算例是由Cordeau、Laporte 和 Mercier 設(shè)計(jì)的 20 個(gè) MDVRPTW 算例,并從網(wǎng)站 http://neo. lcc. uma.es/radi-aeb/webvrp/上獲取,對于每一個(gè)算例而言,用于配送的車輛均屬于同一類型,而且都具有相同的約束條件最大載重量^和最長行駛時(shí)間r,每個(gè)算例中的距離類型均采用歐幾里得距離,即歐式距離,并且假設(shè)車輛在客戶節(jié)點(diǎn)之間的行駛時(shí)間等于客戶節(jié)點(diǎn)之間的歐式距離; (9)為了驗(yàn)證本文提出的算法模型的尋優(yōu)能力,分別與求解Cordeau算例的禁忌搜索算法TS和變鄰域搜索算法VNS和CAVNS在求得的最優(yōu)解和求解的穩(wěn)定性兩方面進(jìn)行對比。
全文摘要
本發(fā)明提供一種求解多車場帶時(shí)間窗車輛路徑問題的變鄰域搜索算法,在局部搜索過程中采用or-opt和2-opt混合算子進(jìn)行局部搜索;將模擬退火算法模型中的Metropolis準(zhǔn)則引入到VNS算法的基本框架中,用于在一定條件下接受部分較差解,以減小算法陷入局部最優(yōu)的可能性,從而提高算法的可靠性;在算法框架中加入后優(yōu)化過程,使算法的求解質(zhì)量和收斂速度都得到一定程度的提高。
文檔編號G06F19/00GK102880798SQ201210349648
公開日2013年1月16日 申請日期2012年9月20日 優(yōu)先權(quán)日2012年9月20日
發(fā)明者張俊, 顏秉珩 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
鄂州市| 木兰县| 皋兰县| 怀柔区| 原平市| 高密市| 桦南县| 即墨市| 望谟县| 乌鲁木齐县| 芦山县| 神农架林区| 安顺市| 卓资县| 岫岩| 沅陵县| 泰顺县| 花莲县| 肥城市| 班戈县| 大邑县| 阿瓦提县| 宁武县| 佛学| 体育| 芮城县| 德格县| 西林县| 漳州市| 宝丰县| 江门市| 阿坝县| 吴旗县| 广元市| 天门市| 疏附县| 乌什县| 察雅县| 南京市| 云林县| 廉江市|