黃錦鈿
(廣東工業大學機電工程學院,廣東 廣州510006;深圳市廣晟德科技發展有限公司,廣東 深圳518000;韓山師范學院物理與電子工程學院,廣東 潮州521000)
立體倉庫結合AGV小車已在物流公司和制造企業廣泛應用。立體倉庫貨位優化是最近一年來學者的研究熱點。文獻[1]和文獻[2]都考慮貨架穩定性和出入庫效率的多目標優化,并各自提出了基于模擬退火遺傳算法進行求解。文獻[4]以出入庫效率為調度目標,采用匈牙利法進行求解。文獻[5]構建了以提高貨架穩定性和減少訂單挑選距離為目標的貨位優化模型,并運用FP-tree算法挖掘貨物間的關聯規則存儲貨物。文獻[6]以產品出入庫效率、貨架重心和產品聚集度為目標,并分別提出了改進混合跳蛙算法和帶有精英保留策略的快速非支配多目標優化算法。
目前針對貨位優化的研究主要以貨架穩定性和出入庫效率為優化目標。雖然可以自動計算得到可行貨位,然而往往與操作員習慣上的理想貨位還存在差距。利用基于機器學習的人工智能方法,可以自動選取得到比較符合操作員要求的貨位。另外,在貨物的出入庫過程中,往往會存在很多突發狀況,例如緊急優先出入庫任務的出現,預先分配給AGV小車的運輸計劃將會被打擾,需要建立一套柔性魯棒性強的調度方法來應對緊急任務。
基于目前立體倉庫廣泛采用的貨架和AGV小車配置方式。立體倉庫的特點和功能需求可以總結為以下五方面:①倉庫中有多排多層貨架,每層有多個貨位,貨位有多種長寬高各不相同的規格,每個貨位只能存放一個棧板;②有多種不同長寬的棧板,棧板的高度由棧板存放的貨物決定;③只要貨位空間足夠容納棧板,每個貨位可以存放的貨物類型沒有限制,然而各種貨物通常有習慣存放位置;④車間有多輛AGV小車,AGV小車自帶導航系統,能自動搬運貨物棧板到指定貨位;⑤倉庫存在緊急出入庫任務,AGV小車需要優先響應緊急任務。
當出現需要新增入庫的棧板,將自動分配貨位并放入運輸任務池堆棧中。新增入庫任務流程如圖1所示,通過傳感器自動檢測棧板的長寬高,作為新增入庫參數,也可以通過手動添加該參數,并輸入貨物類型。當前所有貨位的使用狀態可以從數據庫讀取獲得,將這些參數一起輸入到決策模型中,能自動獲得推薦貨位。
圖1 新增入庫任務流程圖
首先,采集記錄每次選倉時所有倉位的狀態,作為機器學習的特征參數。
在數據庫中增設一個儲存當前所有貨位狀態的字段,每次選取貨位時,當前各個貨位的狀態分別以0表示可用和1表示已占用,所有貨位的狀態組成二進制編碼儲存到該字段中,并保存當前棧板的長寬高、貨物類型信息和被選中的貨位位置信息。經過上萬次貨位選取,即在數據庫中保存上萬條記錄作為歷史基礎數據。
其次,選取特征參數和標簽并作預處理。
因為機器學習的支持向量機和隨機森林算法只能識別二進制基礎數據參數,因此讀取數據庫的數據后需要對數據進行預處理。對棧板的長寬高數據和貨物類型進行one-hot編碼,將長寬高的數值和貨物類型轉換為二進制參數向量。同時將貨位狀態的二進制編碼轉換為參數向量,并將被選中的貨位信息作為標簽量。
最后,訓練對比預測準確率,得到決策模型。
對歷史基礎數據經過上述預處理之后,將數據平均分成五等份,其中四等份作為訓練數據,剩下一等份作為測試數據,這五等份分別輪流作為訓練和測試數據,分別輸入到典型的支持向量機和隨機森林算法中,經過五輪訓練運算求準確率的平均值。將平均準確率最高的預測模型作為自動選取貨位的決策模型。
通過機器學習決策模型得到推薦貨位之后,操作員可以根據偏好將存放位置進行修改并選擇每條出入庫任務的優先級。確定棧板存放的貨位之后,不需要立即主動呼叫AGV小車前來搬運,而是先將棧板放進出入庫輸運任務池堆棧中,系統按優先級將出入庫任務進行排序。
AGV小車執行任務流程如圖2所示,AGV小車在每次執行完當前任務后,將主動讀取運輸任務池堆棧中的信息。如果堆棧中信息為空,則AGV小車轉到待機狀態;否則,讀取并執行任務池堆棧中排在最前面的優先任務,同時刪除任務池中該條任務。
圖2 AGV小車執行任務流程圖
當任務池有了新任務,而AGV小車處于待機狀態,此時操作員可主動呼叫喚醒AGV小車。與每次選定貨位后就指派AGV小車搬運的方式相比,在有緊急件插入等突發狀況時,本文所提的柔性魯棒運輸調度機制能顯示出巨大優越性。
經過機器學習得到決策模型,將決策模型嵌入到立體倉庫管理軟件中,結合當前倉庫的狀態信息,可以自動獲得符合貨物存放習慣的貨位。將出入庫任務按優先級排序放在堆棧中,讓AGV小車主動提取運輸任務,可以使多輛AGV小車協調工作,快速響應優先運輸任務并使計劃與執行完全一致。