曹 雷,孫 詠,焦艷菲,王 嵩,李冬梅
1(中國科學(xué)院大學(xué),北京 100049)
2(中國科學(xué)院 沈陽計(jì)算技術(shù)研究所,沈陽 110168)
3(沈陽高精數(shù)控智能技術(shù)股份有限公司,沈陽 110168)
自動(dòng)化立體倉庫最早起源于第二次世界大戰(zhàn)之后,美國最初開始研究建設(shè)一種橋式堆垛起重機(jī).隨著世界經(jīng)濟(jì)的發(fā)展,經(jīng)歷了巷道式堆垛起重機(jī)立體倉庫,自動(dòng)化立體高架倉庫等階段.自動(dòng)化立體倉庫又稱自動(dòng)存取系統(tǒng)、智能倉儲(chǔ).它集成了運(yùn)輸機(jī)、高層貨架、巷道堆垛機(jī)、倉庫控制系統(tǒng)和倉庫管理系統(tǒng)等多個(gè)部分.國內(nèi)外早期大部分的研究圍繞在自動(dòng)化的設(shè)計(jì)、控制等領(lǐng)域,對自動(dòng)化立體倉庫中應(yīng)用的關(guān)鍵硬件和相關(guān)技術(shù)的研究,如基于C/S、B/S 架構(gòu)的計(jì)算機(jī)信息管理系統(tǒng)[1],如控制系統(tǒng)設(shè)計(jì)中可編程邏輯控制器PLC(Programmable Logic Controller)的運(yùn)用[2],隨著世界經(jīng)濟(jì)快速發(fā)展,客戶對倉儲(chǔ)技術(shù)提出了更高的需求,原有的靜態(tài)技術(shù)不符合新時(shí)代市場的需求,自動(dòng)化立體倉庫的研究開始與數(shù)據(jù)和智能相結(jié)合,向開發(fā)新模型、新算法的方向發(fā)展.如采用改進(jìn)遺傳算法,模擬退火算法,蟻群算法等對AGV (Automated Guided Vehicle,自動(dòng)導(dǎo)向小車)路徑進(jìn)行規(guī)劃研究,使得AGV 選擇更高效的路徑[3].文獻(xiàn)[4]從效率或故障率方面入手研究,對貨位動(dòng)態(tài)分配進(jìn)行建模,對環(huán)形軌道穿梭車調(diào)度問題提出了一種基于規(guī)則的遺傳算法,達(dá)到了優(yōu)化調(diào)度結(jié)果、提高運(yùn)算效率的目的.文獻(xiàn)[5]對堆垛機(jī)故障風(fēng)險(xiǎn)的存儲(chǔ)策略和模型進(jìn)行了研究,以x卷煙物流配送中心倉庫系統(tǒng)為研究對象,引入了一種將同種煙卷分散存儲(chǔ)到不同巷道中的存儲(chǔ)策略,從而降低巷道式堆垛機(jī)可能引發(fā)的故障問題.
本文以實(shí)驗(yàn)室具體項(xiàng)目為背景,闡述了該系統(tǒng)的整體系統(tǒng)結(jié)構(gòu)、各子系統(tǒng)結(jié)構(gòu)和功能及主要部分的設(shè)計(jì).不同于大多數(shù)研究關(guān)注于調(diào)度優(yōu)化或存儲(chǔ)策略角度,本文將Apriori 算法應(yīng)用于出入庫數(shù)據(jù)挖掘,找出故障率與倉庫出入庫物料之間的聯(lián)系,在保證倉庫庫存的情況下,提出更科學(xué)的進(jìn)出入庫指導(dǎo)性建議,以期獲得更低的設(shè)備故障率,最大化企業(yè)收益率.
Apriori 是一種關(guān)聯(lián)規(guī)則算法,從已有的數(shù)據(jù)集中挖掘有關(guān)聯(lián)關(guān)系的數(shù)據(jù)項(xiàng),企業(yè)可以參考這些關(guān)聯(lián)數(shù)據(jù)集制定決策.Apriori 算法在大數(shù)據(jù)集上以連接的方式產(chǎn)生候選項(xiàng),并同步計(jì)算出支持度,通過剪枝得到關(guān)聯(lián)度高的頻繁項(xiàng)集.
頻繁項(xiàng)集有3 個(gè)標(biāo)準(zhǔn):支持度,置信度和提升度.
支持度:有關(guān)聯(lián)關(guān)系的數(shù)據(jù)出現(xiàn)的次數(shù)與總數(shù)據(jù)數(shù)量的比,即事件同時(shí)出現(xiàn)的概率.假設(shè)存在數(shù)據(jù)X,Y,則對應(yīng)的支持度為:
置信度:某個(gè)數(shù)據(jù)出現(xiàn)的條件下,另一個(gè)數(shù)據(jù)也出現(xiàn)的概率.假設(shè)數(shù)據(jù)X和Y,則X對Y的置信度為:
舉例說明:存在一組數(shù)據(jù),出庫X物料對故障的置信度為30%,支持度為2%.則意味著在出庫數(shù)據(jù)中總共有2%的數(shù)據(jù)記錄滿足出庫X物料時(shí)發(fā)生故障;發(fā)生故障的記錄中,有30%是因?yàn)槌鰩靀物料.
提升度:在事件Y發(fā)生的條件下,發(fā)生事件X的概率,與事件X發(fā)生的概率的比值.
提升度體現(xiàn)事件間的關(guān)聯(lián)關(guān)系,當(dāng)提升度大于1時(shí)表示事件之間具有強(qiáng)關(guān)聯(lián)關(guān)系.當(dāng)X和Y獨(dú)立時(shí),提升度Lift(X<=Y)=1,有P(X|Y)=P(X).
Apriori 算法旨在找出最大的k項(xiàng)存在關(guān)聯(lián)關(guān)系的頻繁集.以支持度作為標(biāo)準(zhǔn).通過迭代,先找出候選1 項(xiàng)集和它的支持度,剪枝去掉不符合要求的候選1 項(xiàng)集,得到頻繁1 項(xiàng)集.對新的頻繁1 項(xiàng)集進(jìn)行連接,得到候選2 項(xiàng)集,繼續(xù)剪枝得到頻繁2 項(xiàng)集.循環(huán)迭代直到找到頻繁k+1 項(xiàng)集.最后的頻繁k項(xiàng)集即是最后結(jié)果.假設(shè)事務(wù)集數(shù)據(jù)庫M詳細(xì)內(nèi)容如圖1所示,最小支持度為50%,則計(jì)算過程如圖2所示.
圖1 事務(wù)集數(shù)據(jù)庫M
圖2 Apriori 算法挖掘過程圖
?算法1.Apriori 算法輸入:事務(wù)數(shù)據(jù)集合M,支持度α.輸出:最大的頻繁k 項(xiàng)集.1) 掃描數(shù)據(jù)集,對1 項(xiàng)候選集C1 剪枝去掉小于閾值的項(xiàng)集,得到1 項(xiàng)頻繁集L1;2) 對L1 自連接,得到候選集C2,剪枝去掉小于閾值的項(xiàng),得到2 項(xiàng)集L2;3) L2 與L1 連接得到3 項(xiàng)集C3,剪枝去掉小于閾值的項(xiàng),得到3 項(xiàng)集L3;4) 循環(huán)重復(fù)前3 步,得到最大頻繁項(xiàng)級Lk.
本系統(tǒng)基于Microsoft.Net 平臺(tái),采用面向?qū)ο笳Z言程序設(shè)計(jì),在IBatics.Net 標(biāo)準(zhǔn)框架的基礎(chǔ)上進(jìn)行了重構(gòu)和擴(kuò)展,采用客戶端/服務(wù)器端結(jié)構(gòu),利用WPF(Windows Presentation Foundation,基于Windows 的用戶界面框架)技術(shù)實(shí)現(xiàn)客戶端與服務(wù)端的信息交互,保證信息傳遞的安全、穩(wěn)定和效率;采用關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘Apriori 算法,對出庫信息進(jìn)行挖掘,提供科學(xué)的出入庫生產(chǎn)建議;同時(shí)根據(jù)企業(yè)定制化需求能夠與移動(dòng)設(shè)備、射頻識(shí)別RFID (Radio Frequency IDentification)[6,7]、電子標(biāo)簽、自動(dòng)導(dǎo)航小車AGV、條碼等其他先進(jìn)的設(shè)備集成,實(shí)現(xiàn)更加人性化、可視化的操作平臺(tái).總體框架如圖3所示.
結(jié)合圖3、圖4,系統(tǒng)中碼垛機(jī)器人負(fù)責(zé)抓取滾筒傳送帶上指定位的箱(產(chǎn)品貨物)放置到托盤上,由堆垛機(jī)負(fù)責(zé)搬運(yùn)托盤及產(chǎn)品放置于指定貨架上.服務(wù)器端集成了信息管理系統(tǒng)和監(jiān)控調(diào)度系統(tǒng),在監(jiān)控調(diào)度界面實(shí)時(shí)顯示當(dāng)前堆垛機(jī)運(yùn)行位置(圖形化展示),運(yùn)行故障以及設(shè)備故障等情況(表格化展示),配備打印機(jī)以打印相關(guān)信息.手持終端系統(tǒng)作為客戶端,與服務(wù)器端信息管理系統(tǒng)對接,支持RFID、條碼標(biāo)簽.采用Web service 調(diào)用方式[8,9],大量的復(fù)雜的業(yè)務(wù)處理都由服務(wù)器端遠(yuǎn)程完成.滿足了物料傳輸系統(tǒng)實(shí)時(shí)信息相應(yīng)的要求.操作界面設(shè)計(jì)簡潔明確,操作方便;對無線網(wǎng)絡(luò)終端的連接實(shí)施有效管理,提高系統(tǒng)的安全性.
圖3 總體框架圖
圖4 倉庫管理系統(tǒng)服務(wù)器開發(fā)框架
服務(wù)器端集成信息管理系統(tǒng),監(jiān)控調(diào)度系統(tǒng)以及數(shù)據(jù)挖掘模塊.主要實(shí)現(xiàn)基礎(chǔ)信息維護(hù),可視化的實(shí)時(shí)監(jiān)控調(diào)度界面,以及表格化展示的業(yè)務(wù)狀態(tài),設(shè)備狀態(tài),是否故障等.客戶端部署在手持終端上,負(fù)責(zé)數(shù)據(jù)采集,進(jìn)出入庫、盤點(diǎn)等主要業(yè)務(wù)指令發(fā)布.
信息管理系統(tǒng)包括的功能如圖5所示.實(shí)現(xiàn)基礎(chǔ)信息維護(hù),儲(chǔ)位管理,托盤管理,編碼管理,查詢統(tǒng)計(jì)等功能[10,11].庫房業(yè)務(wù)界面在手持終端實(shí)現(xiàn),相關(guān)邏輯業(yè)務(wù)由手持終端傳遞數(shù)據(jù)到服務(wù)器端后臺(tái)完成.
基礎(chǔ)信息管理:包括用戶管理、角色管理、權(quán)限管理、部門設(shè)置以及計(jì)量單位、包裝關(guān)系設(shè)置等功能.
儲(chǔ)位管理:包括庫房、庫區(qū)、庫位、庫型存儲(chǔ)內(nèi)容、出入庫作業(yè)形式以及儲(chǔ)存規(guī)則等的設(shè)置.
托盤管理:實(shí)現(xiàn)庫存用托盤及貨品承載物的標(biāo)簽管理,托盤信息導(dǎo)入,托盤的使用和回收管理.
編碼管理:包括公司部門等組織編碼,人員編碼,物料編碼,設(shè)備編碼等.
查詢統(tǒng)計(jì):支持訂單號查詢,箱碼查詢,執(zhí)行業(yè)務(wù)查詢,業(yè)務(wù)數(shù)據(jù)查詢,產(chǎn)品信息追溯等功能.
主要包括側(cè)視圖和俯視圖.以可視化二維平面模型實(shí)時(shí)顯示.以及相關(guān)的作業(yè)調(diào)度執(zhí)行單,設(shè)備故障顯示等.如圖6所示.
圖5 信息管理系統(tǒng)功能結(jié)構(gòu)圖
圖6 服務(wù)器端監(jiān)控調(diào)度界面圖
圖6中,左上部分為俯視圖,右上為側(cè)視圖.其中小車代表搬運(yùn)物料的堆垛機(jī),橙色箱子表示立體架.左下和右下部分分別是作業(yè)調(diào)度執(zhí)行模塊和設(shè)備故障情況模塊,實(shí)時(shí)顯示當(dāng)前執(zhí)行的進(jìn)出庫作業(yè)和故障情況等.若系統(tǒng)正常運(yùn)行,則設(shè)備故障情況模塊不顯示任何故障.
手持終端包括賬號管理,零頭入庫,托盤入庫,查詢,調(diào)配單等模塊,結(jié)構(gòu)功能圖如圖7所示.
賬號管理:擁有手持終端上的賬號登陸,角色管理,異常處理等功能.
零頭入庫:手持終端通過掃描箱碼和托盤標(biāo)簽碼,實(shí)現(xiàn)一對多的綁定關(guān)系后,將數(shù)據(jù)傳輸給服務(wù)器端,服務(wù)器端再傳遞給監(jiān)控調(diào)度系統(tǒng)并更新數(shù)據(jù)庫數(shù)據(jù).
托盤入庫:通過掃描托盤標(biāo)簽進(jìn)行托盤入庫業(yè)務(wù).
查詢:可在主界面掃碼查詢,包括箱碼和托盤標(biāo)簽碼,也可在單獨(dú)的查詢界面通過輸入指定的訂單號查詢指定調(diào)配單.
調(diào)配單:所有的出庫作業(yè)及查詢盤點(diǎn)作業(yè)均以調(diào)配單為基礎(chǔ)單位.
企業(yè)生產(chǎn)產(chǎn)品時(shí),往往需要同時(shí)啟動(dòng)多條產(chǎn)品線,同時(shí)生產(chǎn)多種不同類的產(chǎn)品,由于市場需求隨時(shí)可能發(fā)生變化,根據(jù)當(dāng)前訂單和往期銷售記錄等預(yù)估下一步生產(chǎn)計(jì)劃,適當(dāng)保持當(dāng)前倉庫庫存很有必要.本模塊通過調(diào)用R 語言中的arulesViz 包實(shí)現(xiàn)Apriori 算法,以出庫記錄為主要研究對象,以期找出出庫對象和故障之間的聯(lián)系,包括庫存不足,設(shè)備損壞和其他故障.
圖7 手持終端功能結(jié)構(gòu)
原始數(shù)據(jù)為某企業(yè)2019年物料出庫記錄.對原始數(shù)據(jù)進(jìn)行預(yù)處理,保留出庫物料編號和訂單號.關(guān)聯(lián)規(guī)則是尋找同一出庫單中同時(shí)發(fā)生故障的物料.這里選擇CK2019 出庫訂單表中物料編號和出庫單編號兩個(gè)字段,在RGui 建模軟件中加載該數(shù)據(jù),主要代碼為:
Library(xlsx) #加載
Workbook<-“C:/CK2019.xlsx” #讀取數(shù)據(jù)
Mydata<-read.xlsx(workbook,1)
安裝加載完arulesViz 包后,將加載進(jìn)的數(shù)據(jù)轉(zhuǎn)化為標(biāo)準(zhǔn)格式,通過attribute 函數(shù)展示.形成物料編號總數(shù)*出庫單號總數(shù)的交易矩陣.
設(shè)定支持度進(jìn)行挖掘,相關(guān)代碼如下:
Library(arules)
Data<-as(split(mydata$qc,mydata),”transactions”)
Attributes(data)
Rules<-apriori(data,parameter=list (minlen=2,support=0.23,confidence=0.5))
經(jīng)過多次試驗(yàn),最終設(shè)定支持度為0.26,置信度為0.8.挖掘結(jié)果見圖8.
圖8中,強(qiáng)關(guān)聯(lián)規(guī)則表示相關(guān)聯(lián)的兩個(gè)項(xiàng)集同時(shí)出現(xiàn),支持度表示同時(shí)出現(xiàn)的概率.設(shè)置支持度為0.26 以便篩選0.26 以上的支持度.置信度表示在所有的數(shù)據(jù)中,在前一個(gè)項(xiàng)集出現(xiàn)的條件下,后一個(gè)項(xiàng)集也出現(xiàn)的概率.以第3 行為例,編號為142582100 的物料和編號為142582000 的物料在出庫時(shí)同時(shí)發(fā)生故障的概率為31%.根據(jù)編號找到對應(yīng)的物料名稱,發(fā)現(xiàn)一套產(chǎn)品中每個(gè)142582100 物料對應(yīng)4 個(gè)142582000 物料,引發(fā)后者出庫數(shù)量不足故障,在大幅度按比例提升142582000 的生產(chǎn)計(jì)劃后,該項(xiàng)故障率由原來的31%降至0%.
圖8 挖掘結(jié)果
該系統(tǒng)已在D 公司正式運(yùn)轉(zhuǎn),取代了傳統(tǒng)老式人工紙筆記錄及人力搬運(yùn)物料的作業(yè)形式.采用無線掃描技術(shù),信息化管理,自動(dòng)化出入庫作業(yè)后,大大減少倉庫物流環(huán)節(jié)所需的人力成本,提高了查詢盤點(diǎn)錄入相關(guān)的效率、準(zhǔn)確率.進(jìn)一步減小了人工操作可能存在的潛在隱患.其特有的關(guān)聯(lián)數(shù)據(jù)挖掘模塊,經(jīng)實(shí)際運(yùn)行挖掘分析后,采取對應(yīng)措施,有效降低了系統(tǒng)整體故障率(包括庫存不足等故障),具有十分可觀的市場應(yīng)用.
交付試運(yùn)行期間,存在一些局部故障,需要斷開系統(tǒng),由人工進(jìn)行干預(yù),系統(tǒng)整體穩(wěn)定性有待進(jìn)一步提升.本系統(tǒng)在傳統(tǒng)人工倉儲(chǔ)管理的模式上,極大精簡了人力,提升了管理與作業(yè)的效率,但尚達(dá)不到全系統(tǒng)自動(dòng)化,處處需要人工參與監(jiān)督,在這方面有待進(jìn)一步提升.