陳久梅,龔英
1.重慶工商大學(xué)電子商務(wù)及供應(yīng)鏈系統(tǒng)重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400067
2.重慶工商大學(xué)商務(wù)策劃學(xué)院,重慶 400067
兩級(jí)定位-路徑問(wèn)題的變鄰域人工蜂群算法
陳久梅1,2,龔英1,2
1.重慶工商大學(xué)電子商務(wù)及供應(yīng)鏈系統(tǒng)重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400067
2.重慶工商大學(xué)商務(wù)策劃學(xué)院,重慶 400067
建立了兩級(jí)定位-路徑問(wèn)題的數(shù)學(xué)模型,提出了一種求解該問(wèn)題的人工蜂群算法。針對(duì)該算法容易出現(xiàn)早熟現(xiàn)象,將近年來(lái)國(guó)外出現(xiàn)的一種新穎的軌跡式啟發(fā)式算法——變鄰域搜索融入其中,由此提出三種變鄰域搜索策略?;诓煌冟徲蛩阉鞑呗缘娜斯し淙核惴ê腿斯~(yú)群算法的求解效果進(jìn)行對(duì)比仿真。實(shí)驗(yàn)結(jié)果表明,變鄰域人工蜂群算法能有效求解兩級(jí)定位-路徑問(wèn)題。
兩級(jí)定位-路徑問(wèn)題;人工蜂群算法;變鄰域搜索;物流;配送
近年來(lái),物流進(jìn)城難、成本高、送錯(cuò)貨等問(wèn)題屢見(jiàn)不鮮。為了解決這些問(wèn)題,提高配送能力,越來(lái)越多的企業(yè)在城市周邊設(shè)立中轉(zhuǎn)站,用于進(jìn)城物品的分揀、拼裝和轉(zhuǎn)運(yùn)。由此形成由“配送中心-中轉(zhuǎn)站-顧客”為節(jié)點(diǎn)的兩級(jí)物流網(wǎng)絡(luò)。該網(wǎng)絡(luò)中涉及到的配送中心、中轉(zhuǎn)站的位置、數(shù)量,兩級(jí)網(wǎng)絡(luò)各節(jié)點(diǎn)間的任務(wù)分配,以及車輛的調(diào)度與配送路徑等問(wèn)題的集成,即兩級(jí)定位-路徑問(wèn)題(two-Echelon Location-Routing Problem,2E-LRP)[1]。該問(wèn)題自Jacobsen等[2]提出以來(lái),逐漸成為研究熱點(diǎn)。
兩級(jí)定位-路徑問(wèn)題是一個(gè)NP-Hard問(wèn)題,目前的研究主要集中在啟發(fā)式求解算法方面。Ambrosino等[3]用大規(guī)模鄰域搜索算法和重新定位機(jī)制求解只有一個(gè)配送中心的帶異質(zhì)車隊(duì)的兩級(jí)定位-路徑問(wèn)題。Sterle等[4]為設(shè)施點(diǎn)有容量限制的兩級(jí)定位-路徑問(wèn)題建立整數(shù)規(guī)劃模型,使用禁忌搜索算法進(jìn)行求解。Jin等[5]使用遺傳算法和禁忌搜索算法的混合算法求解兩級(jí)定位-路徑問(wèn)題。Boccia等[6]首先將兩級(jí)定位-路徑問(wèn)題分解為兩個(gè)一級(jí)定位-路徑問(wèn)題,每個(gè)一級(jí)定位-路徑問(wèn)題進(jìn)一步分解為設(shè)施定位問(wèn)題和車輛路徑問(wèn)題,之后使用多階段迭代嵌入禁忌搜索算法進(jìn)行求解。王紹仁等[7]針對(duì)震后緊急響應(yīng)階段應(yīng)急物流系統(tǒng)優(yōu)化中的兩級(jí)定位-路徑問(wèn)題,提出了一種基于兩階段分段思想的“三角”啟發(fā)式算法進(jìn)行求解。Nguyen等[8-9]采用貪婪隨機(jī)自適應(yīng)搜索、路徑重連及學(xué)習(xí)過(guò)程求解兩級(jí)定位-路徑問(wèn)題。
人工蜂群算法(Artificial Bee Colony,ABC)是由Karaboga[10]于2005年基于蜜蜂覓食原理提出的一種群智能優(yōu)化算法。它模擬了蜂群依各自分工不同協(xié)作采蜜,交換蜜源信息尋找最優(yōu)蜜源的群體行為。它已被廣泛應(yīng)用于求解旅行商問(wèn)題、車輛路徑問(wèn)題及設(shè)施定位等NP-Hard問(wèn)題,均取得較好的求解效果。該算法具有良好的求取全局極值能力,并具有對(duì)初值、參數(shù)選擇不敏感、魯棒性強(qiáng)、簡(jiǎn)單易實(shí)現(xiàn)等優(yōu)點(diǎn),但卻存在搜索早期過(guò)早收斂、搜索后期收斂較慢等問(wèn)題[10]。近年來(lái),國(guó)外出現(xiàn)了一種新穎的軌跡式啟發(fā)式算法——變鄰域搜索(Variable Neighborhood Search,VNS)。該算法的基本思想是在獲得局部最優(yōu)解的基礎(chǔ)上,通過(guò)系統(tǒng)地改變鄰域結(jié)構(gòu)集來(lái)拓展搜索范圍找到另一個(gè)局部最優(yōu)解。該算法思想簡(jiǎn)單,容易實(shí)現(xiàn),算法結(jié)構(gòu)與問(wèn)題無(wú)關(guān),適合于各類優(yōu)化問(wèn)題,它可被方便地嵌入到其他啟發(fā)式算法中[11]。在此,針對(duì)人工蜂群算法存在的不足,設(shè)計(jì)嵌入變鄰域搜索的人工蜂群算法對(duì)兩級(jí)定位-路徑問(wèn)題進(jìn)行求解。
2.1 問(wèn)題描述
兩級(jí)定位-路徑問(wèn)題是傳統(tǒng)定位-路徑問(wèn)題的拓展問(wèn)題,是兩級(jí)物流網(wǎng)絡(luò)中的定位-路徑問(wèn)題,其中涉及到配送中心和中轉(zhuǎn)站兩類物流設(shè)施的選址、設(shè)施與需求點(diǎn)之間的配給以及兩級(jí)物流網(wǎng)絡(luò)中車輛的行駛路徑。具體可描述如下:由一系列潛在配送中心、潛在中轉(zhuǎn)站及已知顧客所構(gòu)成的兩級(jí)物流網(wǎng)絡(luò)中,物品從配送中心經(jīng)中轉(zhuǎn)站到達(dá)顧客處,在滿足設(shè)施容量限制、車輛容量限制等約束條件下,確定哪些潛在設(shè)施點(diǎn)開(kāi)放、開(kāi)放的配送中心應(yīng)分別為哪些開(kāi)放的中轉(zhuǎn)站提供物品、開(kāi)放的中轉(zhuǎn)站應(yīng)分別為哪些顧客提供物品、兩級(jí)物流網(wǎng)絡(luò)中各需多少輛車及每輛車的行駛路線,以實(shí)現(xiàn)總成本最小,即兩級(jí)設(shè)施點(diǎn)的開(kāi)放成本、車輛的使用成本及車輛的運(yùn)行成本之和最小。該問(wèn)題的假設(shè)條件如下:
(1)兩級(jí)物流網(wǎng)絡(luò)中所使用的車輛、兩級(jí)設(shè)施均有容量限制。
(2)每個(gè)顧客只能接受來(lái)自一個(gè)已開(kāi)放中轉(zhuǎn)站的物品,每個(gè)開(kāi)放的中轉(zhuǎn)站只能接受來(lái)自一個(gè)已開(kāi)放配送中心的物品。
(3)二級(jí)物流網(wǎng)絡(luò)中每個(gè)顧客只能接受一輛車、一次服務(wù),一級(jí)物流網(wǎng)絡(luò)中每個(gè)開(kāi)放的中轉(zhuǎn)站只能接受一輛車、一次服務(wù)。
(4)物品從配送中心出發(fā),必須經(jīng)過(guò)中轉(zhuǎn)站中轉(zhuǎn)才能到達(dá)顧客處,不考慮配送中心直接送達(dá)顧客的情況,且同級(jí)設(shè)施之間無(wú)貨物流動(dòng)。
(5)物流網(wǎng)絡(luò)中每輛車僅完成一次旅行,且二級(jí)物流網(wǎng)絡(luò)中車輛從某中轉(zhuǎn)站出發(fā)完成行駛路徑上所有顧客需求服務(wù)后必須回到該中轉(zhuǎn)站,一級(jí)物流網(wǎng)絡(luò)中車輛從某配送中心出發(fā)完成行駛路徑上所有中轉(zhuǎn)站需求服務(wù)后必須回到該配送中心。
(6)車輛行駛成本行駛距離成正比。
2.2 數(shù)學(xué)建模
2.2.1 符號(hào)說(shuō)明
集合:ND為潛在配送中心集合;NS為潛在中轉(zhuǎn)站集合;NC為顧客集合;E1為一級(jí)物流網(wǎng)絡(luò)邊的集合;E2為二級(jí)物流網(wǎng)絡(luò)邊的集合;P,R,T?ND∪NS∪NC,Z?E1∪E2。
參數(shù):QDi為配送中心i的容量;FDi為配送中心i的開(kāi)放成本;QSi為中轉(zhuǎn)站i的容量;FSi為中轉(zhuǎn)站i的開(kāi)放成本;QVi為i級(jí)物流網(wǎng)絡(luò)中車輛的容量(i=1,2);FVi為i級(jí)物流網(wǎng)絡(luò)中車輛的固定使用成本(i=1,2);cij為邊(i,j)上車輛行駛成本;di為顧客i的需求量。
決策變量:uij為一級(jí)物流網(wǎng)絡(luò)中邊(i,j)被使用一次為1,否則為0;vij為一級(jí)物流網(wǎng)絡(luò)中邊(i,j)被使用兩次為1,否則為0;xij為二級(jí)物流網(wǎng)絡(luò)中邊(i,j)被使用一次為1,否則為0;yij為二級(jí)物流網(wǎng)絡(luò)中邊(i,j)被使用兩次為1,否則為0;mij為中轉(zhuǎn)站i分配給顧客j為1,否則為0;nij為配送中心i分配給中轉(zhuǎn)站j為1,否則為0;oi為配送中心i開(kāi)放為1,否則為0;pi為中轉(zhuǎn)站i開(kāi)放為1,否則為0。
2.2.2 模型建立
上述模型中,目標(biāo)函數(shù)由八部分組成,其中,第一、二項(xiàng)分別為配送中心和中轉(zhuǎn)站的開(kāi)放成本,第三、四項(xiàng)分別為一、二級(jí)網(wǎng)絡(luò)中車輛固定使用成本。第五、六項(xiàng)為一級(jí)網(wǎng)絡(luò)中車輛行駛成本,第七、八項(xiàng)為二級(jí)網(wǎng)絡(luò)中車輛行駛成本。
式(2)~(27)為該問(wèn)題的約束條件,式(2)表示二級(jí)物流網(wǎng)絡(luò)中對(duì)任意一個(gè)顧客,連接該顧客的邊有兩條;式(3)表示一級(jí)物流網(wǎng)絡(luò)中如果某中轉(zhuǎn)站開(kāi)放,那么連接該中轉(zhuǎn)站的邊有兩條,否則沒(méi)有邊連接該中轉(zhuǎn)站;式(4)表示二級(jí)物流網(wǎng)絡(luò)中車輛運(yùn)輸量不能超過(guò)車輛的容量,當(dāng)K(NC′)=1時(shí),表示子回路消除;式(5)表示一級(jí)物流網(wǎng)絡(luò)中車輛運(yùn)輸量不能超過(guò)車輛的容量,當(dāng)K(NS′)=1時(shí),表示子回路消除;式(6)表示分配給某中轉(zhuǎn)站的顧客需求量之和不超過(guò)該中轉(zhuǎn)站的容量;式(7)表示分配給某配送中心的中轉(zhuǎn)站貨物量之和不超過(guò)該配送中心的容量;式(8)表示二級(jí)物流網(wǎng)絡(luò)中,如果某中轉(zhuǎn)站開(kāi)放,那么連接該中轉(zhuǎn)站與某顧客的被使用一次和兩次的邊不能同時(shí)存在,否則沒(méi)有邊連接該中轉(zhuǎn)站;式(9)表示一級(jí)物流網(wǎng)絡(luò)中,如果某配送中心開(kāi)放,那么連接該配送中心與某中轉(zhuǎn)站的用一次和兩次的邊不能同時(shí)存在,否則沒(méi)有邊連接該配送中心;式(10)表示顧客數(shù)不小于2的二級(jí)物流網(wǎng)絡(luò)中,從某中轉(zhuǎn)站出發(fā)的車輛,完成配送后必須回到該中轉(zhuǎn)站;式(11)表示中轉(zhuǎn)站數(shù)不小于2的一級(jí)物流網(wǎng)絡(luò)中,從某配送中心出發(fā)的車輛,完成配送后必須回到該配送中心;式(12)表示二級(jí)物流網(wǎng)絡(luò)中對(duì)任意顧客,連接該顧客與中轉(zhuǎn)站的被使用一次和兩次的邊的數(shù)量之和小于等于1;式(13)表示一級(jí)物流網(wǎng)絡(luò)中,如果中轉(zhuǎn)站開(kāi)放,連接該中轉(zhuǎn)站與配送中心的被使用一次和兩次的邊的數(shù)量之和小于等于1,如果中轉(zhuǎn)站不開(kāi)放,沒(méi)有邊連接;式(14)表示對(duì)任意一個(gè)顧客,有且僅有一個(gè)中轉(zhuǎn)站配給;式(15)表示對(duì)任意一個(gè)中轉(zhuǎn)站,若開(kāi)放則有且僅有一個(gè)配送中心配給,否則無(wú)配送中心配給;式(16)表示如果某中轉(zhuǎn)站分配給某顧客,則該中轉(zhuǎn)站一定開(kāi)放,如果某中轉(zhuǎn)站未開(kāi)放,則一定不能分配給任何顧客;式(17)表示如果某配送中心分配給某中轉(zhuǎn)站,則該配送中心一定開(kāi)放,如果某配送中心未開(kāi)放,則一定不能分配給任何中轉(zhuǎn)站;式(18)表示若某顧客沒(méi)有分配給某中轉(zhuǎn)站,則兩者之間的邊不能被訪問(wèn),若某顧客分配給某中轉(zhuǎn)站,則連接兩者的被使用一次和使用兩次的邊不能同時(shí)存在;式(19)表示若某中轉(zhuǎn)站沒(méi)有分配給某配送中心,則該兩者之間的邊不能被訪問(wèn),若某中轉(zhuǎn)站分配給某配送中心,則連接兩者的被使用一次和使用兩次的邊不能同時(shí)存在;式(20)~(27)為決策變量的取值范圍。
人工蜂群算法模擬蜂群的采蜜行為,通過(guò)不同角色蜜蜂間的信息交流、角色轉(zhuǎn)換和分工協(xié)作來(lái)找到問(wèn)題的最優(yōu)解。人工蜂群由引領(lǐng)蜂、跟隨蜂和偵察蜂組成。引領(lǐng)蜂在蜜源處采蜜并提供所記憶的蜜源信息;跟隨蜂以一定的概率選擇某個(gè)引領(lǐng)蜂去蜜源處采蜜;偵察蜂負(fù)責(zé)尋找新蜜源。其中蜜源的位置代表優(yōu)化問(wèn)題的可行解,蜜源的花蜜含量代表解的質(zhì)量,稱為適應(yīng)值。
ABC算法工作原理如下:引領(lǐng)蜂尋找蜜源,跟隨蜂選擇并跟隨引領(lǐng)蜂在相應(yīng)的蜜源位置附近進(jìn)行鄰域搜索,若能搜索到適應(yīng)值更高的新蜜源,則更新當(dāng)前蜜源。如果某個(gè)蜜源的位置不能在預(yù)先設(shè)定的循環(huán)次數(shù)內(nèi)得到進(jìn)一步改進(jìn),則放棄該蜜源,將其對(duì)應(yīng)的引領(lǐng)蜂轉(zhuǎn)換為偵察蜂。被放棄的蜜源將由偵察蜂找到的新蜜源所取代,此時(shí)偵察蜂轉(zhuǎn)換為與新蜜源對(duì)應(yīng)的引領(lǐng)蜂。跟隨蜂再次選擇引領(lǐng)蜂跟隨。如此反復(fù)迭代,直到達(dá)到結(jié)束條件為止。
3.1 算法總體框架
針對(duì)兩級(jí)定位-路徑問(wèn)題,本文在引領(lǐng)蜂及跟隨蜂所進(jìn)行的鄰域搜索過(guò)程中嵌入變鄰域搜索算法,即在鄰域搜索過(guò)程中系統(tǒng)地改變鄰域結(jié)構(gòu)集來(lái)拓展搜索范圍。具體步驟如下:
步驟1初始化種群參數(shù)SN,limit,此時(shí)所有蜜蜂為偵察蜂。
步驟2生成SN個(gè)初始解,按目標(biāo)函數(shù)值從小到大排序,前一半的解設(shè)為當(dāng)前解,此時(shí)一半偵察蜂轉(zhuǎn)換為引領(lǐng)蜂并各自攜帶一個(gè)當(dāng)前解,一半偵察蜂轉(zhuǎn)換為跟隨蜂。
步驟3計(jì)算每個(gè)引領(lǐng)蜂攜帶解被選擇的概率Pi,引領(lǐng)蜂根據(jù)Pi招募跟隨蜂。
步驟4每一只引領(lǐng)蜂及其跟隨蜂對(duì)其攜帶的當(dāng)前解進(jìn)行變鄰域搜索,若搜索到比當(dāng)前解更優(yōu)的解,則替換當(dāng)前解;否則,繼續(xù)進(jìn)行變鄰域搜索,直到達(dá)到一定次數(shù)limit,若此時(shí)仍然未搜索到更優(yōu)解,則該引領(lǐng)蜂轉(zhuǎn)換為偵察蜂。
步驟5偵察蜂進(jìn)行全局搜索得到新解,并用新解替換當(dāng)前解,此時(shí)偵察蜂變?yōu)橐I(lǐng)蜂。
步驟6當(dāng)所有引領(lǐng)蜂對(duì)其攜帶當(dāng)前解進(jìn)行變鄰域搜索后,將種群最優(yōu)解進(jìn)行保存;若滿足程序終止條件,則程序退出,輸出種群最優(yōu)解,否則轉(zhuǎn)步驟3。
3.2 初始解的生成
在此將兩級(jí)定位-路徑問(wèn)題分為兩級(jí),每級(jí)進(jìn)一步劃分為設(shè)施定位和車輛路徑兩個(gè)子問(wèn)題。設(shè)施定位問(wèn)題采用隨機(jī)最近鄰策略求解,車輛路徑問(wèn)題采用經(jīng)典的C-W節(jié)約算法進(jìn)行求解。具體來(lái)說(shuō),在由中轉(zhuǎn)站與顧客構(gòu)成的二級(jí)網(wǎng)絡(luò)中,首先隨機(jī)選擇未開(kāi)放的中轉(zhuǎn)站并將其開(kāi)放;之后,從距離最近的r個(gè)未歸給任何中轉(zhuǎn)站的顧客中隨機(jī)選擇某個(gè)顧客,并將其歸給該中轉(zhuǎn)站,重復(fù)此步,直到所有顧客均已歸入某中轉(zhuǎn)站或超過(guò)該中轉(zhuǎn)站容量限制為止;若存在未歸入任意中轉(zhuǎn)站的顧客,則隨機(jī)選擇未開(kāi)放的中轉(zhuǎn)站并將其開(kāi)放;按上述方法將相應(yīng)顧客逐一歸入;重復(fù)此步,直到所有顧客均歸入某相應(yīng)中轉(zhuǎn)站為止,從而完成二級(jí)網(wǎng)絡(luò)中設(shè)施定位問(wèn)題的求解。按類似的方法,完成由配送中心與中轉(zhuǎn)站構(gòu)成的一級(jí)網(wǎng)絡(luò)中設(shè)施點(diǎn)定位問(wèn)題的求解。最后,分別針對(duì)開(kāi)放的配送中心、中轉(zhuǎn)站,根據(jù)車輛容量限制,使用C-W算法求解兩級(jí)網(wǎng)絡(luò)中的車輛路徑問(wèn)題。
3.3 鄰域解的產(chǎn)生
兩級(jí)定位-路徑問(wèn)題,其產(chǎn)生鄰域解的考慮對(duì)象有兩級(jí)物流網(wǎng)絡(luò)中的顧客、中轉(zhuǎn)站及路徑三類。以顧客為對(duì)象的鄰域解采用單個(gè)顧客位置的移動(dòng)(記為N1)及兩個(gè)顧客之間位置的交換(記為N2)兩種方式來(lái)產(chǎn)生;以路徑為對(duì)象的鄰域解采用常用的2-opt方式(記為N3)產(chǎn)生;以中轉(zhuǎn)站為對(duì)象的鄰域解采用單個(gè)中轉(zhuǎn)站開(kāi)放與否的狀態(tài)改變(記為N4)及兩個(gè)狀態(tài)不同的中轉(zhuǎn)站之間進(jìn)行狀態(tài)交換(記為N5)兩種方式產(chǎn)生。
據(jù)此提出三種變鄰域搜索策略:
變鄰域搜索策略1(記為S1),順序執(zhí)行各鄰域搜索,若出現(xiàn)比當(dāng)前解更優(yōu)的鄰域解,則回到N1繼續(xù)執(zhí)行,一旦出現(xiàn)比該鄰域解更差的鄰域解,則繼續(xù)執(zhí)行下一步,否則,回到N1繼續(xù)執(zhí)行;否則,繼續(xù)執(zhí)行下一步,直到結(jié)束。
變鄰域搜索策略2(記為S2),順序執(zhí)行各鄰域搜索,若出現(xiàn)比當(dāng)前解更優(yōu)的鄰域解,則繼續(xù)用該鄰域搜索模塊進(jìn)行搜索,直到比該鄰域解更差的解出現(xiàn),否則,繼續(xù)執(zhí)行下一步,直到結(jié)束。
變鄰域搜索策略3(記為S3),順序執(zhí)行各鄰域搜索,若出現(xiàn)比當(dāng)前解更優(yōu)的鄰域解,則結(jié)束;否則,繼續(xù)執(zhí)行下一步,直到結(jié)束。
3.4 選擇概率的確定
在此采用人工蜂群算法常用選擇概率計(jì)算方法,即錦標(biāo)賽選擇策略。錦標(biāo)賽選擇策略是基于局部競(jìng)爭(zhēng)機(jī)制的選擇過(guò)程,即在種群中隨機(jī)選擇q個(gè)個(gè)體(競(jìng)賽規(guī)模)進(jìn)行比較,適應(yīng)度值大的被選中,并對(duì)其加權(quán)值1;如當(dāng)q=2時(shí),將種群中個(gè)體兩兩比較,并給適應(yīng)度值好的個(gè)體加權(quán)值1,對(duì)所有個(gè)體重復(fù)這一操作過(guò)程。根據(jù)個(gè)體權(quán)值,由此計(jì)算選擇概率:
其中,ai為個(gè)體i的權(quán)值。
該選擇策略中選擇概率的計(jì)算只涉及個(gè)體適應(yīng)度值之間的大小關(guān)系,不涉及適應(yīng)度值的具體取值,能較好避免陷入早熟。
為分析變鄰域人工蜂群算法求解兩級(jí)定位-路徑問(wèn)題的性能,需用算例進(jìn)行仿真測(cè)試。由于該問(wèn)題目前缺乏公認(rèn)的國(guó)際算例,本文在文獻(xiàn)[12]一級(jí)定位-路徑問(wèn)題算例25點(diǎn)、50點(diǎn)、75點(diǎn)基礎(chǔ)上,選擇前面部分設(shè)施點(diǎn)作為兩級(jí)定位-路徑問(wèn)題的潛在配送中心、剩余設(shè)施點(diǎn)作為潛在中轉(zhuǎn)站、顧客點(diǎn)不變產(chǎn)生兩級(jí)定位-路徑問(wèn)題的算例(算例中各類節(jié)點(diǎn)依次編號(hào))。算例需補(bǔ)充和調(diào)整的參數(shù)如表1所示,其余參數(shù)詳見(jiàn)文獻(xiàn)[12]。
表1 補(bǔ)充、調(diào)整的參數(shù)
在此使用C sharp編程實(shí)現(xiàn)不同變鄰域搜索策略下的人工蜂群算法,在Windows XP系統(tǒng),Pentium?Dual-Core CPU E5700@3.00 GHz、2.00 GB內(nèi)存的計(jì)算環(huán)境下,對(duì)上述三組不同規(guī)模大小的算例進(jìn)行求解。種群規(guī)模SN=50,算法最大迭代次數(shù)Tmax=600,鄰域搜索最大迭代次數(shù)limit=5,初始解生成過(guò)程中所用參數(shù)r=4,車輛行駛成本與其行駛距離的比例系數(shù)取1。
4.1 采用不同變鄰域搜索求解效果比較
在此分別采用不同變鄰域搜索策略的人工蜂群算法求解兩級(jí)定位-路徑問(wèn)題的上述算例。隨機(jī)運(yùn)行50次的求解結(jié)果見(jiàn)表2所示。
由表2可知,采用鄰域搜索策略S1求解時(shí),取得的最好解和平均解較優(yōu);采用鄰域搜索策略S2求解時(shí),取得的最差解較優(yōu);采用鄰域搜索策略S3求解時(shí),平均計(jì)算時(shí)間較短。
以下給出分別采用S1、S2、S3三種變鄰域搜索策略的人工蜂群算法求解算例“1-4-20”,隨機(jī)運(yùn)行50次種群最好解隨迭代次數(shù)變化趨勢(shì)圖,見(jiàn)圖1所示。
從圖1可知,采用變鄰域搜索策略S1、S2、S3求解時(shí)均能較好避免早熟,隨著迭代次數(shù)的增加,目標(biāo)函數(shù)值不斷下降,算法具有較好的收斂性。
4.2 不同算法的求解效果比較
為了進(jìn)一步了解變鄰域人工蜂群算法求解兩級(jí)定位-路徑問(wèn)題的求解效果,在此采用人工魚(yú)群算法進(jìn)行對(duì)比。借鑒文獻(xiàn)[13]的研究成果,將人工魚(yú)群算法的參數(shù)設(shè)置如下:最大試探次數(shù)try-number=5,擁擠度因子σ=0.4,可視范圍visual=(Ymax-Ymin)/4,其中Ymax、Ymin為當(dāng)代種群最好解、最差解對(duì)應(yīng)的目標(biāo)函數(shù)值。人工魚(yú)群算法的運(yùn)行環(huán)境與上述相同。隨機(jī)運(yùn)行50次,兩種算法求解結(jié)果見(jiàn)表3所示。
表2 不同鄰域搜索策略求解效果比較
圖1 種群最好解隨迭代次數(shù)的變化趨勢(shì)
由表3可知,人工魚(yú)群算法在最差解及平均解方面較優(yōu),變鄰域人工蜂群算法在最好解及平均計(jì)算時(shí)間方面較優(yōu)。
4.3 算例最好解網(wǎng)絡(luò)結(jié)構(gòu)
在此,給出算例“3-7-65”最好解“3 220”對(duì)應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)圖,見(jiàn)圖2所示。
從圖2可知,潛在的3個(gè)配送中心中開(kāi)放了編號(hào)為“1”的1個(gè)配送中心,潛在的7個(gè)中轉(zhuǎn)站中開(kāi)放了編號(hào)為“1”、“2”、“3”和“7”的4個(gè)中轉(zhuǎn)站,從配送中心出發(fā)到達(dá)各中轉(zhuǎn)站的路徑數(shù)為2,從各中轉(zhuǎn)站出發(fā)到達(dá)各顧客點(diǎn)的路徑數(shù)為12。根據(jù)該算例的相關(guān)數(shù)據(jù),可驗(yàn)證該最好解滿足假設(shè)條件(1)、(2)、(3)、(4)。由假設(shè)條件(5)可知,一級(jí)網(wǎng)絡(luò)車輛數(shù)即為2,二級(jí)網(wǎng)絡(luò)車輛數(shù)即為12。根據(jù)網(wǎng)絡(luò)中各節(jié)點(diǎn)的坐標(biāo),采用歐幾里德距離計(jì)算點(diǎn)與點(diǎn)之間的距離,求和取整得到各條路徑的長(zhǎng)度,根據(jù)假設(shè)條件(6)可計(jì)算出各條路徑車輛行駛成本910(限于篇幅,詳細(xì)計(jì)算過(guò)程在此從略)。由此,可計(jì)算目標(biāo)函數(shù)=配送中心開(kāi)放成本750×1+中轉(zhuǎn)站開(kāi)放成本150×4+一級(jí)網(wǎng)絡(luò)車輛使用成本為240×2+二級(jí)網(wǎng)絡(luò)車輛使用成本40×12+兩級(jí)網(wǎng)絡(luò)中車輛行駛成本910=3 220。進(jìn)一步分析,由文獻(xiàn)[12]可計(jì)算出該算例的顧客需求量為1 168,結(jié)合表1所示參數(shù)可知,該最好解開(kāi)放了最少數(shù)量的配送中心、最少的數(shù)量中轉(zhuǎn)站,使用了最小數(shù)量的車輛。因此,該解的質(zhì)量較好。
表3 不同算法求解效果比較1)
圖2 算例“3-7-65”最好解“3 220”的網(wǎng)絡(luò)結(jié)構(gòu)
針對(duì)城市物流配送中的兩級(jí)定位-路徑問(wèn)題,建立了相應(yīng)的數(shù)學(xué)模型,并將求解NP-hard問(wèn)題效果較好的人工蜂群算法應(yīng)用于包括多個(gè)NP-hard子問(wèn)題的兩級(jí)定位-路徑問(wèn)題的求解;針對(duì)人工蜂群算法容易出現(xiàn)早熟的問(wèn)題,在算法的鄰域搜索階段,根據(jù)變鄰域搜索思想提出了三種變鄰域搜索策略。仿真實(shí)驗(yàn)結(jié)果表明,變鄰域人工蜂群算法能有效求解兩級(jí)定位-路徑問(wèn)題;提出的三種變鄰域搜索策略各有優(yōu)勢(shì),可根據(jù)實(shí)際應(yīng)用的需要及決策者的個(gè)人偏好,選擇相應(yīng)的搜索策略。因此,實(shí)際應(yīng)用時(shí),可根據(jù)決策者的風(fēng)險(xiǎn)偏好進(jìn)行選擇。若決策者為風(fēng)險(xiǎn)回避者,應(yīng)選擇基于變鄰域搜索策略S2的人工蜂群算法進(jìn)行求解,以期得到更優(yōu)的最差解;若決策者為風(fēng)險(xiǎn)中立者或風(fēng)險(xiǎn)追求者,應(yīng)選擇基于變鄰域搜索策略S1的人工蜂群算法進(jìn)行求解,以期得到更優(yōu)的平均解或最好解。此外,若在某些更關(guān)心決策效率的應(yīng)用情形,如應(yīng)急物流等,則應(yīng)選擇基于變鄰域搜索策略S3的人工蜂群算法進(jìn)行求解,以期在更短時(shí)間內(nèi)求得滿意解。
[1]NagyG,Salhi S.Location-routing:issues,models and methods[J].European Journal of Operational Research,2007,177(2):649-672.
[2]Jacobsen S K,Madsen O B G.A comparative study of heuristics for a two-level routing-location problem[J].European Journal of Operational Research,1980,5(6):378-387.
[3]Ambrosino D,Sciomachena A,Scutellàb M G.A heuristic based on multi-exchange techniques for a regional fleet assignment location-routing problem[J].Computers&Operations Research,2009,36(2):442-460.
[4]Sterle C.Location-routing models and methods for freight distribution and infomobility in city logistics[D].Universita Degli Studi di Napoli“Federico II”,Naples,Italy,2010.
[5]Li Jin,Zhu Y,Shen H,et al.A hybrid genetic algorithm for two-layer location-routing problem[C]//4th International Conference on New Trends in Information Science and Service Science(NISS),2010:642-645.
[6]Boccia M,Crainic T G,Sforza A,et al.A metaheuristic for a two Echelon Location-Routing Problem[C]//Lecture Notes in Computer Science.Berlin Heidelberg:Springer-Verlag,2010:288-301.
[7]王紹仁,馬祖軍.震害緊急響應(yīng)階段應(yīng)急物流系統(tǒng)中的LRP[J].系統(tǒng)工程理論與實(shí)踐,2011,31(8):1497-1507.
[8]Nguyen V P,Prins C,Prodhon C.Solving the two-echelon location routing problem by a GRASP reinforced by a learning process and path relinking[J].European Journal of Operational Research,2012,216(1):113-126.
[9]Nguyen V P,Prins C,Prodhon C.A multi-start iterated local search with tabu list and path relinking for the two echelon location-routing problem[J].Engineering Applications of Artificial Intelligence,2012,25(1):56-71.
[10]Karaboga D.An idea based on honey bee swarm for numerical optimization,TR06[R].Kaayseri:Erciyes University,2005.
[11]暴勵(lì).人工蜂群算法的混合策略研究[D].太原:太原科技大學(xué),2010.
[12]胡大偉.設(shè)施定位和車輛路線問(wèn)題模型及其啟發(fā)式算法研究[D].西安:長(zhǎng)安大學(xué),2008:129-133.
[13]李曉磊.一種新型的智能優(yōu)化方法——人工魚(yú)群算法[D].杭州:浙江大學(xué),2003.
[14]董偉.變鄰域搜索算法研究及在組合優(yōu)化中的應(yīng)用[D].阜新:遼寧工程技術(shù)大學(xué),2011:1-2.
CHEN Jiumei1,2,GONG Ying1,2
1.Chongqing Key Laboratory of Electronic Commerce&Supply Chain System,Chongqing Technology and Business University,Chongqing 400067,China
2.Strategical Planning Department,Chongqing Technology and Business University,Chongqing 400067,China
A mathematical model of two-echelon location-routing problem is established.Artificial Bee Colony algorithm is put forward to solve this problem.Since this algorithm usually has premature convergence.Variable neighborhood search, a novel path heuristic algorithm appearing abroad in recent years,is blended in this algorithm.At the same time,three kinds of variable neighborhood search strategy are put forward.The comparison simulation between Artificial Bee Colony algorithm with different variable neighborhood search strategies and artificial fish swarm algorithm has been done.The experimental results show that Artificial Bee Colony algorithm with variable neighborhood search can effectively solve two-echelon location-routing problem.
two-Echelon Location-Routing Problem(2E-LRP);Artificial Bee Colony(ABC)algorithm;Variable Neighborhood Search(VNS);logistics;distribution
A
F224.3
10.3778/j.issn.1002-8331.1309-0335
CHEN Jiumei,GONG Ying.Artificial Bee Colony algorithm with variable neighborhood search for two-Echelon Location-Routing Problem.Computer Engineering and Applications,2014,50(6):25-30.
國(guó)家自然科學(xué)基金(No.71101159)。
陳久梅(1976—),女,博士,副教授,研究領(lǐng)域?yàn)槲锪飨到y(tǒng)優(yōu)化、智能算法等;龔英(1968—),女,教授,研究領(lǐng)域?yàn)槲锪髋c供應(yīng)鏈。E-mail:chenjiumei@163.com
2013-09-23
2013-11-10
1002-8331(2014)06-0025-06
CNKI網(wǎng)絡(luò)優(yōu)先出版:2013-11-15,http://www.cnki.net/kcms/detail/11.2127.TP.20131115.1121.009.html