自動化立體倉庫作為物流產業主要環節之一, 日益成為倉儲企業優先發展的對象。倉儲企業追求自身利益最大化的需要, 使得貨架貨位優化設計、貨位分區布局、貨品出入庫作業、堆垛機路徑調度等內容的研究成為了熱點。
現在的倉儲開始向貨品存取作業小批量、多數量、多種類、高時效性等方向發展, 需要進行存取作業的貨品的種類、數量不斷增加, 貨品的流動頻率也在迅速提高。如何在盡量降低倉儲成本的同時, 提高工作效率縮短貨品作業時間[1]就成了倉儲企業亟待解決的問題之一。
許多專家學者已經在這方面進行了大量的研究, 不過從倉庫布局的角度來研究貨位分配優化的很少。本文著重從倉庫布局這一角度對倉庫貨位分配優化及運送貨品作業時間優化的問題進行了研究, 并針對其中的主要影響因素如貨架的穩定性、貨品的存取頻率及運送貨品所需時間等建立了數學優化模型, 并根據所建模型的復雜度, 利用改進的遺傳算法, 實現了對問題的優化求解。
現代倉儲企業為了滿足客戶的不同需求、為客戶提供更好的服務, 需要對自動化立體倉庫進行不同方面的優化設計, 確保在充分利用倉庫設備的基礎上, 能夠在單位時間內完成更多貨品的出入庫作業, 提高企業的效益。為了保證自動小車在繁忙時段能夠按時完成所有貨品的出入庫作業, 就需要盡可能地減少其平均作業所耗的時間。而行駛時間作為影響自動小車作業時間的重要因素, 就成為了需要優化的重點。
本文研究的基礎是Fishbone布局。如圖1所示, Fishbone布局有兩條主揀貨通道, 使得自動小車的行駛距離大大減少, 據Gue和Meller[2,3,4]研究, 與普通倉庫相比, 其移動距離減少了約20%[5]。
為方便地說明問題, 對貨位優化數學模型做如下假設: (1) 倉庫規模適合實行四分貨區, 采用單端出入庫的方式; (2) 入庫貨品的數量不超過倉庫的最大存放量, 且其質量、存取頻率及所占貨位個數等信息已知; (3) 倉庫中相鄰兩排貨架之間的巷道的寬度等于單排貨架 (貨格) 的寬度; (4) 同一種類的貨品可以存放于不同的貨格, 但是同一貨格內不能存放不同種類的貨品; (5) 在運行過程中自動小車的速度保持不變, 不受所載的貨品重量的影響, 不考慮小車的制動和起動過程; (6) 搬運過程中自動小車一次只搬運一個貨格所能存放的貨物量。
整個倉庫共有4n排貨架 (有四個均分貨區, 各有n排貨架) , 按Fishbone布局擺放, 如圖1。從倉庫左下角的區域開始, 逆時針依次分為第一、二、三、四貨區。
l表示貨格的長和寬、h表示貨格的高, k, k=1, 2, 3, 4, 表示貨區個數, x x=, 1, 2, …, n, 表示貨架的排數, y y=, 1, 2, …, p, 表示貨架的層數, z z, =1, 2, …, qx, 表示貨架的列數。位于第k區x排y層z列的貨位記為k, , x, y, z, 。設mkxyz為貨品的質量, fkxyz為貨品的存取頻率, v1為小車在水平方向上的運動速度, v2為小車在垂直方向上的運動速度。
每排貨架有p層qx列, 其中p保持不變, qx隨著x不斷變化, 其變化規律為:
其中, 第一排 (即x=1時) 貨架有q列。
貨位分配優化模型是基于立體倉庫貨品存儲原則建立的。
(1) 貨品存放上輕下重原則。使整排貨架上的貨品的重心最低, 即使得貨架上所有貨品的質量與所在層數的乘積之和最小, 滿足貨架上每層貨品的質量之和由下到上逐層遞減。則貨位優化函數可以描述為:
(2) 貨品出入庫效率優先原則。使存取頻率較高的貨品存放于距離出入庫臺較近的貨位, 即使得所有貨品的存取頻率與運送該貨品所需時間的乘積之和最小, 滿足貨品的存取頻率越低, 自動小車運送該貨品所需的時間越長。則貨位優化函數可以描述為:
Lx是出入庫臺到貨品所在貨架的距離, tx是自動小車從出入庫臺運行到貨品所在貨架所用的時間, tz是自動小車從貨品所在貨架運行到所在貨位所用的時間, ty是自動小車從出入庫臺運行到貨品所在貨位垂直方向上所用的時間。
倉庫的貨位分配優化問題是一個多目標函數優化問題, 本文采用基于遺傳算法的權重系數變換法求解此多目標優化問題[6,7]。通過對兩目標函數賦給權重, 將兩目標函數問題變成單目標函數問題, 所給權重分別為w1、w2, 可以得到:
綜上所述, 貨位分配優化的數學模型為:
遺傳算法是通過模擬自然進化過程來搜索最優解。它利用某種編碼技術, 作用于被稱為染色體的數字串, 模擬由這些串組成的群體的進化過程, 并通過有組織的、隨機的信息交換來重新組合那些適應性好的串, 生成新的串的群體[8]。
遺傳算法的一般流程為:
(1) 編碼。采用矩陣方式編碼[9]。根據所建立的數學模型, 本文對矩陣編碼方式做了部分改進, 具體如下:
(1) 倉庫貨位采用p×qx矩陣方式進行編碼。
(2) 矩陣的第x行z列元素表示為a k, , y, (k為貨區個數, y為貨架層數) ;矩陣中每個元素代表一個貨位, 采用一對一編碼方式。
(3) 整數1, 2, 3, …, a表示貨物的編號, 貨位為空時用0表示。
(4) 一個貨位組合對應一條染色體。
(2) 初始化種群。隨機生成N個個體作為初始種群。
(3) 計算個體適應度。本文研究的目標函數是求最小值, 故把目標函數值的倒數作為個體的適應度值[10]。適應度計算函數為:
計算群體中各個個體的適應度。
(4) 選擇操作。選擇操作采用輪盤賭法, 即基于適應度比例的選擇策略, 個體i被選中的概率為:
其中, Gi為個體i的適應度值, N為種群個體數目[11]。
(5) 交叉操作。分別在兩個相互配對的父代貨位編碼矩陣中隨機選擇一行和一列, 進行行行交換和列列交換, 生成兩個新的子代編碼矩陣。
(6) 變異操作。在一個貨位編碼矩陣中隨機選擇兩個貨位, 將這兩個貨位上的貨品進行位置對換, 生成一個新的子代編碼矩陣。
(7) 運算終止。若進化代數超過預先設定值, 則運算終止。
某K有一倉庫, 其內部的貨架按Fishbone布局排布。倉庫內設備的具體信息為:貨區個數k=4;每個貨區貨架的排數n=3;貨架層數p=4;貨架列數q=6;貨格長l=1m;貨格高h=0.8m;小車水平速度v1=2m/s;小車垂直速度v2=1m/s。
對遺傳算法在運行過程所設置的一些具體信息為:貨位編碼矩陣元素a k, , y, 中的k和y隨機選取1~4中的一個;進化代數計數器t←0, 最大進化代數T=4 000, 隨機生成N=200個個體作為初始群體p, 0, , 交叉概率pc=0.4, 變異概率pm=0.1, 群體p, t, 在經過選擇、交叉、變異后得到下一代群體p t+, 1, ;若t≤T, 令t←t+1, 轉到步驟 (3) , 運算繼續運行, 若t>T, 則以進化過程中所得到的適應度最大的個體作為最優解輸出, 運算終止。
現有40種貨品需要入庫, 其信息如表1所示。
根據上述的遺傳算法, 運用MATLAB編寫程序后, 得到的入庫貨品的貨位分配優化結果如圖2。
從圖2可以看到, 通過運用MATLAB求解, 目標函數值在迭代過程中呈現逐步下降的趨勢, 當迭代次數到達約2 700時, 目標函數值接近2 860, 此時的目標函數值趨于收斂狀態, 得到貨位分配的優化結果。
得到的40種入庫貨品的入庫后詳細的貨位信息如表2、表3所示。
本文在倉庫的布局、貨區的分劃、貨架和貨格的排布、自動小車的行駛路線、貨品貨位的分配等方面對如何提高倉庫工作效率、縮短工作時間進行了優化研究。立足倉庫貨品存儲的基本原則, 建立了以貨品存取作業所需時間為最小化目標函數的貨位分配優化模型, 利用改進的遺傳算法對貨位優化模型進行了求解。結果表明, 該模型能夠在保證對倉庫進行方便管理、保持貨架運行穩定性的同時, 減少自動小車在搬運過程中的行駛時間, 提高倉庫的出入庫工作效率。
表1 貨品信息 下載原表
表2 貨品的貨位信息 (1) 下載原表
表3 貨品的貨位信息 (2) 下載原表