物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié)_第1頁
物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié)_第2頁
物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié)_第3頁
物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié)_第4頁
物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié)_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié)物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié)物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié)V:1.0精細(xì)整理,僅供參考物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié)日期:20xx年X月物流配送是物流中直接與消費(fèi)者相連的重要環(huán)節(jié),是在集貨、配貨基礎(chǔ)上,按貨物種類、品種搭配、數(shù)量、時(shí)間等要求所進(jìn)行的運(yùn)送,是“配”和“送”的有機(jī)結(jié)合.在物流配送業(yè)務(wù)中,存在許多優(yōu)化決策的問題,本文只討論車輛優(yōu)化調(diào)度問題.車輛優(yōu)化調(diào)度問題(vehicleroutingproblem,簡(jiǎn)稱VRP)是由Dantzig和Ramser于1959年首次提出[1].一般定義為:對(duì)一系列發(fā)貨點(diǎn)和/或收貨點(diǎn),組織適當(dāng)?shù)男熊嚶肪€,使車輛有序地通過它們,在滿足一定的約束條件(如貨物需求量、車輛容量限制、行駛里程限制、時(shí)間限制等)下,達(dá)到一定的目標(biāo)(如路程最短、費(fèi)用最小、使用車輛數(shù)盡量少等).車輛優(yōu)化調(diào)度問題是一個(gè)有約束的組合優(yōu)化問題,已經(jīng)被證明是個(gè)NP難題,隨著問題規(guī)模的擴(kuò)大,求解時(shí)間呈幾何級(jí)數(shù)上升.因此人們逐漸傾向于采用近似算法,啟發(fā)式方法作為一種簡(jiǎn)單而行之有效的近似方法,既能滿足詳細(xì)描述問題和求解的需要,又便于計(jì)算機(jī)實(shí)現(xiàn).為此國內(nèi)外研究車輛優(yōu)化調(diào)度問題的文獻(xiàn)主要把精力放在構(gòu)造高質(zhì)量的啟發(fā)式算法上.通過現(xiàn)代優(yōu)化算法做出決策和判斷,追求運(yùn)輸系統(tǒng)總體最優(yōu)、總費(fèi)用最低的最優(yōu)解.2物流配送車輛優(yōu)化調(diào)度問題的數(shù)學(xué)模型本文針對(duì)一種最普遍的,也是大多數(shù)有關(guān)車輛優(yōu)化調(diào)度問題文獻(xiàn)所討論的一類問題,即集貨或送貨的非滿載車輛優(yōu)化調(diào)度問題.比如一個(gè)配送中心擁有容量為q的車輛,現(xiàn)有n項(xiàng)貨物運(yùn)輸任務(wù),以1,?,n表示,已知任務(wù)i的貨運(yùn)量為gi(i=1,?,n),且giFq,求滿足貨運(yùn)要求的費(fèi)用最小的車輛行駛路線.為方便構(gòu)造數(shù)學(xué)模型,將配送中心編號(hào)為0,任務(wù)編號(hào)為1,?,n,任務(wù)及配送中心均以點(diǎn)i(i=0,1,?,n)來表示,并定義變量如下:yki=1,點(diǎn)i的任務(wù)由車輛k完成;否則,yki=0xijk=1,車輛k從點(diǎn)i行駛到點(diǎn)j;否則,xijk=0則這個(gè)車輛調(diào)度模型如下:minΣiΣjΣkcijxijk(1)ΣigiykiFq;Pk(2)Σkyki=1i=0,1,?,n(3)Σixijk=ykjj=0,1,?,n;Pk(4)Σjxijk=ykji=0,1,?,n;Pk(5)xijk∈{0,1}i,j=0,1,?,n;Pk(6)yki∈{0,1}i,j=0,1,?,n;Pk(7)X=(xijk)∈si,j=0,1,?,n(8)上述數(shù)學(xué)模型中,式(1)為目標(biāo)函數(shù),cij表示從i到j(luò)需花的運(yùn)輸成本,它的含義可以是時(shí)間、距離、費(fèi)用等;式(2)保證每條路徑上各需求點(diǎn)的需求量之和不超過汽車的載重;式(3)限制每個(gè)需求點(diǎn)有且僅能由一輛汽車送貨;式(4)和(5)表明兩個(gè)變量之間的關(guān)系;式(8)中的為支路消去約束,避免出現(xiàn)與配送中心相分離的線路.[2]3車輛優(yōu)化調(diào)度的混合遺傳算法設(shè)計(jì)遺傳算法具有并行搜索能力且能一定程度上保留歷史信息,但選擇操作無法產(chǎn)生種群外的個(gè)體,交叉變異只具有有限的進(jìn)化能力,所以常出現(xiàn)進(jìn)化緩慢和過早收斂的現(xiàn)象,另外算法收斂性很難控制.而模擬退火算法的概率突跳性使得它有避免局部極小的能力,但算法不具有并行性,每一時(shí)刻僅保留一個(gè)解,沒有冗余和歷史信息,且優(yōu)化過程中若退溫過快會(huì)遺失優(yōu)良解,同時(shí)抽樣穩(wěn)定條件或退溫速率的限制使得算法需要很長的尋優(yōu)時(shí)間.所以這兩者結(jié)合所構(gòu)成的混合優(yōu)化策略能進(jìn)行優(yōu)勢(shì)互補(bǔ),提高算法的運(yùn)行效率和效果.并在混合遺傳算法上的基礎(chǔ)上加入自適應(yīng)的交叉和變異概率以及精英保留策略的思想,提出一種混合優(yōu)化策略———自適應(yīng)的模擬退火遺傳算法.基本思想是:將遺傳算法與模擬退火算法相結(jié)合,構(gòu)成一種混合遺傳算法,與基本遺傳算法的總體運(yùn)行過程相類似,它從一組隨機(jī)產(chǎn)生的初始解開始搜索,先通過附帶精英保留策略的選擇、交叉、變異等遺傳操作來產(chǎn)生一組新的個(gè)體,然后再獨(dú)立地對(duì)所產(chǎn)生的各個(gè)個(gè)體進(jìn)行模擬退火操作,以其結(jié)果作為下一代遺傳操作的群體,這個(gè)過程反復(fù)迭代直到滿足某個(gè)終止條件.求解過程為:(1)選擇初始解群,給定初溫.(2)確定每一個(gè)體的適應(yīng)度.(3)重復(fù)以下步驟直至算法收斂準(zhǔn)則滿足:(311)進(jìn)行復(fù)制操作(附帶精英保留策略);(312)進(jìn)行交叉操作(附帶精英保留策略);(313)進(jìn)行變異操作(附帶精英保留策略).(314)對(duì)種群中每一個(gè)體進(jìn)行模擬退火操作直至抽樣穩(wěn)定:(31411)由狀態(tài)產(chǎn)生函數(shù)產(chǎn)生新個(gè)體;(31412)利用狀態(tài)接受函數(shù)以一定概率接受新狀態(tài).(315)退溫操作.(4)輸出最優(yōu)結(jié)果.311確定車輛數(shù)首先為了安排線路,須預(yù)先對(duì)需要的車輛數(shù)進(jìn)行一個(gè)估計(jì).一般來說,當(dāng)問題的約束越多,組織線路就越難,一輛車所完成的滿足所有約束的任務(wù)越少,這時(shí),一輛車實(shí)際所能容納的任務(wù)量要小,而所用的車輛數(shù)可能要多.本文使用文獻(xiàn)[3]的公式來確定需要的車輛數(shù):k=[Σni=1gi/aq]+1(9)式中,k為所需的車輛數(shù),[]表示不大于括號(hào)內(nèi)數(shù)字的最大整數(shù);其中0<a<1,是對(duì)裝車(或卸車)的復(fù)雜性程度及約束多少的估計(jì),一般來講,裝(卸)車越復(fù)雜,約束越多,a應(yīng)越小,表示一輛車所能容納的貨物量越少.實(shí)際中可以根據(jù)實(shí)踐經(jīng)驗(yàn)來調(diào)整a的大小,這里我們參考文獻(xiàn)[4],取a=0185.312染色體結(jié)構(gòu)設(shè)計(jì)對(duì)于單一配送中心的一般車輛優(yōu)化調(diào)度問題,設(shè)有n個(gè)需求點(diǎn),有k輛汽車,則最多存在k條配送路徑,每條配送路徑都始于配送中心,也終于配送中心.為了在編碼中反映車輛配送的路徑,我們采用0表示配送中心,每條子路徑用0隔開,兩個(gè)0之間的構(gòu)成一條子路徑,構(gòu)成n+k+1個(gè)數(shù)構(gòu)成的染色體.例如,對(duì)于一個(gè)有9個(gè)需求點(diǎn),用4輛汽車完成配送任務(wù)的問題,則可用1,2,?,9(表示各個(gè)需求點(diǎn))和5個(gè)0(配送中心)進(jìn)行排列,表示物流配送路徑方案.如染色體002920表示的配送路徑方案為:子路徑1:配送中心0→需求點(diǎn)1→需求點(diǎn)2→配送中心0子路徑2:配送中心0→需求點(diǎn)6→需求點(diǎn)3→需求點(diǎn)8→需求點(diǎn)4→配送中心0子路徑3:配送中心0→需求點(diǎn)5→需求點(diǎn)7→配送中心0子路徑4:配送中心0→需求點(diǎn)9→配送中心0313目標(biāo)函數(shù)的約束處理在構(gòu)造遺傳算法時(shí),處理約束條件的常用方法主要有如下三種:搜索空間限定法、可行解變換法、罰函數(shù)法.這里我們用罰函數(shù)法將容量約束式變?yōu)槟繕?biāo)函數(shù)的一部分來進(jìn)行約束處理,而其它的一些約束我們通過染色體的編碼,已經(jīng)滿足這些約束了.minz=ΣiΣjΣkcijxijk+MΣkmax(Σigiyki-q,0)MΣkmax(Σigiyki-q,0)表示若違反約束處以的懲罰值.為了嚴(yán)格滿足容量約束,應(yīng)有M→∞.考慮到計(jì)算機(jī)處理的不便,M可以取一適當(dāng)大的正數(shù),比如可取M為1000000.314初始群體對(duì)于擁有n個(gè)需求點(diǎn)以及K輛運(yùn)輸車輛的模型,先隨機(jī)產(chǎn)生的1~n互不重復(fù)的自然數(shù)全排列,如i1,i2,?,in,若Σs-1j=1gijFq且Σsj=1gij>q,將S至n的基因逐一向后移動(dòng)一位,使S位空出,將0插入第S位.接著若Σt-1j=sgijFq且Σtj=sgij>q,如上面的操作,使t位空出,將0插入第t位和.如此繼續(xù),直到將k-1個(gè)0全部插入染色體為止,然后在生成的染色體的首尾加0,作為起點(diǎn)和終點(diǎn).如此反復(fù),直至滿足群體數(shù).315參數(shù)控制參數(shù)控制主要是初始溫度,交叉和變異概率的選擇.實(shí)驗(yàn)表明,初溫越大,獲得高質(zhì)量解的幾率越大,但花費(fèi)的計(jì)算時(shí)間將增加.因此,初溫的確定應(yīng)折衷考慮優(yōu)化質(zhì)量和優(yōu)化效率,這里采用一種最常用且可理解的初溫確定方案:首先隨機(jī)產(chǎn)生一組狀態(tài),確定兩兩狀態(tài)間的最大目標(biāo)值差Δmax,然后由式T0=2Δmax/lnpr,其中pr為初始接受概率(理論上應(yīng)接近于1,實(shí)際設(shè)計(jì)時(shí)也可取011)[5].采用自適應(yīng)的交叉和變異概率:Pc=Pc1-(Pc1-Pc2)(f′-favg)fmax-favgf′EfavgPc1f′<favPm=Pm1-(Pm1-Pm2)(fmax-f)fmax-favgfEfavgPmif<favg其中Pc1=0175,Pc2=0145,Pm1=012,Pm2=0101.算法結(jié)束條件為退溫次數(shù)達(dá)到100次時(shí),終止算法.316遺傳算子31611復(fù)制操作這里選用最佳保留的輪盤賭復(fù)制法,賭輪方法源于輪盤賭博游戲,也稱為適應(yīng)度比例方法.在該方法中,各個(gè)個(gè)體的選擇概率和其適應(yīng)度值的大小成正比,這也是目前遺傳算法中最基本也是最常用的選擇方法.適應(yīng)度越高的個(gè)體被選中的概率也越大;反之,適應(yīng)度越低,個(gè)體被于先中的概率比較小.這樣,就產(chǎn)生了對(duì)環(huán)境適應(yīng)能力較強(qiáng)的后代.從問題求解角度來講,就是選出和最優(yōu)解較接近的中間解.為了防止具有最佳性能的染色體被變異,可采用最佳保留復(fù)制(“精英保留”策略)的方法,即將最優(yōu)性能的染色體直接復(fù)制到下一代,這樣使算法可收斂到全局最優(yōu).31612交叉操作交叉操作是遺傳算法中比較關(guān)鍵的一步.為改善算法進(jìn)化后期的尋優(yōu)能力,我們采用一種新的改進(jìn)交叉算子,最大程度地保留兩個(gè)父代個(gè)體優(yōu)秀子路徑信息,充分利用另一父代個(gè)體子路徑信息,將兩個(gè)父代個(gè)體的客戶路徑信息相結(jié)合生成新的子個(gè)體,生成的子個(gè)體中的車輛數(shù)目,每輛車負(fù)責(zé)的客戶點(diǎn)數(shù)目會(huì)根據(jù)雙方父代個(gè)體的基因信息確定,大大豐富了種群多樣性;而當(dāng)兩父代個(gè)體相同時(shí),一樣可以產(chǎn)生新的個(gè)體.其操作過程為:如果染色體交叉點(diǎn)處的兩個(gè)基因都為0,直接進(jìn)行OX(順序交叉)運(yùn)算;如果染色體交叉點(diǎn)處的基因不全為0,則將交叉點(diǎn)左移(右移),直到左右兩個(gè)交叉點(diǎn)處的基因都為0,再進(jìn)行OX運(yùn)算[2].如:父代1:0120|345|06780父代2:0137|026|50480|||內(nèi)為匹配段,經(jīng)過最大保留交叉運(yùn)算后,產(chǎn)生:子代1:0子代2:031613變異操作為了避免算法的早熟收斂,增加種群的多樣性,變異操作也是重要的部分,這里我們采用一種32交換變異算子.32交換變異算子是一種局域?qū)?yōu)技術(shù),即對(duì)初始可行線路的3條邊(或弧)進(jìn)行交換.具體操作步驟為先隨機(jī)選擇染色體上的3點(diǎn),然后重新進(jìn)行排列組合,并選擇最好的一個(gè)作為變異產(chǎn)生的后代.這種變異算子可以改變單一的變異操作實(shí)現(xiàn)結(jié)果單調(diào)的狀況,豐富了種群的多樣性,并可以配合交叉操作產(chǎn)生新的染色體,提高尋優(yōu)能力.317SA部分的操作設(shè)計(jì)對(duì)于基于路徑編碼的SA狀態(tài)產(chǎn)生函數(shù)操作,將其設(shè)計(jì)為:互換操作,即隨機(jī)交換染色體中兩個(gè)不同基因的位置.SA狀態(tài)接受函數(shù)的設(shè)計(jì):采用min{1,exp(2Δ/Tk)}>random[0,1]作為接受新狀態(tài)的條件,其中Δ為新舊狀態(tài)的目標(biāo)值差,Tk為當(dāng)前溫度值.溫度更新函數(shù),即溫度的下降方式,用于在算法外循環(huán)中修改溫度值.理論上溫度應(yīng)以很慢的速度下降,如對(duì)數(shù)的倒數(shù)方式,但為了避免過于冗長的搜索過程,較好地折衷兼顧優(yōu)化質(zhì)量和時(shí)間性能,指數(shù)退溫函數(shù)是最常用的退溫策略,即Tk+1=λTk,λ為退溫速率.4仿真實(shí)驗(yàn)分析本文用功能強(qiáng)大的Matlab軟件進(jìn)行實(shí)例的仿真實(shí)驗(yàn)的編程,Matlab是以矢量和矩陣為基本運(yùn)算單元,所以利用Matlab編寫VRP問題的算法,具有編程簡(jiǎn)單、容易實(shí)現(xiàn)的優(yōu)點(diǎn).在Matlab的圖形窗口下,可以方便地給出點(diǎn)陣,其分析結(jié)果更具一般性.經(jīng)過計(jì)算找到最小費(fèi)用(或最短路徑)后有Matlab強(qiáng)大繪圖功能的支持,將所得路徑標(biāo)注出來,非常直觀.實(shí)驗(yàn)的初始數(shù)據(jù)參照文獻(xiàn)[6].每個(gè)客戶i的貨運(yùn)量為gi(i=1,?,n),且giFq,q為車輛的最大承載量,此處q=8.各倉庫間運(yùn)輸成本cij,由各客戶間的直線距離決定,即:Cij=(xi-xj)2+(yi-yj)2首先確定所需的車輛數(shù),這里k=[Σni=1gi/aq]+1=36173/(018538)+1=6.按照上一節(jié)給出的標(biāo)準(zhǔn)進(jìn)行AGASA的算法設(shè)計(jì)和參數(shù)選擇.對(duì)算例進(jìn)行10次隨機(jī)的運(yùn)算,每次的結(jié)果為:(注:加粗的為已知的最優(yōu)解)最優(yōu)值對(duì)應(yīng)的染色體為:01514171311953018604162801201200107190即配送路線為:子路徑1:0→15→14→17→13→11→9→5→3→0子路徑2:0→18→6→0子路徑3:0→4→16→2→8→0子路徑4:0→1→20→12→0子路徑5:0→10→7→19→0圖1是最優(yōu)解對(duì)應(yīng)的進(jìn)化過程圖,圖2是對(duì)應(yīng)最優(yōu)解的路線圖.圖1進(jìn)化過程圖圖2最優(yōu)解路線圖從10次實(shí)驗(yàn)得出的數(shù)據(jù)上可以看出有4次達(dá)到最優(yōu)值,具有很高的達(dá)優(yōu)率.平均值agasa_mean=85512208,說明算法具有很高的魯棒性(可靠性).10次隨機(jī)實(shí)驗(yàn)的平均運(yùn)行時(shí)間agasa_time=1411831,算法收斂的時(shí)間性能可以滿足實(shí)際車輛調(diào)度的要求.最優(yōu)解對(duì)應(yīng)的染色體存在兩個(gè)并在一起的“0”,說明沒有必要派出6輛車,只要5輛車就可以完成配送任務(wù),這樣在現(xiàn)實(shí)中可以節(jié)約車輛調(diào)用的固定成本.如果算法得出的運(yùn)輸成本大于M,可以認(rèn)為算法產(chǎn)生了不可行解,這是因?yàn)橹付ǖ能囕v數(shù)過少的緣故,解決的辦法是調(diào)節(jié)公式(9)中的a的值,適當(dāng)增加車輛數(shù).5結(jié)束語混合遺傳算法AGASA結(jié)合遺傳算法和模擬退火算法的優(yōu)化機(jī)制以及鄰域搜索結(jié)構(gòu)的混合策略,大大提高了算法的全局優(yōu)化度和魯棒性.雖然AGASA算法對(duì)參數(shù)的選擇沒有單一算法那樣摘要:配送是物流系統(tǒng)中一個(gè)直接與消費(fèi)者相連的重要環(huán)節(jié),對(duì)配送系統(tǒng)進(jìn)行優(yōu)化,可以提高物流經(jīng)濟(jì)效益、實(shí)現(xiàn)物流科學(xué)化,因此配送系統(tǒng)的優(yōu)化問題顯得尤為重要。進(jìn)行配送系統(tǒng)優(yōu)化,主要是配送車輛調(diào)度的優(yōu)化。文章在全面分析研究物流配送業(yè)務(wù)特點(diǎn)的基礎(chǔ)上,針對(duì)配送中的核心問題———車輛調(diào)度優(yōu)化問題進(jìn)行了深入的研究,建立了單源點(diǎn)物流配送車輛調(diào)度優(yōu)化問題的數(shù)學(xué)模型,并運(yùn)用遺傳算法對(duì)其進(jìn)行求解,仿真實(shí)例證明了該方法的有效性。關(guān)鍵詞:物流配送;車輛調(diào)度;遺傳算法Abstract:Distributionisanimportantlinkinlogistics,whichisjoinedtoconsumersdirectly.VehicleRoutingProblem(VRP)isthemainpartofoptimizingthedistributionsystem.Itcanadvancetheeconomicbenefitsandmakelogisticsscientific.Firstly,thepaperanalyzesVRP,andsortsitaccordingtogivenconditions.Secondly,itchoosesatypicalonetoanalyze.Itsetsamodeloftheproblem,andsettlesitwithageneticalgorithmthatisfastandaccurate.Lastly,thepaperillustratestheprocessofusingthemethodreferredinthepaperbyanexample.Keywords:distribution;VRP;geneticalgorithm遺傳算法在VRP問題中的應(yīng)用GeneticAlgorithmfortheVehicleRoutingProblem張國英,林賢茂(山東大學(xué)現(xiàn)代物流研究中心,山東濟(jì)南250061)ZHANGGuo-ying,LINXian-mao(TheLogisticsInstitute,ShandongUniversity,Jinan250061,China)0引言物流配送車輛優(yōu)化調(diào)度問題于1959年由Dantzig和Ramser提出,國外一般稱之為VehicleRoutingProblem(VRP)[1]。車輛調(diào)度問題是指為服務(wù)于已知的一組顧客的一個(gè)車隊(duì),設(shè)計(jì)一組開始和結(jié)束于一個(gè)中心出發(fā)點(diǎn)的最小費(fèi)用路徑。每個(gè)顧客只能被服務(wù)一次,而且一個(gè)車輛服務(wù)的顧客數(shù)不能超過它的能力。VRP已被證明是一個(gè)NP問題。VRP問題的研究起步較早,求解方法也非常豐富,基本上可以分為精確算法和啟發(fā)式算法兩大類[2]。由于VRP問題是強(qiáng)NP難題,高效的精確算法存在的可能性不大,所以尋找近似算法是必要和現(xiàn)實(shí)的,本論文在建設(shè)物流配送體系、改進(jìn)遺傳算法的應(yīng)用等方面進(jìn)行了新的探索與嘗試,主要工作在于:(1)將改進(jìn)遺傳算法應(yīng)用于物流配送優(yōu)化中實(shí)際問題的求解,并采用計(jì)算機(jī)語言完成對(duì)其算法的實(shí)現(xiàn);(2)通過實(shí)證分析,改進(jìn)遺傳算法用于物流配送優(yōu)化的效果。1問題描述典型的VRP問題可以描述為:從某物流中心用多臺(tái)配送車輛向多個(gè)客戶送貨,每個(gè)客戶的位置和貨物需求量一定,每輛配送車輛的載重量一定,其一次配送的最大行駛距離一定,要求合理安排車輛配送路線,使目標(biāo)函數(shù)得到優(yōu)化。城市配送車輛調(diào)度描述為:存在一個(gè)配送中心,擁有K輛容量為Qk,k=1,2,…,K,的配送車輛,現(xiàn)有n個(gè)客戶需要服務(wù),以1,2,…,n表示,已知客戶i的需求量為gi,i=1,2,…,n,,且0<gi≤Qkk=1,2,…,,K,,求滿足貨運(yùn)要求的成本(行駛里程、工作時(shí)間、運(yùn)行成本等目標(biāo)函數(shù))最小的車輛行駛線路。為構(gòu)造數(shù)學(xué)模型方便,將配送中心編41LogisticsSci-Tech號(hào)為0,客戶點(diǎn)編號(hào)為1,…,n,客戶點(diǎn)及配送中心均以點(diǎn)i,i=0,1,…,n,來表示,并定義變量如下:yki=1,客戶點(diǎn)i由配送車輛k服務(wù);,0,否則i=1,2,…,n;k=1,2,…,Kxijk=1,車輛k從客戶點(diǎn)i行駛到客戶點(diǎn)j;,0,否則。i,j=0,1,…,n;k=1,2,…,K則車輛優(yōu)化調(diào)度模型如下:minz=iΣjΣkΣcijxijk(1)iΣgiyki≤Qkk=1,2,…,K(2)kΣyki=1i=1,2,…,n(3)iΣxijk=ykjj=1,2,…,n;坌k(4)jΣxijk=ykii=1,2,…,n;坌k(5)xijk=0或1,i,j=0,1,…,n;k=1,2,…,K(6)yki=0或1,i,j=0,1,…,n;k=1,2,…,K(7)模型中,cij表示從客戶i點(diǎn)到客戶j點(diǎn)的費(fèi)用,根據(jù)具體實(shí)際情況確定,可同時(shí)考慮車輛數(shù)和運(yùn)行費(fèi)用:(1)當(dāng)i為配送中心時(shí),包括固定費(fèi)用和運(yùn)行費(fèi)用:c0j=c0+c1t0j,j=1,2,…,n;(2)當(dāng)i為客戶點(diǎn)時(shí),只有運(yùn)行費(fèi)用:cij=c1tij,i=1,2,…,n,j=0,1,…,n。式中,c1為相對(duì)于運(yùn)行時(shí)間的費(fèi)用系數(shù);tij為客戶點(diǎn)之間運(yùn)行時(shí)間;c0為車輛的固定費(fèi)用,即增加一輛車的費(fèi)用。減小c0的值將會(huì)使車輛數(shù)增多,而線路長度縮短。若令c1=0,c0>0,則模型目標(biāo)是使用的車輛數(shù)最小。2掃描法和遺傳算法介紹制定從一個(gè)物流中心向多個(gè)用戶運(yùn)送貨物的配送計(jì)劃時(shí),必須考慮每輛車的運(yùn)載能力和行駛距離及時(shí)間等的限制。掃描法是一種能較好地解決配送路線問題的方法。遺傳算法最早由美國密切根大學(xué)(Michigan)的Holland教授提出,主要特點(diǎn)是群體搜索策略和群體(population)中個(gè)體(individual)之間的信息交換。它實(shí)際上是模擬由個(gè)體組成的群體的整體學(xué)習(xí)過程,其中每個(gè)個(gè)體對(duì)應(yīng)研究問題的一個(gè)解。鑒于以上算法的特點(diǎn),本文將掃描法和遺傳算法結(jié)合以來,將VRP問題轉(zhuǎn)換為TSP問題求解,并且對(duì)傳統(tǒng)的遺傳算法進(jìn)行改進(jìn)。3算法的設(shè)計(jì){輸入車輛調(diào)度問題的己知條件:輸入運(yùn)行參數(shù),如群體規(guī)模N,終止進(jìn)化代數(shù)T和最優(yōu)染色體保留代數(shù)N,交叉概率pc,變異概率pm,執(zhí)行變異操作時(shí)的基因換位次數(shù)J,對(duì)不可行路徑的懲罰權(quán)重Pw等;采用掃描法進(jìn)行配送線路分區(qū),確定每個(gè)客戶點(diǎn)屬于哪輛車,車輛編號(hào)為1-m;While,i≤m,do隨機(jī)產(chǎn)生初始化群體P,0,,當(dāng)前進(jìn)化代數(shù)t=0;計(jì)算P,0,中每個(gè)個(gè)體的適應(yīng)度;while,t<指定進(jìn)化終止代數(shù)T,do{將本代中適應(yīng)度最高的個(gè)體復(fù)制一個(gè),直接進(jìn)入到新群體P,t+1,中;遺傳算法在VRP問題中的應(yīng)用42LogisticsSci-Tech根據(jù)本代個(gè)體的適應(yīng)度,計(jì)算群體內(nèi)每個(gè)個(gè)體的選擇概率pi;然后根據(jù)輪盤賭方式選擇染色體復(fù)制到新群體P!t+1",使新群體的規(guī)模為N;根據(jù)選擇概率pc,從P!t+1"中隨機(jī)生成兩條染色體作父代,交叉操作生成兩條新染色體,計(jì)算四條染色體適應(yīng)度,保留兩條最優(yōu)染色體在P!t+1"中;根據(jù)選擇概率pm,從P!t+1"中隨機(jī)生成一條染色體作父代,變異操作生成新染色體,計(jì)算父代和子代染色體適應(yīng)度,保留最優(yōu)染色體在P!t+1"中;計(jì)算P!t+1"中每個(gè)個(gè)體的適應(yīng)度和成本;t=t+1;}輸出最優(yōu)染色體的編碼和染色體的成本;i=i+1;計(jì)算并輸出各輛車最優(yōu)染色體的成本和。}4仿真實(shí)驗(yàn)實(shí)驗(yàn):現(xiàn)假設(shè)有n個(gè)貨物需求點(diǎn)和一個(gè)為這些需求點(diǎn)提供貨物的配送中心,配送中心有m輛汽車用于各需求點(diǎn)的貨物配送,每輛車的載重量皆為定值,假設(shè)車輛的容量為10000,每個(gè)客戶的需求為0~10000/7的一個(gè)隨機(jī)數(shù)。通過實(shí)驗(yàn)遺傳算法和節(jié)約型算法的比較(如表1所示),可知:(1)采用首先掃描后遺傳算法進(jìn)行配送路徑優(yōu)化,隨客戶點(diǎn)的增加,計(jì)算時(shí)間有所增加,但是時(shí)間變化近似線性變化,而節(jié)約型的算法,隨客戶點(diǎn)的增加,計(jì)算時(shí)間呈幾何級(jí)增長,當(dāng)客戶點(diǎn)在一千個(gè)左右的時(shí)候,運(yùn)行時(shí)間超過半個(gè)小時(shí);(2)通過試驗(yàn)可以得出這樣的結(jié)論:若車的容量一定,使每輛車配送的客戶點(diǎn)一定,增加客戶點(diǎn)的個(gè)數(shù)對(duì)程序運(yùn)行時(shí)間影響不是很大。但是若每輛車的配送點(diǎn)增加,這樣程序的運(yùn)行時(shí)間會(huì)顯著增加,當(dāng)每輛車的客戶點(diǎn)超過500時(shí),程序在十分鐘內(nèi)運(yùn)行不出結(jié)果。對(duì)于單車來講,采用此算法最適合的配送點(diǎn)在!10,200"區(qū)間;(3)采用不同的交叉和變異對(duì)于程序的收斂速度以及程序的準(zhǔn)確性有很大的影響;對(duì)于不同規(guī)模的線路優(yōu)化問題,應(yīng)當(dāng)選取不同的參數(shù)值。5結(jié)論遺傳算法與傳統(tǒng)的算法相比的優(yōu)越性有:(1)遺傳算法能以很大的概率找到問題的最有解,遺傳算法具有并行性,能有效地處理大規(guī)模的優(yōu)化問題。(2)遺傳算法的結(jié)構(gòu)是開放式的,與問題本身無關(guān),所以容易和其他的算法相結(jié)合,共同得到性能更好的混合算法。參考文獻(xiàn):[1]DantzigG.,RamserJ.TheTruckDispatchingProblem[J].ManagementSci,1959(6):80-91.[2]李軍.物流配送車輛優(yōu)化調(diào)度理論與方法[M].北京:中國物資出版社,2001.表1配送點(diǎn)數(shù)量節(jié)約算法遺傳算法時(shí)間路徑長度時(shí)間路徑長度501001502003005001000遺傳算法在VRP問題中的應(yīng)用1引言蟻群算法(AntColonyAlgorithm,ACA)是一種概率搜索算法,它利用信息激素為媒介進(jìn)行間接的信息傳遞,螞蟻根據(jù)信息素的強(qiáng)度做出對(duì)較優(yōu)解的判斷選擇,蟻群的群體行為表現(xiàn)出一種信息正反饋現(xiàn)象,即當(dāng)算法迭代時(shí),較優(yōu)解的信息素濃度增強(qiáng),而其他解上信息素濃度變?nèi)鮗1-2]。蟻群算法最早由意大利學(xué)者等人[3]提出,并應(yīng)用其成功求解了旅行商問題,取得了較好的結(jié)果。因此蟻群算法逐漸引起了其他學(xué)者的注意,逐漸對(duì)其進(jìn)行改進(jìn)研究并應(yīng)用于不同領(lǐng)域。車輛路徑問題是運(yùn)籌學(xué)領(lǐng)域的一大類重要問題,是實(shí)現(xiàn)高效配送的重要技術(shù)之一。它適用于牛奶配送、報(bào)紙投遞、垃圾車的線路優(yōu)化及連鎖商店的送貨線路優(yōu)化等眾多社會(huì)領(lǐng)域?;镜南伻核惴ㄖ袇?shù)的選擇影響算法的收斂速度和尋優(yōu)性能。為了改進(jìn)蟻群算法的性能,文中首先利用遺傳算法優(yōu)化蟻群算法的控制參數(shù),進(jìn)而選擇最優(yōu)的控制參數(shù)的蟻群算法求解車輛路徑問題。實(shí)驗(yàn)結(jié)果表明改進(jìn)的蟻群算法具有較快的收斂能力和良好的尋優(yōu)性能。2車輛路徑問題車輛路徑問題是指將貨物從配送中心送到貨物需求點(diǎn)上,既要滿足需求點(diǎn)貨物量的要求,又要使配送成本最小。設(shè)有一個(gè)擁有載重量為q的車輛m輛的配送中心。在其周邊共有L個(gè)地點(diǎn)需要送貨上門,該問題轉(zhuǎn)化為求出這L個(gè)點(diǎn)的排列順序。在該順序下,將L個(gè)點(diǎn)分成m′(m′≤m)個(gè)組合,每個(gè)組合表示一輛車完成一次貨物運(yùn)送任務(wù),使得總的配送成本最小?;炯僭O(shè)條件(1)配送中心所對(duì)應(yīng)的需求點(diǎn)以及每個(gè)需求點(diǎn)的需求量為已知。(2)需求點(diǎn)相互之間以及需求點(diǎn)與配送中心的連接關(guān)系和距離已知。每個(gè)需求點(diǎn)只有一輛車并且只能服務(wù)一次。(3)每輛車由配送中心發(fā)出,最后又回到配送中心。車輛的最大容量已知。(4)車輛的平均行駛速度已知且確定,行駛的路程與車輛行駛時(shí)間成正比。在上述假設(shè)的前提下,構(gòu)造數(shù)學(xué)模型如下[4]:minZ=m′c+Li=1ΣLj=1Σm′k=1Σcijkdijxijk(1)約束條件Li=1Σgiyki≤qk∈[1,m′](2)交叉變異蟻群算法在VRP問題中的應(yīng)用研究張錦1,2,李偉1,費(fèi)騰1ZHANGJin1,2,LIWei1,F(xiàn)EITeng1摘要:提出一種改進(jìn)的蟻群算法,新算法利用遺傳算法對(duì)蟻群算法的參數(shù)進(jìn)行優(yōu)化,然后利用新的蟻群算法求解基本的車輛路徑問題。改進(jìn)的蟻群算法具有全局搜索能力強(qiáng)的特點(diǎn),仿真結(jié)果表明,新算法的優(yōu)化質(zhì)量和效率都優(yōu)于傳統(tǒng)蟻群算法。關(guān)鍵詞:蟻群算法;遺傳算法;車輛路徑問題;路徑優(yōu)化m′k=1Σyki=1i∈[1,L],k∈[1,m′](3)Li=1Σxijk=ykjj∈[1,L],k∈[1,m′](4)Lj=1Σxijk=ykii∈[1,L],k∈[1,m′](5)式中,gi為第i個(gè)顧客的需求量,并且yki=1i點(diǎn)的任務(wù)由第k量車完成0其∈他xijk=1,車輛k從i點(diǎn)駛向j點(diǎn)0,其∈他其中,c為單位車輛的固定成本,cijk為車輛k從i點(diǎn)到j(luò)點(diǎn)的單位運(yùn)行成本,dij為從i點(diǎn)到j(luò)點(diǎn)的距離。式(2)表示第k條線路總的需求不能超過車輛的載重;式(3)表示第i個(gè)需求點(diǎn)的任務(wù)只有第k輛車完成;式(4)表示第j需求點(diǎn)的任務(wù)由第k輛車經(jīng)過轉(zhuǎn)移完成;式(5)表示第i需求點(diǎn)的任務(wù)由第k輛車經(jīng)過j轉(zhuǎn)移完成。目標(biāo)函數(shù)為配送成本,式中第1項(xiàng)為車輛的固定使用成本;第2項(xiàng)為車輛的運(yùn)行成本。3基本的蟻群算法求解VRP問題設(shè)m是蟻群中螞蟻的數(shù)量,dij(i,j=1,2,…,n)表示城市i和城市j之間的距離。令τij為支路(i,j)在時(shí)刻t上的殘留的信息量。t=0時(shí),各條路徑上的信息素濃度相等,τij(0)=C(C為常數(shù)),全部的螞蟻都被放置于城市1(配送中心),螞蟻k(k=1,2,…,m)在運(yùn)動(dòng)過程中,根據(jù)各條路徑上的信息量來選擇移動(dòng)方向。pkij表示在t時(shí)刻螞蟻k由城市i轉(zhuǎn)移到城市j的概率。pkij(t)=[τij(t)]α·[ηij]βΣk∈{allowedk}[τik(t)]α·[ηik]βifj∈{allowedk}0other∈∈∈∈∈∈∈∈∈∈∈∈∈∈s(6)與自然界的蟻群不同,人工螞蟻具有記憶功能。集合tabuk(k=1,2,…,m)用以記錄螞蟻k當(dāng)前走過的所需供貨城市,tabuk隨著進(jìn)化過程動(dòng)態(tài)調(diào)整。ηij為先驗(yàn)知識(shí)能見度在VRP問題中為城市i轉(zhuǎn)移到城市j的啟發(fā)信息,一般取ηij=1/dij。α為路徑ij上殘留信息的重要程度,β為啟發(fā)信息的重要程度。螞蟻k在選擇供貨路徑時(shí),不但受到概率轉(zhuǎn)移的影響,同時(shí)也受到車輛最大負(fù)載能力的影響。當(dāng)從配送中心出發(fā)后集合的所需供貨城市的總需求達(dá)到車輛負(fù)載時(shí),螞蟻應(yīng)該回到配送中心,這相當(dāng)于有一輛車參與配送,再在其他城市按概率選擇,直到全部供貨任務(wù)完成,返回配送中心的次數(shù)也就是參與配送的車輛數(shù)量。所有螞蟻完成遍歷后,計(jì)算每一只螞蟻所走過的路徑的代價(jià)函數(shù),保存最小消耗的路徑并清空本次遍歷的記錄,再次將全部螞蟻置于配送中心,準(zhǔn)備下一次遍歷。隨著時(shí)間的推移,先前留下的信息素逐漸衰減,螞蟻完成一次循環(huán)以后,各路徑上的信息素要根據(jù)式(7)作調(diào)整。τij(t+1)=ρτij(t)+△τij(t,t+1)(7)其中,△τij(t,t+1)=mk=1Σ△τkij(t,t+1)△τkij(t,t+1)=Q/Lkifantktravel(i,j)inthecircle0other∈s△τkij(t,t+1)表示第k只螞蟻在時(shí)刻(t,t+1)留在路徑(i,j)上的信息素量,其值由螞蟻的優(yōu)劣程度而定,路徑越短釋放的信息素越多?!鳓觟j(t,t+1)表示本次循環(huán)中路徑(i,j)的信息素的增量;1-ρ為信息素軌跡的衰減系數(shù),ρ∈(0,1)。4改進(jìn)的蟻群算法求解VRP問題蟻群算法在解決大型優(yōu)化問題時(shí),存在搜索空間和時(shí)間性能上的矛盾,易出現(xiàn)過早收斂于非全局最優(yōu)解以及計(jì)算時(shí)間過長的弱點(diǎn);而且決定蟻群算法性能的參數(shù)的取值缺乏理論支持,嚴(yán)重影響算法的性能[5]。文中利用遺傳算法的交叉變異特性對(duì)蟻群算法的參數(shù)進(jìn)行優(yōu)化,從而利用優(yōu)化后的蟻群算法求解VRP問題。交叉是模仿生物進(jìn)化過程中兩個(gè)同源染色體交叉重組,形成新的染色體,從而產(chǎn)生出新個(gè)體。交叉重組是生物進(jìn)化過程中的重要環(huán)節(jié)。交叉的關(guān)鍵在于如何確定交叉點(diǎn)位置和如何進(jìn)行基因交叉。變異是指細(xì)胞分裂復(fù)制過程中因?yàn)槟承┡既坏囊蛩赜绊懚a(chǎn)生一些復(fù)制差錯(cuò),從而導(dǎo)致的基因變異,形成新的染色體并表現(xiàn)出新的生物特性。變異在蟻群進(jìn)化過程中產(chǎn)生的可能性很小,但它是產(chǎn)生新物種不可忽視的原因。在變異操作中,每一個(gè)基因按變異概率進(jìn)行變異,即該基因取另外一個(gè)合理的隨機(jī)值。交叉變異蟻群算法汲取兩種算法的優(yōu)點(diǎn)。算法的基本思路是采用遺傳算法來優(yōu)化蟻群算法中的控制參數(shù)α、β、ρ,文中利用交叉變異蟻群算法求解VRP問題。程序偽代碼:(1)遺傳算法初始化Generation_num=10;Alpha(1,num);(信息素重要程度的參數(shù)矩陣)Beta(1,num);(Beta是啟發(fā)式因子參數(shù)矩陣)Rho(1,num);(信息素持久性系數(shù)矩陣)pc=;(遺傳算法的交叉概率)pm=;(遺傳算法的變異概率)for1toGeneration_numdo重復(fù)操作(2)~(8)(2)交叉變異蟻群算法操作for1tonumdo重復(fù)操作(3)~(7)(3)蟻群算法初始化NC=1;(NC是循環(huán)計(jì)數(shù)器)Sum_load=0;(車輛負(fù)載能力)對(duì)所有的邊ij上的信息素賦初值τij(0)=C,C為常數(shù);(4)whileNC≤NC_max將m只螞蟻都放在配送中心,程序中城市1定義為配送中心;將城市1放入數(shù)組Tabu(1);fork=1tomdoJk(1)={1,2,…,n}-Tabu(1);(Jk(1)是螞蟻k在第1步時(shí)2022009,45(34)尚未經(jīng)過的城市集合)(5)i=i+1;根據(jù)公式(8)選擇螞蟻k的下一城市節(jié)點(diǎn)j;Sum_load=Sum_load+load_server(i)ifSum_load≤load_max將螞蟻k放置于節(jié)點(diǎn)j,并將節(jié)點(diǎn)j插入數(shù)組tabu(i);else將螞蟻k放置于節(jié)點(diǎn)1(配送中心),并將節(jié)點(diǎn)1插入數(shù)組tabu(i);Sum_load=0重復(fù)(5),直到所有城市任務(wù)完成,即所有的城市被插入數(shù)組tabu(i)。(6)fork=1tomdo計(jì)算螞蟻k的路徑長度Lk,通過其進(jìn)行費(fèi)用的計(jì)算,并比較其大??;求得最小費(fèi)用C_best及其對(duì)應(yīng)的最優(yōu)路徑R_best;根據(jù)公式(7),對(duì)路徑進(jìn)行信息素更新;(7)NC=NC+1;if(NC≤NC_max)Then{清空所有tabu列表;跳轉(zhuǎn)到(4);}(8)選擇較優(yōu)的num/2組參數(shù)數(shù)據(jù)作為父代種群,進(jìn)行交叉變異,形成新的參數(shù)矩陣,跳轉(zhuǎn)到(2)。5實(shí)驗(yàn)仿真配送中心的坐標(biāo)為(,),表1為需求點(diǎn)坐標(biāo)數(shù)據(jù)[6]。每輛車的最大裝載量為(噸),表1中客戶需求量數(shù)據(jù)的單位為噸。仿真時(shí)c=0,表明車輛的費(fèi)用僅與車輛的運(yùn)行有關(guān),單輛車出行成本忽略不計(jì)。各需求點(diǎn)之間、以及各需求點(diǎn)與配送中心的距離利用距離公式計(jì)算。距離公式為dij=(xi-xj)2(yi-yj)2姨(8)圖1是基本蟻群算法和交叉變異蟻群算法在其他運(yùn)行環(huán)境相同情況下,一次最優(yōu)解的運(yùn)行結(jié)果。圖2描述了算法運(yùn)行過程中,各個(gè)螞蟻所求解得平均值。由圖可知,交叉變異的蟻群算法在收斂速度上優(yōu)于基本的蟻群算法,而且收斂后得到更低的運(yùn)行費(fèi)用。圖3是交叉變異蟻群算法的一次最優(yōu)解的運(yùn)行線路曲線。在求解VRP問題中,交叉變異的蟻群算法結(jié)果優(yōu)于基本的蟻群算法,這是由于改進(jìn)的蟻群算法對(duì)信息素進(jìn)行限制,避免了算法出現(xiàn)過早收斂,而且算法可以從局部最優(yōu)解中跳出,從而獲得全局最優(yōu)解。6結(jié)束語利用遺傳算法中的交叉變異特性對(duì)基本蟻群算法參數(shù)進(jìn)行優(yōu)化控制,從而實(shí)現(xiàn)了對(duì)蟻群算法信息素的限制,防止螞蟻過早陷入局部最優(yōu)解。改進(jìn)的蟻群算法力求在開發(fā)最好解和探究搜索空間上找到平衡點(diǎn)。對(duì)車輛路徑問題的仿真實(shí)驗(yàn)表明,新算法的優(yōu)化質(zhì)量?jī)?yōu)于傳統(tǒng)蟻群算法,通過對(duì)基本車輛路徑問題的研究,給下一步研究擴(kuò)展VRP問題提供了經(jīng)驗(yàn)。改進(jìn)蟻群算法費(fèi)用130125120115110105基本蟻群算法050100150200迭代次數(shù)050100150200迭代次數(shù)費(fèi)用140135130125120115110改進(jìn)蟻群算法基本蟻群算法051015202015105圖1兩種算法的一次最優(yōu)解曲線圖2兩種算法的最優(yōu)解曲線圖3改進(jìn)算法一次最優(yōu)解路線圖表1實(shí)驗(yàn)數(shù)據(jù)(噸)客戶12345678910坐標(biāo)(,)(,)(,)(,)(,)(,)(,)(,)(,)(,)需求客戶11121314151617181920坐標(biāo)(,)(,)(,)(,)(,)(,)(,)(,)(,)(,)需求張錦,李偉,費(fèi)騰:交叉變異蟻群算法在VRP問題中的應(yīng)用研究203__VRP的求解方法及優(yōu)化算法綜劉靜(西安交通大學(xué)經(jīng)濟(jì)與金融學(xué)院,西安,710061)車輛路徑問題(VehicleRoutingProblem,VRP)是1959年由Dantzig和Ramser提出的,是指在客戶需求位置已知的情況下,確定車輛在各個(gè)客戶間的行程路線,使得運(yùn)輸路線最短或運(yùn)輸成本最低,通過研究車輛路徑問題可以合理使用調(diào)運(yùn)工具,優(yōu)化運(yùn)輸路線,降低企業(yè)物流成本。VRP已被研究證實(shí)為NP難題,它的求解算法也非常豐富,不過究其實(shí)質(zhì),基本上可分為精確算法、傳統(tǒng)啟發(fā)式算法和智能優(yōu)化算法三類。(一)精確算法精確算法是針對(duì)VRP圖模型和數(shù)學(xué)模型的求解方法。其代表性的算法有單純形法、割平面法、分支定界法、隱枚舉法、動(dòng)態(tài)規(guī)劃、整數(shù)規(guī)劃和列生成技術(shù)法等。1949年Dantzig提出了著名的求解線性規(guī)劃問題的單純形法,可以解決整數(shù)規(guī)劃中的運(yùn)輸問題。1958年Gomory提出了著名的割平面法求解線性規(guī)劃。Land和Doing于1960年開發(fā)了分支定界法,1960年Balas提出隱枚舉法求解0-1整數(shù)規(guī)劃。1988年Fisher提出了K-樹法。1991年等提出了著名的分枝剪枝法。1995年Christofides等用動(dòng)態(tài)規(guī)劃放寬空間變量解決VRP。2000年Fumero等提出了修正的拉格朗日松弛及子梯度優(yōu)化方法。2004年LorenaLuiz等對(duì)列生成方法的改進(jìn)等。精確算法有著悠久的發(fā)展歷史,其最大的優(yōu)點(diǎn)是能夠找到問題的全局最優(yōu)解。但是過于拘泥于數(shù)學(xué)抽象,并且計(jì)算量一般隨問題規(guī)模的增大呈指數(shù)增長,因此在應(yīng)用中僅適合求解規(guī)模較小的VRP。(二)傳統(tǒng)啟發(fā)式算法對(duì)于VRP這種強(qiáng)NP難題,高效的精確算法幾乎不存在,所以尋找近似算法是必要的,啟發(fā)式算法成為解決該問題最有效的一種途徑。所謂啟發(fā)式算法(HeuristicAlgorithms),是指運(yùn)用一些經(jīng)驗(yàn)法則來降低優(yōu)化模型的數(shù)學(xué)精確度,通過模仿人的跟蹤校正過程求取物流系統(tǒng)的滿意解的數(shù)學(xué)方法。目前已經(jīng)提出的啟發(fā)式算法有很多,如基于數(shù)學(xué)規(guī)劃的方法、改進(jìn)-交換法、節(jié)約插入法、先分組后安排路線的方法、先安排路線后分組的方法等。其中最具代表性的就是由Clarke和Wright在1964年提出的節(jié)約法。1965年由Lin和Kemighan提出的,并由Christofides和GilbertLaporte人推廣的分支交換探索法。1971年,英國學(xué)者Wren在其一本名為《ComputersinTransportPlanningandOperation》的書提及一種掃描算法。該算法后經(jīng)Gillett和Miller(1974)加以推廣。1981年Fisher和Jaikumar提出了另一種先分組后安排路線的Fisher-Jaikumar算法。Bramel和Simchi-Levi在兩人研究的基礎(chǔ)上,于1995年提出了一種兩階段啟發(fā)式方法,將先分組后安排路線的問題徹底加以解決。這些傳統(tǒng)啟發(fā)式算法是人類智能的結(jié)晶,能夠較好的解決頂點(diǎn)數(shù)較少的VRP問題。但是,隨著頂點(diǎn)數(shù)的增加,計(jì)算量增加較快,因此應(yīng)用受到了一定的限制。(三)智能優(yōu)化算法進(jìn)入20世紀(jì)80年代,一些新穎的優(yōu)化算法,如遺傳算法、模擬退火算法、禁忌搜索算法、蟻群算法、混沌隨機(jī)搜索算法等,通過揭示或模擬自然現(xiàn)象或過程得到發(fā)展,為解決復(fù)雜問題提供了新的思路和手段。在優(yōu)化領(lǐng)域,由于這些算法構(gòu)造的直觀性與自然機(jī)理,因而被稱為智能優(yōu)化算法或現(xiàn)代啟發(fā)式算法。目前最引人注目的智能優(yōu)化算法,主要有三種,即模擬退火法(SimulatedAnnealing,SA)、禁忌搜索算法(TabuSearch,TS)和遺傳算法(GeneticAlgorithm,GA)。1975年,美國密歇根大學(xué)教授發(fā)表專著《AdaptationinNaturalandArtificialSystems》標(biāo)志著GA的創(chuàng)立,它是一種基于生物體進(jìn)化機(jī)制而建立起來的算法。博士的《GeneticAlgorithminSearchOptimizationandMachineLearning》一書對(duì)GA的發(fā)展歷史、現(xiàn)狀、各種算法及在實(shí)際工程中的應(yīng)用作了詳細(xì)的闡述。GA的基本原理是通過多個(gè)個(gè)體間的選擇、交叉、變異等操作對(duì)解空間進(jìn)行搜索。GA對(duì)于解諸如帶有時(shí)間窗的VRP,取得了很好的效果。算法所得結(jié)果的好壞,主要依賴于遺傳代數(shù)和解組的規(guī)模,在實(shí)際應(yīng)用若所得解不能令人滿意,就要增大解組規(guī)?;蜻z傳代數(shù),而這是以延長計(jì)算時(shí)間為代價(jià)的。1983年,Kirkpatrick等提出了求解組合最優(yōu)化問題的SA,它是模擬對(duì)金屬進(jìn)行加熱處理的退火過程。該方法將路徑規(guī)劃的目標(biāo)函數(shù)視作能量函數(shù),模仿物理學(xué)中固體物質(zhì)的退火處理,先加溫使之具有足夠高的能量,然后再逐漸降溫,其內(nèi)部能量也相應(yīng)下降,在熱平衡條件下,物體內(nèi)部處于不同狀態(tài)的概率服從Boltzmann分布,若退火步驟恰當(dāng),則最終會(huì)形成最低能量的基態(tài)。這種算法在求解路徑規(guī)劃問題時(shí),不但接受對(duì)目標(biāo)函數(shù)有改進(jìn)的狀態(tài),還以某種概率接受使目標(biāo)函數(shù)惡化的狀態(tài),從而可使之避免過早收斂到某個(gè)局部極值點(diǎn),也正是這種概率性的擾動(dòng)能夠使之跳出局部極值點(diǎn),故而得到全局最優(yōu)解。1986年,最早提出了TS,幾乎同時(shí)也作了類似的研究。TS是一種全局逐步尋優(yōu)算法,所謂禁忌就是禁止重復(fù)前面的工作,具有記憶功能是TS獨(dú)創(chuàng)的特點(diǎn)。該算法的思想是首先按照隨機(jī)方法產(chǎn)生一個(gè)初始解作為當(dāng)前解,然后在當(dāng)前解的鄰域中搜索若干個(gè)解,取其中最好的解作為新的當(dāng)前解。由于TS使用了記憶,在搜索過程中可以接受劣解,這使得TS在搜索過程中能夠跳出局部最優(yōu)解,從而使獲得全局最優(yōu)解的概率大大增加。__摘要:在物流管理學(xué)中,研究物流配送路徑優(yōu)化問題并選取恰當(dāng)?shù)呐渌吐窂?可以加快對(duì)客戶需求的響應(yīng)速度,提高服務(wù)質(zhì)量,增強(qiáng)客戶對(duì)物流環(huán)節(jié)的滿意度,降低服務(wù)商運(yùn)作成本。但由于物流配送路徑優(yōu)化問題是一個(gè)NP-hard問題,使用傳統(tǒng)優(yōu)化方法很難得到最優(yōu)解或滿意解。本文基于Matlab進(jìn)行了物流配送路徑優(yōu)化問題遺傳算法的編碼,利用Matlab強(qiáng)大的數(shù)值計(jì)算能力較好地解決了這個(gè)難題并進(jìn)行了實(shí)例驗(yàn)證,對(duì)物流企業(yè)實(shí)現(xiàn)科學(xué)快捷的配送調(diào)度和路徑的優(yōu)化有實(shí)際意義。關(guān)鍵詞:物流配送;路徑優(yōu)化;遺傳算法;Matlab物流配送路徑優(yōu)化問題遺傳算法的實(shí)現(xiàn)TheRealizationofGeneticAlgorithmofVRPBasedontheMatlab基于M/,a0t1l,a2物流配送路徑優(yōu)化問題,即所謂的車輛路徑問題(VehicleRoutingProblem),一般定義為:對(duì)一系列發(fā)貨點(diǎn)和收貨點(diǎn),組織適當(dāng)?shù)能囕v行使路線,在滿足貨物需求量、發(fā)送量、交發(fā)貨時(shí)間、車輛容量限制、行駛里程限制和時(shí)間限制等的約束條件下,達(dá)到使路程最短、費(fèi)用最少、時(shí)間盡量短,使用車輛盡量少等目標(biāo)。VRP問題被證明為是一個(gè)NP-hard問題。國內(nèi)外不少學(xué)者已經(jīng)證明使用遺傳算法在求解VRP問題時(shí),具有巨大的優(yōu)越性[1]。Matlab功能強(qiáng)大,利用Matlab矩陣運(yùn)算的強(qiáng)大功能來編寫遺傳算法程序有著巨大的優(yōu)勢(shì),但由于用遺傳算法求解車輛路徑問題時(shí)有約束條件的限制,很難用一般的Matlab遺傳算法工具箱實(shí)現(xiàn)。本文基于車輛路徑問題約束條件的特殊性,采用改進(jìn)的遺傳算法設(shè)計(jì)了Matlab編碼,并通過實(shí)例驗(yàn)證了其有效性和優(yōu)越性。1車輛路徑問題的數(shù)學(xué)模型數(shù)學(xué)模型表示如下[1]:目標(biāo)函數(shù):minZ=ki=0"kj=0"ms=0"cijxijs(1)約束條件:ki=0"giyis≤qs=1,2,?,m(2)mi=1"yis=1i=1,2,?,k$mi=0(3)ki=0"xijs=yjsj=1,?,k;s=1,2,?,m(4)·103·物流科技!物流商壇!主函數(shù)ga計(jì)算目標(biāo)值函數(shù)countz初始化函數(shù)intialise計(jì)算成本函數(shù)fun適應(yīng)度值計(jì)算函數(shù)fit自然選擇函數(shù)selection交叉函數(shù)crossover變異函數(shù)mutation染色體交叉函數(shù)intercross刪除函數(shù)del調(diào)整函數(shù)adjust遺傳算法程序總體框架圖kj=0"xijs=yisi=0,1,?,k;(5)xijs=0或1i,j=0,1,?,k;s=1,2,?,m(6)yis=0或1i,j=0,1,?,k;s=1,2,?,m(7)上述模型中,配送中心編號(hào)為0,客戶點(diǎn)編號(hào)為1,2,?,k;i,j為客戶點(diǎn)序號(hào),s為車輛序號(hào),gi為客戶點(diǎn)i的貨運(yùn)量,m為車輛總數(shù),q為車輛載重量,cij表示點(diǎn)i到點(diǎn)j的運(yùn)輸成本;xijs:決策變量,表示車s是否由i駛向j,如果是,xijs值為1,否則為0;yis:決策變量,表示客戶點(diǎn)i的任務(wù)是否由車s完成,如果是,yis值為1,否則為0。目標(biāo)函數(shù)式(1)要求合理安排車輛路徑,使運(yùn)輸總成本最小。約束條件式(2)為汽車容量約束;式(3)保證了每個(gè)客戶點(diǎn)的運(yùn)輸任務(wù)僅由1輛車來完成,而所有運(yùn)輸任務(wù)則由m輛車協(xié)同完成;式(4)和式(5)限制了到達(dá)和離開某一客戶點(diǎn)的汽車有且僅有1輛。式(6)和式(7)分別限制了xijs和yis的取值。2物流配送優(yōu)化問題的遺傳算法構(gòu)造染色體,產(chǎn)生初始種群解向量可編成一條長度為k+m+1的染色體0,i1,i2,?is,0,i#j,?ik,0,?,0,ip,?,iq,0$。在整條染色體中,自然數(shù)ij表示第j個(gè)分倉庫,代表總倉庫的0的數(shù)目為m+1個(gè),把自然數(shù)編碼分為m段,形成m個(gè)子路徑,表示由m輛車完成所有運(yùn)輸任務(wù)。初始化染色體時(shí),先生成k個(gè)分倉庫的一個(gè)全排列,再將m+1個(gè)0隨機(jī)插入排列中。注意必須要有2個(gè)0被分別安排在排列的頭部和尾部,并且在排列中不能出現(xiàn)連續(xù)的2個(gè)0。計(jì)算適應(yīng)度函數(shù)本文將運(yùn)輸成本變體,將容量約束式(2)轉(zhuǎn)為運(yùn)輸成本的一部分,運(yùn)輸成本變?yōu)閇1]:Z=ki=0"kj=0"ms=0"cijxijs+Mmx=1"maxki=0"giyis%-q,0&(8)M為一巨大正數(shù),表示當(dāng)一輛車的貨運(yùn)量超過其最大承載量時(shí)的懲罰系數(shù),在進(jìn)行軟件設(shè)計(jì)時(shí)M取值為1000000。將運(yùn)輸成本轉(zhuǎn)換至適應(yīng)度函數(shù):fi=minz/zi,其中fi為第i條染色體的適應(yīng)度,minz為當(dāng)前群體中最優(yōu)染色體的目標(biāo)值,zi為第i條染色體的目標(biāo)值。最后計(jì)算染色體適應(yīng)度的概率分布:Pi=f/Σf其中Pi表示第i條染色體的適應(yīng)度概率分布,fi表示第i條染色體的適應(yīng)度。自然選擇計(jì)算父代和子代的適應(yīng)度,選擇父代和子代中性能最優(yōu)的染色體進(jìn)入種群,其它的染色體采用輪盤賭選擇方法來確定。交叉算子本文構(gòu)造交叉算子為:如果染色體交叉點(diǎn)處的兩個(gè)基因都為0,則將每一個(gè)染色體的交叉段移到對(duì)方染色體的首部得到新的染色體;如果染色體交叉點(diǎn)處的基因不全為0,則將交叉點(diǎn)左移(右移),直到左右兩個(gè)交叉點(diǎn)處的基因都為0,再進(jìn)行以上運(yùn)算,削去相同的元素,再調(diào)整形成兩個(gè)合法的個(gè)體基因串。對(duì)交叉成功所獲得的子代應(yīng)用(7)式求得其對(duì)應(yīng)的適應(yīng)值,并與其父代進(jìn)行比較,選擇四者中性能最好的2個(gè)進(jìn)入種群。變異算子同現(xiàn)實(shí)情形相同,以一定的變異率隨機(jī)選取發(fā)生變異的個(gè)體染色體,然后在該染色體上隨機(jī)選取兩個(gè)非零基因位,把這兩個(gè)位置上的基因互換,形成新的基因串。結(jié)束條件當(dāng)算法的當(dāng)前進(jìn)化代數(shù)小于預(yù)先設(shè)定的N時(shí),返回節(jié),算法繼續(xù)。3用Matlab編程實(shí)現(xiàn)遺傳算法Matlab函數(shù)模塊構(gòu)成本文在Mat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論