王 彬 唐 昊 戴 飛 譚 琦
(1.合肥工業(yè)大學電氣與自動化工程學院,安徽合肥 230009;2.工業(yè)自動化安徽省工程技術(shù)研究中心,安徽合肥 230009)
3D打印技術(shù)被稱為“具有工業(yè)革命意義的制造技術(shù)”,是制造領(lǐng)域中一項正在飛速發(fā)展的新興制造技術(shù).采用3D打印技術(shù)進行生產(chǎn)的主要流程是:應(yīng)用3D模型設(shè)計軟件設(shè)計出打印件的立體模型,然后通過3D打印設(shè)備,用液化、粉末化、絲化的打印材料逐層堆積“打印”出打印件[1].隨著網(wǎng)絡(luò)技術(shù)與先進制造技術(shù)結(jié)合得越來越緊密,一種通過物聯(lián)網(wǎng)將3D打印設(shè)備接入制造網(wǎng)絡(luò),接收客戶設(shè)計的3D打印件模型進行打印的網(wǎng)絡(luò)化制造系統(tǒng)被提出[2],并在實際生產(chǎn)中開始廣泛應(yīng)用.但現(xiàn)階段3D打印產(chǎn)業(yè)處于發(fā)展階段,設(shè)備資源比較短缺,因此,針對這種打印任務(wù)隨機的3D打印服務(wù)系統(tǒng),如何提高系統(tǒng)的處理率是急需解決的問題.
針對該問題,已有學者為了減少設(shè)備預(yù)熱時間、工作臺調(diào)整時間和打印完成后設(shè)備冷卻時間[3],研究了3D打印批次規(guī)劃問題[4].該問題可歸類為工件尺寸不同的單機批調(diào)度問題,對該問題的相關(guān)研究成果較多.例如,Ikura等人首先提出單機單工件簇的批處理優(yōu)化控制問題[5].Lee等進一步研究了多工件簇的單機批處理優(yōu)化問題[6],且已有學者提出采用微粒群算法和改進蟻群算法可對問題進行求解[7–8].同時根據(jù)各批次加工時間與批中工件的關(guān)系,該類批調(diào)度問題可分為3類,第1類假定各批次加工時間與批中工件無關(guān)[9];第2類假定各批次加工時間取決于批中最大工件[10];第3類則假定各批次的加工時間為批中工件的加工時間之和[11].由于3D打印過程中掃描填充時間與所選批中打印件的總體積成正比,而層間調(diào)整所需時間取決于批中最高打印件的高度,因此本文研究的問題屬于第2類和第3類的結(jié)合.由于打印任務(wù)隨機到達,因此本文研究的問題也屬于在線批調(diào)度優(yōu)化問題[12–14].
上述研究主要是對任務(wù)進行調(diào)度以提高系統(tǒng)的處理率.除了對任務(wù)進行調(diào)度外,還可通過改變服務(wù)率提高系統(tǒng)性能.例如在單站點傳送帶給料生產(chǎn)加工站(conveyor-serviced production station,CSPS)系統(tǒng)的優(yōu)化控制問題中,將服務(wù)率作為系統(tǒng)的一個控制變量,求解系統(tǒng)的最優(yōu)控制策略[15].有學者進一步研究了顧客需求隨機到達和服務(wù)率可動態(tài)實時變化的情況,將系統(tǒng)的最優(yōu)控制問題建成半馬爾科夫決策過程(semi-Markov decision process,SMDP)模型,采用策略迭代算法和Q學習算法求解了系統(tǒng)的最優(yōu)控制策略,提高了系統(tǒng)的生產(chǎn)率[16].通過以上研究可知,通過動態(tài)設(shè)定打印參數(shù),調(diào)整打印速度,以提高系統(tǒng)的處理率[14].
因此,本文研究在打印任務(wù)隨機到達情況下,如何根據(jù)任務(wù)到達情況動態(tài)選擇任務(wù)組合以及設(shè)置打印參數(shù),以提高系統(tǒng)的處理率.由于對打印速度影響最大的是切片參數(shù)層高[17–18],因此本文選擇打印參數(shù)層高作為控制變量.雖然層高設(shè)置的得越大,打印速度越快,但打印出的產(chǎn)品質(zhì)量會降低[19],如何減少打印質(zhì)量損失,也是本文需要考慮的問題.本文根據(jù)系統(tǒng)工作模式和決策過程的特點,以各個任務(wù)隊列長度作為系統(tǒng)聯(lián)合狀態(tài),以任務(wù)組合以及打印參數(shù)層高作為系統(tǒng)的聯(lián)合控制變量,以提高生產(chǎn)率、減少打印質(zhì)量損失、節(jié)約電能為綜合目標,將該問題描述為SMDP模型,采用策略迭代及Q學習算法對系統(tǒng)的最優(yōu)策略進行求解.
如圖1所示,本文研究的對象是一種3D打印服務(wù)系統(tǒng),主要由存儲打印任務(wù)的任務(wù)隊列以及單臺3D打印設(shè)備組成.打印任務(wù)由不同種類的3D打印件模型組成,各類打印任務(wù)按照獨立的泊松過程隨機到達,并自動存儲在相應(yīng)的任務(wù)隊列中,任務(wù)隊列容量有限.3D 打印設(shè)備以工作臺作為其打印區(qū)間.系統(tǒng)運行時,根據(jù)任務(wù)隊列中的任務(wù)數(shù)量,選擇進行打印的任務(wù)組合,并設(shè)置打印參數(shù)層高,然后對所選任務(wù)組合進行切片處理,再由3D打印設(shè)備逐層累積打印,直至打印完成.因此,系統(tǒng)需要根據(jù)任務(wù)隊列中的任務(wù)數(shù)量對進行打印的任務(wù)組合和打印參數(shù)層高進行決策,在此定義系統(tǒng)的決策時刻為打印完成時刻或打印任務(wù)到達時刻,其典型決策過程如下:在決策時刻,系統(tǒng)根據(jù)當前任務(wù)隊列中的任務(wù)數(shù)量,選擇由各類打印任務(wù)組成的任務(wù)組合并設(shè)置打印參數(shù)層高.若所選組合不包含打印任務(wù),則不進行打印操作,等待下一任務(wù)到達,以進行下次任務(wù)組合選擇.當有任務(wù)到達時,系統(tǒng)進入下一決策時刻;若所選組合包含打印任務(wù),則從各個任務(wù)隊列中選取相應(yīng)個數(shù)的任務(wù),按照所選打印參數(shù)層高進行打印,打印過程結(jié)束時,系統(tǒng)進入下一決策時刻.本文主要研究如何根據(jù)任務(wù)到達情況動態(tài)選擇任務(wù)組合和層高,以提高系統(tǒng)和系統(tǒng)的生產(chǎn)性能.
圖1 系統(tǒng)的示意圖Fig.1 Physical model of the system
本文的研究主要基于以下假設(shè):
1) 打印任務(wù)服從不同參數(shù)的泊松過程隨機到達并且相互獨立,打印件所需的打印材料相同;
2) 忽略打印過程中的熱量散失,噴頭在預(yù)熱和打印時加熱功率相同且恒定;
3) 忽略在打印同一層時噴頭的空行時間;
4) 噴絲截面為矩形,且忽略由于切片誤差產(chǎn)生的打印材料消耗以及打印時間消耗;
5) 工作臺每次調(diào)整的時間相同.
為了方便地進行數(shù)學描述以及進行數(shù)學建模,本文定義了系統(tǒng)的參數(shù)和變量,如表1所示.本文研究的系統(tǒng)由M種打印任務(wù)、M個任務(wù)隊列以及一臺單噴頭的3D打印設(shè)備組成.這M種打印任務(wù)分別代表M種待打印的3D打印件模型,并按照獨立的泊松分布隨機到達,記第m種打印任務(wù)的到達率為λm,這M種打印任務(wù)分別存儲在M個任務(wù)隊列中,第m個任務(wù)隊列用于存儲第m種打印任務(wù),其隊列容量為Cm.3D打印件模型的種類根據(jù)底面尺寸om、體積qm和高度hm來區(qū)分.本文將3D打印件模型的水平投影輪廓最小包絡(luò)矩形作為底面尺寸,記第m種3D打印件模型的底面尺寸為omnm,Length×nm,Width,記其水平投影輪廓最小包絡(luò)矩形的長和寬分別為nm,Length和nm,Width.一般3D打印設(shè)備的工作臺為矩形區(qū)域,本文將3D打印設(shè)備的工作臺作為打印設(shè)備的打印區(qū)域,定義NLength和NWidth為工作臺的長和寬.本文以任務(wù)m的隊列長度cm作為任務(wù)隊列的狀態(tài),其狀態(tài)空間為
表1 符號變量表Table 1 Variable table
現(xiàn)以M個任務(wù)隊列的狀態(tài)作為系統(tǒng)的聯(lián)合狀態(tài),記為Sn(c1,···,cm,···,cM),其狀態(tài)空間為
定義在系統(tǒng)狀態(tài)S下采取的行動為vS(JS,hS),其中JS為選擇的任務(wù)組合,
jm表示所選任務(wù)組合中第m種打印任務(wù)的個數(shù),所選任務(wù)組合中各類打印任務(wù)的數(shù)量不超過隊列長度,即jm≤cm≤Cm.hS為設(shè)置的打印參數(shù)層高,其取值范圍為Hmin≤hS≤Hmax.DJS為系統(tǒng)在狀態(tài)S下的可選打印件組合的集合.由于多打印任務(wù)同時打印時需要將打印任務(wù)布排到工作臺上,在已知工作臺尺寸以及打印件水平投影的最小包絡(luò)矩形條件下,該問題屬于矩形件排樣問題.在指定空間布排矩形的方法有多種,可根據(jù)問題的不同采用不同的方法.對于復雜的排樣問題可采用多啟發(fā)式算法、粒子群算法等算法[20],對于簡單的排樣問題可采用Bottom–Left規(guī)則[21].因此本文根據(jù)具體排樣問題選擇合適的算法求解得到系統(tǒng)在狀態(tài)S下的可選任務(wù)組合的集合定義系統(tǒng)平穩(wěn)策略為
優(yōu)化目標是找到一個最優(yōu)策略使3D打印服務(wù)系統(tǒng)在長時間運行情況下代價最小.
系統(tǒng)狀態(tài)S隨時間隨機跳變,記t時刻的狀態(tài)為St,第n次決策時刻記為Tn,在決策時刻Tn時系統(tǒng)狀態(tài)為簡記為Sn.在決策時刻Tn,系統(tǒng)所選任務(wù)組合和層高設(shè)置作為決策行動.若0,則不進行打印操作,等待下一任務(wù)到達,記決策過程中等待下一任務(wù)到達的時間為?n,?n服從指數(shù)分布.當有任務(wù)到達時,系統(tǒng)進入下一決策時刻,記為Tn+1,滿足Tn+1Tn+?n,若到達的是第m類打印任務(wù),則系統(tǒng)轉(zhuǎn)移到下一狀態(tài)Sn+1(c1,···,···,cM),其中min{cm+1,Cm};若0,則執(zhí)行打印操作,記打印過程所需的時間為確定.在打印過程中,將第m種打印任務(wù)到達的個數(shù)記為bm,則系統(tǒng)轉(zhuǎn)移到下一狀態(tài)
由系統(tǒng)決策過程可知,系統(tǒng)狀態(tài)跳變只與當前狀態(tài)有關(guān),與歷史狀態(tài)無關(guān),因此在一次樣本軌道仿真決策過程中產(chǎn)生的狀態(tài)序列{S1,S2,···,Sn,···}是一個嵌入式馬爾科夫鏈.此外由于系統(tǒng)打印過程所需時間為確定值,不服從指數(shù)分布,因此系統(tǒng)決策過程是連續(xù)時間半馬爾科夫過程[22].除狀態(tài)空間和行動集外,系統(tǒng)的SMDP模型還包括逗留時間分布矩陣Fv(t)、狀態(tài)轉(zhuǎn)移矩陣Pv以及性能函數(shù)矩陣Rv,下面將分別進行分析.
3.1.1 系統(tǒng)逗留時間分布矩陣
首先,定義在策略v下系統(tǒng)逗留時間分布矩陣為
在決策時刻Tn,系統(tǒng)在狀態(tài)Sn下選擇行動若則進行等待操作,等待下一任務(wù)到達,決策周期為等待下一任務(wù)到達的等待時間?ntwait,系統(tǒng)轉(zhuǎn)移到下一狀態(tài)Sn+1,此時狀態(tài)逗留時間分布如下:
λ為M種任務(wù)到達率之和.
圖2 打印操作時間軸Fig.2 Timeline of printing operation
接下來文中給出預(yù)熱時間theat、掃描填充時間tprint冷卻時間tcool和打印過程所需時間τ的具體計算過程.
3D打印機在打印前需要對工作臺以及噴頭等部件進行加熱,已有技術(shù)實現(xiàn)噴頭在較短的時間內(nèi)加熱到設(shè)置溫度,且基本實現(xiàn)無超調(diào)[23],因此本文認為預(yù)熱時間theat為固定值.
由于打印時噴頭需要對每層截面掃描填充,掃描填充完一層后,工作臺需要向下調(diào)整,然后對下一層進行掃描填充,因此掃描打印時間tprint由噴頭掃描填充時間tscan與工作臺調(diào)整時間組成,噴頭掃描填充時間tscan與打印件的體積成正比,工作臺調(diào)整時間取決于工作臺的移動次數(shù).多打印件打印時噴頭掃描填充時間tscan等于各打印件的掃描填充時間之和,工作臺調(diào)整時間取決于最高打印件的高度.噴頭掃描填充時間tscan在忽略切片產(chǎn)生的填充體積誤差時,可根據(jù)掃描路徑寬度d、參數(shù)層高、噴頭的掃描速度ascan以及打印件的總體積求出,計算式如下:
其中:Q[q1··· qm ··· qM]為M種打印件的體積向量.
記所選打印件組合中最高打印件的高度為hmax,hmaxmax{hm|jm0且jm ∈JSn},則掃描打印時間tprint(vSn)計算公式如下:
上式中「·」為向上取整函數(shù).
3D打印機完成逐層掃描填充后,需要等待機器冷卻后將打印件取出,記這段時間為冷卻時間tcool,本文采用固定值.
綜上可知,在決策時刻Tn,系統(tǒng)在狀態(tài)Sn下選擇的行動若則進行打印操作,系統(tǒng)轉(zhuǎn)移到下一狀態(tài).在此過程中系統(tǒng)狀態(tài)逗留時間分布為
3.1.2 狀態(tài)轉(zhuǎn)移矩陣
定義在策略v下系統(tǒng)的嵌入鏈轉(zhuǎn)移矩陣為Pv其中表示在狀態(tài)Sn采取行動,轉(zhuǎn)移到下一狀態(tài)Sn+1的概率.執(zhí)行打印操作時,在t時間內(nèi),任務(wù)隊列m由狀態(tài)cm轉(zhuǎn)移到的概率為
當執(zhí)行等待操作時,到達的為第m種任務(wù)的概率為,系統(tǒng)下一狀態(tài)為
若cmCm,則Sn+1Sn,當存在任務(wù)隊列為滿時,系統(tǒng)轉(zhuǎn)移到相同狀態(tài)的概率為
其中:λfull為狀態(tài)Sn中所有為滿隊列對應(yīng)任務(wù)的到達率之和,Bfull為狀態(tài)Sn中所有為滿隊列對應(yīng)的任務(wù)種類的集合.
3.1.3 性能函數(shù)矩陣
本文通過SMDP模型描述3D打印批調(diào)度問題,其優(yōu)化目標是找到一個最優(yōu)策略使系統(tǒng)在無窮時段下的單位時間代價最小.
首先,由于系統(tǒng)采取不同行動時會產(chǎn)生不同代價,因此定義R(Sn,vSn,Sn+1)為系統(tǒng)在決策時刻Tn采取行動vSn并轉(zhuǎn)移到下一決策時刻Tn+1過程中的單位時間期望代價函數(shù),則性能函數(shù)矩陣為
系統(tǒng)的優(yōu)化目標函數(shù)為[22]
系統(tǒng)在執(zhí)行打印操作或等待操作會產(chǎn)生多類代價,例如任務(wù)隊列中打印任務(wù)的等待代價,打印材料損耗代價,電能損耗代價等,下面將具體分析R(Sn,vSn,Sn+1)的計算.
首先,打印任務(wù)在任務(wù)隊列等待時需要占用一定的存儲空間,同時任務(wù)等待時間會影響任務(wù)的交貨時間,因此定義第m種任務(wù)等待時單位時間等待代價為k1,m.
其次,3D打印過程需消耗電能,因此定義電能單價為k2.打印設(shè)備在打印過程中能量損耗主要用于噴頭加熱用于融化打印材料,則在忽略熱量散失及其他加熱裝置的條件下,噴頭的加熱功率g近似等于單位時間融化材料所需的熱能,與參數(shù)層高h成正比.在參數(shù)層高為h時,單位時間打印材料擠出量為dhascanρ,其中d為掃描路徑寬度,ascan為噴頭的掃描速度,ρ為打印材料的密度.則打印材料由環(huán)境溫度θenvir加熱到打印材料的融化溫度θmelt所需的熱量為dhascanρδ×(θmelt?θenvir),δ為打印材料的比熱容,則選擇行動時,打印設(shè)備的加熱功率為
另外,打印過程中需要消耗打印材料,因此定義材料單價為k3.進行打印行動時,所需的打印材料與選擇打印的打印件組合的總體積成正比,則選擇打印的打印件組合時消耗的打印材料質(zhì)量計算式如下:
此外,系統(tǒng)打印完產(chǎn)品會獲得報酬,由于層高參數(shù)h影響產(chǎn)品質(zhì)量,因此本文根據(jù)產(chǎn)品質(zhì)量決定產(chǎn)品的打印報酬,根據(jù)文獻[19]的研究結(jié)果可知,打印產(chǎn)品的磨損強度與層高參數(shù)h函數(shù)關(guān)系近似擬合為
式中:ξ2,ξ1,ξ0為各項系數(shù),在此定義打印報酬由固定報酬以及浮動報酬這兩部分組成,其中浮動報酬與打印質(zhì)量成正比,定義打印第m類任務(wù)的報酬rm與層高參數(shù)關(guān)系為
其中:?m為打印第m類任務(wù)的獎勵報酬系數(shù),?m,fix為打印第m類任務(wù)獲得的固定報酬.則采取行動獲得的報酬為
因此,系統(tǒng)執(zhí)行打印操作時,單位時間期望代價為
其中φ1(Sn,Sn+1)為電能代價在整個時間段上的折扣,計算式為
φ3(Sn,,Sn+1)為打印立即報酬在整個時間段上的折扣,計算如下:
與打印操作不同,執(zhí)行等待操作時只存在等待代價,此時系統(tǒng)單位時間期望代價為
本文的優(yōu)化目標就是找到一個最優(yōu)策略v?,使系統(tǒng)在折扣均準則或平均準則下的無窮時段的單位時間代價最小.在此本文給出策略迭代和Q學習這兩種算法求解系統(tǒng)最優(yōu)策略.
盡管策略迭代算法可以求出系統(tǒng)最優(yōu)解,但是需要求解系統(tǒng)矩陣,并進行矩陣求逆,當系統(tǒng)參數(shù)例如到達率未知,或狀態(tài)龐大造成維數(shù)災(zāi)使矩陣運算計算困難時,最優(yōu)制策略無法求解或求解十分困難.因此,可用Q學習算法進行求解.
Q學習算法的主要步驟分為如下幾個過程:首先采用矩形排樣方法得到打印件組合行動集DJ,然后將層高h取值范圍用一個很小的常數(shù)Δh離散化,得到一個離散的緊致行動集Dh,通過組合得到系統(tǒng)行動集.在每次決策過程中,通過觀測得到一個樣本數(shù)據(jù)
其中:Qα(·,·)是在折扣因子α下的狀態(tài)–行動對的值,R′(Sn,Sn+1)表示在第n個決策時刻系統(tǒng)在狀態(tài)Sn下,采取行動轉(zhuǎn)移到狀態(tài)Sn+1過程中產(chǎn)生的累計折扣代價.具體代價計算如下:當進行等待操作時
當進行打印操作時
此外,ηn是平均代價的當前估計值,可根據(jù)樣本軌道直接計算.則Qα(·,·)更新式如下:
其中γ(Sn,vSn)為學習步長.本文介紹的Q學習算法具體步驟已在文獻[26]中經(jīng)進行了詳細介紹,在此不再詳述.
本文根據(jù)實驗室中的3D打印設(shè)備的參數(shù)對系統(tǒng)的物理參數(shù)進行設(shè)置,具體參數(shù)設(shè)置如表2所示.同時設(shè)置了仿真參數(shù)如表3所示.根據(jù)仿真實驗給出的3D打印機和打印件的尺寸可知,本文給出的排樣問題屬于簡單排樣問題,因此本文選擇Bottom–Left規(guī)則對打印任務(wù)進行布排[4],按照此規(guī)則求解系統(tǒng)可行打印件組合集合為
表2 物理參數(shù)表Table 2 Physical parameters
表3 仿真參數(shù)表Table 3 Simulation parameters
仿真實驗首先介紹了策略迭代算法和Q學習算法在折扣和平均準則下的優(yōu)化過程,圖3為在平均和折扣準則下采用策略迭代算法和Q學習算法的系統(tǒng)優(yōu)化的優(yōu)化曲線,此時折扣因子α0.01.由圖3可知,平均和折扣準則下采用策略迭代算法對系統(tǒng)進行優(yōu)化,在第2步或第3步就已經(jīng)收斂,得到系統(tǒng)的最優(yōu)策略.在平均準則下采用Q學習算法的優(yōu)化曲線,每學3000步評估一次,由圖可知曲線在第100次評估時算法基本穩(wěn)定.與策略迭代算法相比,Q學習算法的收斂步數(shù)更大.
通過圖3可以看出折扣準則下的優(yōu)化曲線是相互分離的,在不同狀態(tài)下系統(tǒng)的代價不同.這里定義3個特殊狀態(tài).狀態(tài)1:任務(wù)隊列全為空.狀態(tài)14:隊列1長度為0,隊列2長度為2,隊列3長度為3.狀態(tài)60:任務(wù)隊列全為滿.在狀態(tài)1任務(wù)隊列全為空時,由于沒有進行打印,因此沒有打印報酬,所以代價曲線在最上方.在狀態(tài)14時隊列1長度為0,隊列2長度為2,隊列3長度為3,此時可以組合成兩個最優(yōu)的打印件組合進行打印,因此獲得較高的打印報酬.在狀態(tài)60時,任務(wù)隊列全為滿,此時等待代價變大,同時由于系統(tǒng)對任務(wù)1的處理效率不高,所以代價曲線在狀態(tài)14的代價曲線的上方.由策略迭代求解的最優(yōu)策略可知,在狀態(tài)14時,系統(tǒng)選擇的打印件組合J(0,2,0),參數(shù)層高h0.1739,在狀態(tài)60時,系統(tǒng)選擇的打印件組合J(0,2,0),層高參數(shù)h0.2415,這表明當任務(wù)隊列為滿時,系統(tǒng)選擇最優(yōu)的打印件組合進行打印,層高參數(shù)設(shè)置較大,與實際情況相符合.
圖3 平均和折扣準則下兩種算法的優(yōu)化曲線Fig.3 Optimization curves of two algorithms under average and discount criteria
為了進一步分析兩種算法的特點,仿真實驗給出了兩種算法的運行時間以及優(yōu)化后系統(tǒng)的平均代價、打印任務(wù)的處理率和產(chǎn)品的平均質(zhì)量,其中策略迭代算法的結(jié)果為3996 s,?2.485,0.977,0.0328,而Q學習算法的運行時間以及優(yōu)化后系統(tǒng)的平均代價、打印任務(wù)的處理率和平均質(zhì)量分別為1222 s,?2.448,0.972,0.0327.同時為了對Q學習算法的結(jié)果進行方差分析,在實驗中對Q 學習算法進行5次獨立試驗取均值并統(tǒng)計各項數(shù)據(jù)的標準差,對應(yīng)每項的標準差分別為32 s,0.003,0.0019,0.000103,分析各項標準差可知Q學習算法比較穩(wěn)定.本文還對兩種算法的復雜度進行了對比分析,首先比較空間復雜度,根據(jù)實驗部分設(shè)置的系統(tǒng)參數(shù)求得系統(tǒng)狀態(tài)數(shù)為3×4×560,策略迭代算法需要存儲逗留時間分布矩陣、狀態(tài)轉(zhuǎn)移矩陣以及性能函數(shù)矩陣,由于這3個矩陣維度和系統(tǒng)狀態(tài)數(shù)相同,且都是方陣,所需存儲空間為3×60×6010800.而Q學習需要存儲每個狀態(tài)–行動對的值,所需存儲空間為
兩種存儲空間相同.在迭代步數(shù)方面,策略迭代算法在第3步就已經(jīng)收斂,而Q學習算法在第100次評估時算法基本穩(wěn)定.在運行時間方面,策略迭代算法運行時間為3996 s,然而Q學習算法運行時間為1222 s.通過上述結(jié)果可知,雖然策略迭代算法收斂速度較快,但運行時間更長,這是由于策略迭代算法需要進行矩陣求逆運算,所以算法運行時間長.Q學習算法運行速度快,當模型參數(shù)未知時,可采用Q學習算法進行求解.本文接下來對3D打印服務(wù)系統(tǒng)的性能分析,將依據(jù)策略迭代算法的求解結(jié)果.
本文研究的系統(tǒng)作為一種排隊服務(wù)系統(tǒng),通過設(shè)置合理的任務(wù)隊列容量,可以提高系統(tǒng)性能.為了探究任務(wù)隊列容量與系統(tǒng)性能之間的關(guān)系,本次實驗同時比較了3個隊列的容量變化對系統(tǒng)性能的影響,在此次實驗中假設(shè)λ10.2,λ20.3,λ30.5,實驗結(jié)果如圖4所示.根據(jù)實驗結(jié)果可知,任務(wù)隊列1容量增大時,系統(tǒng)代價會有所上升,任務(wù)隊列1容量增大到2以后,系統(tǒng)代價也有所上升,隨著任務(wù)隊列2和任務(wù)隊列3的容量分別增大到2和3時,系統(tǒng)的平均代價逐漸收斂,這是由于兩個第2種打印件和三個第3種打印件分別組成兩種等高且完全占滿工作臺的打印件組合.處理這種能夠占滿工作臺且等高的打印件組合,可以節(jié)省打印所花時間,提高系統(tǒng)的處理率.
圖4 不同隊列容量下的平均代價Fig.4 Average cost under different queue capacities
本文同時研究了隊列容量變化對不同打印任務(wù)的處理率影響,如表4所示.由表4可知當某一種打印任務(wù)的任務(wù)隊列容量增大時,對應(yīng)種類打印任務(wù)的處理率有較大幅度的提高,當隊列容量增大到一定值后打印任務(wù)的處理率基本不變.隨著某一任務(wù)隊列容量的增大,其他種類打印任務(wù)的處理率會小幅度下降,這是由于該種隊列容量增大時,其接收對應(yīng)種類任務(wù)的容量越大,當其處理速度不及打印任務(wù)到達速度時,任務(wù)產(chǎn)生堆積.同時由于任務(wù)等待代價隨著隊列長度增加而增加,因此會優(yōu)先處理隊列長度長的任務(wù),其他打印任務(wù)的處理率會有所降低.
表4 不同隊列容量下系統(tǒng)處理率Table 4 System processing rate under different queue capacities
上面仿真實驗研究了在任務(wù)到達率固定時隊列容量對系統(tǒng)性能的影響,但是在實際系統(tǒng)中,任務(wù)到達率是變化的,因此本次仿真實驗探究了任務(wù)到達率與系統(tǒng)性能之間的關(guān)系.圖5為不同到達率下系統(tǒng)的平均報酬,在本次仿真實驗中的隊列容量設(shè)置為C12,C23,C34.由圖可知隨著任務(wù)到達率的增加,系統(tǒng)的平均報酬增大,這是由于在系統(tǒng)打印能力之內(nèi),到達率越大,系統(tǒng)單位時間打印的打印件越多,獲得的報酬越大.
圖5 不同到達率下的平均報酬Fig.5 Average reward under different arrival rates
本次仿真實驗還研究了在不同任務(wù)到達率下按照先到先服務(wù)(first-come-first-served,FCFS)規(guī)則、打印參數(shù)固定模式和打印參數(shù)可變模式這3種模式下系統(tǒng)的處理率和產(chǎn)品平均質(zhì)量,如表5所示.隨著任務(wù)到達率增大,系統(tǒng)的處理率和產(chǎn)品質(zhì)量隨之降低.但與FCFS規(guī)則和參數(shù)固定模式下系統(tǒng)性能相比,參數(shù)可變模式下系統(tǒng)的處理率下降比較緩慢.這是由于任務(wù)到達率較小時,參數(shù)可變模式下系統(tǒng)為了獲得較高的打印報酬,將打印參數(shù)層高設(shè)置得較小,提高了產(chǎn)品質(zhì)量.隨著打印任務(wù)到達率增大,任務(wù)隊列中會堆積較多的打印任務(wù),參數(shù)可變模式下的系統(tǒng)為了提高處理速度,將打印參數(shù)層高設(shè)置得較大,加快了打印任務(wù)的處理速度,因此能夠及時處理到達的打印任務(wù),打印任務(wù)的流失率小.通過比較可知,在任務(wù)到達率為[0.2 0.3 0.1]時,3種情況下系統(tǒng)的處理率十分接近,都在99%左右,但在參數(shù)可變模式下系統(tǒng)的產(chǎn)品的平均質(zhì)量與在其他兩種模式下系統(tǒng)產(chǎn)品質(zhì)量相比提高了4.3%.在任務(wù)到達率為[0.5 0.3 0.5]時,參數(shù)可變模式下系統(tǒng)處理率比FCFS規(guī)則下系統(tǒng)的處理率高出6.6%.根據(jù)仿真實驗結(jié)果可知,參數(shù)可變模式下系統(tǒng)對任務(wù)到達率變化的適應(yīng)性更強,當?shù)竭_率較小或較大時,通過動態(tài)設(shè)置打印參數(shù)調(diào)整打印任務(wù)處理速度,提高系統(tǒng)的處理率.
表5 不同到達率下系統(tǒng)處理率和產(chǎn)品平均質(zhì)量Table 5 System processing rate and average product quality under different arrival rates
本文研究了在打印任務(wù)隨機到達情況下,如何根據(jù)任務(wù)到達情況動態(tài)選擇任務(wù)組合和層高的問題,并將優(yōu)化問題描述為SMDP模型,采用策略迭代算法和Q學習算法這兩種優(yōu)化算法求解了系統(tǒng)的最優(yōu)調(diào)度策略.仿真實驗結(jié)果表明所求調(diào)度策略可以提高系統(tǒng)的處理率.本文目前只考慮了簡單的排布問題以及單3D打印設(shè)備,如何將復雜排樣問題納入到整個優(yōu)化問題中,以及如何對多臺3D打印設(shè)備進行資源優(yōu)化,是未來值得研究的問題.