童曉薇,劉艷斌
(1.福建船政交通職業(yè)學院 機械與智能制造學院,福建 福州 350007;2.福州大學 福建省高校測試中心,福建 福州 350116)
云制造是一種基于云計算技術提供網(wǎng)絡化、低成本的大規(guī)模、個性化網(wǎng)絡協(xié)同制造的服務模式[1]。自2010年云制造技術提出以來[2],受益于云制造基礎設施逐步完善,大規(guī)模定制成為重要的生產(chǎn)模式[3-4]。在大規(guī)模定制環(huán)境下,隨著可配置產(chǎn)品單元增強,基于多目標優(yōu)化的產(chǎn)品配置方法逐步被引入。袁際軍等[5]通過對多目標混合整數(shù)規(guī)劃模型求解,快速獲得了最優(yōu)產(chǎn)品配置推薦方案。朱佳棟等[6]通過改進設計交互式遺傳算法,實現(xiàn)了多功能液壓千斤頂?shù)呐渲迷O計優(yōu)化。雷成名等[7]以產(chǎn)品配置成本、碳排放量和產(chǎn)品可靠度為優(yōu)化目標,建立了多目標優(yōu)化模型。
在云制造環(huán)境下,各類軟硬件故障、材料缺失、訂單調(diào)整、優(yōu)先級變更、需求變化等動態(tài)因素更為突出,產(chǎn)品配置面臨更加復雜的環(huán)境[8-9]。因此,本文針對云制造環(huán)境的動態(tài)變化性,提出一種基于深度強化學習的產(chǎn)品優(yōu)化配置方法,系統(tǒng)地分析產(chǎn)品配置建模及優(yōu)化關鍵技術點,旨在為云制造環(huán)境下的大規(guī)模產(chǎn)品定制實施提供一種新思路。
基于云制造服務的產(chǎn)品配置,需要將產(chǎn)品定制需求層次化地分解為部件、零件、加工工序,形成一系列粒度適合、便于協(xié)同的制造任務,構成以有向圖、無環(huán)圖描述的制造任務流程。根據(jù)制造任務流程,對照云制造平臺的服務標準選擇對應的候選服務集合,從中優(yōu)選制造服務實例,將產(chǎn)品制造需求配置為云制造服務實例集,完成云制造環(huán)境下的產(chǎn)品配置?;谠浦圃旆盏漠a(chǎn)品配置過程如圖1所示。
圖1 基于云制造服務的產(chǎn)品配置過程
云制造服務的生產(chǎn)價格、物流成本、交付時間、服務評價等與產(chǎn)品配置息息相關的指標經(jīng)常發(fā)生變化,服務提供商的加入和退出、制造服務的注冊與注銷、制造服務承載力變動、制造成本變動等因素都加劇了的制造過程的不確定性。為實現(xiàn)動態(tài)復雜云制造環(huán)境下制造服務的優(yōu)選及有效調(diào)度,引入產(chǎn)品配置全過程服務質(zhì)量(Global Quality of Service,GQoS)指標,以GQoS的最大化為目標從云制造平臺匹配的候選服務集中篩選出最優(yōu)的云制造服務實例,并對云制造產(chǎn)品配置活動進行合理的限定與假設。從需求提出到完成產(chǎn)品配置需要經(jīng)歷任務求解、候選制造服務匹配、最優(yōu)制造服務選擇3個階段。本文假定任務已經(jīng)求解完畢并,容易獲得對應的候選服務,集中討論最優(yōu)制造服務選擇問題。產(chǎn)品配置步驟通常包括串行、并行及其組合。為簡化問題,本文以串行步驟為典型過程進行建模與優(yōu)化求解,但主要結論仍適用于組合流程。
由于不同的配置步驟候選制造服務的加工時間、成本、質(zhì)量屬性分值不同,因此需要先進行歸一化處理。根據(jù)產(chǎn)品配置目標“時間短”“成本低”“服務評價高”,歸一化處理時對加工時間、物流配送時間、加工成本、物流配送成本取負值。歸一化處理過程為:
(1)
(2)
(3)
(4)
(5)
式(1)~(5)中,j為配置步驟,j=1,2,…,n;tj和cj分別為配置步驟j所選擇的制造服務的加工時間和加工成本;rtj,j+1和rcj,j+1分別為步驟j到下一步驟j+1的物流配送時間和物流配送成本,實際中,步驟j到下一步驟j+1的物流不總是發(fā)生,如2個步驟采用同一供應商、在同一地理位置或者不存在資源依賴關系,則對應的rtj,j+1與rcj,j+1值為0;qj為服務質(zhì)量評價;utj為歸一化加工時間;urtj,j+1為歸一化物流配送時間;ucj為歸一化加工成本;urcj,j+1為歸一化物流配送成本;uqj為歸一化服務質(zhì)量評價。
構建云制造環(huán)境下產(chǎn)品配置模型的目標函數(shù)為maxGQoS,即最大化產(chǎn)品配置全過程服務質(zhì)量。其中,GQoS由總配置步驟n的時間、成本、服務質(zhì)量評價的加權和組成,表達式為:
(6)
式(6)中,Wt、Wc、Wq分別為時間屬性、成本屬性、服務質(zhì)量評價屬性在產(chǎn)品配置優(yōu)化目標中的權重,且滿足Wt+Wc+Wq=1。
約束條件為:
(7)
sj=rsj,?rsj∈CR
(8)
式(7)表示產(chǎn)品的制造時間(包括所有步驟的加工時間和物流時間)不能超過客戶對產(chǎn)品交付時間的最長期限DT;式(8)表示用戶可要求特定配置步驟sj采用指定云制造服務;CR為用戶指定選擇的云制造服務的集合。
云制造產(chǎn)品配置強化學習模型的整體框架如圖2所示。
圖2 云制造產(chǎn)品配置強化學習模型的整體框架
云制造產(chǎn)品配置問題主要涉及產(chǎn)品配置各步驟的服務選擇決策,每一個步驟需要形成確定的服務選擇策略,是典型的離散動作空間問題。本文采用基于價值方法的深度強化學習路線,使用主流的深度Q網(wǎng)絡算法作為產(chǎn)品配置多目標優(yōu)化決策算法。在任意的一個時間步,智能體首先觀測到當前環(huán)境的狀態(tài)St,以及當前對應的獎勵值Rt。基于這些狀態(tài)和獎勵信息,智能體決定如何行動,而后執(zhí)行動作At,環(huán)境狀態(tài)轉移到St+1。
1)智能體:強化學習通過智能體與環(huán)境的不斷互動來迭代學習,不需要預先給出監(jiān)督數(shù)據(jù)或?qū)Νh(huán)境完全建模,智能體是云制造產(chǎn)品配置策略動作的執(zhí)行程序。
4)獎勵:強化學習的目的就是教會智能體如何很好地與環(huán)境交互,從而在預先定義好的評價指標下獲得好的成績。為了讓智能體從環(huán)境中獲得反饋,需要在智能體執(zhí)行動作后在每一個時間步上給予一個立即獎勵Rt。在一些情況下,深度強化學習的獎勵函數(shù)只取決于當前的狀態(tài),即Rt=R(St)。云制造配置場景中,在判斷更關注成本還是時間、需要盡量選擇同一個服務提供商還是局部分散時,難以根據(jù)單個配置環(huán)節(jié)的環(huán)境狀態(tài)得到長期最優(yōu)決策。因此,本文將獎勵設計為基于前序整體配置過程得到的累積獎勵,單個環(huán)節(jié)的獎勵采用1.2節(jié)所述公式(6)計算。
結合云制造環(huán)境下產(chǎn)品配置建模,建立DQN網(wǎng)絡結構如圖3所示。
圖3 DQN網(wǎng)絡結構
深度Q網(wǎng)絡(Deep Q-network,DQN)結合了Q-Learning和深度學習解決近似學習狀態(tài)-動作值函數(shù)方法的收斂不穩(wěn)定性問題,主要思想是用深度神經(jīng)網(wǎng)絡實現(xiàn)對狀態(tài)-動作值函數(shù)的非線性擬合,即用Q值函數(shù)Q(S,Ai;θ)替代Q值表。DQN用一個經(jīng)驗回放池D來解決連續(xù)樣本間的相關性問題,對智能體與環(huán)境交互取得的經(jīng)驗數(shù)據(jù)進行離線更新。智能體采用ε-greedy策略進行動作選擇,產(chǎn)生經(jīng)驗數(shù)據(jù)e=(St,At,Rt,St+1)存到D中,然后從D中隨機采集小批量樣本用于網(wǎng)絡訓練,即Q-Learning更新。相較于擬合Q值迭代,經(jīng)驗回放機制可以使用新舊經(jīng)驗來學習Q函數(shù),提高數(shù)據(jù)的使用效率。如果沒有經(jīng)驗回放機制,一個批次中的樣本將會連續(xù)采集,樣本之間高度相關,增加更新的方差,降低DQN的學習效率。
引入目標網(wǎng)絡的機制同樣很關鍵。DQN的神經(jīng)網(wǎng)絡部分是由2個結構相同、參數(shù)不同的網(wǎng)絡組成,即主Q網(wǎng)絡與目標網(wǎng)絡。主Q網(wǎng)絡作為主網(wǎng)絡擁有最新參數(shù),負責輸出當前的狀態(tài)-動作下Q的估計值Q(St,At)。目標網(wǎng)絡是獨立生成Q-Learning目標的網(wǎng)絡,不會即時更新參數(shù),每C步將通過硬更新(直接復制)或軟更新(指數(shù)衰減平均)的方式與主Q網(wǎng)絡同步。由于通過使用舊參數(shù)生成Q-Learning目標,目標值的產(chǎn)生不受最新參數(shù)的影響,避免了過估計的問題,從而大大減少震蕩和發(fā)散的情況?;贒QN的云制造產(chǎn)品配置優(yōu)化算法如下。
1:超參數(shù):經(jīng)驗回放池容量N,獎勵折扣因子γ,目標值網(wǎng)絡更新頻率C,ε-greedy中的。
2:輸入:空經(jīng)驗回放池D,初始化狀態(tài)-動作值函數(shù)Q的參數(shù)θ。
4:for片段= 0,1,2,…,do。
5:初始化環(huán)境并獲取觀測數(shù)據(jù)O0。
6:初始化序列S0={O0}并對序列進行預處理φ0=φ(S0)。
7:fort=0,1,2,…,do。
8:通過概率選擇一個隨機動作At,否則選擇動作At=arg maxaQ(φ(St),a;θ)。
9:執(zhí)行動作At并獲得觀測數(shù)據(jù)Ot+1和獎勵數(shù)據(jù)Rt。
10:如果本局結束,則設置Dt=1,否則Dt=0。
11:設置St+1={St,At,Ot+1}并進行預處理φt+1=φ(St+1)。
12:存儲狀態(tài)轉移數(shù)據(jù)(φt,At,Rt,Dt,φt+1)到D中。
13:從D中隨機采樣小批量狀態(tài)轉移數(shù)據(jù)(φt,At,Rt,Dt,φ't)。
15:在Yi-Q(φi,Ai,θ)上對θ執(zhí)行梯度下降步驟。
17:如果片段結束,則跳出循環(huán)。
18:end for
19:end for
采用文獻[10]和[11]構建的云制造平臺在工程機械行業(yè)試點運行期間的數(shù)據(jù)集進行模型訓練、驗證。數(shù)據(jù)集涉及某型號輪式裝載機的產(chǎn)品配置步驟及其對應的云制造服務,具體包括4家制造服務供應商、1 087個云制造服務,預定義了輪式裝載機鏟斗、駕駛室等18個產(chǎn)品配置流程環(huán)節(jié)。某型號輪式裝載機云制造服務部分數(shù)據(jù)樣例見表1,云制造物流服務部分數(shù)據(jù)樣例見表2。
表1 某型號輪式裝載機云制造服務部分數(shù)據(jù)樣例
表2 云制造物流服務部分數(shù)據(jù)樣例
強化學習算法通過不斷觀測環(huán)境并與之交互獲得知識。實驗構建了基于某輪式裝載機云制造數(shù)據(jù)的仿真模擬器,作為強化學習交互的環(huán)境,針對強化學習算法給出的產(chǎn)品配置動作(選擇特定的云制造服務),基于2.2節(jié)闡述的獎勵函數(shù)進行反饋,同時更新“配置步驟空間”與“制造服務空間”環(huán)境信息。為實現(xiàn)對云制造環(huán)境動態(tài)性的仿真,模擬器實現(xiàn)了隨機的制造服務提供商退出、云制造服務不可用、物流時間超過估計時長等動態(tài)變化,以模擬真實云制造過程中可能出現(xiàn)的供應商撤單、機器故障、物流異常等情況,以提高算法的魯棒性。隨機錯誤的比例設置為約3%,客戶指定的配件(云制造服務)比例設置為約3%,限定制造時間為不超過60天。
服務器設備搭載Intel Xeon E5-2698 V4處理器,64 GB內(nèi)存,NVidia V100 GPU卡;軟件環(huán)境為CentOS 7.5操作系統(tǒng),Python 3.8編程環(huán)境,PyTorch 1.8深度學習框架。模型迭代學習次數(shù)為20 000次,初始學習率為0.000 25,采用自適應矩估計(Adaptive Moment Estimation,ADAM)算法更新網(wǎng)絡參數(shù),采用整流線性單元(Rectified Linear Units,RELU)函數(shù)作為隱藏層激活函數(shù)。模型訓練時,每次從容量為100 000的經(jīng)驗回放池中選擇批次大小為64的數(shù)據(jù)樣本用于智能體學習,每次迭代更新Q值網(wǎng)絡參數(shù),每迭代500次將Q值網(wǎng)絡的參數(shù)復制到目標值網(wǎng)絡,實現(xiàn)目標值網(wǎng)絡參數(shù)更新。獎勵折扣因子設置為0.99,ε-greedy中的設置為1。
根據(jù)文獻[10]和[11]云制造平臺的試運營經(jīng)驗,工程機械行業(yè)客戶對云制造服務的關注點依次為“成本低”“時間短”“服務評價高”,故合理設定對應的優(yōu)化目標Wt、Wc、Wq分別為0.3、0.6和0.1。由于優(yōu)化目標是強化學習過程收斂的主要導向,也可以根據(jù)實驗設定或產(chǎn)業(yè)實際需求做相應調(diào)整、獲得關注點構成不同的模型;實驗采用的獎勵值函數(shù)與1.2節(jié)公式(5)的優(yōu)化目標一致,均為截至目前的產(chǎn)品配置的全局獎勵歸一化值。將Wt、Wc、Wq都歸一化到[0,1]區(qū)間,理論上最優(yōu)全局獎勵為0.1。模型訓練得到損失值變化曲線和獎勵值變化曲線分別如圖4和圖5所示。
圖4 模型訓練損失值變化曲線
圖5 模型訓練獎勵值變化曲線
由圖4可知,DQN算法學習的損失值逐漸下降,當訓練的迭代次數(shù)達到13 000次左右時,損失值基本收斂,意味著深度強化學習的超參數(shù)配置基本合理,算法運行基本正確,能夠獲得所需要的模型。
由圖5可以看出,隨著訓練迭代次數(shù)增加,獎勵值也在不斷增加且逐步穩(wěn)定。這意味著基于深度強化學習DQN算法的云制造產(chǎn)品配置模型的效果在不斷提高。迭代次數(shù)達到10 000次以上時,GQoS全局獎勵值在較小范圍內(nèi)波動,與損失曲線基本一致。模型全局獎勵值最終接近且收斂于理論獎勵值上限0.1,這表明基于DQN的產(chǎn)品配置求解方法可以獲得接近最優(yōu)化的配置目標,也說明了將強化學習方法應用于云制造環(huán)境下的產(chǎn)品配置在總體來看是可行的,達到實驗目的。
以全過程服務質(zhì)量最大化為目標建立了云制造環(huán)境下產(chǎn)品配置模型,將云制造環(huán)境下的產(chǎn)品配置問題建模為強化學習問題,對強化學習的關鍵組件進行了完整表達,設計了基于深度Q學習的求解算法。輪式裝載機產(chǎn)品配置的仿真實驗表明,模型可以獲得接近最優(yōu)化的配置目標,驗證了深度強化學習對云制造環(huán)境下的產(chǎn)品配置優(yōu)化問題的有效性。