王 亮,李昊謙,唐 堂,于 穎
(同濟大學(xué)機械與能源工程學(xué)院,上海 201804)
在深度學(xué)習(xí)、強化學(xué)習(xí)、數(shù)字孿生技術(shù)等先進技術(shù)的支撐下,智能制造產(chǎn)業(yè)獲得了蓬勃的發(fā)展。越來越多的高校新增智能制造工程專業(yè)以培養(yǎng)可滿足新工科需求的創(chuàng)新性人才[1-2]。作業(yè)車間調(diào)度問題(Job-Shop Scheduling Problem,JSP)是根據(jù)生產(chǎn)車間的產(chǎn)品數(shù)據(jù)、加工數(shù)據(jù)、物流信息、生產(chǎn)調(diào)度和資源管理等信息進行整合,使車間可充分利用現(xiàn)有生產(chǎn)資源,合理分配生產(chǎn)工序,減少生產(chǎn)時間,優(yōu)化生產(chǎn)目標(biāo)。作業(yè)車間生產(chǎn)過程的不確定性、復(fù)雜性以及多資源相互協(xié)調(diào)等特點對生產(chǎn)排程優(yōu)化提出了新的挑戰(zhàn),是智能制造中廣泛研究的問題之一。
Plant Simulation作為一款生產(chǎn)系統(tǒng)仿真軟件,可很好地進行生產(chǎn)模擬,輔助排程計劃的制定。國內(nèi)外學(xué)者也對其開展了大量研究。Guo等[3]提出一種基于工序編碼方式在Plant Simulation仿真平臺解決車間作業(yè)排序問題的優(yōu)化設(shè)計方法,并運用傳統(tǒng)的遺傳算法對此類問題進行仿真優(yōu)化。Xiu 等[4]利用Plant Simulation 仿真軟件中的統(tǒng)一建模語言(Unified Modeling Language,UML)映射對作業(yè)車間調(diào)度仿真優(yōu)化系統(tǒng)進行分析,并使用遺傳算法對其模型參數(shù)進行優(yōu)化,得到理想的調(diào)度方案。Tang 等[5]提出一種將Plant Simulation仿真模型嵌入遺傳算法的聯(lián)合求解批量調(diào)度的方法,該方法可縮短生產(chǎn)周期,提高設(shè)備利用率,更加適用于工業(yè)實際問題。Tian 等[6]研究了在Plant Simulation 建立仿真模型的關(guān)鍵技術(shù),利用優(yōu)化模塊中內(nèi)置遺傳算法來優(yōu)化作業(yè)車間調(diào)度,保證決策的科學(xué)性。Hugo 等[7]提出一種DFWA-VNS 算法,結(jié)合Plant Simulation平臺解決JSP 問題。文笑雨等[8]基于Plant Simulation構(gòu)建作業(yè)車間生產(chǎn)的不確定調(diào)度仿真模型,利用遺傳算法對該模型進行求解。實例仿真說明方案能夠有效降低不確定加工時間和隨機機器故障對車間生產(chǎn)調(diào)度的影響。
此外,求解JSP需要有效的方法,比如精確計算、啟發(fā)式算法與強化學(xué)習(xí)算法等。其中強化學(xué)習(xí)有著求解速度快、結(jié)果優(yōu)異且穩(wěn)定的優(yōu)點,吸引了廣大學(xué)者的探討。Thomas等[9]將作業(yè)車間調(diào)度問題轉(zhuǎn)為由智能體處理的順序決策問題并使用各種確定的和隨機的作業(yè)車間調(diào)度基準(zhǔn)問題驗證了方法的有效性。Li 等[10]提出一種基于深度Q 網(wǎng)絡(luò)的深度強化學(xué)習(xí)算法。該方法結(jié)合了深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力與強化學(xué)習(xí)的決策能力,獲得每個時間節(jié)點的最佳調(diào)度規(guī)則。Liu等[11]提出一種策略網(wǎng)絡(luò)和評價網(wǎng)絡(luò)并行訓(xùn)練方法,以簡單的調(diào)度規(guī)劃作為智能體動作,可有效求解基準(zhǔn)JSP問題的靜態(tài)與動態(tài)調(diào)度。Park 等[12]提出一個框架,使用圖神經(jīng)網(wǎng)絡(luò)和強化學(xué)習(xí)來求解作業(yè)車間調(diào)度問題。文獻[13-14]中設(shè)計了一個強化學(xué)習(xí)和仿真相結(jié)合的動態(tài)實時車間作業(yè)排序系統(tǒng)。
本文提出一種基于Plant Simulation的深度強化學(xué)習(xí)(Plant Simulation based Deep Reinforcement Learning,PSDRL)算法,用來求解作業(yè)車間調(diào)度問題,實現(xiàn)對車間生產(chǎn)排程計劃的快速響應(yīng)與優(yōu)化。在近端策略優(yōu)化(Proximal Policy Optimization,PPO)的強化學(xué)習(xí)算法的基礎(chǔ)上,以Plant Simulation 平臺搭建虛擬車間作為強化學(xué)習(xí)環(huán)境,優(yōu)化每個時刻的可行工序選取策略,快速制定一個最小化完工時間的排程計劃。本文旨在通過強化學(xué)習(xí)算法及離散事件虛擬仿真的集成,實現(xiàn)先進技術(shù)的綜合應(yīng)用,以新的實踐教學(xué)方式激發(fā)學(xué)生的學(xué)習(xí)興趣,并提高學(xué)生對智能制造生產(chǎn)與技術(shù)的認識。
作業(yè)車間調(diào)度問題是經(jīng)典的組合優(yōu)化問題,要求給定的一組工件J=1,2,…,n在一組機器M=1,2,…,m上加工完成,滿足以下約束條件:
(1)每個工件在機器上的加工工序確定。
(2)每臺機器在同一時刻只加工一個工件,工件加工時間是固定的且工序一旦開始不能被中斷。
(3)每道工序必須等到其前置工序加工完畢后才能開始加工。
本研究中的PSDRL算法整體框架圖如圖1 所示,包括Plant Simulation仿真平臺、案例信息、評價、動作等要素。策略網(wǎng)絡(luò)每次會去讀取案例的狀態(tài)信息與獎勵值,同時評價網(wǎng)絡(luò)會去評判狀態(tài)的好壞,并將這些信息存儲到記憶庫,以便后續(xù)更新參數(shù)使用。在該算法中智能體需要執(zhí)行完一次完整流程后才會進行參數(shù)更新,每一步得到的獎勵值都是真實觀測到的值,價值函數(shù)不再具有預(yù)測功能。此外為增加算法的魯棒性與泛化性,每次智能體需同時完成多個案例的生產(chǎn)排程計劃,將所有案例的狀態(tài)信息整合后完成一次神經(jīng)網(wǎng)絡(luò)的參數(shù)更新。
圖1 PSDRL訓(xùn)練流程示意圖
PSDRL環(huán)境是依靠Plant Simulation 搭建的,仿真平臺可構(gòu)建一個JSP 案例,以模擬車間的運行情況。Plant Simulation 平臺自帶遺傳算法來優(yōu)化生產(chǎn)排程,但由于其性能與局限性無法滿足復(fù)雜車間排程需求,需引入其他算法以提升車間排程的質(zhì)量與速度。
基于Plant Simulation 的強化學(xué)習(xí)環(huán)境主要由算法-環(huán)境通信部分、邏輯控制區(qū)、機器模型區(qū)與工件信息區(qū)組成。
本文采用套接字(Socket)作為算法與虛擬仿真環(huán)境的通信手段,以Python 的強化學(xué)習(xí)算法作為客戶端,虛擬仿真環(huán)境作為服務(wù)端。要實現(xiàn)服務(wù)端與客戶端之間的通信,需要在虛擬仿真環(huán)境服務(wù)端中打開socket對象的通信開關(guān),如圖2 所示,點擊on 的復(fù)選框,并設(shè)置通信協(xié)議、通信地址及端口。由于socket通信只允許調(diào)用同一個函數(shù),所以可設(shè)計一套標(biāo)識符,實現(xiàn)工件加工信息導(dǎo)入、生產(chǎn)排程計劃導(dǎo)入與獎勵值返回這一套完整運行流程。
圖2 Socket通信對象設(shè)置界面
邏輯控制區(qū)主要功能有:根據(jù)客戶端生成的案例大小自適應(yīng)生成相同規(guī)模的車間機器模型;將工件信息區(qū)的數(shù)據(jù)生成加工信息表;控制整個仿真系統(tǒng)的運行邏輯,保證生產(chǎn)調(diào)度的平穩(wěn)進行。邏輯控制區(qū)如圖3 所示。
圖3 虛擬環(huán)境的邏輯控制區(qū)
機器模型區(qū)如圖4 所示,是仿真運行的載體,其中包含物料生成對象、零件暫存區(qū)、機器設(shè)備、物料輸出區(qū)。機器設(shè)備根據(jù)機器加工順序表,同時依照邏輯控制區(qū)的調(diào)度規(guī)則,以實現(xiàn)模擬車間的生產(chǎn)流程的目的。
圖4 虛擬仿真環(huán)境的車間機器模型區(qū)
工件信息區(qū)如圖5 所示,該區(qū)域使用表格對象分解記錄由算法客戶端傳送過來的等待加工工件信息及相應(yīng)的工藝信息。加工信息包含工件的工序加工順序、加工時長以及對應(yīng)的加工機器序號。工件信息區(qū)在得到客戶端傳來的案例信息后等待邏輯控制區(qū)的初始化加工信息函數(shù)將其變?yōu)榧庸ば畔⒈?,用以仿真環(huán)境的初始化。
圖5 虛擬環(huán)境的工件信息區(qū)
本文采用強化學(xué)習(xí)算法為PPO算法,其為目前效果最好的強化學(xué)習(xí)網(wǎng)絡(luò)構(gòu)型,包含了動作選擇的策略網(wǎng)絡(luò)和狀態(tài)評價的價值網(wǎng)絡(luò),在訓(xùn)練過程中,依據(jù)獎勵值與價值函數(shù)的誤差不斷迭代更新網(wǎng)絡(luò)參數(shù)。包括強化學(xué)習(xí)算法的客戶端讀取案例信息并將信息傳輸給虛擬仿真環(huán)境,仿真環(huán)境生成加工信息表與機器模型。算法客戶端會根據(jù)強化學(xué)習(xí)的調(diào)度策略生成工件生產(chǎn)計劃,并將其發(fā)送給虛擬仿真環(huán)境。虛擬仿真環(huán)境作為強化學(xué)習(xí)中智能體交互環(huán)境的一個重要組成部分,用以驗證動作策略給出的生產(chǎn)排程計劃的有效性并記錄下執(zhí)行每個動作產(chǎn)生的獎勵值,并將其返回給強化學(xué)習(xí)算法,完成一次策略參數(shù)的更新,直到到達最大迭代次數(shù)結(jié)束訓(xùn)練,最終生成一個良好的調(diào)度策略網(wǎng)絡(luò)。可更加快速、穩(wěn)定地得到案例優(yōu)良的調(diào)度方案。
環(huán)境狀態(tài)的定義是強化學(xué)習(xí)算法的基礎(chǔ)。為表達JSP車間的環(huán)境狀態(tài),使用析取圖進行表征。析取圖存儲信息的主要方式是節(jié)點信息與節(jié)點之間的鄰接關(guān)系。
表達節(jié)點信息的節(jié)點特征為
式中:n為工件數(shù);m為機器數(shù);feature 為工序此刻的最長完工時間;mask為該工序是否完成加工。
表達工序節(jié)點間的加工順序的工序鄰接矩陣
式中:(vi,vj)為節(jié)點i與節(jié)點j之間的連線;E為析取圖中邊的集合。如果節(jié)點間具有鄰接關(guān)系則adj相應(yīng)位置置1,否則置0。之后使用圖神經(jīng)網(wǎng)絡(luò)對析取圖中包含的狀態(tài)信息進行特征提取,完成狀態(tài)的預(yù)處理。
強化學(xué)習(xí)智能體的動作集合在本系統(tǒng)中定義為強化學(xué)習(xí)策略網(wǎng)絡(luò)在根據(jù)當(dāng)前車間狀態(tài),判讀出的可進行調(diào)度的工序序號合集??蛇M行調(diào)度的工序是指所有工件待加工工序中的第一個,該集合大小
式中,nmax為狀態(tài)St時依然未完成全部加工工序的工件數(shù),動作空間將隨著工件工序的不斷完工而減小。強化學(xué)習(xí)通過選擇合適的工序?qū)⑵渑湃肷a(chǎn)計劃表,其主要由隨后動作選擇的策略網(wǎng)絡(luò)再根據(jù)ε-貪心算法,以一定概率ε從動作集合中隨機選擇動作,以1-ε概率選擇獎勵值最大的動作。
本算法的目標(biāo)是優(yōu)化生產(chǎn)排程計劃,使得案例中所有的工件最長完工時間(makespan)最小化。從生產(chǎn)排程計劃來看,想要更短完工時間,需要提高機器設(shè)備的利用率,縮短機器的空閑等待時間,強化學(xué)習(xí)在選取加工工序時,應(yīng)趨向于選擇加工時間更長的工序,同時讓最長完工時間更短。本研究中將獎勵值定義為t時刻狀態(tài)St下執(zhí)行工序后的最長完工時間與執(zhí)行此工序前的t-1 時刻狀態(tài)St-1下的最長完工時的差值的負值,獎勵值
譬如當(dāng)執(zhí)行工序后,此時最長完工時間等于未執(zhí)行工序前案例的最長完工時間時,獎勵值則為0,其余情況下均為負值。此外需要說明的是獎勵值是從Plant Simulation仿真環(huán)境中獲取的。
為表明Plant Simulation虛擬仿真與深度強化學(xué)習(xí)集成優(yōu)化算法的性能,選取經(jīng)典的JSP 算例之一Taillard算例參與算法試驗,包括ta10、ta20、ta30、ta40共4 種案例[15]。并與經(jīng)典優(yōu)先調(diào)度規(guī)則最短加工時間(Shortest Processing Time,SPT)、深度Q 網(wǎng)絡(luò)(Deep Q-network,DQN)與遺傳算法(Genetic Algorithm,GA)進行對比實驗。在訓(xùn)練開始前,需設(shè)置實驗的案例工件數(shù)、機器數(shù)以及強化學(xué)習(xí)網(wǎng)絡(luò)初始參數(shù)。本研究中的PSDRL算法的訓(xùn)練參數(shù)如下:訓(xùn)練次數(shù)2 000 次、網(wǎng)絡(luò)層數(shù)3、輸入維度2、輸出維度32、學(xué)習(xí)率2 ×10-5、ε取0.2。每個算法對于每個案例獨立計算10次makespan并取平均值記為Aavg,同時運行時間記為tavg。實驗結(jié)果見表1,其中:n為案例的工件數(shù),m為案例的機器數(shù),Cb為案例的已知最優(yōu)解。
表1 實驗結(jié)果對比
由表1 可見,虛擬仿真與深度強化學(xué)習(xí)集成優(yōu)化方法綜合來說優(yōu)于對比算法。PSDRL 計算的makespan雖然無法到達案例的最優(yōu)值,但是平均相差在30%左右,且高于其他的對比算法,是可用于車間的生產(chǎn)排程。同時該算法還具有運行速度極快,其計算速度遠遠高于GA 算法,且優(yōu)于SPT 與DQN 算法,這讓PSDRL具有快速應(yīng)對動態(tài)事件的性能。
本文提出一種求解作業(yè)車間調(diào)度問題的基于Plant Simulation的深度強化學(xué)習(xí)算法。該算法通過圖神經(jīng)網(wǎng)絡(luò)提取車間狀態(tài)析取圖的特征,以虛擬仿真平臺搭建模擬車間,實現(xiàn)強化學(xué)習(xí)算法與虛擬仿真環(huán)境之間的交互,獲取動作獎勵值來更新動作選擇策略網(wǎng)絡(luò)與狀態(tài)評價網(wǎng)絡(luò)的參數(shù),不斷優(yōu)化智能體的選擇策略。通過對4 個經(jīng)典算例的求解,說明了PSDRL 算法的有效性??苫赑lant Simulation構(gòu)建虛擬仿真平臺為智能制造工程或工業(yè)工程等專業(yè)的實驗教學(xué)提供與時俱進的教學(xué)手段,激發(fā)學(xué)生的學(xué)習(xí)興趣,并對提高實踐教學(xué)質(zhì)量起到了積極作用。