王 亮,李昊謙,唐 堂,于 穎
(同濟大學機械與能源工程學院,上海 201804)
在深度學習、強化學習、數字孿生技術等先進技術的支撐下,智能制造產業獲得了蓬勃的發展。越來越多的高校新增智能制造工程專業以培養可滿足新工科需求的創新性人才[1-2]。作業車間調度問題(Job-Shop Scheduling Problem,JSP)是根據生產車間的產品數據、加工數據、物流信息、生產調度和資源管理等信息進行整合,使車間可充分利用現有生產資源,合理分配生產工序,減少生產時間,優化生產目標。作業車間生產過程的不確定性、復雜性以及多資源相互協調等特點對生產排程優化提出了新的挑戰,是智能制造中廣泛研究的問題之一。
Plant Simulation作為一款生產系統仿真軟件,可很好地進行生產模擬,輔助排程計劃的制定。國內外學者也對其開展了大量研究。Guo等[3]提出一種基于工序編碼方式在Plant Simulation仿真平臺解決車間作業排序問題的優化設計方法,并運用傳統的遺傳算法對此類問題進行仿真優化。Xiu 等[4]利用Plant Simulation 仿真軟件中的統一建模語言(Unified Modeling Language,UML)映射對作業車間調度仿真優化系統進行分析,并使用遺傳算法對其模型參數進行優化,得到理想的調度方案。Tang 等[5]提出一種將Plant Simulation仿真模型嵌入遺傳算法的聯合求解批量調度的方法,該方法可縮短生產周期,提高設備利用率,更加適用于工業實際問題。Tian 等[6]研究了在Plant Simulation 建立仿真模型的關鍵技術,利用優化模塊中內置遺傳算法來優化作業車間調度,保證決策的科學性。Hugo 等[7]提出一種DFWA-VNS 算法,結合Plant Simulation平臺解決JSP 問題。文笑雨等[8]基于Plant Simulation構建作業車間生產的不確定調度仿真模型,利用遺傳算法對該模型進行求解。實例仿真說明方案能夠有效降低不確定加工時間和隨機機器故障對車間生產調度的影響。
此外,求解JSP需要有效的方法,比如精確計算、啟發式算法與強化學習算法等。其中強化學習有著求解速度快、結果優異且穩定的優點,吸引了廣大學者的探討。Thomas等[9]將作業車間調度問題轉為由智能體處理的順序決策問題并使用各種確定的和隨機的作業車間調度基準問題驗證了方法的有效性。Li 等[10]提出一種基于深度Q 網絡的深度強化學習算法。該方法結合了深度神經網絡的學習能力與強化學習的決策能力,獲得每個時間節點的最佳調度規則。Liu等[11]提出一種策略網絡和評價網絡并行訓練方法,以簡單的調度規劃作為智能體動作,可有效求解基準JSP問題的靜態與動態調度。Park 等[12]提出一個框架,使用圖神經網絡和強化學習來求解作業車間調度問題。文獻[13-14]中設計了一個強化學習和仿真相結合的動態實時車間作業排序系統。
本文提出一種基于Plant Simulation的深度強化學習(Plant Simulation based Deep Reinforcement Learning,PSDRL)算法,用來求解作業車間調度問題,實現對車間生產排程計劃的快速響應與優化。在近端策略優化(Proximal Policy Optimization,PPO)的強化學習算法的基礎上,以Plant Simulation 平臺搭建虛擬車間作為強化學習環境,優化每個時刻的可行工序選取策略,快速制定一個最小化完工時間的排程計劃。本文旨在通過強化學習算法及離散事件虛擬仿真的集成,實現先進技術的綜合應用,以新的實踐教學方式激發學生的學習興趣,并提高學生對智能制造生產與技術的認識。
作業車間調度問題是經典的組合優化問題,要求給定的一組工件J=1,2,…,n在一組機器M=1,2,…,m上加工完成,滿足以下約束條件:
(1)每個工件在機器上的加工工序確定。
(2)每臺機器在同一時刻只加工一個工件,工件加工時間是固定的且工序一旦開始不能被中斷。
(3)每道工序必須等到其前置工序加工完畢后才能開始加工。
本研究中的PSDRL算法整體框架圖如圖1 所示,包括Plant Simulation仿真平臺、案例信息、評價、動作等要素。策略網絡每次會去讀取案例的狀態信息與獎勵值,同時評價網絡會去評判狀態的好壞,并將這些信息存儲到記憶庫,以便后續更新參數使用。在該算法中智能體需要執行完一次完整流程后才會進行參數更新,每一步得到的獎勵值都是真實觀測到的值,價值函數不再具有預測功能。此外為增加算法的魯棒性與泛化性,每次智能體需同時完成多個案例的生產排程計劃,將所有案例的狀態信息整合后完成一次神經網絡的參數更新。

