本發(fā)明涉及的是一種純電動(dòng)汽車物流配送車輛調(diào)度方法,屬于智能優(yōu)化調(diào)度中的車輛路徑技術(shù)領(lǐng)域。
背景技術(shù):
目前,純電動(dòng)汽車物流配送車輛調(diào)度方案主要集中在靜態(tài)車輛調(diào)度領(lǐng)域,即在調(diào)度開始之前,所有與調(diào)度相關(guān)的信息已經(jīng)確定,并且不會(huì)隨著時(shí)間的變化而變化。在實(shí)際物流配送過程中,車輛的行駛速度并不是一成不變的,而是隨著出發(fā)時(shí)間的不同而變化。因此,有必要對(duì)現(xiàn)有的調(diào)度模型進(jìn)行改進(jìn),綜合考慮行駛速度隨出發(fā)時(shí)間的依賴特性、純電動(dòng)汽車的充電需求以及載重約束,對(duì)時(shí)間依賴的純電動(dòng)汽車車輛調(diào)度問題進(jìn)行模型構(gòu)建、求解,獲取優(yōu)選的調(diào)度方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的發(fā)明目的在于:針對(duì)上述存在的問題,構(gòu)建了時(shí)間依賴的純電動(dòng)汽車物流配送車輛調(diào)度問題模型,提出了基于遺傳算法的改進(jìn)車輛調(diào)度方法。
本發(fā)明的一種多目標(biāo)優(yōu)化的純電動(dòng)汽車物流配送優(yōu)化調(diào)度方法,包括下列步驟:
步驟1:構(gòu)建調(diào)度模型:
對(duì)真實(shí)充電站進(jìn)行復(fù)制得到訪問充電站集合S′,同一車輛對(duì)集合S′中的每個(gè)訪問充電站只能訪問一次;
用v0表示車輛始發(fā)節(jié)點(diǎn),vn+1表示車輛返回節(jié)點(diǎn),且節(jié)點(diǎn)v0、vn+1對(duì)應(yīng)同一配送中心,用于區(qū)分出發(fā)和返回狀態(tài);
由配送節(jié)點(diǎn)集合C、訪問充電站集合S′和節(jié)點(diǎn)v0的并集得到第一節(jié)點(diǎn)集合V0,由配送節(jié)點(diǎn)集合C、訪問充電站集合S′和節(jié)點(diǎn)vn+1的并集得到第二節(jié)點(diǎn)集合Vn+1,由配送節(jié)點(diǎn)集合C和訪問充電站集合S′的并集得到第三節(jié)點(diǎn)集合V;
構(gòu)建調(diào)度模型的目標(biāo)函數(shù):其中表示車輛使用成本,表示所有車輛的總配送時(shí)間成本,f1、f2為預(yù)設(shè)權(quán)重,K表示配送中心的車輛集,第一訪問狀態(tài)變量的取值為:若存在車輛k從節(jié)點(diǎn)v0到達(dá)節(jié)點(diǎn)j,則否則第二訪問狀態(tài)變量xijk的取值為:若存在車輛k從節(jié)點(diǎn)i到達(dá)節(jié)點(diǎn)j,則xijk=1;否則xijk=0;Tij(·)表示依賴出發(fā)時(shí)刻的行駛時(shí)間函數(shù),函數(shù)的輸入?yún)?shù)為從節(jié)點(diǎn)i的出發(fā)時(shí)刻,基于預(yù)設(shè)的旅行速度與出發(fā)時(shí)刻的映射關(guān)系得到當(dāng)前出發(fā)時(shí)刻的行駛速度,根據(jù)節(jié)點(diǎn)i與節(jié)點(diǎn)j間的路程得到任意車輛從節(jié)點(diǎn)i出發(fā)到達(dá)節(jié)點(diǎn)j的行駛時(shí)間tij,其中uik表示車輛k到達(dá)節(jié)點(diǎn)i的到達(dá)時(shí)刻,sik表示車輛k在節(jié)點(diǎn)i的停留時(shí)間,若節(jié)點(diǎn)i∈C0,則停留時(shí)間sik等于節(jié)點(diǎn)i的服務(wù)時(shí)間,其中集合C0=C∪{v0};若節(jié)點(diǎn)i∈S′,則sik=rk(Qk-qik),其中rk表示車輛k的充電時(shí)間參數(shù)、Qk表示車輛k的電量最大值,qik表示車輛k到達(dá)節(jié)點(diǎn)i的電量;
調(diào)度模型的約束條件為:
(1)每個(gè)配送節(jié)點(diǎn)只能由一輛車進(jìn)行服務(wù):
(2)同一車輛k對(duì)訪問充電站集合S′中的訪問充電站最多能被訪問一次:
(3)對(duì)于任意節(jié)點(diǎn),訪問該節(jié)點(diǎn)的車輛數(shù)等于離開該節(jié)點(diǎn)的車輛數(shù):
(4)車輛k到達(dá)任意節(jié)點(diǎn)的載重不大于車輛k離開上一個(gè)節(jié)點(diǎn)的載重:
其中g(shù)jk、gik分別表示車輛k到達(dá)節(jié)點(diǎn)i、j的載重,mi表示節(jié)點(diǎn)i的需求量,Gk表示車輛k的額定載重;
(5)車輛從配送中心出發(fā)時(shí)的載重不大于車輛額定載重且大于等于0:
(6)車輛k從節(jié)點(diǎn)i到達(dá)節(jié)點(diǎn)j的到達(dá)時(shí)刻ujk應(yīng)滿足:
其中Tmax表示預(yù)設(shè)配送截止時(shí)間,即配送中心運(yùn)行的最大配送時(shí)間;
(7)若車輛k訪問的上一節(jié)點(diǎn)i∈C,則從節(jié)點(diǎn)i到達(dá)節(jié)點(diǎn)j的電量qjk應(yīng)滿足:
若車輛k訪問的上一節(jié)點(diǎn)i∈S′,則從節(jié)點(diǎn)i到達(dá)節(jié)點(diǎn)j的電量qjk應(yīng)滿足:
電量消耗函數(shù)
其中電量消耗估計(jì)值mk表示車輛k的質(zhì)量,vijk(t)表示車輛k在時(shí)刻t的速度,ρa表示空氣密度,Afk表示車輛k的橫截面面積,Cd為風(fēng)阻系數(shù),fr表示摩擦系數(shù),g表示重力加速度;φc、φr分別表示電功率與機(jī)械功率轉(zhuǎn)換的消耗系數(shù)、回收系數(shù),分別表示電池功率與電功率轉(zhuǎn)換的消耗系數(shù)、回收系數(shù);
(8)表示車輛k從配送中心出發(fā)時(shí)的電池狀態(tài)為充滿狀態(tài),即
步驟2:以單個(gè)車輛從始發(fā)節(jié)點(diǎn)經(jīng)配送節(jié)點(diǎn)/配送節(jié)點(diǎn)和訪問充電站到達(dá)返回節(jié)點(diǎn)的配送路徑作為遺傳算法的基因、不同車輛的配送路徑組合作為遺傳算法的個(gè)體,且每個(gè)個(gè)體的配送節(jié)點(diǎn)集合等于C;
采用遺傳算法,在滿足調(diào)度模型的約束條件下,求解使得調(diào)度模型的目標(biāo)函數(shù)取得最小值的個(gè)體,得到調(diào)度方案。
本發(fā)明為一種多目標(biāo)優(yōu)化的純電動(dòng)汽車物流配送優(yōu)化調(diào)度方法,根據(jù)純電動(dòng)汽車和路網(wǎng)的特點(diǎn)構(gòu)建了時(shí)間依賴的純電動(dòng)汽車物流配送調(diào)度模型,在滿足調(diào)度模型的約束條件下,求解使得目標(biāo)函數(shù)最優(yōu)的車輛配送路徑組合,得到關(guān)于所有待分配的配送節(jié)點(diǎn)的調(diào)度方案。其調(diào)度適用性比現(xiàn)有的靜態(tài)車輛調(diào)度方案更強(qiáng)。
進(jìn)一步的,步驟2中,采用遺傳算法求解的具體過程為:
步驟201:結(jié)合隨機(jī)生成算法和貪婪生成算法,生成關(guān)于調(diào)度模型的初始解,即初始可行解,得到遺傳算法的初始種群,貪婪生成算法能夠生成可行解,但是會(huì)造成求解結(jié)果陷入局部最優(yōu);隨機(jī)生成算法能夠提高求解速度,但是由于求解結(jié)果不一定是可行解,增加了后續(xù)算法的求解難度。將貪婪算法與隨機(jī)算法相結(jié)合,能夠在保證可行解的同時(shí),增加了可行解的多樣性,提高搜索空間。
具體的,生成初始解的可具體包括下列步驟:
步驟101:設(shè)置當(dāng)前節(jié)點(diǎn)為節(jié)點(diǎn)v0;
步驟102:獲取當(dāng)前節(jié)點(diǎn)標(biāo)識(shí)符;
步驟103:判斷當(dāng)前節(jié)點(diǎn)是否為配送中心,若是,則從當(dāng)前待分配的配送節(jié)點(diǎn)中隨機(jī)選擇配送節(jié)點(diǎn)進(jìn)行分配處理;否則,從當(dāng)前待分配的配送節(jié)點(diǎn)中選擇與當(dāng)前節(jié)點(diǎn)最近的待分配的配送節(jié)點(diǎn)進(jìn)行分配處理;
步驟104:判斷是否完成初始解的構(gòu)建(即集合C中的所有配送節(jié)點(diǎn)均被分配且滿足分配約束條件(調(diào)度模型的約束條件)),若是,則轉(zhuǎn)到步驟102繼續(xù)執(zhí)行;否則輸出初始解。
步驟202:從當(dāng)代種群中隨機(jī)選擇個(gè)體對(duì),并在所選個(gè)體對(duì)中隨機(jī)選擇需要交叉的基因?qū)?,?duì)個(gè)體對(duì)進(jìn)行交叉操作,并對(duì)交叉后的個(gè)體進(jìn)行重組,使重組后的個(gè)體滿足調(diào)度模型的約束條件且目標(biāo)函數(shù)最??;
步驟203:從當(dāng)代種群中選擇前T1個(gè)適配度最大的個(gè)體作為變異對(duì)象,在變異對(duì)象中隨機(jī)選擇變異的基因,對(duì)個(gè)體進(jìn)行變異操作,并對(duì)變異后的個(gè)體進(jìn)行重組,使重組后的個(gè)體滿足調(diào)度模型的約束條件且目標(biāo)函數(shù)最?。?/p>
步驟204:對(duì)當(dāng)代種群、交叉后的個(gè)體、變異后的個(gè)體進(jìn)行適應(yīng)度排序,取前T2個(gè)最小適應(yīng)度的個(gè)體進(jìn)化到下一代,得到下一代種群;
步驟205:若當(dāng)前迭代次數(shù)達(dá)到迭代閾值,則將最新代的種群(步驟204得到的下一代種群)中適應(yīng)度最小的個(gè)體作為最優(yōu)調(diào)度結(jié)果并輸出;否則更新迭代次數(shù),繼續(xù)執(zhí)行步驟202。
步驟2、3中所述的重組可具體為:
從當(dāng)前待分配的配送節(jié)點(diǎn)集合中隨機(jī)選取待分配的配送節(jié)點(diǎn);
查找最小成本的可插入配送路徑:對(duì)當(dāng)前個(gè)體的配送路徑集合進(jìn)行遍歷,通過計(jì)算當(dāng)前節(jié)點(diǎn)行駛到選取的待分配的配送節(jié)點(diǎn)的時(shí)間消耗查找最小成本的可插入配送路徑;
若存在最小成本的可插入配送路徑,則將待分配的配送節(jié)點(diǎn)添加到所述可插入配送路徑,并更新當(dāng)前車輛到達(dá)各節(jié)點(diǎn)的電量、到達(dá)時(shí)刻以及載重;否則,從配送中心的車輛集中隨機(jī)選擇未配送的車輛,采用生成初始解相同的方式,生成當(dāng)前車輛的配送路徑并添加到當(dāng)前個(gè)體的配送路徑集合中。
綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:公開了一種根據(jù)純電動(dòng)汽車和路網(wǎng)的特點(diǎn)構(gòu)建了時(shí)間依賴的純電動(dòng)汽車物流配送調(diào)度模型,在滿足調(diào)度模型的約束條件下,求解使得目標(biāo)函數(shù)最優(yōu)的車輛配送路徑組合,得到關(guān)于所有待分配的配送節(jié)點(diǎn)的調(diào)度方案。其調(diào)度適用性比現(xiàn)有的靜態(tài)車輛調(diào)度方案更強(qiáng)。且基于改進(jìn)的分組遺傳算法中,個(gè)體的元素不再是配送節(jié)點(diǎn),而是多個(gè)車輛的配送路徑的組合,其能更進(jìn)一步優(yōu)化對(duì)調(diào)度模型的最優(yōu)解求解過程,降低優(yōu)化計(jì)算復(fù)雜度。
附圖說明
圖1是本發(fā)明具體實(shí)施方式的流程圖。
圖2是具體實(shí)施方式中,本發(fā)明進(jìn)行交叉處理的過程示意圖。
圖3是具體實(shí)施方式中,本發(fā)明進(jìn)行變異操作的過程示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合實(shí)施方式和附圖,對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
參見圖1,采用遺傳算法對(duì)本發(fā)明構(gòu)建的調(diào)度模型進(jìn)行求解,求解使得目標(biāo)函數(shù)取得最小值的調(diào)度方案。
首先要確定遺傳算法的基因的編碼方式。本發(fā)明采用分組策略對(duì)個(gè)體進(jìn)行編碼,即個(gè)體中的元素不再是配送節(jié)點(diǎn)(本具體實(shí)施方式中,配送節(jié)點(diǎn)為顧客點(diǎn))序列,而是車輛配送路徑的組合,其中車輛配送路徑包括分配給車輛的顧客點(diǎn)與充電站的組合。個(gè)體對(duì)象主要包括車輛總路徑和目標(biāo)成本,目標(biāo)成本是車輛使用成本和配送時(shí)間成本的和,車輛總路徑是配送路徑信息的組合,主要包括單車路徑、車輛編號(hào)、剩余電量(到達(dá)非配送中心的節(jié)點(diǎn)的電量)、剩余載重(到達(dá)任意顧客點(diǎn)的載重)以及車輛的行駛時(shí)間,其中單車路徑為訪問點(diǎn)的編號(hào)序列。
基于本發(fā)明的調(diào)度模型,采用貪婪隨機(jī)生成法生成遺傳算法的初始解,由多個(gè)初始解構(gòu)成初始種群;綜合考慮調(diào)度模型中的純電動(dòng)汽車的充電需求、傳統(tǒng)車輛調(diào)度問題的載重約束以及路網(wǎng)的時(shí)間依賴特性,生成初始解,即初始可行解。同時(shí)初始化迭代次數(shù)的值為0。
對(duì)初始種群進(jìn)行適應(yīng)度(本發(fā)明的調(diào)度模型的目標(biāo)函數(shù)值)排序,用于變異操作的變異對(duì)象選擇;
交叉操作屬于遺傳算法中的關(guān)鍵步驟,對(duì)于遺傳算法的計(jì)算速度和最優(yōu)解的生成具有較大影響,本發(fā)明中,基于傳統(tǒng)遺傳算法的交叉操作對(duì)個(gè)體進(jìn)行交叉處理。參見圖2,以顧客點(diǎn)為編號(hào)1-6,訪問充電站編號(hào)為7-8,編號(hào)0表示配送中心,其種群交叉操作的步驟如下:
步驟1:在每次迭代過程中,從當(dāng)代個(gè)體中隨機(jī)選擇兩個(gè)個(gè)體,并隨機(jī)確定所選個(gè)體之間需要交叉的單車路徑,如圖2-a所示,其中交叉對(duì)象選定為個(gè)體1中的純電動(dòng)車輛3、個(gè)體2中的純電動(dòng)車輛1;
步驟2:分別將所選的兩個(gè)個(gè)體中需要交叉的單車路徑原封不動(dòng)地添加到對(duì)方的個(gè)體中去,如圖2-b所示。
步驟3:如果交叉后的個(gè)體存在顧客點(diǎn)或者車輛重復(fù)的情況,則對(duì)除交叉對(duì)象以外的其他單車路徑中的重復(fù)顧客點(diǎn)以及重復(fù)車輛進(jìn)行消除,并保存去除車輛以后沒有安排的顧客點(diǎn),所得結(jié)果如圖2-c所示。
步驟4:對(duì)個(gè)體中有變動(dòng)的單車路徑進(jìn)行重新插入,并對(duì)不符合要求的顧客點(diǎn)設(shè)置為未分配狀態(tài),如圖2-d所示。步驟5:仿照初始解生成法對(duì)沒有安排的顧客點(diǎn)進(jìn)行插入安排,并為了保證單車路徑為可行解,可以增加配送車輛引入新的配送路徑,如圖2-e所示。
其中初始解生成法的具體包括下列步驟:
(1)設(shè)置當(dāng)前節(jié)點(diǎn)為配送中心。
(2)獲取當(dāng)前節(jié)點(diǎn)的編號(hào);
(3)判斷當(dāng)前節(jié)點(diǎn)是否為配送中心,若是,則從當(dāng)前未分配的顧客點(diǎn)中隨機(jī)選擇顧客點(diǎn)進(jìn)行分配處理;否則選擇與當(dāng)前節(jié)點(diǎn)最近的未分配顧客點(diǎn)進(jìn)行分配處理;
(4)判斷是否完成初始解的構(gòu)建,即判斷是否存在未分配的顧客點(diǎn)時(shí),若是,則轉(zhuǎn)到步驟(2)繼續(xù)執(zhí)行;否則,初始解生成法結(jié)束。
變異操作主要是對(duì)種群中適應(yīng)度較差的個(gè)體進(jìn)行變異優(yōu)化,從而盡可能確保種群的優(yōu)良性。本發(fā)明將前T1(經(jīng)驗(yàn)預(yù)設(shè)值)個(gè)適應(yīng)度最大的個(gè)體作為變異個(gè)體,以圖3-a中的個(gè)體1中為例,種群變異操作的具體步驟如下,其中編號(hào)1-6表示顧客點(diǎn),編號(hào)7-8表示訪問充電站,編號(hào)0表示配送中心:
步驟1:在每次迭代過程中,從當(dāng)代種群的前T1個(gè)適應(yīng)度最大的的個(gè)體中隨機(jī)選擇父代個(gè)體,并隨機(jī)選擇需要變異的基因片段p,如圖3-a中的個(gè)體1中的純電動(dòng)車輛3。
步驟2:去除基因片段p,并將p中的顧客點(diǎn)設(shè)為未分配狀態(tài),如圖3-b所示。
步驟3:仿照初始解生成法重新插入個(gè)體,并可適當(dāng)安排新車輛保證可行性,如圖3-c所示。
對(duì)當(dāng)代種群、交叉后的個(gè)體、變異后的個(gè)體進(jìn)行適應(yīng)度排序,取前T2個(gè)最小適應(yīng)度的個(gè)體進(jìn)化到下一代,即由前T2個(gè)最小適應(yīng)度的個(gè)體得到下一代種群;
判斷迭代是否完成,即通過迭代次數(shù)達(dá)到迭代閾值來進(jìn)行判斷,若是,則將最新代的種群中適應(yīng)度最小的個(gè)體作為最優(yōu)調(diào)度結(jié)果并輸出;否則更新迭代次數(shù),基于最新待的種群繼續(xù)執(zhí)行種群交叉、種群變異及進(jìn)化到下一代的迭代處理。
以上所述,僅為本發(fā)明的具體實(shí)施方式,本說明書中所公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換;所公開的所有特征、或所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以任何方式組合。