蔡帛良 魏長赟 張鵬鵬
(河海大學(xué)機(jī)電工程學(xué)院 常州 213022)
貨物分揀與運(yùn)輸是智能倉儲(chǔ)系統(tǒng)的重要環(huán)節(jié),是未來社會(huì)物聯(lián)網(wǎng)系統(tǒng)的重要組成部分。對(duì)于未來智能倉儲(chǔ)系統(tǒng),多機(jī)器人系統(tǒng)能夠通過協(xié)作,有效提高貨物分揀效率,降低包裹搬運(yùn)時(shí)間。但是,多機(jī)器人系統(tǒng)在同一空間工作,容易產(chǎn)生任務(wù)干涉和沖突,從而導(dǎo)致死鎖等難題。因此,需要研究智能倉儲(chǔ)系統(tǒng)中多機(jī)器人的任務(wù)分配及調(diào)度問題。
多機(jī)器人系統(tǒng)在智能倉儲(chǔ)系統(tǒng)中的任務(wù)可以描述為服務(wù)器接收訂單信息,根據(jù)訂單信息生成貨物坐標(biāo)圖,并通過算法為每個(gè)機(jī)器人分配任務(wù)及取貨順序,多個(gè)機(jī)器人從起點(diǎn)出發(fā),按照系統(tǒng)分配取貨順序依次取貨并返回終點(diǎn)提交貨物。通常可以將此類任務(wù)轉(zhuǎn)化為Multi-TSP(Multi-Traveling-salesman-problem)問題。
但由于現(xiàn)代多機(jī)器人系統(tǒng)任務(wù)分配算法都是以求解最小路程為總目標(biāo),這導(dǎo)致每個(gè)機(jī)器人的任務(wù)分配不均衡,最終導(dǎo)致分揀時(shí)發(fā)生有某幾個(gè)機(jī)器人長時(shí)間等待一個(gè)機(jī)器人返回的情況,實(shí)際分揀效率低下。針對(duì)此問題,本文提出以均衡各機(jī)器人路徑和最小總體路徑為目的的多目標(biāo)Multi-TSP問題,即在解空間中尋找符合Pareto支配條件的解的問題,但該問題由于該類問題求解空間大,求解復(fù)雜,被歸類為NP-hard問題[1]。
圖1 多機(jī)器人的智能倉儲(chǔ)分揀系統(tǒng)
通常用于求解NP問題的啟發(fā)式算法有粒子群算法(PSO)、蟻群算法(ACO)、禁忌搜索算法(TS)、退火算法(SAA)和遺傳算法(GA),但由于多目標(biāo)優(yōu)化問題在復(fù)雜問題下解空間龐大,以及傳統(tǒng)優(yōu)化算法的自身局限,使得各類優(yōu)化算法均很難獲得Pareto解,近年來,基于遺傳算法的多目標(biāo)進(jìn)化算法(MOEA)逐漸成為解決多目標(biāo)優(yōu)化問題的重要方式[2]。
針對(duì)上述多目標(biāo)Multi-TSP問題,可以歸納為:對(duì)于給定階為N的圖G={V,E},安排m個(gè)機(jī)器人對(duì)節(jié)點(diǎn)集V進(jìn)行遍歷,使得除出發(fā)點(diǎn)vn∈V以外的所有節(jié)點(diǎn)均有且僅有一個(gè)機(jī)器人通過,且路徑之和最小,各機(jī)器人路徑方差最小。
綜上所述,對(duì)于此多目標(biāo)Multi-TSP問題,有如下優(yōu)化目標(biāo):
式中:S為所有機(jī)器人路徑總長度;Si為第i個(gè)機(jī)器人的路徑總長度;Savg為各機(jī)器人長度均值。
其中Si是根據(jù)機(jī)器人i的路徑Pi={Ui,Ei}并按照?qǐng)DG的鄰接矩陣D(G)計(jì)算的路徑序列節(jié)點(diǎn)距離之和,即
且對(duì)Multi-TSP問題有:
所有機(jī)器人必須從指定起點(diǎn)出發(fā),且對(duì)其他所有節(jié)點(diǎn)嚴(yán)格訪問一次后返回起點(diǎn)vn。即對(duì)于除出發(fā)點(diǎn)以外的點(diǎn)集U=V{vn},有
且每組有效解必須包含m條平凡子路徑,即
上述各式中式(1)為本算法的優(yōu)化目標(biāo),式(2)~(4)構(gòu)成了該問題的約束條件。
遺傳算法(Genetic Algorithm,GA)是模擬進(jìn)化論中種群進(jìn)化過程的計(jì)算模型,通過特定方式編碼種群個(gè)體的基因序列,并利用適應(yīng)適應(yīng)函數(shù)計(jì)算個(gè)體適應(yīng)度,通過篩選種群獲得父代個(gè)體,產(chǎn)生下一代,并逐代向Pareto解靠近[2]。GA算法自20世紀(jì)60年代被提出到現(xiàn)在,被廣泛用于各類NP問題的求解中,引入了諸多附加機(jī)制以保證算法計(jì)算速度及收斂性,例如退火機(jī)制,精英策略等,已經(jīng)在許多組合優(yōu)化問題上獲得顯著成果,Kim等提出了SPEA2+算法[3],采用線性空間網(wǎng)格劃分的方法來維持子代種群的多樣性,以避免陷入局部最優(yōu)解;Deb等提出引入精英策略的NSGA-II算法[4],通過改進(jìn)的快速非支配排序算法和精英策略用來篩選較優(yōu)個(gè)體并保持種群多樣性,避免種群早熟的同時(shí),保證種群快速收斂。
利用遺傳算法求解問題,需要對(duì)個(gè)體基因進(jìn)行編碼,采用斷點(diǎn)標(biāo)記法對(duì)基因進(jìn)行編碼。步驟如下:
1)將集合V中的非起始點(diǎn)標(biāo)記為1,2,…n-1,將起始點(diǎn)標(biāo)記為n,并添加m-2個(gè)斷點(diǎn)并將其編號(hào)為n+1,n+2…n+m-2;
2)將斷點(diǎn)n+1,n+2…n+m-2與1,2,…n組合為基因序列,并在計(jì)算S時(shí)候?qū)⒕幪?hào)為n+1…n+m-2的節(jié)點(diǎn)指向起點(diǎn)O,從而將問題轉(zhuǎn)化為TSP問題進(jìn)行求解;
3)為防止n+1…n+m-2前后相連,保證每條機(jī)器人路徑均為平凡子路徑,在G的鄰接矩陣D中應(yīng)有dnn=∞,以保證進(jìn)化過程中斷點(diǎn)相連的個(gè)體被淘汰。
通過GA算法求解單目標(biāo)Multi-TSP問題可以得到較優(yōu)解,但在多目標(biāo)Multi-TSP問題中,不同的適應(yīng)度函數(shù)與子代的篩選策略對(duì)算法的收斂性具有較大影響。
針對(duì)遺傳算法無法避免陷入局部最優(yōu)值的缺點(diǎn),本文提出了一種帶有精英庫的種群重啟策略,即對(duì)于每次計(jì)算,在種群達(dá)到收斂條件時(shí),重新初始化種群,并將達(dá)到收斂條件的優(yōu)質(zhì)解個(gè)體納入精英庫,達(dá)到使用精英庫進(jìn)行進(jìn)化的條件時(shí),將精英庫作為新的種群繼續(xù)迭代,從而提高算法收斂到Pareto解的概率。其基本流程圖如圖2所示。
圖2 帶有精英庫的種群重啟策略下的遺傳算法流程圖
基于快速非支配排序(Fastnon-Demined Sort)策略和精英策略的遺傳算法(NSGA-II)[1]是 由Kalyanmoy Deb針對(duì)多目標(biāo)優(yōu)化問題提出的優(yōu)化算法,與傳統(tǒng)的單目標(biāo)模型按照得分篩選優(yōu)質(zhì)個(gè)體不同,NSGA-II對(duì)多目標(biāo)優(yōu)化問題中的每個(gè)優(yōu)化特征進(jìn)行綜合考察,引入了支配排序和擁擠度計(jì)算的概念,通過非支配排序策略獲得較優(yōu)個(gè)體,利用擁擠度策略保證種群多樣性,并將父代中的較優(yōu)個(gè)體直接引入子代,避免了種群較優(yōu)解的丟失,從而增加種群收斂到Pareto解的概率。
非支配排序是來對(duì)具有多個(gè)目標(biāo)參量個(gè)體進(jìn)行排序的策略,在NSGA-II中,每個(gè)個(gè)體都具有被支配集合Ni和支配解集合Si,其中Ni表示當(dāng)前種群中支配個(gè)體i的個(gè)體集合,Si表示被個(gè)體i支配的個(gè)體集合。
算法1 支配賦級(jí)算法
為保正非支配排序策略選擇的父代種群具有多樣性,避免將種群中的優(yōu)化分量相近的個(gè)體納入父代,提高種群早熟并陷入局部Pareto解的概率,Kalyanmoy Deb提出了同支配等級(jí)間個(gè)體的擁擠度排序策略。其中個(gè)體i的擁擠度Ci被定義為距離個(gè)體i最近的兩個(gè)個(gè)體j,k的特征矢量(f1,f2)的差之和,即
其基本算法如下:
算法2 擁擠度排序算法
NSGA-II算法選取子代個(gè)體主要優(yōu)先通過支配序,同等支配序下優(yōu)先選擇擁擠度小的個(gè)體。
本文采用TSPLIB數(shù)據(jù)集的eil類(eil51)和Kro類(Kro_100、Kro_150、Kro_A200)作為測(cè)試數(shù)據(jù)集,分別在不同容量的數(shù)據(jù)集上進(jìn)行不同機(jī)器人數(shù)目的橫向?qū)Ρ龋y(cè)試傳統(tǒng)Multi-TSP任務(wù)分配算法、將多目標(biāo)優(yōu)化參量整合后的Multi-TSP算法(SFO)和本文所述非支配排序的多目標(biāo)任務(wù)分配算法,并以最長距離和平均距離之差與總路徑的比值為評(píng)價(jià)標(biāo)準(zhǔn)進(jìn)行評(píng)判。
由于優(yōu)化目的為最小化多機(jī)器人系統(tǒng)總路程并減少多機(jī)器人系統(tǒng)的距離方差,選擇機(jī)器人各組最長距離和最大路徑偏差占比作為評(píng)判標(biāo)準(zhǔn),以此作為衡量該算法對(duì)任務(wù)分配均衡性能和最長執(zhí)行時(shí)間的標(biāo)準(zhǔn)。
采用Python 3.6.5進(jìn)行編程,在CPU為3.5GHz,內(nèi)存為6GB的臺(tái)式機(jī)上進(jìn)行測(cè)試,測(cè)試結(jié)果如圖3所示。
圖3 100節(jié)點(diǎn)下不同機(jī)器人最大子路徑
圖4 150節(jié)點(diǎn)下不同機(jī)器人最大子路徑
圖5 200節(jié)點(diǎn)下不同機(jī)器人最大子路徑
由圖2、圖3、圖4可知,隨著參與運(yùn)輸機(jī)器人數(shù)目的增加,可以有效降低各運(yùn)輸機(jī)器人運(yùn)輸路徑長度,從而降低運(yùn)輸時(shí)間,并有效減少各機(jī)器人的任務(wù)負(fù)載。
表3 各機(jī)器人最大路徑偏差占百分比
由表3統(tǒng)計(jì)結(jié)果,各機(jī)器人最大路徑和平均路徑的差值均小于平均路徑的2%,從而保證運(yùn)動(dòng)路徑較小機(jī)器人因?yàn)檫\(yùn)動(dòng)路徑較大的機(jī)器人工作時(shí)間過長而出現(xiàn)閑置的概率較低。
得到種群的計(jì)算收斂圖如下,從圖中可知種群共進(jìn)行了5次重啟,并在最后的精英庫重啟中(680代后)獲得了新的最優(yōu)值。
圖6 每代最優(yōu)個(gè)體得分曲線
圖7 全局最優(yōu)解分?jǐn)?shù)變化曲線
為證明該任務(wù)分配算法的均衡性,本節(jié)采用eil51數(shù)據(jù)集,與傳統(tǒng)單目標(biāo)Multi-TSP算法和SFO算法進(jìn)行比較,并分別以平均路徑,總路程和最大子路徑為評(píng)價(jià)標(biāo)準(zhǔn)。
從上述各圖中可知,隨著機(jī)器人數(shù)目的增加,機(jī)器人組的總路徑長度增大,平均路徑均下降,但傳統(tǒng)Multi-TSP算法的最大路程時(shí)間遠(yuǎn)高于本文提出的任務(wù)分配算法,而SFO算法的總路徑遠(yuǎn)高于前兩者,最大子路徑和平均路徑數(shù)值性能劣于本文提出的改進(jìn)的NSGA-II算法。
圖8 總路徑長度
圖9 平均路徑長度
圖10 最大子路徑
圖11 三種算法的目標(biāo)特征散點(diǎn)圖
從圖11可以看出,SFO算法的劣勢(shì)在于在實(shí)際計(jì)算過程中,采用了犧牲路徑總長度,以獲取最小方差的算法,這導(dǎo)致了總路程過大。
表4 三種算法最大子路徑偏差
從表4可知,傳統(tǒng)Multi-TSP的計(jì)算結(jié)果中,最大子路徑偏(即最大子路徑和平均路徑之差)差明顯高于機(jī)器人平均路徑,這導(dǎo)致機(jī)器人組的工作負(fù)載極不平衡和效率低下,而SFO算法下機(jī)器人的路徑偏差極小,但這是通過提高較短路徑距離而實(shí)現(xiàn)的,從圖7可知,SFO算法的總路徑長度遠(yuǎn)高于傳統(tǒng)Multi-TSP和NSGA-II算法,這導(dǎo)致了實(shí)際路徑的增大。而基于快速非支配排序的進(jìn)化算法則可以平衡計(jì)算結(jié)果,保證機(jī)器人組負(fù)載平衡,保證智能倉儲(chǔ)物流系統(tǒng)的高效運(yùn)行。
同時(shí)獲得了在eil51下的實(shí)驗(yàn)結(jié)果的對(duì)比圖。
圖13 NormalMTSPwith 4 robots
圖14 NormalMTSPwith 6 robots
圖15 Improved NSGA-IIwith 2 robots
圖16 Improved NSGA-IIwith 4 robots
圖17 Improved NSGA-IIwith 6 robots
從上述各圖可以看出,較常規(guī)Multi-TSP問題,本文提出的改進(jìn)的NSGA-II算法為多機(jī)器人系統(tǒng)提供有效的任務(wù)劃分,降低多機(jī)器人任務(wù)干涉和沖突的概率。
基于快速非支配排序的多目標(biāo)優(yōu)化遺傳算法較傳統(tǒng)Multi-tsp算法具有機(jī)器人利用率高,最大運(yùn)行時(shí)間短的特點(diǎn),可以提高智能倉儲(chǔ)系統(tǒng)的實(shí)際工作效率,本文為多目標(biāo)智能倉儲(chǔ)機(jī)器人的路徑規(guī)劃構(gòu)建對(duì)應(yīng)的優(yōu)化目標(biāo)函數(shù)組,并結(jié)合非支配排序算法和精英策略以及種群重啟和精英庫策略設(shè)計(jì)了遺傳算法。實(shí)驗(yàn)結(jié)果表明,上述算法路徑尋優(yōu)性能,路徑均衡性能均優(yōu)于傳統(tǒng)Multi-TSP算法。
從本文研究結(jié)果可知,在遺傳算法中,種群達(dá)到早熟后,重置種群可以使種群繼續(xù)保持尋優(yōu)特性,并具有較大的概率獲得Pareto解,同時(shí)存儲(chǔ)歷代收斂種群的精英個(gè)體進(jìn)行優(yōu)化可以更好地獲得Pareto解。
本文對(duì)多優(yōu)化目標(biāo)的多機(jī)器人靜態(tài)任務(wù)分配問題進(jìn)行了研究,但未對(duì)實(shí)際路徑網(wǎng)絡(luò)時(shí)變性問題進(jìn)行研究,這是實(shí)際生產(chǎn)生活中更為常見的問題,因此需要針對(duì)這類問題進(jìn)行進(jìn)一步研究。