




















摘要:針對車間峰值功率受限約束下的柔性作業車間調度面臨的作業周期增加、機器負荷增大的問題,建立以最小化最大完工時間和最小化機器最大負載為優化目標、考慮車間峰值功率約束的柔性作業車間調度問題(PPCFJSP)模型。為更好地調度決策,首先將該問題轉化為馬爾可夫決策過程,基于此設計了一個結合離線訓練與在線調度的用于求解PPCFJSP的調度框架。然后設計了一種基于優先級經驗重放的雙重決斗深度Q網絡(D3QNPER)算法,并設計了一種引入噪聲的ε-貪婪遞減策略,提高了算法收斂速度,進一步提高了求解能力和求解結果的穩定性。最后開展實驗與算法對比研究,驗證了模型和算法的有效性。
關鍵詞:柔性作業車間調度;馬爾可夫決策過程;深度強化學習;峰值功率受限
中圖分類號:TH165;TP18
Research on Flexible Job-shop Scheduling Considering Constraints of Peak Power Constrained
LI Yibing1,2 CAO Yan1 GUO Jun1,2* WANG Lei1,2 LI Xixing3 SUN Libo4
1.School of Mechanical and Electronic Engineering,Wuhan University of Technology,Wuhan,430070
2.Hubei Key Laboratory of Digital Manufacturing,Wuhan University of Technology,Wuhan,430070
3.School of Mechanical Engineering,Hubei University of Technology,Wuhan,430068
4.Tianjin Cement Industry Design amp; Research Institute Co.,Ltd.,Tianjin,300400
Abstract: Peak power constrained flexible job shop scheduling problem(PPCFJSP) model was established to address the challenges of increased work cycles and increased machine load in flexible job shop scheduling under the constraints of peak power in the workshops. The optimization objectives were to minimize the maximum completion time and the maximum machine loads, taking into account the constraints of peak power in the workshops. For better scheduling decisions, firstly, the problem was transformed into a Markov decision process, then, a scheduling framework combining offline training and online scheduling was designed for solving PPCFJSP. Secondly, a double dueling deep q-network based on priority experience replay(D3QNPER) algorithm was designed based on priority experience replay, and a ε- greedy descent strategy introducing noise was designed to improve the convergence speed of the algorithm, further enhance the solving ability and stability of the solution results. Finally, experimental and algorithmic comparative studies were conducted to verify the effectiveness of the model and algorithm.
Key words: flexible job shop scheduling; Markov decision process; deep reinforcement learning; peak power constrained
0 引言
在當今全球氣候變化和環境保護的背景下,“雙碳”戰略已成為國家發展戰略的重要組成部分。隨著“雙碳”戰略的深入實施,各地區開始逐步推行“雙控”政策,即對能耗總量和能耗強度進行雙重控制,以實現節能降耗和減排目標。這些政策措施對高耗能行業產生了深遠影響,近年我國多地發布迎峰度夏冬有序用電指導方案,限電措施也從化工、冶金行業轉向全體商業、工業,限電限產已成為一些地區常見的現象。企業在面臨停電限荷的情況下,如何優化生產調度以應對突發的電力供應問題,成為企業管理者必須面對的新問題。管理者需要快速作出調整生產計劃的決策,這不僅要求調度決策能夠迅速響應變化,還需要對生產過程有深入的理解和預測。同時,停電導致的作業周期增加問題也不容忽視。由于電力供應不穩定,企業可能不得不延長某些產品的生產周期,這直接影響到交貨期和客戶滿意度。此外,由于用電功率限制,車間中全部機器無法同時作業,導致個別機器的負荷增大,會導致機器過度磨損甚至故障,增加了維護成本和生產風險,故設計一種高效、穩定、泛化能力強的車間調度方法具有緊迫性和現實意義。
隨著機器學習技術的不斷進步,深度強化學習(deep reinforcement learning,DRL)將深度學習的表征學習能力與強化學習的決策求解能力相結合,使得強化學習技術逐漸變得實用化。為了更好地作出決策,DRL算法被應用在多種組合優化問題的求解中,并在車間調度領域展現出色的性能[1-2],而且DRL彌補了整數規劃、基于規則和元啟發式方法無法利用歷史學習經驗預測調度決策的不足。在處理決策響應及預測問題和完工時間與機器負荷平衡問題上,黎聲益等[3]提出了一種面向設備負荷穩定的智能車間調度方法,利用Double DQN解決半導體車間動態事件下設備負荷的穩定調度。賀俊杰等[4]以加權完工時間和為目標,提出了一種基于長短期記憶近端策略優化(proximal policy optimization with long short-term memory, LSTM-PPO)強化學習的在線調度方法,通過設計融合LSTM的智能體記錄車間的歷史狀態變化和調度策略,實現了智能體根據狀態信息進行在線調度。LIU等[5]和LI等[6]分別提出了基于深度強化學習的動態柔性車間調度方法,用于處理不確定性和限制資源的情況,取得了良好的性能。WU等[7]采用深度強化學習方法解決了過程規劃中的動態加工資源調度問題,通過蒙特卡羅方法和深度學習算法評估和改進了過程策略。LEE等[8]和HE等[9]提出了基于多智能體強化學習的紡織制造和半導體制造過程優化方法,通過引入深度Q網絡和多智能體學習實現了多目標優化。郭具濤等[10]提出了一種基于復合規則和強化學習的調度方法用于求解混流裝配線的平衡與排序問題,實現了復合規則權值參數的調控優化。劉亞輝等[11]解決了航天結構件生產過程中柔性作業車間面臨的動態調度問題,提出了感知認知雙系統驅動的雙環深度Q網絡方法,通過感知和認知系統提高了調度決策對知識圖譜的利用。ZHANG等[12]提出了一種基于多代理圖的深度強化學習的柔性作業車間調度模型(deep reinforcement learning with multi-agent graphs,DeepMAG),通過將不同的智能體關聯到每臺機器和作業,將DRL與多智能體強化學習(multi-agent reinforcement learning, MARL)集成在一起共同作用完成決策。GUI等[13]針對動態柔性車間調度問題,提出了一種具有復合調度動作的馬爾可夫決策過程,設計了由單個調度規則和連續權重變量聚合的復合調度動作,以提供連續的規則空間和單一調度規則權重選擇。ZHANG等[14]針對機器加工時間不確定的動態柔性作業車間調度問題,采用近端策略優化算法對模型進行求解,使用處理信息矩陣作為網絡輸入,通過圖神經網絡將一些高級狀態嵌入車間中,使得智能體能夠學習環境的完整狀態。由此可見,DRL算法在不同領域的調度問題中得到了廣泛應用,展現了出色的性能,使得歷史學習經驗得到充分利用,應用DRL的車間調度領域也在不斷擴大。
近年來,越來越多的研究人員也將DRL用于處理考慮能耗約束的柔性作業車間調度。例如,何彥等[15]針對車間調度中柔性工藝路線對調度能耗的影響特性,使用改進的Q學習算法求解節能調度模型并得到Pareto解。DU等[16]設計了12個狀態特征和7個動作來描述調度過程中的特征,使用DQN算法對具有起重機運輸和安裝時間的柔性作業車間調度問題(multiobjective FJSP with crane transportation and setup times,FJSP-CS)進行了有效求解,對完工時間和能耗進行了同時優化。NAIMI等[17]提出了一種結合能量和生產率目標的機器故障環境下柔性作業車間問題的Q學習重調度方法,使得系統能夠對意外事件作出快速反應,實現了對制造跨度和能耗變化的同步優化。LI等[18]在求解具有2型模糊處理時間的FJSP(energy-efficient FJSP with type-2 processing time, ET2FJSP)時,為了更好地模擬綠色柔性車間調度實際生產,設計了一種基于學習的參考向量模因算法(learning-based reference vector memetic algorithm, LRVMA),實現了對時間約束的不確定性預測。
當前,針對具有能耗約束的柔性作業調度問題,相關研究多將總能耗或總成本作為目標函數,這樣可以得到總能耗或總成本與完工時間的“最優前沿解”。然而,在當前迎峰度夏冬有序用電各類管理措施中一般以用電負荷(即總功率)來對能耗進行描述。一旦執行限電要求,如果仍以此前研究中的總能耗作為約束,便無法應對峰值功率受限的情形,會導致車間功率峰值居高不下、執行限電要求不力,企業面臨更大損失,因此,對于考慮峰值功率約束的生產調度問題,還需要進一步研究和關注。為了在峰值功率約束條件下優化生產效率,提高決策響應能力,本文提出了一種考慮峰值功率受限的柔性作業車間調度問題(peak power constrained flexible job shop scheduling problem,PPCFJSP)模型,主要研究內容包括:①建立了一個基于馬爾可夫決策過程的符合當前產業環境需求的峰值功率受限柔性車間調度問題模型,設計了一個用于求解PPCFJSP的DRL調度框架。②設計了一種結合離線訓練與在線調度的基于優先級經驗重放的雙重決斗深度Q網絡(double dueling deep q-network based on priority experience replay,D3QNPER)算法,用來求解PPCFJSP模型。同時,設計了一種引入噪聲的ε-貪婪遞減策略,提高了算法收斂速度,進一步提高了求解能力和求解結果的穩定性。③進行仿真實驗分析,與不同調度規則和深度強化學習算法進行對比,用實驗結果來證明本文算法的有效性。
1 問題描述及數學模型
本文提出的PPCFJSP模型主要研究n個工件在設有用電負荷上限的車間m臺機器上加工,每個工件均有多道工序,同一工件的各道工序的先后關系不能發生改變。同時,還需要滿足以下約束:①某一時刻一個工件只能有一道工序被加工;②工件的任一工序在同一時刻只能被一臺機器加工;③車間存在峰值功率限制,在任一時刻運行設備疊加功率不能超過峰值功率限制;④任一工件的工序在加工過程中不能被中斷;⑤認為車間中各機器的加工功率不隨外部條件變化。
由于加工所需的最大完工時間和機器負載情況均會隨機器的選擇而變化,同時考慮到車間設有用電峰值功率上限,還會導致車間中個別功率小的機器負載情況加重,影響機器使用壽命,故本文以考慮車間功率峰值約束時最小化最大完工時間和最小化機器的最大負載為優化目標。本文所使用的符號定義見表1。
本文的優化目標有兩個:一是最小化最大完工時間CT,二是最小化最大機器負載WT,即
CT=min max(Ci)(1)
WT=min maxk∈{1,2,…,m}∑ni=1∑jij=1(CijkXijk)(2)
在不考慮待機功耗且加工過程的功率不變的情況下,最小化最大機器負載可以用機器處于加工狀態的總耗時來表示。本文的輸出結果為兩個優化目標的Pareto前沿上取得最優解的集合。約束條件表示如下:
Sij≥F(i-1)j(igt;1)(3)
Lijt1≠Lijt2→t1≠t2(4)
Pt=∑mk=1PWk·l(i∈1,2,…,n,
j∈1,2,…,ji:(Sijk≤tlt;Fijk))(5)
Pt≤Pu(6)
Fijk-Sijk=Tijk(7)
Ci=maxjk(Fijk)(8)
Sij,Fij≥0(9)
其中,式(3)表示某一時刻一個工件只能有一道工序被加工;式(4)表示工件的任一工序在同一時刻只能被一臺機器加工,Lijt1為t1時刻執行Oij的設備編號, Lijt2為t2時刻執行Oij的設備編號;式(5)表示t時刻的車間峰值功率,l為指示函數;式(6)表示車間峰值功率不能超過限制,且待機功率忽略不計;式(7)表示最大完工時間大于或等于任一工件的末道工序的完工時間;式(8)表示Ci為同一工件的Fijk中最大值;式(9)為非負性約束。
2 求解PPCFJSP問題的DRL調度框架
為了更好地求解PPCFJSP問題,本文構建了基于馬爾可夫決策過程的深度強化學習DRL的調度框架,如圖1所示,主要包含三部分:調度環境層、數據處理層與測試應用層。
在調度環境層,本文將PPCFJSP問題轉化為馬爾可夫決策過程,結合PPCFJSP問題中對峰值功率的解釋,對馬爾可夫決策過程的狀態、動作、獎勵函數進行了設計,包括使用調度特征網絡矩陣表示狀態,使用不同的機器分配策略和工件分配策略組成動作空間,使用三個特征數值來指導獎勵函數。
在數據處理層,本文設計了一種改進的D3QNPER算法用于訓練調度環境中生成的調度數據。該算法融合了雙重深度Q網絡(double deep q-network ,Double DQN)、決斗深度Q網絡(dueling deep q-network ,Dueling DQN)、優先級經驗回放深度Q網絡(prioritized experience replay DQN ,PER DQN)三種深度強化學習算法在數據處理上的優勢,將卷積神經網絡、前饋神經網絡、決斗網絡進行有效結合,在探索和利用策略上設計了一種結合ε-greed和noisy-greed的探索策略。通過調度環境與數據處理的不斷迭代交互,最終得到最優的調度策略。
在測試應用層,對約束和優化目標進行調控,使用調度環境與數據處理交互訓練過程中得到的最優策略代入案例,從而完成對PPCFJSP問題的求解,最終得到滿足約束、符合調度目標的調度結果。
2.1 調度問題的馬爾可夫決策過程轉化
深度強化學習應用于車間調度問題的關鍵和難點是將車間調度問題轉化為馬爾可夫決策過程(markov decision processes,MDP)。MDP 由一組狀態S和操作A組成,針對PPCFJSP的最小化最大完工時間與機器最大負載兩個優化目標,本文設計了以下MDP的狀態空間表示、動作空間和獎勵函數。
2.1.1 狀態空間表示
在狀態空間表示上,依據文獻[19]提出的表述原則,本文將調度過程需要的機器、工序、功率、加工時間等調度特征信息以網絡矩陣的形式作為輸入圖像的通道直接輸入深度神經網絡中訓練。每個通道包含不同的調度特征,使用卷積、池化等操作來捕捉調度問題中的空間局部性和特征關聯性,從而提高模型的表達能力和性能。
本文將作業號編碼為圖像的高度和寬度,從而保留作業之間的空間關系。在作業時間層,第1行第1列數據表示第1個工件的第1道工序,依此類推;在考慮功率限制的調度完成層,第1行第1列數據表示第1個工件的第1道工序是否在峰值功率未超限時進行操作,依此類推;在機器利用率層,第1行第1列數據表示在當前調度時刻第1個工件的第1道工序在作業完成后其使用的加工機器的機器利用率,其值越接近1表示該機器負載越大。以3×3調度為例,其特征狀態與狀態空間的轉化如圖2所示。圖中,圈出部分為考慮功率限制而采取的延時和更換操作,該操作將在動作空間設計中具體說明。
以第4次調度為例,假設在執行第4次調度前已經完成了第1個工件的第1道工序、第2個工件的第1道工序、第3個工件的第1道工序,第4次調度選擇第3個工件的第2道工序進行加工,根據對應索引找到加工機器為1號的機器。因為車間有峰值功率的限制,此時發現不能直接安排生產作業,需要采取一定的措施避免峰值功率超限后再安排生產。為此延時實行1個時間單位,于是得到第4次調度的結束時刻為8。調整后,在考慮功率限制的調度完成層中將第3個工件的第2道工序對應位置設置為1,表示已完成該工序。由于沒有采用更換操作,此時1號機器利用率為加工狀態總用時/機器開機時間,即(3+4)/(3+4+1)=0.875,其他機器的利用率均為0.5。
2.1.2 動作空間設計
相較于常規柔性作業車間調度問題,由于考慮了峰值功率約束,故還需要對動作的合法性進行判斷。一般情況下,認定選定操作執行后會引起車間峰值功率超過上限的操作為非法操作。假設某車間有6臺加工機器,加工機器功率PWk∈{3, 2, 3, 2.4, 1.8, 3},單位為kW,當車間沒有用電負荷約束時,車間各類加工機器的車間峰值功率為15.2 kW且可以同時工作;而當企業收到限電限產通知,如要求企業用電負荷降為原來車間峰值功率的一半(即7.6 kW)時,生產運作安排就要考慮設備的用電負荷,否則極易出現用電負荷超限而導致斷電停產或設備供電不足等問題,例如當車間中已開啟第1、2號機器時,如果再選擇第3號機器,那么就會導致車間峰值功率超限,此時選擇第3號機器進行加工的操作定義為非法操作。為此,本文設計了兩種處理操作來避免非法動作的產生,即延時操作和更換操作。
延時操作,即在選定非法動作后,將該操作延時到最早滿足峰值功率限制的時刻執行,其操作如圖3所示。當執行選定動作后,反饋的調度決策為工件1的第1道工序在機器2上加工,此時由于存在功率限制,導致該動作執行后會使車間峰值功率超限。若沒有可以替換的柔性執行機器,此時便需要采用延時操作來執行,延時至最早可執行操作的時刻,即工件3第1道工序的結束時刻t1。
更換操作,即在選定非法動作后,由于該工序的加工機器具有柔性,可以選擇其他能夠滿足峰值功率限制的機器來執行,其操作如圖4所示。當執行選定動作后,反饋的調度決策為工件3的第2道工序在機器1上加工,此時由于存在功率限制,導致該動作執行后會使車間峰值功率超限。假設此時有可以替換的柔性執行機器3且替換后不會導致車間峰值功率超限,便采用更換操作來執行,更換機器3作為可執行操作的機器。
此外,為更好地求解PPCFJSP問題的調度過程,包括以下5種機器分配策略、18種工件分配規則,與兩種非法動作處理操作共同構成動作空間。其中,18種工件分配策略由文獻[20]提到的16種分配策略和該文獻未提到的與SRM、SRPT相對的LRM、LRPT共同組成。在初始階段,機器分配策略與工件分配策略均為等概率隨機選擇。5種機器分配策略如下:①最小機器負荷優先,優先選擇待機序列中加工時間最少的機器;②最短加工時間優先,優先選擇該工序可選加工機器中加工時間最短的機器;③最少作業數量優先,優先選擇加工作業數量最少的機器;④最小功率優先,優先選擇空閑機器中功率最小的機器;⑤完全隨機分配,即隨機選擇機器。18種工件分配規則見表2。
2.1.3 獎勵設計
因調度目標結果均在全部工序安排完成后才能知曉,如果將調度目標結果直接作為獎勵函數的參數,會導致獎勵函數的反饋變得稀疏,且輸出結果為一組動作的綜合獎勵,無法判斷是否陷入局部最優,因此,需要將調度目標進行合理轉化,使得智能體執行一個動作后,根據當前狀態和執行的動作立即得到獎勵值作為反饋,使得調度過程的每一步都盡可能采取最優策略,從而避免陷入局部最優。為此,額外定義三個變量Ck(t)、Oi(t)和Uk(t):
Uk(t)=(Ck(t))-1∑ni=1∑Oi(t)j=1∑mk=1(CijkXijk)(10)
Ja=1n∑ni=1Oi(t)Ji(11)
Ua=1m∑mk=1Uk(t)(12)
Wa=1mUk(t)Ck(t)(13)
Waa=1m∑mk=1[∑ni=1∑Oi(t)j=1(CijkXijk)-Wa)]2(14)
其中,Ck(t)表示在t時刻機器k上已完成的最后一道工序的完工時間;Oi(t)表示在t時刻工件i已完成的工序數量;Uk(t)表示在t時刻機器k的利用率;式(11)表示在每一動作執行后,該調度時刻下工件的工序平均完成率;式(12)表示在每一動作執行后,該調度時刻下機器的平均利用率;式(13)表示在每一動作執行后,該調度時刻下機器的平均工作負載;式(14)表示在每一動作執行后,該調度時刻下機器工作負載的標準差。
由式(10)~式(12)可以發現,式中的指標均與最大完工時間直接或間接相關,所以最小化最大完工時間可以描述為使得機器利用率、工件完成率盡可能大。由于峰值功率約束直接影響到機器能否被選擇,而選擇延時或更換操作來處理非法操作均大概率會導致等待時間增加,故最小化最大機器負載可以描述為使得工作負載均勻分布在各個機器上的同時機器工作負載的標準差盡可能小。
調度未完成時,每執行一個動作后計算對應的U′a、J′a、W′aa,通過比較前一狀態下的Ua、Ja、Waa進行賦獎勵值(reward)。本文獎勵值的設置參考文獻[19]中的設置方法,在執行一個動作后如果機器平均利用率、工件平均完成率增加的同時機器平均工作負載標準差沒有增加,這種情況說明機器分布更加均勻,這一動作是能夠使得兩個優化目標均減小的動作,故給予一個較大獎勵10;如果機器平均利用率、工件平均完成率增加的同時機器平均工作負載標準差增加,這種情況下對優化最大完工時間是有益的,但不能完全認為是最大機器工作負載的增加導致機器平均工作負載增加或考慮了均勻分布負載但由于該工序加工時間較長導致的機器平均工作負載增加,故給予一個較小的獎勵1;如果機器平均利用率減小,這種情況下不能完全認為是由最大機器工作負載增加導致的機器平均利用率減小或延時操作的存在而導致的機器平均利用率減小,故給予一個較小的懲罰-1。獎勵設計偽代碼如下。
偽代碼1:獎勵設計偽代碼
if 調度過程未完成
if U′a-Uagt;0,J′a-Jagt;0
if W′aa-Waa≤0
reward=10
else
reward=1
else
reward=-1
else
終止調度,reward=-99
end if
2.2 改進的D3QNPER算法設計
D3QNPER算法是在DQN(Deep Q- Network)算法的基礎上發展起來的。由于DQN算法在求解過程中存在積極性偏差、高方差、非靜態目標影響等問題,故在將PPCFJSP問題轉化為MDP問題后,需要進一步對算法進行改進,改進D3QNPER算法的主要內容包括:
1)引入Double DQN算法改善積極性偏差。通過不同網絡解耦動作選擇與評估,使用兩個獨立的神經網絡來分別估計當前狀態下的動作值函數和目標動作值函數。其中一個網絡用于選擇動作,另一個網絡用于評估選擇的動作的價值。這種解耦的方式具體體現為使用θt決定的網絡選擇動作a,再用θ-t決定的網絡計算Q值,這樣的改動可以減少動作價值的高估,從而減小積極性偏差,提高Q-learning算法的穩定性和性能。此時目標網絡的目標函數變為
Yt≡rt+1+γQ^(st+1,argmaxaQ(st+1,a;θt),θ-t)(15)
式中:Yt為目標網絡的目標函數;rt+1為下一動作的獎勵;Q(s,a,θ)為計算Q值的函數。
2)引入Dueling DQN優化網絡結構來緩解神經網絡的高方差問題。將動作值函數分解為狀態值函數和優勢函數。狀態值函數表示在給定狀態下不同動作的平均價值,而優勢函數表示每個動作相對于平均值的優勢。通過Dueling DQN的優化,神經網絡可以更有效地學習狀態的價值和動作的優勢,從而提高了對動作價值的估計效果,提高了算法的性能和效率。此時動作值函數為
Q(s,a;θ,α,β)=V(s;θ,β)+A(s,a;θ,α)-
1|A|∑a′A(s,a′;θ,α)(16)
式中:θ為共享參數;α為優勢函數A的參數;β為狀態值函數V的參數;|A|為動作空間的大小。
3)引入PER DQN設定樣本優先級,減小非靜態目標的影響。通過引入優先級隊列,根據樣本的TD誤差(temporal difference error)來賦予樣本優先級,TD誤差可以被視為樣本的重要性指標。通過優先級采樣,網絡更多地關注那些對于當前參數下預測不準確的樣本,從而提高了訓練的效率和收斂速度。改進后的損失函數為
Li(θi)=E(ωi(Yt-Q(s,a;θi)))2(17)
式中:E為期望值函數;ωi為重要性參數。
D3QNPER算法結合了Double DQN、Dueling DQN和PER DQN算法的優點,進一步提高了學習的效率和穩定性,其算法流程如圖5所示,其中,每個episode表示一次完整調度過程。
4)此外,設計一種引入噪聲的ε-貪婪遞減策略來增加算法的探索性,從而幫助算法更充分地探索環境。為平衡探索和利用,本文綜合noisy-greed和ε-greed兩種探索策略,在訓練前期通過隨機策略和noisy-greed策略提高智能體的探索能力,在訓練后期則更多地考慮利用已知信息中最優的行為。探索和利用策略可以表示為
at=argmax (s,a)"""" P=1-ε2
argmax((s,a)+σε2)P=ε2-ε1
randomP=ε1(18)
ε2=max(εmin,(1-μ2)ε2)(19)
ε1=max(εmin,(1-μ1)ε1)(20)
式中:P為選擇對應策略的概率;random為隨機一個動作a,σ~N(0,1);εmin為遞減策略中最小ε值;μ1、μ2為遞減速率。
對比使用引入噪聲的ε-貪婪遞減策略前后D3QNPER算法的reward值變化(圖6)可以發現,使用該策略改進D3QNPER算法網絡收斂速度和穩定程度明顯提高,改進后的算法獎勵函數曲線明顯優于改進前,結果擁有更高的均值及穩定性。
在訓練階段,本文將描述作業時間、考慮功率限制的調度結果和機器利用率三通道圖像作為深度卷積神經網絡的輸入和輸出。偽代碼2描述了改進D3QNPER算法求解MDP流程。在求解過程中,首先需要對環境進行初始化,包括初始化估計網絡和目標網絡、經驗池和優先級隊列。然后進行多輪訓練。在每一輪訓練中,根據調度方案的初始狀態,在每個時間步中以一定的概率選擇動作。概率通過ε的值來調整。當ε較小時,會盡可能選擇當前Q值函數估計的最優動作;當ε較大時,會更多地進行探索。執行選擇的動作后,觀察下一個狀態并計算獎勵。然后將得到的經驗元組存入經驗池,并計算樣本的優先級。當滿足條件時,從經驗池中采樣一批樣本,根據計算得到的目標值和當前Q值計算TD誤差。然后更新樣本的優先級,并根據累積的權重更新量來執行梯度下降,從而更新神經網絡參數。在每一輪訓練結束后,周期性地更新目標網絡的參數,將當前的Q值函數的參數復制給目標網絡。整個過程循環執行,直到達到預定的訓練次數。最后將訓練好的Q網絡作為輸出結果。
偽代碼2:改進D3QNPER算法求解MDP流程偽代碼
初始化神經網絡Q(s,a;θ)和目標網絡Q^(s,a;θ-)
初始化經驗池D和優先級隊列P
初始化參數,誤差Δ=0,樣本優先級p1=1
對于episode=1∶M
重置調度方案,生成初始化狀態s1
對于t=1∶T
以一定的概率ε選擇動作at
動作at=argmax (s,a)"""" P=1-ε2
argmax((s,a)+σε2)P=ε2-ε1
randomP=ε1
執行動作at,觀察下一個狀態st+1,計算獎勵rt
將(st,at,rt,st+1)存入經驗池D,優先級pt=maxjlt;tpj
如果k能夠被t整除(k為最小批量)
對于i=1∶k
從D中采樣
令yi=ri
當前步數調度結束
ri+γQ^(si+1,argmaxa(Q(si+1,
a;θ)),θ-)其他
計算當前Q值:Qcur=Q(si,ai;θ)
計算TD誤差:δ=(yi-Qcur)2
更新優先級:pi←δ
累積權重更新量Δ←Δ+wiδθQ(si,ai)
執行梯度下降更新神經網絡參數:
θ←θ+ηΔ (η為步長)
Δ=0
s=s′
每隔C步更新Q^=Q
返回Q網絡
2.3 基于改進D3QNPER算法的調度訓練過程
在應用改進D3QNPER算法進行PPCFJSP問題的MDP求解訓練時,需要對動作進行合法性判斷,即在完成機器分配工件分配后,檢查調度環境中峰值功率是否超過設定上限,如果超過功率上限則需要執行更換或延時操作,此后再循環此操作直至所有工序都已安排完畢;如果沒有超限則認為此動作合法,將狀態中對應位置置為1。
在調度任務分配流程的基礎上,基于改進D3QNPER算法的調度過程可以分為訓練、算法、測試三個層面。首先應用本文設計的調度框架將車間的狀態、任務的特征、資源的可用性等信息傳遞到訓練層構成訓練和驗證過程使用的數據集。然后將訓練集用于訓練改進D3QNPER網絡,驗證集用于調整網絡的超參數和監控訓練進度,期間重復算法訓練流程,進一步優化調度策略。最后在訓練完成后,使用測試集對訓練得到的調度策略進行評估和驗證。改進D3QNPER求解PPCFJSP問題的過程如圖7所示。
3 實驗設計與結果分析
為驗證D3QNPER算法在求解PPCFJSP問題時的優越性,本文結合Benchmark標準算例,為其中Mk01~Mk15這15組擁有不同工件數、工序數、機器數的柔性作業車間調度問題標準測試集引入機器的加工功率集(表3),此時生成的測試集規模和參數見表4。
對得到的新數據集DMk01-DMk15進行等權重實驗。實驗程序在Windows 11 64位的個人計算機(CPU:AMD R7-6800H、內存:16 GB)上運行。語言環境基于Python 3.8.16,問題環境基于OpenAIGym,深度網絡基于Torch 2.1.0和Numpy 1.24.1編寫。
3.1 改進D3QNPER算法與單一調度規則對比
在實驗中,依據我國各地迎峰度夏冬負荷管理方案的相關要求,本文將企業生產車間最大功率限制為全部加工機器功率總和的一半。為了便于比較本文方法與單一調度規則的優劣,以等權重對最大完工時間和機器最大負載兩個指標的加權值作為評估值,選擇動作空間中35種基于規則的調度方法與改進的D3QNPER方法進行對比,再將改進的D3QNPER方法與和單一方式DQN優化方法進行對比,在全隨機機器分配策略下為獨立運行20次的最優結果,見表5。可以發現,改進D3QNPER與任意調度規則相比較,均可得到較好結果。
3.2 改進D3QNPER算法與優化DQN對比
首先使用等權重評估值對算法效果進行對比。表6表明,相同的MDP下,單一優化DQN算法在各算例的訓練測試結果一般優于單一調度規則方法,但也存在樣本數據規模較大時訓練結果劣于單一調度規則方法,而本文設計的改進D3QNPER算法在每個算例下均優于單一調度規則方法且表現最優。
為了更詳細地比較各DQN優化方法差異性與本文設計算法的優越性,以五個不同規模算例DMK03、DMK07、DMK10、DMK13、DMK15為例,以評估值作為指標可以得到訓練迭代測試結果變化,如圖8所示。可以觀察到,改進D3QNPER算法的收斂速度更快,輸出結果更穩定,其求解性能優于單一DQN及DQN改進算法。
同時,依據Pareto最優理論將所得數據轉化為二維散點,可以得到三個算例的散點圖以及Pareto前沿,如圖9所示。可以發現使用改進D3QNPER算法得到的結果分布明顯更加靠近由各算法Pareto前沿組成的各測試算例真實的Pareto前沿,離散程度更低,與前文以評估值作為指標得到的訓練迭代測試結果變化一致,說明改進的D3QNPER算法得到的Pareto解更優,更能滿足本文的優化目標。
對比DMK07算例各算法reward變化(圖10)可以觀察到,Double DQN算法比DQN算法結果更具穩定性,數據波動明顯改善,收斂更加快速,但它對噪聲干擾的處理能力較差,因此導致訓練后期出現較大偏差值;Dueling DQN與Double DQN算法效果無較大差別,但它對噪聲干擾的處理明顯優于Double DQN算法;PER DQN算法能夠利用重要的經驗樣本,因而探索空間獲得的收益較DQN算法有明顯提升,但也存在探索能力減小,從而在算例中結果表現不盡如人意;而改進的D3QNPER算法綜合了三者優點,在輸出效果整體上優于其他算法。
4 結語
本文面向車間峰值功率受限這一特定約束,構建了峰值功率受限單約束的柔性作業車間調度問題模型,提出了基于深度強化學習的調度框架,設計了改進的D3QNPER算法求解該模型。其中包括設計了兩個用于應對峰值功率超限的調度策略,設計了引入噪聲的ε貪婪遞減策略來提高算法的探索和利用能力。通過對比引入噪聲的ε貪婪遞減策略改進前后的回報值可以發現,改進后的方法收斂更快、回報值更高。同時,使用帶有峰值功率約束的Benchmark標準算例的實驗結果表明,改進D3QNPER算法在求解PPCFJSP問題時,其求解能力優于單一調度規則方法和單一DQN優化方法。
本文方法為求解峰值功率受限的柔性作業車間調度雙目標優化問題提供了有效解決方案。在實際生產中,生產調度往往需要面臨更為復雜的調度目標和條件約束。后續研究可以進一步考慮成本、排放等經濟或綠色指標或者其他條件約束等,或者探索動態環境下柔性作業車間調度問題模型的算法設計與改進策略等。
參考文獻:
[1] 李凱文, 張濤, 王銳, 等. 基于深度強化學習的組合優化研究進展[J]. 自動化學報, 2021, 47(11):2521-2537.
LI Kaiwen, ZHANG Tao, WANG Rui, et al. Research Reviews of Combinatorial Optimization Methods Based on Deep Reinforcement Learning[J]. Acta Automatica Sinica, 2021, 47(11):2521-2537.
[2] 李穎俐, 李新宇, 高亮. 混合流水車間調度問題研究綜述[J]. 中國機械工程, 2020, 31(23):2798-2813.
LI Yingli, LI Xinyu, GAO Liang. Review on Hybrid Flow Shop Scheduling Problems[J]. China Mechanical Engineering, 2020, 31(23):2798-2813.
[3] 黎聲益, 馬玉敏, 劉鵑. 基于雙深度Q學習網絡的面向設備負荷穩定的智能車間調度方法[J]. 計算機集成制造系統, 2023, 29(1):91-99.
LI Shengyi, MA Yumin, LIU Juan. Smart Shop Floor Scheduling Method for Equipment Load Stabilization Based on Double Deep Q-learning Network[J]. Computer Integrated Manufacturing Systems, 2023, 29(1):91-99.
[4] 賀俊杰, 張潔, 張朋, 等. 基于長短期記憶近端策略優化強化學習的等效并行機在線調度方法[J]. 中國機械工程, 2022, 33(3):329-338.
HE Junjie, ZHANG Jie, ZHANG Peng, et al. Related Parallel Machine Online Scheduling Method Based on LSTM-PPO Reinforcement Learning[J]. China Mechanical Engineering, 2022, 33(3):329-338.
[5] LIU Renke, PIPLANI R, TORO C. Deep Reinforcement Learning for Dynamic Scheduling of a Flexible Job Shop[J]. International Journal of Production Research, 2022, 60(13):4049-4069.
[6] LI Yuxin, GU Wenbin, YUAN Minghai, et al. Real-time Data-driven Dynamic Scheduling for Flexible Job Shop with Insufficient Transportation Resources Using Hybrid Deep Q Network[J]. Robotics and Computer-Integrated Manufacturing, 2022, 74:102283.
[7] WU Wenbo, HUANG Zhengdong, ZENG Jiani, et al. A Fast Decision-making Method for Process Planning with Dynamic Machining Resources via Deep Reinforcement Learning[J]. Journal of Manufacturing Systems, 2021, 58:392-411.
[8] LEE Y H, LEE S. Deep Reinforcement Learning Based Scheduling within Production Plan in Semiconductor Fabrication[J]. Expert Systems with Applications, 2022, 191:116222.
[9] HE Zhenglei, TRAN K P, THOMASSEY S, et al. Multi-objective Optimization of the Textile Manufacturing Process Using Deep-Q-network Based Multi-agent Reinforcement Learning[J]. Journal of Manufacturing Systems, 2022, 62:939-949.
[10] 郭具濤, 呂佑龍, 戴錚, 等. 基于復合規則和強化學習的混流裝配線調度方法[J]. 中國機械工程, 2023, 34(21):2600-2606.
GUO Jutao, LYU Youlong, DAI Zheng, et al. Compound Rules and Reinforcement Learning Based Scheduling Method for Mixed Model Assembly Lines[J]. China Mechanical Engineering, 2023, 34(21):2600-2606.
[11] 劉亞輝, 申興旺, 顧星海, 等. 面向柔性作業車間動態調度的雙系統強化學習方法[J]. 上海交通大學學報, 2022, 56(9):1262-1275.
LIU Yahui, SHEN Xingwang, GU Xinghai, et al. A Dual-system Reinforcement Learning Method for Flexible Job Shop Dynamic Scheduling[J]. Journal of Shanghai Jiao Tong University, 2022, 56(9):1262-1275.
[12] ZHANG Jiadong, HE Zhixiang, CHAN W H, et al. DeepMAG:Deep Reinforcement Learning with Multi-agent Graphs for Flexible Job Shop Scheduling[J]. Knowledge-Based Systems, 2023, 259:110083.
[13] GUI Yong, TANG Dunbing, ZHU Haihua, et al. Dynamic Scheduling for Flexible Job Shop Using a Deep Reinforcement Learning Approach[J]. Computers amp; Industrial Engineering, 2023, 180:109255.
[14] ZHANG Lu, FENG Yi, XIAO Qinge, et al. Deep Reinforcement Learning for Dynamic Flexible Job Shop Scheduling Problem Considering Variable Processing Times[J]. Journal of Manufacturing Systems, 2023, 71:257-273.
[15] 何彥, 王樂祥, 李育鋒, 等. 一種面向機械車間柔性工藝路線的加工任務節能調度方法[J]. 機械工程學報, 2016, 52(19):168-179.
HE Yan, WANG Lexiang, LI Yufeng, et al. A Scheduling Method for Reducing Energy Consumption of Machining Job Shops Considering the Flexible Process Plan[J]. Journal of Mechanical Engineering, 2016, 52(19):168-179.
[16] DU Yu, LI Junqing, LI Chengdong, et al. A Reinforcement Learning Approach for Flexible Job Shop Scheduling Problem with Crane Transportation and Setup Times[J]. IEEE Transactions on Neural Networks and Learning Systems, 2024, 35(4):5695-5709.
[17] NAIMI R, NOUIRI M, CARDIN O. A Q-learning Rescheduling Approach to the Flexible Job Shop Problem Combining Energy and Productivity Objectives[J]. Sustainability, 2021, 13(23):13016.
[18] LI Rui, GONG Wenyin, LU Chao, et al. A Learning-based Memetic Algorithm for Energy-efficient Flexible Job-shop Scheduling with Type-2 Fuzzy Processing Time[J]. IEEE Transactions on Evolutionary Computation, 2023, 27(3):610-620.
[19] 張凱, 畢利, 焦小剛. 集成強化學習算法的柔性作業車間調度問題研究[J]. 中國機械工程, 2023, 34(2):201-207.
ZHANG Kai, BI Li, JIAO Xiaogang. Research on Flexible Job-shop Scheduling Problems with Integrated Reinforcement Learning Algorithm[J]. China Mechanical Engineering, 2023, 34(2):201-207.
[20] 陳睿奇, 黎雯馨, 王傳洋, 等. 基于深度強化學習的工序交互式智能體Job shop調度方法[J]. 機械工程學報, 2023, 59(12):78-88.
CHEN Ruiqi, LI Wenxin, WANG Chuanyang, et al. Interactive Operation Agent Scheduling Method for Job Shop Based on Deep Reinforcement Learning[J]. Journal of Mechanical Engineering, 2023, 59(12):78-88.
(編輯 陳 勇)
作者簡介:李益兵,男,1978年生,教授。研究方向為車間調度與優化等,發表論文50余篇。E-mail:ahlyb@whut.edu.cn。
郭 鈞*(通信作者),男,1982年生,副教授。研究方向為制造系統決策與優化,發表論文20余篇。E-mail:Junguo@whut.edu.cn。
本文引用格式:李益兵,曹巖,郭鈞,等.考慮峰值功率受限約束的柔性作業車間調度研究[J]. 中國機械工程,2025,36(2):280-293.
LI Yibing, CAO Yan, GUO Jun, et al. Research on Flexible Job-shop Scheduling Considering Constraints of Peak Power Constrained[J]. China Mechanical Engineering, 2025, 36(2):280-293.
基金項目:國家自然科學基金(52305552,52375510)