史愛武 李林峰 薛少杰 邵鑌彬
(武漢紡織大學(xué) 武漢 430200)
RGV(Rail-Guided Vehicle)為軌道式自動引導(dǎo)車,國內(nèi)一般稱為穿梭小車,是一種在車間或者自動化立體倉庫中沿著軌道(可以是鐵軌或者合金軌道)運行的物料運送工具。RGV能夠根據(jù)指令自動控制移動方向和距離,自帶一個機械手臂加上機械手爪,從而完成上下料和物料的清洗時間。
本文的研究背景為目前市場上流水車間調(diào)度方案的優(yōu)化,在給定的時間中,對可用的系統(tǒng)資源集進行加工任務(wù),將調(diào)動安排系統(tǒng)環(huán)境內(nèi)有限的資源,使之效率最大化。目前有劉豐瑞[1]、李夢琳[4]等提出的基于各種模型而形成的高效率的調(diào)度策略,但是并沒有去突出在遇到各種情況后這些調(diào)度策略是否還能高效率的運行、Dotoli M和Fanti MP[8]研究了RGV系統(tǒng)的死鎖、Liu YK[9]等研究了RGVCNC系統(tǒng)的作業(yè)策略等,這些方案優(yōu)點是給出了相應(yīng)的解決方案,但是在特定的環(huán)境下可能會出現(xiàn)一定的問題,比如故障情況的考慮等。因此本文針對不同的情況做出了相應(yīng)的分析和研究,而車間中流行的8臺CNC和1輛RGV小車組成的智能加工系統(tǒng)是本文主要研究對象,圖1給出了該系統(tǒng)的基本模型,通過一輛直行軌道式RGV,它可以通過往復(fù)運行實現(xiàn)上下物料的目的。
圖1 智能加工系統(tǒng)示意圖
1)每次RGV進行上下料動作都會完整地進行一次,不會因為CNC沒有物料而不進行下料動作;
2)RGV可以及時地獲得CNC給出的需求信號,并在空閑時刻可以及時做出選擇;
3)RGV到達CNC面前可以立即上下料;
4)RGV的調(diào)度系統(tǒng)無故障,可實時知道材料加工情況和小車實時位置;
5)在計算上料開始時間、下料開始時間是分別取用上下料時間的平均值。
符號說明如表1所示。
表1 所使用的數(shù)學(xué)符號說明
該問題是一定約束條件下的最優(yōu)化問題,在智能加工過程中,通電啟動后,如果某CNC處于空閑狀態(tài),則向RGV發(fā)出上料需求信號;否則,CNC處于加工作業(yè)狀態(tài),在加工作業(yè)完成即刻向RGV發(fā)出需求信號。RGV在收到某CNC的需求信號后,它會自行確定該CNC的上下料作業(yè)次序,并依次按順序為其上下料作業(yè)。之后進行清洗(時間很短),清洗完成之后,即判別去完成另一任務(wù)指令,周而復(fù)始。
我們所需要做的就是盡可能在連續(xù)作業(yè)八小時內(nèi)完成更多的任務(wù),即完成每一組時間盡可能少。在智能加工過程中,分為四種情況:
1)情況一:一道工序的物料加工作業(yè);
2)情況二:兩道工序的物料加工作業(yè);
3)情況三:一道工序的物料加工作業(yè)發(fā)生故障;
4)情況四:兩道工序的物料加工作業(yè)發(fā)生故障。
我們可以發(fā)現(xiàn)當(dāng)每次循環(huán)完畢后,取出這次循環(huán)的最小時間,然后將該時間加在時間軸上,即依據(jù)貪心算法得到所需的理想最優(yōu)解?;谶@樣的一個建模方向,建立了如下的Ttask關(guān)于Twork和Twait的數(shù)學(xué)模型。
其中,Tworkij的時間是由Twalkij、Tuponij、Twashij組成。Ttaskij是目標(biāo)函數(shù)、Tworkij是RGV單個任務(wù)開始執(zhí)行到執(zhí)行結(jié)束所需的總時間、Twalkij是RGV行走時間、Tuponij是上下料時間、Twashij是清洗時間、Twaitij是CNC的等待時間。
依據(jù)實際生產(chǎn)系統(tǒng)實際的數(shù)據(jù)范圍,分別針對情況一、二、三、四分別進行分析,該智能加工系統(tǒng)在各種情況下作業(yè)參數(shù)數(shù)據(jù)見表2。
表2 智能加工系統(tǒng)的作業(yè)參數(shù)
依據(jù)上述建立的數(shù)學(xué)模型,使用Matlab模擬智能加工系統(tǒng)的工作過程,該過程利用了貪心算法求的局部最優(yōu)解,每一次選取任務(wù)從任務(wù)開始下達到完成所需要的總共的工作時間最少的時間,求和從而得到整體最優(yōu)解。
由于該情況只有一道工序且不出現(xiàn)故障,則直接可以利用上述模型,無需加上任何限制條件求得相應(yīng)完成一次任務(wù)所需要得時間Ttaskij,再在時間軸上進行累加即可。
但是在實際的操作之中,我們發(fā)現(xiàn)求出來的整體最優(yōu)解發(fā)現(xiàn)只能達到350次加工作業(yè),并不是理想之中的最優(yōu)解,因為等待最先完成任務(wù)的CNC發(fā)信號的時間包含著RGV到達要去的CNC的時間,需要在模型的基礎(chǔ)上,將RGV的等待時間必加上去,但是這個優(yōu)化只針對情況一有效,對于后面的情況因為CNC的工作時間較短,RGV的一次工作時間較長,所以不存在RGV處于等待的狀態(tài)。于是針對情況一,該數(shù)學(xué)模型為如下:
此模型相比于第一次建立的模型在第8次任務(wù)結(jié)束后立刻到達率先到發(fā)布任務(wù)的CNC,節(jié)省穿梭車到達任務(wù)發(fā)布地的時間。
當(dāng)加工物料變成兩道工序之后,按照實際要求,在CNC初始化的時候,必須規(guī)定該CNC是執(zhí)行哪一道工序。但是這種指定是不唯一的,可以是執(zhí)行第一道工序的CNC數(shù)量多一些,也可以是執(zhí)行第二道工序的CNC數(shù)量多一些。但是這沒有影響到模型的改變,我們只需要加上相應(yīng)的流程進行流程類型判斷。加上對于CNC的類型判斷,并且同樣依照CNC中是否有無物料去區(qū)分CNC是否處于第一次加工,因為如果是第一次加工,則Ttaskij不需要加上RGV的清洗時間Twashij,用于該情況的模型是原模型,并沒有改變。
當(dāng)需要在第一種情況下考慮故障問題時,需要在該模型上加上一個修理時間Tre pai rij,其他的時間變量不需要改變。按照一道工序加工作業(yè)流程,我們發(fā)現(xiàn)CNC修理時間一旦小于加工記錄時間,表示該故障已經(jīng)修好,即回到正常狀態(tài)。這樣就相當(dāng)于是將修理時間加在了時間軸上。所以該模型方程如下:
當(dāng)需要在第二種情況下考慮故障問題時,同樣需要在該模型上加上一個修理時間Ttaskij,其他的時間變量不需要改變。按照二道工序加工作業(yè)流程,我們發(fā)現(xiàn)CNC修理時間一旦小于加工記錄時間,表示該故障已經(jīng)修好,即回到正常狀態(tài)。這樣的話,就相當(dāng)于是將修理時間加在時間軸上。所以該模型方程如下:
由于兩道工序中兩個工序所需時間不同,因此,兩種刀片的放置比例會與最后的加工數(shù)量有關(guān)系:因為RVG對第一道工序做了上下料之后,機械手上有第二工序物料,因此RGV必須找一個可以完成第二道工序的CNC進行上下料動作。而當(dāng)?shù)谝坏拦ば蚣庸r間和第二道工序加工時間存在很大差距時,需要安排不同數(shù)量的第一工序CNC和第二工序CNC。當(dāng)一對工序不在同一列時,RVG就會存在移動,每當(dāng)存在移動時就會存在時間浪費。因此放置要盡量使工作快的CNC附近有多個工作慢的CNC。讓RGV盡量少的移動,減少時間在移動上的花費。
為了使完成一個兩道工序物料的第一道工序所需的總時間與完成一個兩道工序物料的第二道工序的總時間之比接近于1∶1,建立CNC數(shù)量及位置分配模型,模型描述如下:
其中T1表示第一道工序所需的時間,T2表示第二道工序所需要的時間,N1表示完成第一道工序刀片的CNC,N2表示完成第二道工序刀片的CNC。
針對表1的第一組數(shù)據(jù),第一道工序所需時間為400s,第二工序所需時間為378s,兩道工序之比接近1∶1,因此安排安裝兩種刀片的CNC數(shù)量之比為1∶1,在每一列,一上一下放置。由于工序時間之比越接近CNC數(shù)量之比,CNC的等待時間就會越少。第一道工序更長一點,所以把第一道工序的刀片安排在在上下料時間較短的單數(shù)CNC上。最終安排如圖2所示。
圖2 第一組數(shù)據(jù)下的CNC的完成情況
完成第一道工序的CNC為淺色;完成第二道工序的CNC為深色。
第一道工序所需時間為280s,第二工序所需時間為500s,兩道工序之比接近3∶5,因此安排安裝兩種刀片的CNC數(shù)量之比為3∶5。由于加大執(zhí)行第二道工序的CNC的數(shù)量則可以讓兩種工序消耗總的時間之比更接近1∶1,因此把盡量多的第一道工序放在上下料時間較長的雙數(shù)CNC上。且又要考慮讓工作快的CNC附近有多個工作慢的CNC,最終安排有圖3的四種。
圖3 第二組數(shù)據(jù)下的CNC的完成情況
完成第一道工序的CNC為淺色;完成第二道工序的CNC為深色。通過使用窮舉法比較以上四種情況的,最終發(fā)現(xiàn)后者效率更高些。因此,選用第三種位置安排。
第一道工序所需時間為455s,第二工序所需時間為182s,兩道工序時間之比接近3∶1,因此安排安裝兩種刀片的CNC數(shù)量之比為3∶1。由于加大第一道工序的執(zhí)行數(shù)量可以讓兩種工序時間之比更接近1∶1,因此把盡量多的第二道工序放在上下料時間較長的雙數(shù)CNC上。且又要考慮讓工作快的CNC附近有多個工作慢的CNC,最終安排有圖4的四種。
圖4 第三組數(shù)據(jù)下的CNC的完成情況
完成第一道工序的CNC為淺色;完成第二道工序的CNC為深色。通過使用窮舉法比較以上四種情況的,最終發(fā)現(xiàn)第三種效率更高些。因此,選用第三種位置安排。
但是通過Matlab仿真發(fā)現(xiàn)RGV沒有使用CNC#8。因此,可以推斷第一道工序生產(chǎn)力不足,造成機器浪費,因此,將CNC#8直接設(shè)置為第一道工序。再次仿真之后確定生產(chǎn)力增加后把第三種數(shù)據(jù)的機器安排最終設(shè)定為圖5。
圖5 確定生產(chǎn)力增加后把第三種數(shù)據(jù)的機器安排
在無故障情況下,利用表1中系統(tǒng)作業(yè)參數(shù)的3組數(shù)據(jù)分別檢驗?zāi)P偷膶嵱眯院退惴ǖ挠行裕o出RGV的調(diào)度策略和系統(tǒng)的作業(yè)效率理想最優(yōu)解解思路:讓一臺RGV和一臺CNC一起加工一個物料,不讓CNC有等待時間,即一個加工物料完整工序需要的最短時間。
Tupon是一個物料的上下料所需要的時間,taskTime是CNC加工完成一個物料所需要的時間,washTime是物料的清洗時間。
Num是最優(yōu)解,T為每班作業(yè)時間(8h),Ttask是加工物料完整工序需要的最短時間。
由于如果要實現(xiàn)最優(yōu)解必須存在以下條件:
1)必須所有CNC上下料時間都是最短情況;
2)必須每次上下料都是完整的上下料,不存在機器空轉(zhuǎn);
3)每個CNC面前都有一個專屬RVG,RVG不需要移動。
由于雙數(shù)號CNC比單數(shù)號CNC上下料時間長,計算最優(yōu)解時用的是較短的單數(shù)CNC上下料時間,實際情況是雙號數(shù)CNC和單號數(shù)CNC都要使用,因此理想最優(yōu)解并不會達到;另一方面,第一輪上下料工序機器做了上下料動作,但實際效果只有上料,機器存在空轉(zhuǎn)現(xiàn)象,因此存在時間浪費;其次,時間達到8h時所有工作都會停滯,一定會存在有工作只做了一半,因此也會造成很大程度的時間浪費。RGV一定會移動,因此,沒有計算的移動時間也會導(dǎo)致仿真結(jié)果一定會與理想最優(yōu)解有一定差距。
在無故障的狀態(tài)下,將題目中所給的三組數(shù)據(jù)分別代入單刀片和雙刀片的求解算法中得到的相應(yīng)的理想情況下和仿真出來的結(jié)果如表3、表4、表5所示。
表3 第一組:工作8h產(chǎn)生的成品數(shù)目(單位:個)
表4 第二組:工作8h產(chǎn)生的成品數(shù)目(單位:個)
表5 第三組:工作8h產(chǎn)生的成品數(shù)目(單位:個)
從第一組數(shù)據(jù)可以看出模型的實用性和算法的合理性還是很強的,由于上文所說的原因,故仿真結(jié)果和理想最優(yōu)解必定有一些差距。
通過仿真結(jié)果和理想最優(yōu)解的對比,仿真結(jié)果并沒有超過理想最優(yōu),可以看出來模型在實際生產(chǎn)中具有實用性。通過對比機械式生產(chǎn),可以看出來RGV動態(tài)調(diào)動模型相比傳統(tǒng)的機械生產(chǎn)有很大的優(yōu)化。
我們將題目中所給出的三組數(shù)據(jù)使用Matlab代入到相應(yīng)的程序中,依據(jù)得出的結(jié)果,分成四種情況,分別做出了RGV調(diào)度CNC的次序圖,如圖6、圖7、圖8、圖9。
圖6 一道工序時第一二三組數(shù)據(jù)RGV調(diào)度CNC的次序
圖7 在兩道工序時第一組數(shù)據(jù)RGV調(diào)度CNC的次序
圖8 在兩道工序時第二組數(shù)據(jù)RGV調(diào)度CNC的次序
圖9 在兩道工序時第三組數(shù)據(jù)RGV調(diào)度CNC的次序
系統(tǒng)的作業(yè)效率見表6。
表6 一次作業(yè)單位時間內(nèi)加工完成的物料數(shù)量(效率)(單位:個/h)
本文融合貪心算法的思想,針對一道工序RGV調(diào)度、一道工序且出現(xiàn)故障RGV調(diào)度、二道工序RGV調(diào)度、二道工序且出現(xiàn)故障RGV調(diào)度四種實際生產(chǎn)中出現(xiàn)的情況分別進行分析。引入了RGV-CNC動態(tài)調(diào)度模型、CNC數(shù)量及位置分配模型。通過計算,得出的仿真結(jié)果幾乎接近了理想最優(yōu)解,也體現(xiàn)出了該模型的正確性。