圖1 PSDRL訓練流程示意圖
PSDRL環境是依靠Plant Simulation 搭建的,仿真平臺可構建一個JSP 案例,以模擬車間的運行情況。Plant Simulation 平臺自帶遺傳算法來優化生產排程,但由于其性能與局限性無法滿足復雜車間排程需求,需引入其他算法以提升車間排程的質量與速度。
基于Plant Simulation 的強化學習環境主要由算法-環境通信部分、邏輯控制區、機器模型區與工件信息區組成。
本文采用套接字(Socket)作為算法與虛擬仿真環境的通信手段,以Python 的強化學習算法作為客戶端,虛擬仿真環境作為服務端。要實現服務端與客戶端之間的通信,需要在虛擬仿真環境服務端中打開socket對象的通信開關,如圖2 所示,點擊on 的復選框,并設置通信協議、通信地址及端口。由于socket通信只允許調用同一個函數,所以可設計一套標識符,實現工件加工信息導入、生產排程計劃導入與獎勵值返回這一套完整運行流程。

圖2 Socket通信對象設置界面
邏輯控制區主要功能有:根據客戶端生成的案例大小自適應生成相同規模的車間機器模型;將工件信息區的數據生成加工信息表;控制整個仿真系統的運行邏輯,保證生產調度的平穩進行。邏輯控制區如圖3 所示。

圖3 虛擬環境的邏輯控制區
機器模型區如圖4 所示,是仿真運行的載體,其中包含物料生成對象、零件暫存區、機器設備、物料輸出區。機器設備根據機器加工順序表,同時依照邏輯控制區的調度規則,以實現模擬車間的生產流程的目的。

圖4 虛擬仿真環境的車間機器模型區
工件信息區如圖5 所示,該區域使用表格對象分解記錄由算法客戶端傳送過來的等待加工工件信息及相應的工藝信息。加工信息包含工件的工序加工順序、加工時長以及對應的加工機器序號。工件信息區在得到客戶端傳來的案例信息后等待邏輯控制區的初始化加工信息函數將其變為加工信息表,用以仿真環境的初始化。

