楊 瑋, 張子涵, 袁永斌, 楊思瑤, 岳 婷
(陜西科技大學(xué) 機(jī)電工程學(xué)院, 陜西 西安 710021)
子母穿梭車式密集存儲系統(tǒng)(Shuttle-Carrier Warehousing System,SCWS)是近些年新興的快速存取系統(tǒng)[1].其貨物調(diào)度主要通過垂直巷道口的升降機(jī)、橫向巷道中的穿梭母車以及縱向巷道中的穿梭子車協(xié)作運(yùn)輸來執(zhí)行存取任務(wù).由于系統(tǒng)中存在升降機(jī)與母車、子車協(xié)調(diào)配合作業(yè),因此倉儲系統(tǒng)調(diào)度難度大,采用合理的調(diào)度策略,執(zhí)行合理的調(diào)度作業(yè)路徑是進(jìn)一步提高系統(tǒng)效率的關(guān)鍵.同時,針對倉庫中大量原始數(shù)據(jù)的挖掘,為倉儲優(yōu)化提供信息參考以及對未來數(shù)據(jù)變化進(jìn)行預(yù)測是十分必要的[2].
在現(xiàn)有文獻(xiàn)中,王天文[3]以京東天狼系統(tǒng)為例,指出了大數(shù)據(jù)在京東倉儲中的應(yīng)用,即通過對歷史訂單的挖掘進(jìn)行商品智能布局、倉庫動態(tài)分區(qū)、規(guī)劃機(jī)器人搬運(yùn)路線.李亞芳[4]和余崇貴[5]通過簡單機(jī)器學(xué)習(xí)算法挖掘歷史訂單,進(jìn)行貨位分配.李東[6]利用數(shù)據(jù)挖掘技術(shù)對倉庫內(nèi)的時間序列樣本進(jìn)行降噪處理,識別出倉庫溫度樣本中的異常點數(shù)據(jù).可以看出,目前大數(shù)據(jù)技術(shù)在倉儲中的應(yīng)用主要集中在數(shù)據(jù)挖掘方面,通過挖掘出的信息做倉儲分區(qū),貨位分配等.而對于數(shù)據(jù)預(yù)處理,利用現(xiàn)有數(shù)據(jù)對未來數(shù)據(jù)變化進(jìn)行預(yù)測方面,存在明顯不足.
關(guān)于貨位分配和作業(yè)調(diào)度,Meneghetti A等[7]考慮了起重機(jī)每單位移動時產(chǎn)生的能源消耗,設(shè)計了貨架分層方案.魏林[8]在平衡堆垛機(jī)作業(yè)均衡的情況下,使用ABC分類法優(yōu)化貨位分區(qū).王波等[9]以作業(yè)時間最短為目標(biāo),采用帶有精英策略的遺傳算法,實現(xiàn)算法設(shè)計的多樣性.Ghomri L等[10]針對流動式貨架的隨機(jī)存儲策略,建立了平均行程時間模型,通過仿真驗證了模型的正確性.劉愷文等[11]針對帶有截止時間約束的自動化立體倉庫在隨機(jī)存儲策略下,以調(diào)度中堆垛機(jī)能量消耗最少為目標(biāo).黃燕紅[12]按照概率中權(quán)重的思想,建立出入庫訂單調(diào)度模型.可以看出,現(xiàn)有研究中主要是對貨位分配和作業(yè)調(diào)度的單獨(dú)優(yōu)化,對二者集成優(yōu)化的研究甚少.現(xiàn)有的文獻(xiàn)在貨位分配時對均衡設(shè)備負(fù)載,保持貨架穩(wěn)定性方面均作了較好優(yōu)化,但上述研究與客戶訂單內(nèi)容的聯(lián)系度不高,難以充分發(fā)揮密集倉儲系統(tǒng)的優(yōu)點.在系統(tǒng)調(diào)度時沒有結(jié)合升降機(jī)和穿梭車的實際作業(yè)情況,調(diào)度多為隨機(jī)調(diào)度.針對以上問題,孔民警[13]進(jìn)行了優(yōu)化,在建立模型時考慮了子母穿梭車作業(yè)的實際情況.但他僅考慮了母車單層作業(yè)的情況,同時,假設(shè)了堆垛機(jī)和穿梭車均為勻速運(yùn)動.
為了提高子母穿梭車式密集存儲系統(tǒng)的進(jìn)出庫調(diào)度效率,本文利用大數(shù)據(jù)技術(shù)對數(shù)據(jù)進(jìn)行預(yù)處理和預(yù)測.著重考慮客戶信息對貨品出入庫效率的影響,在均衡穿梭車負(fù)荷的同時,使得出入庫頻率較高的貨物能夠更加快速的執(zhí)行存取作業(yè),以提高系統(tǒng)進(jìn)出庫效率.同時,由于系統(tǒng)存取作業(yè)行程時間與升降機(jī)和子母穿梭車是否達(dá)到最大速度密切相關(guān),而現(xiàn)有研究中假設(shè)升降機(jī)和穿梭車均為勻速運(yùn)動,與實際偏差較大(最大偏差為18%~23%).本文充分考慮了穿梭車和升降機(jī)的加(減)速度特性,根據(jù)子母穿梭車的實際運(yùn)動規(guī)律,建立偏差小、性能良好的進(jìn)出庫作業(yè)調(diào)度模型,并設(shè)計相應(yīng)算法求解.通過開發(fā)智能倉儲系統(tǒng),實現(xiàn)大數(shù)據(jù)智能分析,貨位分配與作業(yè)實時調(diào)度,實現(xiàn)科學(xué)的倉儲管理.
數(shù)據(jù)的處理主要是對數(shù)據(jù)進(jìn)行清洗、抽取、合并、計算分組等操作.本文采用Pandas數(shù)據(jù)分析庫,長短期記憶人工神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行分析和預(yù)測.以某10所商店2017年全年商品日銷售情況為例進(jìn)行說明.
讀取csv文件中的銷售數(shù)據(jù),使用info函數(shù)實現(xiàn)對讀取數(shù)據(jù)的初步統(tǒng)計,結(jié)果如圖1所示,共獲取到913 000條數(shù)據(jù).
圖1 讀取結(jié)果
匯總10所商店2017年日銷售額情況,繪制得到其2017年日銷售量變化圖,如圖2所示.
圖2 2017年日銷售量變化圖
采用Keras框架搭建長短期記憶循環(huán)網(wǎng)絡(luò).由圖2可知,2017年日銷售量呈現(xiàn)季節(jié)性變化,在6-7月時其銷售量達(dá)到頂峰.因此令輸入節(jié)點數(shù)為1,即以天為單位進(jìn)行模型訓(xùn)練,最大化消除季節(jié)性的影響.同理,輸出層節(jié)點數(shù)也為1.
在神經(jīng)網(wǎng)絡(luò)中,確定合適的隱含層節(jié)點數(shù)才能保證網(wǎng)絡(luò)良好的運(yùn)行性能.本文首先用公式(1)估算隱含層節(jié)點數(shù)的初始值(n為輸入層節(jié)點數(shù),m為輸出層節(jié)點數(shù),a為1~10之間的整數(shù)),運(yùn)用試湊法確定最優(yōu)隱含層節(jié)點數(shù),最終確定的隱含層節(jié)點數(shù)為5.
(1)
將銷售數(shù)據(jù)輸入到LSTM網(wǎng)絡(luò)中,經(jīng)過訓(xùn)練得到圖3所示的損失值的訓(xùn)練變化圖.從圖3可以看出,損失值即模型的輸出值與真實值之間的相對差值百分比趨向于0.02,并逐漸趨于穩(wěn)定,誤差在可接受的范圍之內(nèi),故模型得到了較好的訓(xùn)練效果.
圖3 訓(xùn)練損失值變化情況
用2017年后37%的銷售數(shù)據(jù)對訓(xùn)練好的模型進(jìn)行測試.其測試結(jié)果與真實銷售數(shù)據(jù)結(jié)果的比較如圖4所示.由圖4可以看出,訓(xùn)練效果較符合真實的銷售數(shù)據(jù).中間時期的模型輸出值較實際銷售值差別較大,這是因為由于受季節(jié)因素的影響,某個時間段內(nèi)銷售量會有一定波動.
圖4 訓(xùn)練與測試結(jié)果
2.1.1 存儲策略分析
由于SCWS適合存儲大批量少品種的貨物,且不同層的子母穿梭車可并行獨(dú)立作業(yè).因此,相較于其他三種常見存儲方式,分類存儲策略更為適用[14].但傳統(tǒng)分類存儲策略對于客戶訂單信息關(guān)注不多,一般只根據(jù)單一要素進(jìn)行分類(如商品出入庫頻率)[15],易導(dǎo)致低層子母穿梭車的工作負(fù)荷大,而高層子母穿梭車長時間處于閑置狀態(tài).因此,本文考慮客戶訂單信息,以EIQ分析法為基礎(chǔ).又由于系統(tǒng)主要存放的為輕型貨物,且重量分布均勻,因此只需根據(jù)周轉(zhuǎn)率對貨架進(jìn)行分區(qū),如圖5所示.貨位的出入庫效率通過計算每個貨位中貨物的平均出入庫時間得出,出入庫效率越高的貨位,貨物出入庫時間越短.又貨架中每列貨物均相同,故只需計算每個貨列口貨位出入庫的平均時間.
圖5 以周轉(zhuǎn)率因素為主的貨架分區(qū)
2.1.2 貨列口貨位作業(yè)效率模型
設(shè)入庫貨位的坐標(biāo)為(xi,yi),出庫貨位的坐標(biāo)為(xj,yj)升降機(jī)的起始位置與任務(wù)結(jié)束位置均位于I/O站臺,子母穿梭車的起始位置與結(jié)束位置位于層I/O點,令升降機(jī)完成作業(yè)的時間為Ty,子母穿梭車完成作業(yè)的時間為Tx.由于設(shè)備作業(yè)時間上的重疊,因此貨物進(jìn)行一次出庫或入庫操作時,其出庫或入庫時間為升降機(jī)和子母穿梭車完成作業(yè)時兩者時間的最大值,即max(Ty,Tx).
(1)入庫作業(yè)時間模型
(2)
(3)
(4)
(5)
(2)出庫作業(yè)時間模型
出庫作業(yè)總行程時間如下:
(6)
當(dāng)系統(tǒng)完成儲位分配的基礎(chǔ)工作后,則可開始進(jìn)行倉內(nèi)的調(diào)度作業(yè),使升降機(jī)和子母穿梭車配合完成訂單任務(wù)的總作業(yè)行程時間最短.子母穿梭車式密集存儲系統(tǒng)的作業(yè)方式主要分為單一作業(yè)和復(fù)合作業(yè)兩種,本文以復(fù)合作業(yè)為例進(jìn)行說明.
2.2.1 復(fù)合作業(yè)方式
當(dāng)倉儲系統(tǒng)接收到N項任務(wù)的批訂單時,其中N1項是入庫作業(yè)、N2項為出庫作業(yè).為整體提高作業(yè)效率,系統(tǒng)將為入庫作業(yè)匹配出庫作業(yè),即在一次作業(yè)中,倉儲系統(tǒng)先執(zhí)行一個貨物的入庫作業(yè),再執(zhí)行另一貨物的出庫作業(yè),如此循環(huán)直到訂單中的任務(wù)全部完成.
為使得所有訂單任務(wù)均以任務(wù)對形式進(jìn)行作業(yè),因此當(dāng)出現(xiàn)出入庫作業(yè)數(shù)不對等時,則補(bǔ)充|N1-N2|個虛擬出(入)庫點,其貨位坐標(biāo)為(0,0,0),等效于對未進(jìn)行配對的出(入)庫任務(wù)執(zhí)行單一作業(yè)方式.
在復(fù)合作業(yè)方式中,入庫任務(wù)的順序按照先到先服務(wù)原則依次作業(yè),即入庫順序已知,但與之配對的出庫任務(wù)順序未知.對系統(tǒng)復(fù)合作業(yè)的出入庫任務(wù)進(jìn)行合理的排序配對,將會大幅度的縮短復(fù)合作業(yè)總時間.因此,優(yōu)化子母穿梭車式密集存儲系統(tǒng)中復(fù)合作業(yè)的調(diào)度路徑,選擇總時間最少的調(diào)度路徑進(jìn)行出入庫配對,將能夠很大程度地提高倉儲系統(tǒng)的作業(yè)效率,復(fù)合作業(yè)方式如圖6所示.
圖6 復(fù)合作業(yè)
2.2.2 建立系統(tǒng)作業(yè)行程時間模型
(1)出入庫貨物處于同一層
首先由升降機(jī)在I/O點將待入庫貨物載入并運(yùn)送至yi層I/O點,然后通過該層子母穿梭車的接駁將貨物運(yùn)送至入庫貨列口,母車釋放子車,由子車將貨物存放至最終的入庫貨位(xi,yi,zi)點,完成入庫作業(yè).接著,子車返回并搭載貨列口的母車,通過橫向軌道,母車行駛至出庫貨列口并釋放子車,子車行駛至出庫貨位(xj,yj,zj)點進(jìn)行取貨,完成后返回貨列口并搭載母車,最后通過子母穿梭車與升降機(jī)的交互,將待出庫貨物轉(zhuǎn)移至升降機(jī)輸送到I/O站臺,如圖7所示.
圖7 yi=yj情況下的作業(yè)示意圖
其作業(yè)行程時間為:
(7)
(8)
(9)
(2)出入庫貨物不處于同一層
圖8 yi≠yj情況下的出入庫作業(yè)示意圖
(10)
(11)
(12)
(13)
(14)
若訂單任務(wù)中共有n個出入庫作業(yè)對,第k(k=1,2,…,n)個作業(yè)對的作業(yè)行程時間為Tuk,則系統(tǒng)執(zhí)行此訂單任務(wù)的復(fù)合作業(yè)總時間TF為:
(15)
(16)
2.2.3 算法描述
本文結(jié)合粒子群算法(Particle Swarm optimization,PSO)、蟻群算法與遺傳算法各自的優(yōu)點,設(shè)計混合粒子群算法Hybrid Particle Swarm Optimization,HPSO)對SCWS的調(diào)度路徑優(yōu)化問題進(jìn)行求解,算法流程圖如圖9所示.HPSO相較于PSO增加了初始化蟻群參數(shù),將“粒子”特性賦予螞蟻,以蟻群算法得到的最優(yōu)路徑作為粒子適應(yīng)度值,并融入遺傳算法中的交叉變異操作,解決了PSO容易陷入局部最優(yōu)的問題.
圖9 算法流程圖
本文以某醫(yī)藥物流配送中心為例,由于業(yè)務(wù)擴(kuò)張和對倉庫作業(yè)效率的更高要求,需新建SCWS對藥品進(jìn)行出入庫作業(yè).
首先對其一個月內(nèi)的所有貨品訂單數(shù)據(jù)(共計629種貨品)進(jìn)行EIQ分析,得到的EIQ分析結(jié)果如表1(部分)所示.采用模糊 C-均值聚類(Fuzzy C-means,F(xiàn)CM)算法將貨品分為A、B、C三類.圖10、11分別表示聚類和各類別比例的結(jié)果.629種貨品被劃分成三類,其中A類113種,B類321種,C類195種.
確定了貨物的分類以及各類貨物所需貨位數(shù)后,結(jié)合貨位的出入庫效率,得到儲位分區(qū)方案,如圖12所示.
圖10 聚類結(jié)果
圖11 ABC比例結(jié)果
圖12 儲位分區(qū)結(jié)果
表1 訂單數(shù)據(jù)EIQ分析表
分別對小批量作業(yè)(25任務(wù)對)和大批量作業(yè)(50任務(wù)對),在復(fù)合作業(yè)模式下,進(jìn)行數(shù)值實驗仿真.分別采用PSO以及HPSO算法求解,得到作業(yè)順序及總作業(yè)行程時間.算法收斂圖如圖13、14所示.從收斂曲線可以看出,在不同作業(yè)規(guī)模下,PSO算法雖然收斂的較為迅速,但很快便陷入局部最優(yōu)中;HPSO算法收斂較快,且在初期求解效率較高,能夠不斷搜尋新解,同時,在交叉變異策略下,算法不斷進(jìn)行全局尋優(yōu),求解精度較高.
將PSO與HPSO算法分別運(yùn)行100次,計算其作業(yè)行程時間各項指標(biāo),統(tǒng)計在表2中.可以看出,在不同作業(yè)規(guī)模下,雖然HPSO比PSO的計算時間更長,但算法魯棒性和優(yōu)化效率較PSO有著明顯的優(yōu)勢,同時,算法優(yōu)化效率隨著作業(yè)規(guī)模的增多而得到提高.
圖13 25對任務(wù)對復(fù)合作業(yè)收斂效果圖
圖14 50對任務(wù)對復(fù)合作業(yè)收斂效果圖
表2 PSO和HPSO在不同規(guī)模問題下的復(fù)合作業(yè)結(jié)果
為實現(xiàn)系統(tǒng)實時調(diào)度,本節(jié)設(shè)計了基于PyQt5技術(shù)的智能倉儲系統(tǒng),構(gòu)建平臺體系框架,實現(xiàn)倉儲大數(shù)據(jù)智能分析和動態(tài)展示,實現(xiàn)科學(xué)的倉儲管理和決策優(yōu)化.系統(tǒng)框架如圖15所示.
該系統(tǒng)除了擁有常見倉儲管理系統(tǒng)的功能外,還實現(xiàn)了貨位分配、聯(lián)合調(diào)度等功能.當(dāng)有一批貨物進(jìn)入倉庫后,點擊儲區(qū)分配按鈕,系統(tǒng)便可自動為其分配好儲位,如圖16所示.當(dāng)系統(tǒng)接收到出入庫訂單指令后,點擊調(diào)度管理模塊中的聯(lián)合調(diào)度管理即可得到最優(yōu)出入庫作業(yè)順序,如圖17所示.
圖16 儲區(qū)分配結(jié)果界面
圖17 聯(lián)合調(diào)度結(jié)果界面
SCWS涉及升降機(jī)與母車、子車協(xié)調(diào)配合作業(yè)的問題,倉儲系統(tǒng)調(diào)度難度大,建立與實際作業(yè)情況偏差小的實用作業(yè)調(diào)度模型是研究的關(guān)鍵.面對倉儲系統(tǒng)所處的大數(shù)據(jù)環(huán)境,有效的處理數(shù)據(jù)、挖掘數(shù)據(jù),能夠更好地幫助倉儲優(yōu)化,提高決策準(zhǔn)確度.
本文從數(shù)據(jù)處理、儲位分配與作業(yè)調(diào)度、系統(tǒng)設(shè)計三方面進(jìn)行詳細(xì)分析,提出了基于Pandas庫和長短期記憶人工神經(jīng)網(wǎng)絡(luò)技術(shù)的大數(shù)據(jù)處理方法,根據(jù)數(shù)據(jù)處理和貨位分配環(huán)節(jié)得到的貨品信息和客戶信息等,獲取升降機(jī)和子母穿梭車的實際運(yùn)動規(guī)律,據(jù)此建立偏差小、性能良好的進(jìn)出庫作業(yè)調(diào)度模型,并設(shè)計混合粒子群算法對模型求解.在對不同訂單規(guī)模SCWS計算時,混合粒子群算法避免了基本粒子群算法容易陷入局部最優(yōu)的情況,體現(xiàn)出較好的魯棒性,有效提高了SCWS進(jìn)出庫作業(yè)效率.據(jù)此開發(fā)了基于PyQt5技術(shù)的智能倉儲系統(tǒng),實現(xiàn)了大數(shù)據(jù)分析、貨位分配與聯(lián)合調(diào)度的動態(tài)展示與實時應(yīng)用.