劉春明
(南京電子技術(shù)研究所,江蘇南京210039)
如今物聯(lián)網(wǎng)技術(shù)得到了高速發(fā)展,智能制造技術(shù)的應(yīng)用也在逐步加深,而離散型制造企業(yè)的車間調(diào)度管理信息化程度高低不一,具不完全統(tǒng)計,75%以上的離散型制造企業(yè)的車間管理還停留在人工排程、人工調(diào)度的階段,具有信息化系統(tǒng)的企業(yè)也存在數(shù)據(jù)零散、規(guī)范不一的問題。
離散型制造企業(yè)的工藝路線靈活,生產(chǎn)計劃的制定與生產(chǎn)任務(wù)的管理任務(wù)繁重[1]。目前針對離散型制造企業(yè)信息化系統(tǒng)的研究主要集中于數(shù)據(jù)的采集、歸一化處理,協(xié)議的規(guī)范化,車間的生產(chǎn)排程以及執(zhí)行情況的反饋。它們都集中在某一點或某幾點上,缺少一個“閉環(huán)”的端到端的規(guī)范的車間管理系統(tǒng)。因此本文提出了一種離散型制造企業(yè)的車間管理系統(tǒng)設(shè)計方法。
該車間管理系統(tǒng)是針對離散型小微企業(yè)的排程系統(tǒng),可在確認(rèn)訂單之后,實時同步物料、設(shè)備、人員等所有資源數(shù)據(jù),靈活準(zhǔn)確地實施生產(chǎn)計劃。該系統(tǒng)根據(jù)企業(yè)已有的信息化系統(tǒng)提供相應(yīng)的可適配的數(shù)據(jù)、文件和系統(tǒng)接口,幫助企業(yè)實現(xiàn)訂單與生產(chǎn)數(shù)據(jù)的分解及貫穿;采用基因算法、最佳路徑算法等可組合的算法模型工具,自動制定2份以上的排程計劃,協(xié)助生產(chǎn)計劃員進行最優(yōu)化排程,并在生產(chǎn)計劃員完成排程后,將排程計劃反饋給算法庫,調(diào)整算法相關(guān)算子權(quán)重。該系統(tǒng)適應(yīng)小微企業(yè)排產(chǎn)的臨時性,可對已有的排程計劃進行優(yōu)化,同時可通過數(shù)據(jù)展現(xiàn)模塊(如甘特圖、看板等)直觀地展示新排程計劃的優(yōu)化項。它具備自動化和模擬能力,可提供直觀的可預(yù)期的排產(chǎn)結(jié)果,提高企業(yè)的信息化能力,幫助企業(yè)提升管理能力,降低人力成本,使資源利用率最大化。
離散型小微制造企業(yè)的制件多為半成品,批量小,品種多,臨時性強。通過現(xiàn)場調(diào)研,發(fā)現(xiàn)離散型小微制造企業(yè)的管理現(xiàn)狀如下:
1)信息化程度偏低,信息化平臺不完整,僅有零散的系統(tǒng)或根本就沒有系統(tǒng)平臺,大多還處于人工手動處理的狀態(tài)。生產(chǎn)的計劃安排都是靠生產(chǎn)計劃員臨時排班,信息交換大多通過紙質(zhì)文件進行,信息傳達與響應(yīng)能力低下。
2)企業(yè)生產(chǎn)管理的核心是訂單按時交付與產(chǎn)品質(zhì)量控制,而生產(chǎn)資源的把控與生產(chǎn)環(huán)節(jié)的調(diào)配是保證訂單按時交付的關(guān)鍵。
3)企業(yè)的組織架構(gòu)整體明確,細節(jié)個性化明顯,一人多職的現(xiàn)象普遍。排產(chǎn)過程多依靠人員的經(jīng)驗,人的因素對生產(chǎn)排程和資源調(diào)配的效率影響較大,科學(xué)的排程模型以及經(jīng)驗的積累較為缺乏。
4)小微企業(yè)的訂單臨時性強,生產(chǎn)過程中的插單、調(diào)單現(xiàn)象普遍,對人員、機床的調(diào)配靈活性要求高,容易出現(xiàn)排程不均衡的問題。訂單完成率和客戶滿意度完全取決于生產(chǎn)計劃員的個人決策,缺乏可模擬的信息化平臺支撐。
因此,離散型小微制造企業(yè)急需一個配置靈活、適應(yīng)性強、可用性高的車間管理系統(tǒng)。本文提出了一種離散型制造企業(yè)的車間管理系統(tǒng)設(shè)計方法,旨在通過信息化手段,利用智能算法、排程模型、規(guī)則引擎以及數(shù)據(jù)組件實現(xiàn)實用性強的車間管理系統(tǒng)。
該系統(tǒng)的設(shè)計目標(biāo)如圖1所示,從系統(tǒng)分層設(shè)計角度分為4個維度:
1)貫穿多系統(tǒng)的數(shù)據(jù)匯聚層。利用數(shù)據(jù)調(diào)度工具ETL,打破數(shù)據(jù)孤島壁壘,實現(xiàn)已有數(shù)據(jù)的貫穿匯聚。在數(shù)據(jù)匯聚后進行歸一化存儲,同時利用索引技術(shù)實現(xiàn)數(shù)據(jù)標(biāo)簽匯聚,為系統(tǒng)實現(xiàn)提供數(shù)據(jù)支撐。
2)多維度可切片的核心模型層。基于歸一化數(shù)據(jù),利用建模方法構(gòu)建訂單模型、資源模型、生產(chǎn)模型、人員模型和工藝模型,實現(xiàn)多維度、可切片的數(shù)據(jù)模型,為業(yè)務(wù)算法提供模型服務(wù)。
3)可靈活配置的算法業(yè)務(wù)邏輯層。在已有的數(shù)據(jù)模型基礎(chǔ)上,構(gòu)建包含最佳路徑算法、基因算法、識別算法、隨機森林算法等核心算法的基礎(chǔ)庫,利用規(guī)則引擎和適配引擎實現(xiàn)算法的選取與適配,實現(xiàn)算法的靈活配置與調(diào)用,通過應(yīng)用程序編程接口(Application Programming Interface,API)實現(xiàn)上層接口的服務(wù)。
4)直觀指導(dǎo)生產(chǎn)的數(shù)據(jù)展現(xiàn)層。通過車間看板和大屏提供分角色的展現(xiàn)儀表盤,實現(xiàn)多端展現(xiàn)、多角色視圖和實時信息推送。
圖1 分層設(shè)計目標(biāo)
先進規(guī)劃與排程系統(tǒng)(Advanced Planning and Scheduling, APS)是一種高效的企業(yè)計劃管理軟件,它綜合考慮可能存在的需求以及生產(chǎn)過程中人、機、料、法、環(huán)等多方面因素,對企業(yè)現(xiàn)有資源進行科學(xué)合理的配置和規(guī)劃,進而為生產(chǎn)計劃人員提供有效的生產(chǎn)排程方案,輔助生產(chǎn)決策[2]。
該系統(tǒng)的可見功能架構(gòu)主要包括物料管理、設(shè)備運行管理、產(chǎn)品管理、計劃管理、執(zhí)行管理、物料跟蹤管理以及統(tǒng)計分析與看板展現(xiàn)。各模塊的分布如圖2所示。
物料管理、設(shè)備運行管理和產(chǎn)品數(shù)據(jù)管理主要是系統(tǒng)的基礎(chǔ)數(shù)據(jù)管理,數(shù)據(jù)可在系統(tǒng)中錄入,也可通過外部數(shù)據(jù)源導(dǎo)入。
生產(chǎn)計劃管理針對訂單數(shù)據(jù)的錄入、工藝圖紙的識別、工序分解、物料清單(Bill of Material,BOM)自動生成、計劃排產(chǎn)引擎、生產(chǎn)過程追溯等核心功能,實現(xiàn)自動化排產(chǎn)方案及推演結(jié)果展現(xiàn)。
物料跟蹤管理是針對物料的齊套、出入庫、庫房以及線邊庫存的管理,實現(xiàn)物料資源的有序管理。
圖2 功能架構(gòu)
計劃執(zhí)行管理依據(jù)排產(chǎn)及推演后的排產(chǎn)方案,通過流程引擎實現(xiàn)人員派工管理和工時的匯報管理。
統(tǒng)計分析與看板監(jiān)控主要通過報表門戶實現(xiàn)報表數(shù)據(jù)組件的組合,并將結(jié)果直觀地展現(xiàn)在車間的大屏或電子看板上,指導(dǎo)和監(jiān)控生產(chǎn)過程。
系統(tǒng)的整體架構(gòu)為B/S架構(gòu),后端為基于Spring-Boot的微服務(wù)架構(gòu),前端為基于VUE的H5 MVC架構(gòu)。系統(tǒng)構(gòu)成分為前端展現(xiàn)層、業(yè)務(wù)服務(wù)層、服務(wù)引擎層、數(shù)據(jù)持久層和數(shù)據(jù)存儲層。技術(shù)完整架構(gòu)如圖3所示。
圖3 技術(shù)架構(gòu)
前端展現(xiàn)層采用主流的VUE結(jié)構(gòu),實現(xiàn)前端界面的組件化與MVC控制,保障系統(tǒng)前端的獨立性。
業(yè)務(wù)服務(wù)層用于系統(tǒng)的業(yè)務(wù)邏輯計算后的RESTFUL API服務(wù)接口,是前端數(shù)據(jù)獲取與后端計算的紐帶。
服務(wù)引擎層用于算法執(zhí)行和引擎調(diào)度,實現(xiàn)從數(shù)據(jù)到業(yè)務(wù)對象的轉(zhuǎn)換。
數(shù)據(jù)持久層是根據(jù)數(shù)據(jù)存儲與數(shù)據(jù)緩存進行實例化對象的服務(wù)。
數(shù)據(jù)存儲層用于數(shù)據(jù)的存儲,分為分布式文件系統(tǒng)和關(guān)系型數(shù)據(jù)庫。其中分布式文件系統(tǒng)用于存儲工藝圖紙、音頻和視頻,關(guān)系型數(shù)據(jù)庫用于存儲設(shè)計完成的數(shù)據(jù)模型的結(jié)構(gòu)化數(shù)據(jù)。
規(guī)則引擎的任務(wù)是對當(dāng)前提交給引擎的數(shù)據(jù)對象與加載在引擎中的業(yè)務(wù)規(guī)則進行測試和對比,激活那些符合當(dāng)前數(shù)據(jù)狀態(tài)的業(yè)務(wù)規(guī)則,根據(jù)業(yè)務(wù)規(guī)則中聲明的執(zhí)行邏輯,觸發(fā)應(yīng)用程序中對應(yīng)的操作[3]。
系統(tǒng)針對訂單的生產(chǎn)工藝,實現(xiàn)自動化工藝識別,拆解BOM,根據(jù)分解后的BOM,利用規(guī)則引擎選擇排程算法,進而根據(jù)選擇的算法輸出排程結(jié)果的。
企業(yè)的數(shù)據(jù)沒有得到統(tǒng)一的存儲與管理,訂單數(shù)據(jù)、原材料數(shù)據(jù)、人員班組數(shù)據(jù)、資源數(shù)據(jù)等均散落在文件或各自的系統(tǒng)平臺中,因此來自數(shù)據(jù)采集的壓力很大。通過適配各類關(guān)系型數(shù)據(jù)庫和存儲非關(guān)系型大數(shù)據(jù),利用探針與文件數(shù)據(jù)同步,對各個系統(tǒng)的數(shù)據(jù)進行統(tǒng)一的適配采集,將采集到的數(shù)據(jù)統(tǒng)一輸入元數(shù)據(jù)倉庫,實現(xiàn)了結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的歸一化處理,同時創(chuàng)建了數(shù)據(jù)索引,保證二次分析時的快速加載與檢索。
如圖4所示,采用ETL工具實現(xiàn)數(shù)據(jù)采集、加載、清洗、計算、分析與存儲,利用調(diào)度程序?qū)崿F(xiàn)數(shù)據(jù)處理流程的自動化調(diào)度,通過可配置的調(diào)度界面實現(xiàn)數(shù)據(jù)的周期性調(diào)度和計算執(zhí)行,完成數(shù)據(jù)的無人值守入庫。
圖4 自動化調(diào)度的數(shù)據(jù)流程
算法性能的提升通過數(shù)據(jù)緩存來實現(xiàn)。數(shù)據(jù)緩存是將數(shù)據(jù)暫存于內(nèi)存的緩存區(qū)中??蓪⒁恍┍粦?yīng)用服務(wù)頻繁訪問到的熱門數(shù)據(jù)實體存放到數(shù)據(jù)緩存中,用戶的請求需要使用該數(shù)據(jù)實體時,應(yīng)用服務(wù)可直接使用數(shù)據(jù)緩存中的數(shù)據(jù)實體,進而縮短該次服務(wù)請求的響應(yīng)時間。
常用內(nèi)存數(shù)據(jù)庫(如Redis)實現(xiàn)數(shù)據(jù)緩存。緩存的數(shù)據(jù)通過唯一關(guān)鍵字實現(xiàn)快速索引,在系統(tǒng)設(shè)計中完成讀寫分離的操作,在高頻讀取的數(shù)據(jù)中設(shè)計數(shù)據(jù)key-value的緩存結(jié)構(gòu),在排程過程中實現(xiàn)數(shù)據(jù)集的快速加載。
許多學(xué)者利用神經(jīng)網(wǎng)絡(luò)解決生產(chǎn)調(diào)度問題,通過神經(jīng)網(wǎng)絡(luò)模型和優(yōu)化調(diào)度算法,可以找到滿足約束條件的最優(yōu)或次優(yōu)調(diào)度解[4]。本文基于逆向傳播(Back Propagation, BP)的神經(jīng)網(wǎng)絡(luò)實現(xiàn)排程算法。
BP神經(jīng)網(wǎng)絡(luò)具有很強的非線性映射能力,可以完成任意維到維的映射。一個3層(輸入層、隱含層和輸出層)的BP神經(jīng)網(wǎng)絡(luò)能夠逼近任意非線性函數(shù)。BP神經(jīng)網(wǎng)絡(luò)的傳遞分為2個過程:1)工作信號正向傳遞子過程;2)誤差信號反向傳遞子過程。
在排程算法中,輸入層的數(shù)據(jù)定義(圖5)如下:
m為待加工數(shù)量;Qij為第i件第j 道工序;Pij為Qij的開始時間;Vik為開工時間;Eik為末道工序開工時間;Tijk為Qij的持續(xù)時間;Bi為可能的最早開始時間;Ei為最遲交貨期。
圖5 排程算法
利用Tensorflow構(gòu)建BP網(wǎng)絡(luò),按照圖5中的公式一層一層地計算隱含層神經(jīng)元和輸出層神經(jīng)元的輸入和輸出。這里采用S 函數(shù)1/(1+Math.exp(?z))將每個節(jié)點的值統(tǒng)一到0 ~1之間,再逐層向前計算直到輸出層。
從輸入層開始,先正向逐層往前直到輸出層產(chǎn)生結(jié)果。如果結(jié)果值與目標(biāo)值存在差距,再反向逐層向后計算每個節(jié)點的誤差,并且調(diào)整每個節(jié)點的所有權(quán)重,反向到達輸入層后,又重新向前計算。重復(fù)迭代以上步驟,直到所有權(quán)重參數(shù)收斂到一個合理值。
最終擬合生成K 個最優(yōu)解,在最優(yōu)解中可進行算法的推演和展現(xiàn),如圖6所示。
圖6 算法推演展現(xiàn)
利用前端技術(shù),結(jié)合算法計算排程推演結(jié)果,通過時間線組合關(guān)系圖直觀地展現(xiàn)排程計劃的推演結(jié)果,輔助計劃調(diào)度員進行排產(chǎn)方案決策。如圖6所示,展現(xiàn)從3個維度進行推送:
1)時間序列塊。時間序列塊展現(xiàn)生產(chǎn)的準(zhǔn)備時間和執(zhí)行時間,直觀地展現(xiàn)生產(chǎn)所需的時間之和。
2)各項負荷因子得分。通過后端算法模塊計算獲得每種排產(chǎn)方案的時間因子、負荷因子和成本因子的計算分值。
3)排產(chǎn)計劃總體分值。每種方案通過分項因子的加權(quán)計算實現(xiàn)分值的推送,通過分值展現(xiàn)排產(chǎn)計劃的得分。
在離散型小微制造企業(yè)中,生產(chǎn)排程的過程物料調(diào)度、生產(chǎn)人員的排班計劃及結(jié)果推演一直是管理的核心。通過離散型制造企業(yè)車間管理系統(tǒng)在離散制造行業(yè)中的預(yù)演試用,有效解決了企業(yè)生產(chǎn)訂單閉環(huán)管理問題和原先高度依賴人員經(jīng)驗的問題。同時通過模塊化的系統(tǒng)設(shè)計,按需加載,滿足了不同企業(yè)在數(shù)據(jù)與管理上的個性化需求。
不過,在研究與試驗中,排程算法完全依賴于數(shù)據(jù),不能向用戶提出必要的詢問,當(dāng)數(shù)據(jù)不充分時,神經(jīng)網(wǎng)絡(luò)無法進行工作,而且還需將一切問題的特征變?yōu)閿?shù)字,把一切推理變?yōu)閿?shù)值計算。因此,該排程算法還需要進一步的理論驗證和信息完善。
本文的研究貼近離散型小微制造企業(yè)已有的信息化系統(tǒng)與現(xiàn)狀,利用數(shù)據(jù)調(diào)度實現(xiàn)數(shù)據(jù)的貫穿,打通了各平臺之間的壁壘,在某種程度上構(gòu)建了離散型小微制造企業(yè)的數(shù)據(jù)平臺。在排程的算法上進行了多樣選擇,同時也給出了多種排程方案,以解決原先高度依賴人員經(jīng)驗的問題。本文雖與文獻[5]在研究對象與系統(tǒng)普適性方面有著異曲同工之處,但文中基于神經(jīng)網(wǎng)絡(luò)的排程算法更貼近人工思維,更適應(yīng)決策需要。
當(dāng)前基于神經(jīng)網(wǎng)絡(luò)的排程算法在數(shù)據(jù)完整性、信息交互性以及算法可回溯性上仍存在訓(xùn)練模型不完備、計算因子與擬合函數(shù)過度依賴經(jīng)驗的問題,下階段的研究重點將著眼于算法與理論驗證。