圖5 虛擬環境的工件信息區
本文采用強化學習算法為PPO算法,其為目前效果最好的強化學習網絡構型,包含了動作選擇的策略網絡和狀態評價的價值網絡,在訓練過程中,依據獎勵值與價值函數的誤差不斷迭代更新網絡參數。包括強化學習算法的客戶端讀取案例信息并將信息傳輸給虛擬仿真環境,仿真環境生成加工信息表與機器模型。算法客戶端會根據強化學習的調度策略生成工件生產計劃,并將其發送給虛擬仿真環境。虛擬仿真環境作為強化學習中智能體交互環境的一個重要組成部分,用以驗證動作策略給出的生產排程計劃的有效性并記錄下執行每個動作產生的獎勵值,并將其返回給強化學習算法,完成一次策略參數的更新,直到到達最大迭代次數結束訓練,最終生成一個良好的調度策略網絡。可更加快速、穩定地得到案例優良的調度方案。
環境狀態的定義是強化學習算法的基礎。為表達JSP車間的環境狀態,使用析取圖進行表征。析取圖存儲信息的主要方式是節點信息與節點之間的鄰接關系。
表達節點信息的節點特征為
式中:n為工件數;m為機器數;feature 為工序此刻的最長完工時間;mask為該工序是否完成加工。
表達工序節點間的加工順序的工序鄰接矩陣
式中:(vi,vj)為節點i與節點j之間的連線;E為析取圖中邊的集合。如果節點間具有鄰接關系則adj相應位置置1,否則置0。之后使用圖神經網絡對析取圖中包含的狀態信息進行特征提取,完成狀態的預處理。
強化學習智能體的動作集合在本系統中定義為強化學習策略網絡在根據當前車間狀態,判讀出的可進行調度的工序序號合集。可進行調度的工序是指所有工件待加工工序中的第一個,該集合大小
式中,nmax為狀態St時依然未完成全部加工工序的工件數,動作空間將隨著工件工序的不斷完工而減小。強化學習通過選擇合適的工序將其排入生產計劃表,其主要由隨后動作選擇的策略網絡再根據ε-貪心算法,以一定概率ε從動作集合中隨機選擇動作,以1-ε概率選擇獎勵值最大的動作。
本算法的目標是優化生產排程計劃,使得案例中所有的工件最長完工時間(makespan)最小化。從生產排程計劃來看,想要更短完工時間,需要提高機器設備的利用率,縮短機器的空閑等待時間,強化學習在選取加工工序時,應趨向于選擇加工時間更長的工序,同時讓最長完工時間更短。本研究中將獎勵值定義為t時刻狀態St下執行工序后的最長完工時間與執行此工序前的t-1 時刻狀態St-1下的最長完工時的差值的負值,獎勵值
譬如當執行工序后,此時最長完工時間等于未執行工序前案例的最長完工時間時,獎勵值則為0,其余情況下均為負值。此外需要說明的是獎勵值是從Plant Simulation仿真環境中獲取的。
為表明Plant Simulation虛擬仿真與深度強化學習集成優化算法的性能,選取經典的JSP 算例之一Taillard算例參與算法試驗,包括ta10、ta20、ta30、ta40共4 種案例[15]。并與經典優先調度規則最短加工時間(Shortest Processing Time,SPT)、深度Q 網絡(Deep Q-network,DQN)與遺傳算法(Genetic Algorithm,GA)進行對比實驗。在訓練開始前,需設置實驗的案例工件數、機器數以及強化學習網絡初始參數。本研究中的PSDRL算法的訓練參數如下:訓練次數2 000 次、網絡層數3、輸入維度2、輸出維度32、學習率2 ×10-5、ε取0.2。每個算法對于每個案例獨立計算10次makespan并取平均值記為Aavg,同時運行時間記為tavg。實驗結果見表1,其中:n為案例的工件數,m為案例的機器數,Cb為案例的已知最優解。

表1 實驗結果對比
由表1 可見,虛擬仿真與深度強化學習集成優化方法綜合來說優于對比算法。PSDRL 計算的makespan雖然無法到達案例的最優值,但是平均相差在30%左右,且高于其他的對比算法,是可用于車間的生產排程。同時該算法還具有運行速度極快,其計算速度遠遠高于GA 算法,且優于SPT 與DQN 算法,這讓PSDRL具有快速應對動態事件的性能。
本文提出一種求解作業車間調度問題的基于Plant Simulation的深度強化學習算法。該算法通過圖神經網絡提取車間狀態析取圖的特征,以虛擬仿真平臺搭建模擬車間,實現強化學習算法與虛擬仿真環境之間的交互,獲取動作獎勵值來更新動作選擇策略網絡與狀態評價網絡的參數,不斷優化智能體的選擇策略。通過對4 個經典算例的求解,說明了PSDRL 算法的有效性。可基于Plant Simulation構建虛擬仿真平臺為智能制造工程或工業工程等專業的實驗教學提供與時俱進的教學手段,激發學生的學習興趣,并對提高實踐教學質量起到了積極作用。