一種基于離散蝙蝠算法的物流運輸調(diào)度方法
【專利摘要】本發(fā)明公開了一種基于離散蝙蝠算法的物流運輸調(diào)度方法,針對物流運輸調(diào)度問題,定義了蝙蝠算法中蝙蝠位置、速度等參數(shù),重新設(shè)計了蝙蝠速度更新操作、蝙蝠頻率更新操作、蝙蝠位置更新操作、蝙蝠發(fā)射頻度更新操作,同時引入分段逆序操作增強全局搜索能力,使用基于固定半徑最近鄰居搜索策略和不檢測標識策略的3?Opt優(yōu)化算法來增強蝙蝠算法的局部搜索能力并加快算法的收斂速度。本發(fā)明所提出的基于離散蝙蝠算法的物流運輸調(diào)度方法具有較強的收斂能力、較強的全局尋優(yōu)能力、較快的運行速度,在求解物流運輸調(diào)度時表現(xiàn)出較好的穩(wěn)定性和有效性。
【專利說明】
_種基于禹散蝙幅算法的物流運輸調(diào)度方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種物流運輸調(diào)度方法,尤其是一種基于離散蝙蝠算法的物流運輸調(diào) 度方法,屬于人工智能技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 物流作為第三利潤源泉對現(xiàn)代社會的影響明顯,它關(guān)聯(lián)了國民經(jīng)濟的原材料供 應(yīng)、生產(chǎn)過程、商品流通等重要領(lǐng)域,是支柱性產(chǎn)業(yè)。物流運輸調(diào)度是物流的核心活動之一, 它就是經(jīng)濟合理地設(shè)計車輛運輸路徑,按照客戶的需求將貨物從供應(yīng)地點轉(zhuǎn)移到需求地 點。
[0003] 在物流運輸調(diào)度中,最基本的一種物流運輸調(diào)度模型可描述為:一個配送中心有一 臺車輛要去為若干個客戶點送貨,該車輛從配送中心出發(fā),需要經(jīng)過所有客戶后,回到配送 中心,應(yīng)如何選擇行進路線,以使總的行程最短。其中,該車輛的車載量大于或等于所有客 戶點的總貨物需求量;所有客戶只能經(jīng)過一次。其數(shù)學(xué)模型為:對于η個城市,遍歷所有客戶 和配送中心,且只能被訪問一次的路徑為C = (C1,C2,…,cn),使Μ? 1 = 。 2=1 其中,d(ci,ci+i)為客戶或配送中心Ci、Ci+i之間的距離,i = l,2,…,n-l,d(cn,ci)為客戶或 配送中6cn、Cl之間的距離。
[0004] 蝙蝠算法是由Xin-she Yang在2010年提出的一種元啟發(fā)式算法。蝙蝠算法是以微 型蝙蝠的回聲定位行為為基礎(chǔ),采用不同的脈沖發(fā)射頻度和響度對復(fù)雜優(yōu)化的問題進行求 解。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是為了解決上述現(xiàn)有技術(shù)的缺陷,提供了一種運行速度快、收斂能 力強、尋優(yōu)效率高的一種基于離散蝙蝠算法的物流運輸調(diào)度方法。
[0006] 本發(fā)明的目的可以通過采取如下技術(shù)方案達到:
[0007] -種基于離散蝙蝠算法的物流運輸調(diào)度方法,所述方法包括以下步驟:
[0008] S1、初始化
[0009] S1-1、控制參數(shù)設(shè)置:最大迭代次數(shù)為Nmax,迭代計數(shù)器N,蝙蝠的種群規(guī)模為Q,固 定半徑最近鄰居搜索參數(shù)frns〈Q、0彡fmin<Kl、0彡Rmin<Kl、0彡A min<A彡1是預(yù) 先給定的常數(shù);其中,N的初始值為0;
[0010] S1-2、初始化種群:對每個i,隨機產(chǎn)生第i只蝙蝠的位置為Xi、速度為Vi、脈沖發(fā)射 頻度為心、脈沖響度為厶1、脈沖頻率;1^;其中,1 = 1,2,"_,(>),1^£[1^11,1?111£^]丄£[厶1^11,厶11^], fi^ [fmin,fmax];
[0011] S2、根據(jù)初始蝙蝠種群中每個蝙蝠的位置Xi,計算蝙蝠的適應(yīng)度fitnessi,初始化 全局最優(yōu)蝙蝠的位置X*及其適應(yīng)度fitness*;
[0012] S3、更新每個蝙蝠的速度νΓ%蝙蝠頻率和當(dāng)前蝙蝠的待定位置
[0013] S4、如果rand〉!^,則采用分段逆序策略生成新的蝙蝠位置χΓ";否則,進入步驟S5;
[0014] S5、通過基于固定半徑最近鄰居搜索策略和不檢測標識策略的3-〇pt優(yōu)化算法找 出蝙蝠位置#"鄰域中最好的蝙蝠位置及其適應(yīng)度
[0015] S6、如果rand<Ai,且./?廳廣'f < .所《6崎,則X; = ,.你詔叫=廣.,并更 新脈沖響度仏和脈沖發(fā)射頻度心;否則,進入步驟S7;
[0016] S7、如果方微<.偉《.0路.,更新全局最優(yōu)解X*和fitness*;否則,進入步驟S8;
[0017] S8、如果N<Nmax,則Νη?=Νη?+1,返回步驟S3;否則,進入步驟S9;
[0018] S9、輸出全局最優(yōu)蝙蝠的位置X*及其適應(yīng)度fitness*。
[0019] 進一步的,步驟S1-2中,所述蝙蝠的位置和速度的定義如下:
[0020] 1)蝙蝠的位置:設(shè)QeN+為蝙蝠種群規(guī)模,定義第i個蝙蝠的位置SXl=( Xll, Xi2,…,xin),i = l,2,'",Q,其中,η為一個配送中心和多個客戶點的總個數(shù),(Xii,xi2,…, Xin)是(1,2,…,n)的一個置換;Xi代表客戶和配送中心遍歷的路徑為Xil - Xi2----->Xin- Xil;
[0021] 2)蝙蝠的速度:定義第i個蝙蝠的速度為Vi=(vii,vi2,···,vin);其中,(Xvij彡n,i = 1,2,.",Q,j = l,2,.",n〇
[0022] 進一步的,步驟S2中,所述蝙蝠的適應(yīng)度fitnessi,由下式計算得出:
[0023]
(1)
[0024] 其中,d(xij,xi(j+i))為客戶或配送中心Xij、Xi(j+i)之間的距離,j = l,2,…,n-l,d (叉^^1)為客戶或配送中1小1山+1)之間的距離。
[0025] 進一步的,步驟S3中,所述更新每個蝙蝠的速度ν^、蝙蝠頻率./Γ1'和當(dāng)前蝙蝠的 待定位置< sw,具體包括:
[0026] 設(shè)第i個蝙蝠的位置為Xi= (Xil,Xi2,···,Xin),其速度為Vi=(Vil,Vi2,…,Vin),其頻 率為f i ;當(dāng)前全局最優(yōu)蝙蝠的位置為X* = ( X*1,X*2,…,X*n ),其速度為V* = ( V*1,V*2,…,V*n);
[0027] S3-1、通過蝙蝠位置的減法操作、蝙蝠速度的數(shù)乘操作和蝙蝠速度加法操作來更 新蝙蝠速度;
[0028] 1)蝙蝠位置的減法操作
[0029] 對第i個蝙蝠,定義蝙蝠位置的減法操作
貝1J :
[0030]
(2)
[0031] 其中,i = l,2,.",Q,j = l,2,.",n;
[0032] 2)蝙蝠速度的數(shù)乘操作
[0033] 對第i個蝙蝠,定義蝙蝠速度的數(shù)乘操作,令 frand = rand(),則:
[0034]
(3).
[0035] 其中,i = l,2,.",Q,j = l,2,.",n;
[0036] 3)蝙蝠速度加法操作
[0037] 對第i個蝙蝠,定義蝙蝠速度加法操作
,則:
[0038]
(4)
[0039] 其中,以ifn作為第i個蝙蝠的新速度,i = 1,2,…,Q;
[0040] S3-2、更新蝙蝠頻率
[0041 ]在進行蝙蝠速度的數(shù)乘操作的同時,進行蝙蝠頻率更新操作:對第i個蝙蝠,定義 蝙蝠頻率的更新操作:
[0042]
[0043] 其中,i = l,2,.",Q,j = l,2,.",n;
[0044] S3-2、通過蝙蝠位置加法操作更新蝙蝠位置
[0045] 對第i個蝙蝠,定義蝙蝠位置與速度加法操竹
中的分量按如下方法從以得到:對每個j,如果> 0,則交換X沖的叫和vf';其中,j = 1,2,···,η;
[0046] 以X,""1作為第i個蝙蝠的新位置,i = 1,2,…,Q。
[0047]進一步的,步驟S4中,所述分段逆序策略,具體包括:
[0048]設(shè)Xi=(xii,xi2,···,xin)為第i個蝙蝠位置,s、t是隨機產(chǎn)生的整數(shù);其中,l<s<n/ 2,n/2^t^n,frand2 = rand();
[0049] 1)如果frand2>0.33且s辛1,將xi中1到s之間的全部分量逆序排列、其他分量保持位 置不變,即令Xi= (Xis,Xi(s-1),…,Xi2,Xil,Xi(s+l)···,Xin);
[0050] 2)如果frand2彡0.66且t辛η,將Xi中t到η之間的全部分量逆序排列、其他分量保持 位置不變,即令Xi=(Xil,Xi2,···,Xi(t-l),Xin,Xi(n-1),···,Xi(t+l),Xit);
[0051 ] 3)如果0.66>frand2彡0.33或者s = l或者t = n,將Xi中從s到t之間的全部分量逆序 排列、其他分量保持位置不變,即令Xi= (Xil,…,Xit,Xi(t-1),…,Xi(s+1),Xis,…,Xin)。
[0052]進一步的,步驟S5中,所述固定半徑最近鄰居搜索策略和不檢測標識策略,具體 為:
[0053] 1)固定半徑最近鄰居搜索策略
[0054]定義固定鄰域搜索半徑為常數(shù)frns,對客戶或配送中心i進行3-〇pt鄰域搜索的時 候,只進行最靠近客戶或配送中心i的前frns個客戶的交換搜索;其中,frns為正整數(shù)且0< frns^in, i = 1,2, ··· ,η;
[0055] 2)不檢測標識策略
[0056] 在進行固定半徑最近鄰居搜索時,為客戶或配送中心i設(shè)置不檢測標識flagl,并 令flagi為FALSE,如果客戶或配送中心i已經(jīng)搜索過無法交換出更好結(jié)果,則令flagi為 TRUE,后續(xù)客戶或配送中心的搜索中便不需要搜索客戶或配送中心i,其中i = l,2,…,η。
[0057] 進一步的,步驟S6中,所述更新脈沖響度Ai,具體為:
[0058] 在第N代,第i個蝙蝠的脈沖響度為jf:,則在第N+1代時蝙蝠的脈沖響度為*+1由下式 計算得出:
[0059]
(6)
[0060] 其中,α為響度影響因子,〇<α<1且α為常量。
[0061] 進一步的,步驟S6中,所述更新脈沖發(fā)射頻度心,具體為:
[0062] 在第N代,第i個蝙蝠的發(fā)射頻度為if,則在第N+1代時蝙蝠的發(fā)射頻度?+1由下式 計算得出:
[0063]
<7)
[0064] 其中,γ為發(fā)射頻度影響因子,γ>0且γ為常量。
[0065] 本發(fā)明相對于現(xiàn)有技術(shù)具有如下的有益效果:
[0066] 1、本發(fā)明對蝙蝠算法基本原理進行深入研究,通過分析蝙蝠算法的優(yōu)化機制并針 對所描述的物流運輸調(diào)度問題,定義了蝙蝠算法中蝙蝠位置、速度等參數(shù),設(shè)計了蝙蝠速度 更新操作、蝙蝠頻率更新操作、蝙蝠位置更新操作、蝙蝠發(fā)射頻度更新操作,同時引入分段 逆序操作增強全局搜索能力,使用基于固定半徑最近鄰居搜索策略和不檢測標識策略的3-〇pt優(yōu)化算法來增強蝙蝠算法的局部搜索能力并加快算法的收斂速度。
[0067] 2、本發(fā)明所提出的物流運輸調(diào)度方法具有較強的收斂能力、較強的全局尋優(yōu)能 力、較快的運行速度,在求解物流運輸調(diào)度時表現(xiàn)出較好的穩(wěn)定性和有效性。
【附圖說明】
[0068] 圖1為本發(fā)明的基于離散蝙蝠算法的物流運輸調(diào)度方法的流程圖。
[0069]圖2a~圖2c為本發(fā)明的基于離散蝙蝠算法的物流運輸調(diào)度方法的3-〇pt示意圖。 [0070]圖3a~圖3d分別為本發(fā)明的基于離散蝙蝠算法的物流運輸調(diào)度方法的解決76、 101、150、200個點(包括一個配送中心和多個客戶點)的物流運輸調(diào)度的最短路徑圖。
【具體實施方式】
[0071] 下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限 于此。
[0072] 實施例1:
[0073] 如圖1所示,本實施例的基于離散蝙蝠算法的物流運輸調(diào)度方法,包括以下步驟: [0074]第一步:初始化
[0075] 1)控制參數(shù)設(shè)置:最大迭代次數(shù)為Nmax,迭代計數(shù)器N,蝙蝠的種群規(guī)模為Q,固定半 徑最近鄰居搜索參數(shù):^1118〈( >)、;1^11 = 0、;1^£?=1、1^11 = 0、1?111£?=1、411^ = 0、4111£?=1,響度影響因 子α = 0.9,發(fā)射頻度影響因子γ =0.1,頻率影響因子θ = 2Χη是預(yù)先給定的常數(shù);其中,N的 初始值為〇;
[0076] 2)初始化種群:對每個i,隨機產(chǎn)生第i只蝙蝠的位置*Χι、速度為^、脈沖發(fā)射頻度 為 Ri、脈沖響度為 Ai、脈沖頻率 fi;其中,i = l,2,…,Q,Rie[Rmin,Rmax],Aie[Amin,Amax],fie
[fmin , fmax] 〇
[0077] 所述蝙蝠的位置和速度的定義如下:
[0078] 1)蝙蝠的位置:設(shè)QeN+為蝙蝠種群規(guī)模,定義第i個蝙蝠的位置*Xl=( Xll, Xi2,…,xin),i = l,2,'",Q,其中,η為一個配送中心和多個客戶點的總個數(shù),(Xii,xi2,…, Xin)是(1,2,…,n)的一個置換;Xi代表客戶和配送中心遍歷的路徑為Xil - Xi2----->Xin- Xil;
[0079] 2)蝙蝠的速度:定義第i個蝙蝠的速度為Vi=(Vii,Vi2,···,Vin);其中,(Xvij彡n,i = 1,2,.",Q,j = l,2,.",n〇
[0080]第二步:根據(jù)初始蝙蝠種群中每個蝙蝠的位置Xi,計算蝙蝠的適應(yīng)度fitnessi,初 始化全局最優(yōu)蝙蝠的位置X*及其適應(yīng)度fitness*;
[0081 ] 所述蝙蝠的適應(yīng)度fitnessi,由下式計算得出:
[0082]
(1.>
[0083] 其中,d(xij,xi(j+i))為客戶或配送中心Xij、Xi(j+i)之間的距離,j = l,2,…,n-l,d (叉^^1)為客戶或配送中1小1山+1)之間的距離。
[0084] 本實施例中,假設(shè)為一個配送中心和多個客戶點的總數(shù)為n = 5,第i個蝙蝠位置為 叉士=(1,2,3,4,5),則根據(jù)式(1),行加6881為(1(1,2)、(1(2,3)、(1(3,4)、(1(4,5)、(1(5,1)這5條 路徑之和。
[0085] 第三步:更新每個蝙蝠的速度νΓ'蝙蝠頻率/Γ^Ρ當(dāng)前蝙蝠的待定位置χΓ%
[0086] 1)通過蝙蝠位置的減法操作、蝙蝠速度的數(shù)乘操作和蝙蝠速度加法操作來更新蝙 蝠速度;
[0087] 本實施例中,設(shè)第i個蝙蝠的位置為Xi=(l,2,3,4,5),其速度為Vi=(0,3,2,0,4), 其頻率為fi = 0.4;當(dāng)前全局最優(yōu)蝙蝠的位置為x*=(2,l,3,5,4),v*=(2,0,l,5,0)。
[0088] 對第i個蝙蝠,定義蝙蝠位置的減法操作
,則:
[0089]
(2)
[0090] 其中,i = l,2,.",Q,j = l,2,.",n;
[0091] 本實施例中,第i個蝙蝠位置的減法操作為:根據(jù)式(2),依次檢查xi、x*、v*的每個 分量,比較Xl、 X*的每個對應(yīng)分量之后得巧-I = vf = (2,U5,4)。
[0092] 對第i個蝙蝠,定義蝙蝠速度的數(shù)乘操作
,令 frand = rand(),則:
[0093]
(3)
[0094] 其中,i = l,2, =
[0095] 在進行蝙蝠速度的數(shù)乘操作的同時,進行蝙蝠頻率更新操作:對第i個蝙蝠,定義 蝙蝠頻率的更新操作:
[0096]
(.5)
[0097] 其中,i = l,2,.",Q,j = l,2,.",n。
[0098] 本實施例中,第i個蝙蝠速度的數(shù)乘操作為:根據(jù)式(3),依次對vf1的每個分量進 行操作,假設(shè)第一次rand() = 0·2,則 | f進d-h | = | 0·2-0·4 | <0·3,if' = 0,根據(jù)公式(5),f丄 =0 ·4;第二次rand() = 0 · 8,貝lj I frand-fi I = I 0 · 8-0 · 4 I >0 · 3,vf =' 1,根據(jù)公式(5),fi = 0 ·4+ (l-0.4)/(2X5)=0.46;以此類推一共進行5次,假設(shè)得到rf〃 =(0,10,5,4)和新的蝙蝠速 度f。
[0099] 對第i個蝙蝠,定義蝙蝠速度加法操作
,則:
[0100]
(4)
[0101 ]其中,以w作為第i個蝙蝠的新速度,i = l,2,…,Q;
[0102]本實施例中,根據(jù)式(4),依次對νι、ν;^的每個分量進行操作,假設(shè)進行5次隨機 rand ()得到的數(shù)值分別為0.3、0 . 1、0.8、0.7、0.2,再分別與0.7比較后得到新速度 νΓ =(0,3,0,5,4) β
[0103] 2)通過蝙蝠位置加法操作更新蝙蝠位置
[0104] 第i個蝙蝠位置與速度的加法操作:依次檢查&^廣'每個分量,得到新的蝙蝠位置 χ_. = (1,3,2,5,4)。
[0105] 第四步、如果rand〉!^,則采用分段逆序策略生成新的蝙蝠位置.χΓ";否則,進入第 五步;
[0106] 本實施例中的分段逆序策略,具體包括:
[0107] 分段逆排序策略:假設(shè)第i個蝙蝠位置Xi = (1,2,3,4,5),隨機生成s,t,f rand2 = rand():
[0108] 1)如果frand2<0·33且s辛 1 (假設(shè)s = 2),則w = (2,丨,3,4,5)
[0109] 2)如果frand2 彡 0.66且 t 辛 n(假設(shè) t = 4),則 x廣= (1,2,3,5,4)
[0110] 3)如果 0.66>frand2 彡 0.33 或者 s = l 或者 t = n(假設(shè) s = 2,t = 4),貝 lj 工廣二(1,4,3,2,5)。
[0111] 第五步、通過基于固定半徑最近鄰居搜索策略和不檢測標識策略的3-0pt(3邊交 換算法)優(yōu)化算法找出蝙蝠位置d卩域中最好的蝙蝠位置#^及其適應(yīng)度,
[0112] 所述固定半徑最近鄰居搜索策略和不檢測標識策略,具體為:
[0113] 1)固定半徑最近鄰居搜索策略
[0114]定義固定鄰域搜索半徑為常數(shù)frns,對客戶或配送中心i進行3-〇pt鄰域搜索的時 候,只進行最靠近客戶或配送中心i的前frns個客戶的交換搜索;其中,frns為正整數(shù)且0< frns^in, i = 1,2, ··· ,η;
[0115] 2)不檢測標識策略
[0116] 在進行固定半徑最近鄰居搜索時,為客戶或配送中心i設(shè)置不檢測標識flagl,并 令flagi為FALSE,如果客戶或配送中心i已經(jīng)搜索過無法交換出更好結(jié)果,則令flagi為 TRUE,后續(xù)客戶或配送中心的搜索中便不需要搜索客戶或配送中心i,其中i = l,2,…,η。
[0117] 第六步、如果 rand<Ai,_@
并更新脈沖響度仏和脈沖發(fā)射頻度&;否則,進入第七步;
[0118] 在第N代,第i個蝙蝠的脈沖響度為、發(fā)射頻度為/?/,則在第N+1代時蝙蝠的脈沖 響度,"和發(fā)射頻度尺ν+ι由式(6)、( 7)計算得出:
[0119] (6)
[0120] (67.).
[0121] 假設(shè)第N代的第i個蝙蝠的脈沖響度為< =〇。7、發(fā)射頻度為if = 0.8,則第N+1代時蝙蝠 的脈沖響度為= Μ X 0.7 = 0.63和發(fā)射頻啟
[0122] 第七步、如果廣^ ,更新全局最優(yōu)解χ*和f itness*;否則,進入步驟 第八步;
[0123] 第八步、如果N< Nmax,則N_=N_+1,返回第三步;否貝1J,進入第九步;
[0124]第九步、輸出全局最優(yōu)蝙蝠的位置X*及其適應(yīng)度fitness*。
[0125] 應(yīng)用本發(fā)明提出的方法分別解決76、101、150、200個點的物流運輸調(diào)度問題(每個 問題均包括一個配送中心、其余為客戶點),求解過程與結(jié)果如下表1、圖2a~圖2c和圖3a~ 圖3d所示,其中表1為本發(fā)明方法具體實施方案的參數(shù)設(shè)置,圖2a~圖2c為最優(yōu)路徑圖,圖 3a~圖3d為76、101、150、200個點的最短路徑進化曲線圖。
[0126]
[0127] 表1參數(shù)設(shè)置
[0128] 綜上所述,本發(fā)明所提出的基于離散蝙蝠算法的物流運輸調(diào)度方法具有較強的收 斂能力、較強的全局尋優(yōu)能力、較快的運行速度,在求解物流運輸調(diào)度時表現(xiàn)出較好的穩(wěn)定 性和有效性。
[0129] 以上所述,僅為本發(fā)明專利優(yōu)選的實施例,但本發(fā)明專利的保護范圍并不局限于 此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明專利所公開的范圍內(nèi),根據(jù)本發(fā)明專利的技 術(shù)方案及其發(fā)明專利構(gòu)思加以等同替換或改變,都屬于本發(fā)明專利的保護范圍。
【主權(quán)項】
1. 一種基于離散騙幅算法的物流運輸調(diào)度方法,其特征在于:所述方法包括W下步驟: 51、 初始化 S1-1、控制參數(shù)設(shè)置:最大迭代次數(shù)為Nmax,迭代計數(shù)器N,騙幅的種群規(guī)模為Q,固定半 徑最近鄰居捜索參數(shù)frnS<Q、0《fmin<fmax《l、0《Rmin<Rmax《l、0《Amin<Amax《l是預(yù)先給定 的常數(shù);其中,N的初始值為0; S1-2、初始化種群:對每個i,隨機產(chǎn)生第i只騙幅的位置為XI、速度為VI、脈沖發(fā)射頻度 為 Ri、脈沖響度為 Ai、脈沖頻率 fi;其中,i = l,2,...,Q,Rie[Rmin,Rmax],Aie[Amin,Amax],fie [fmin , fmax]; 52、 根據(jù)初始騙幅種群中每個騙幅的位置XI,計算騙幅的適應(yīng)度fitnessi,初始化全局 最優(yōu)騙幅的位置X*及其適應(yīng)度fi化ess*; 53、 更新每個騙幅的速度v,"6w、騙幅頻率/rw和當(dāng)前騙幅的待定位置; 54、 如果rand〉Ri,則采用分段逆序策略生成新的騙幅位置相W ;否則,進入步驟S5; 55、 通過基于固定半徑最近鄰居捜索策略和不檢測標識策略的3-化t優(yōu)化算法找出騙 幅位置皆0"鄰域中最好的騙幅位置始*W及其適應(yīng)度.所new嚴W . 56、 如果rancKAi,且成化掛片6"' < .抑化巧,則-r,二種6"',,方化6巧=方化6巧'*"',并更新脈 沖響度Ai和脈沖發(fā)射頻度Ri;否則,進入步驟S7; 57、 如果辟批巧/*"'' <戶扣妨而.,更新全局最優(yōu)解X*和fitness*;否則,進入步驟S8; 58、 如果N<Nmax,貝帆。w = Nn?+l,返回步驟S3;否則,進入步驟S9; 59、 輸出全局最優(yōu)騙幅的位置X*及其適應(yīng)度f itness*。2. 根據(jù)權(quán)利要求1所述的一種基于離散騙幅算法的物流運輸調(diào)度方法,其特征在于:步 驟S1-2中,所述騙幅的位置和速度的定義如下: 1) 騙幅的位置:設(shè)QeN +為騙幅種群規(guī)模,定義第i個騙幅的位置為Xi=(Xil,Xi2,···, Xin),i = l,2,…,Q,其中,η為一個配送中屯、和多個客戶點的總個數(shù),(Xil,Xi2,…,Xin)是(1, 2,· · ·,η)的一個置換;Xi代表客戶和配送中屯、遍歷的路徑為Xil一Xi2一---->Xin一Xil; 2) 騙幅的速度:定義第i個騙幅的速度為Vi = (vii,vi2,···,vin);其中,0《vij《n,i = l, 2,...,Q,j = l,2,...,n。3. 根據(jù)權(quán)利要求1所述的一種基于離散騙幅算法的物流運輸調(diào)度方法,其特征在于:步 驟S2中,所述騙幅的適應(yīng)度fitness。由下式計算得出:(1) 其中,d(xij,xi(j+i))為客戶或配送中屯、Xij、Xi(j+:L)之間的距離,j = l,2,…,n-l,d(xin,xi) 為客戶或配送中XU、Xi(W)之間的距離。4. 根據(jù)權(quán)利要求1所述的一種基于離散騙幅算法的物流運輸調(diào)度方法,其特征在于:步 驟S3中,所述更新每個騙幅的速度νΓ、騙幅頻率iT"和當(dāng)前騙幅的待定位置鮮6"',具體包 括: 設(shè)第1個騙幅的位置為義1=估1,義12,。',義:1。),其速度為¥1=〇:11,¥12,。',¥:1。),其頻率為 扣當(dāng)前全局最優(yōu)騙幅的位置為&=(削,&2,。',義扣),其速度為¥*=(>村,料2,。',¥袖); S3-1、通過騙幅位置的減法操作、騙幅速度的數(shù)乘操作和騙幅速度加法操作來更新騙 幅速度; 1) 騙幅位置的減法操作 對第1個騙幅,定義騙幅位置的減法操作:Λ:,-而== (vf,嘴6,…,),則:(2) 其中,i = l, 2,...,90 = 1,2,.··,]!; 2) 騙幅速度的數(shù)乘操作 對第i個騙幅,定義騙幅速度的數(shù)乘操作:X./;二V嚴二,…,叫產(chǎn)),令frand = rand〇,貝ij:(3) 其中,i = l, 2,...,9, j = l, 2,.··,]!; 3) 騙幅速度加法操作 對第i個騙幅,定義騙幅速度加法操作:V,. +vff 二?ν,?">:Γ,···,νΓ?,則:(4> 其中,WV;?"作為第i個騙幅的新速度,i = 1,2,…,Q; S3-2、更新騙幅頻率 在進行騙幅速度的數(shù)乘操作的同時,進行騙幅頻率更新操作:對第i個騙幅,定義騙幅 頻率的更新操作:(5) 其中,i = l, 2,...,90 = 1,2,.··,]!; S3-2、通過騙幅位置加法操作更新騙幅位置。 對第i個騙幅,定義騙幅位置與速度加法操作:兩+ vT =磚6W二CC,城W,…,嫁"'), 片"'中的分量按如下方法從XI得到:對每個j,如果皆"' * 0,則交換X沖的^和皆"';其中,j = l,2,...,n; 作為第i個騙幅的新位置,i = 1,2,…,Q。5.根據(jù)權(quán)利要求1所述的一種基于離散騙幅算法的物流運輸調(diào)度方法,其特征在于:步 驟S4中,所述分段逆序策略,具體包括: 設(shè)Xi = (Xii,Xi2,…,Xin)為第i個騙幅位置,s、t是隨機產(chǎn)生的整數(shù);其中,l《s<n/2,n/2 《t《n,frand2 = r曰nd〇; 1 )如果f rand2〉0.33且林1,將Xi中巧Ij S之間的全部分量逆序排列、其他分量保持位置不 變,即令Xi =(化s,Xi(s-l) , ,Xi2,Xil,:Xi(s+l)...,化。); 2)如果frand2>0.66且t聲n,將Xi中巧Ijn之間的全部分量逆序排列、其他分量保持位置 不變,即令Xi=(化l,Xi2,... ,Xi(t-l),Xin,:Xi(n-:L),... ,Xi(t+:L),Xit); 3)如果0.66 乂 rand2>0.33或者S = 1或者t = n,將Xi中從巧Ijt之間的全部分量逆序排列、 其他分量保持位置不變,即令Xi = ( Xil,…,Xit,Xi(t-l),…,Xi(s+1),Xis,.. ·,Xin)。6. 根據(jù)權(quán)利要求1所述的一種基于離散騙幅算法的物流運輸調(diào)度方法,其特征在于:步 驟S5中,所述固定半徑最近鄰居捜索策略和不檢測標識策略,具體為: 1) 固定半徑最近鄰居捜索策略 定義固定鄰域捜索半徑為常數(shù)frns,對客戶或配送中屯、i進行3-化t鄰域捜索的時候, 只進行最靠近客戶或配送中屯、i的前打ns個客戶的交換捜索;其中,frns為正整數(shù)且0<打ns 2) 不檢測標識策略 在進行固定半徑最近鄰居捜索時,為客戶或配送中屯、i設(shè)置不檢測標識flagi,并令 flagi為FALSE,如果客戶或配送中屯、i已經(jīng)捜索過無法交換出更好結(jié)果,則令flagi為TRUE, 后續(xù)客戶或配送中屯、的捜索中便不需要捜索客戶或配送中屯、i,其中i = l,2,…,η。7. 根據(jù)權(quán)利要求1所述的一種基于離散騙幅算法的物流運輸調(diào)度方法,其特征在于:步 驟S6中,所述更新脈沖響度Ai,具體為: 在第N代,第i個騙幅的脈沖響度為半f,則在第N+1代時騙幅的脈沖響度少+1由下式計算 得出:(6) 其中,α為響度影響因子,〇<α<1且α為常量。8. 根據(jù)權(quán)利要求1所述的一種基于離散騙幅算法的物流運輸調(diào)度方法,其特征在于:步 驟S6中,所述更新脈沖發(fā)射頻度Ri,具體為: 在第N代,第i個騙幅的發(fā)射頻度為i?f,則在第N+1代時騙幅的發(fā)射頻度起W由下式計算 得出:(7) 其中,丫為發(fā)射頻度影響因子,丫〉〇且丫為常量。
【文檔編號】G06Q10/08GK105976298SQ201610390114
【公開日】2016年9月28日
【申請日】2016年6月2日
【發(fā)明人】蔡延光, 戚遠航, 蔡顥, 趙楊
【申請人】廣東工業(yè)大學(xué)