孫 琳, 鄭紹祥
(1.航空工業(yè)成都飛機工業(yè)(集團)有限責任公司,成都 610000;2.南京航空航天大學,南京 210016)
隨著科技的發(fā)展,在高科技復雜裝備制造中,復合材料的應(yīng)用比例越來越大,在航空領(lǐng)域的應(yīng)用已成為衡量航空裝備先進水平的重要標志之一[1–3],對于航空裝備結(jié)構(gòu)輕質(zhì)化、小型化有至關(guān)重要的作用。航空復合材料生產(chǎn)工藝復雜,前后工序關(guān)聯(lián)性強,且加工過程具有可重入制造的特點,生產(chǎn)計劃調(diào)度復雜,因此復合材料制造企業(yè)不可避免地會遇到生產(chǎn)計劃排程問題[4]。許多國內(nèi)外學者對復合材料車間生產(chǎn)計劃排程進行了研究,并提出各種不同的算法、建模方法及各種仿真方法[5–9]。
王海寧等[10]提出實時排程模式下的車間生產(chǎn)調(diào)度系統(tǒng)設(shè)計思想,實現(xiàn)基于遺傳算法的自動排程和基于Agent 的自動導航與派工技術(shù),提高了設(shè)計、生產(chǎn)、管理水平和生產(chǎn)效率。萬春輝等[11]對時間動態(tài)變化影響動態(tài)調(diào)度進行了研究,提出了動態(tài)工作日制的動態(tài)實現(xiàn)策略和關(guān)鍵算法,為實現(xiàn)動態(tài)日制的離散提供了一個具體的應(yīng)用方案。Lou 等[12]提出了一種分布式調(diào)度方法,面向一個任務(wù)機分配的多代理的解決方案。張國慶等[13]提出針對復合材料車間計劃排產(chǎn)的方法和步驟,建立了基于啟發(fā)式規(guī)則算法的優(yōu)化排產(chǎn)模型,側(cè)重以班組為相對獨立的生產(chǎn)單元進行處理, 并未優(yōu)化到后續(xù)工序。陳國慧[14]、陳國恩[15]和令狐強[16]等都研究了基于約束理論生產(chǎn)計劃排程方法,分別側(cè)重于航空復合材料的瓶頸設(shè)備的研究、工程機械行業(yè)工序級車間計劃、軍品制造業(yè)的車間生產(chǎn)計劃排程。本文通過結(jié)合航空復合材料零件制造企業(yè)的實際生產(chǎn)情況,針對熱壓罐設(shè)備的多因素約束情況,對熱壓罐的計劃排程進行了研究。
在航空復合材料零部件制造過程中,熱壓罐是一個共享的資源,而在熱壓罐成型之前,是多個品種的復合材料零件并行鋪疊,并且熱壓罐成型工序有資源、面積、零件數(shù)量、工藝參數(shù)等多種因素約束,在熱壓罐成型之后,是多個品種的零件各自串行的工序。為了提高熱壓罐進罐計劃排程的效率,同時考慮熱壓罐的利用率和均衡負荷,本文針對熱壓罐設(shè)備的各種約束因素,提出了熱壓罐進罐計劃的約束條件和目標函數(shù),建立了對熱壓罐進罐計劃排程的數(shù)學模型,通過試驗數(shù)據(jù)對算法進行了驗證,驗證了進罐計劃排程方法的可行性。將本文方法應(yīng)用于實際案例,通過與人工經(jīng)驗排程進行數(shù)據(jù)統(tǒng)計分析,表明了方法的有效性。
在復合材料零件成型過程中,熱壓罐成型是普遍使用的成型工藝方法。熱壓罐成型是將預浸料等易變質(zhì)材料在工裝模具上按預定方向鋪疊成復合材料坯料并放在熱壓罐內(nèi),在規(guī)定溫度和壓力下完成固化過程的工藝方法。在這個過程中需要考慮的約束規(guī)則如表1所示。
表1 進罐計劃約束Table 1 Constraint of tank feeding plan
其中,熱壓罐計劃之間間隔時間、工序間周轉(zhuǎn)時間、熱壓罐每一層面積使用閾值、熱壓罐每一層零件數(shù)量上限以變量參數(shù)的形式由用戶進行控制,固定包方案作為輸入數(shù)據(jù)進行控制,其他約束因素則通過算法過程進行控制。
基于上述排程約束規(guī)則,可建立復合材料成型制造進罐計劃排程的函數(shù)模型。模型的目標是在滿足約束的前提下使工裝放進熱壓罐內(nèi)且使熱壓罐的利用率盡可能大。模型變量定義如下:
(1)J為所有訂單零件的集合,J={1,2,…,n};
(2)M為所有熱壓罐設(shè)備的集合,M={1,2,…,m};
(3)T為所有工裝的集合,T={1,2,…,p},每個工裝的長度和寬度分別為lj和wj,工裝需求的真空嘴和熱電偶的數(shù)量分別為vj和hj;
(4)S為固定包方案集合,S={1,2,…,g};
(5)Pj為零件Jj的所有工序集合,Pj={1,2,…,nj},對應(yīng)的工序加工時間為dji(i=1,2,3,…},cji為各固化工序的程序號;
(6)Kj為零件的建議工裝集合,Kj={k1,k2,…,ki},ki∈T;
(7)熱壓罐Mk的長度和寬度分別是Lk和Wk,可用的真空嘴和熱電偶總數(shù)分別為Vk和Hk,且訂單零件Jj關(guān)聯(lián)的熱壓罐集合為Aji={a1,a2,…,ai},ai∈M;
(8)各熱壓罐可用時間段集合為Tm=[[t1,t2],[t3,t4],…],t1≤t2≤t3≤t4≤…;
(9)各工裝的可用時間段集合Tt=[[t1,t2],[t3,t4],…],t1≤t2≤t3≤t4≤…;
(10)ssum為每個熱壓罐的切換時間,是上一個包的結(jié)束準備時間和下一包的開始準備時間之和。
目標函數(shù)如下:
式(1)為所有放入熱壓罐平板的工裝的面積之和。式(2)為放入熱壓罐內(nèi)的工裝需求的真空嘴和熱電偶總數(shù)不能高于熱壓罐內(nèi)真空嘴和熱電偶的數(shù)量。式(3)表示工裝是否可放入熱壓罐內(nèi),ej=1 為是,ej= 0 為否。
其中,訂單、工裝、熱壓罐的關(guān)系如圖1所示。各變量調(diào)用順序如圖2所示。
圖1 訂單、工裝與熱壓罐關(guān)系Fig.1 Relationship diagram of order,tooling and autoclave
圖2 變量調(diào)用順序示意圖Fig.2 Schematic diagram of variable call sequence
進罐計劃算法流程圖如圖3所示。其具體步驟如下。
圖3 進罐計劃排程算法流程圖Fig.3 Flow chart of autoclave plan scheduling algorithm
(1)讀取固定包基礎(chǔ)數(shù)據(jù),將訂單零件按照優(yōu)先級排序,設(shè)第1 個零件為J1,查找S中包含J1的固定包方案。若存在這樣的固定包方案,則反向匹配該固定包方案中其他零件Jr,并從J中刪除與Jr相同的零件;若不存在,從J中刪除J1,繼續(xù)匹配。直至J=φ結(jié)束匹配,設(shè)匹配到的固定包清單為S*,剩余未匹配到的散件零件各自為一個散件包,設(shè)散件包清單為Su。
(2)對所有散件包Su進行優(yōu)先級排序。
(3)若存在固定包,則對固定包進行優(yōu)先級排序,讀取第1 個固定包S*1,選擇固定包的建議熱壓罐,遍歷散件包Su,將具有相同的固化程序號、相同的建議熱壓罐以及可用工裝的散件加入固定包中,直到插入的散件工裝面積超過熱壓罐平板面積或無散件可插入為止;若已不存在固定包,則對散件打包,根據(jù)包內(nèi)零件的已成型次數(shù)和工序信息以及熱壓罐建議信息選擇建議熱壓罐,生成建議熱壓罐列表Mu?M。
(4)對上述組包的建議熱壓罐k∈Mu進行約束資源的校核。第1 步:在熱壓罐可用時間Tm段內(nèi)為該組包選擇在該熱壓罐上的開工和完工時間,若不存在,則將該組包所有零件加入待刪除零件列表中;第2 步:根據(jù)熱壓罐的開完工時間計算零件工裝需要占用的時間段,以此反推工裝是否可以在選擇的開工和完工時間內(nèi)進罐,如果可以,則零件可進罐;如果不可以,則將該零件加入待刪除零件列表中,在計算工裝占用時間時,脫模和鋪疊工序必須要考慮工人正常工作時間;第3步:調(diào)用二維裝箱算法校驗熱壓罐面積是否滿足組包內(nèi)零件的工裝面積總和,將超出熱壓罐內(nèi)面積的零件加入待刪除零件列表中;第4 步:對可放入熱壓罐內(nèi)的工裝,校驗熱壓罐的真空嘴和熱電偶數(shù)量是否滿足,若不滿足,則將優(yōu)先級最低的零件加入待刪除零件列表中。
(5)檢驗是否存在可加工的包,若存在多個,則選擇對應(yīng)熱壓罐建議優(yōu)先級最高的包,若存在多個對應(yīng)熱壓罐建議優(yōu)先級相等的包計劃,則選擇開工時間最早的包計劃,若開工時間相同,則選擇可執(zhí)行包包含最多零件的包計劃;若不存在,將因為工裝不可用的零件加入不能排程的列表清單,將因為工裝當前時間不可用的零件其最早可用時間設(shè)置為其工裝的最早釋放時間,其他零件則加入散件列表,刪除該包,轉(zhuǎn)步驟(3)。
(6)校驗選擇的包計劃是否可行,若可行,則根據(jù)該包選擇的熱壓罐的零件數(shù)量和面積閾值對包內(nèi)零件再進行調(diào)整;若不可行,則將該包內(nèi)的零件全部加入散件列表中。
(7)更新熱壓罐設(shè)備和工裝的占用時間,更新該包的屬性,已排程訂單的屬性,并將因工裝、工序、熱壓罐、工人時間等約束而刪除的訂單加入到不可排訂單列表中,因為其他約束而刪除的訂單加入散件列表中繼續(xù)進行排程。
(8)將散件訂單加入到散件包中,更新固定包清單S*和散件包清單Su。檢驗是否還存在待排包任務(wù),若存在,轉(zhuǎn)步驟(3),否則,結(jié)束算法;若不能繼續(xù)排程,結(jié)束算法。
假設(shè)熱壓罐基礎(chǔ)信息如表2所示。固定包方案如表3所示,包含了零件圖號、使用熱壓罐編號、建議工裝序列號、工裝長度、工裝寬度以及工裝方向、真空嘴和熱電偶需求數(shù)量。各零件的工藝路線如表4所示,待排進罐計劃訂單如表5所示。
表2 熱壓罐基礎(chǔ)信息Table 2 Basic information of autoclave
表3 固定包方案Table 3 Fixed package schemes
表4 零件工藝路線Table 4 Process route of parts
表5 訂單清單Table 5 Order list
基于進罐計劃排程算法,在單設(shè)備多機型的場景下,通過固定包和散件組包進行進罐計劃排程。假設(shè)熱壓罐13–1 在2020/6/20 00:00:00–2020/6/22 00:00:00 都可用,熱壓罐每一罐計劃之間間隔時間為3 h?;诒?~5 的基礎(chǔ)數(shù)據(jù),進罐計劃排程步驟如下。
(1)生成初始包。根據(jù)現(xiàn)有訂單零件依次匹配初始包,并按照讀入的固定包順序排序,生成的初始包與讀入的固定包區(qū)別在于:固定包2 中少了零件編號為C1–223B005 的零件,同時,產(chǎn)生了散件C1–223B004。
(2)排程。按照產(chǎn)生的固定包順序依次排程,并檢驗相應(yīng)的熱壓罐資源和工裝資源,若存在不滿足資源的零件,則打入散件集合;而若散件中存在可以加入實際生產(chǎn)的包方案中時,則插入,得到進罐的相應(yīng)布局示意圖如圖4所示。
圖4 進罐方案布局圖示Fig.4 Layout of autoclave scheme
(3)散件打包。若還存在散件,則將剩余散件按一定優(yōu)先級排序,并將和第1 個散件相同程序號的零件當作1 個固定包直接進行校驗并加工,直至所有散件加工結(jié)束或超出計劃期為止。
具體的進罐計劃詳細信息如表6所示,結(jié)合圖4 和表6,算法輸出了進罐計劃的開始時間、結(jié)束時間,使用的熱壓罐以及零件使用的工裝信息,可以發(fā)現(xiàn)進罐計劃排程算法以固定包方案為基礎(chǔ),配合散件組包,在可行的進罐計劃方案內(nèi)尋找熱壓罐利用率最大的方案。
表6 進罐計劃詳細信息Table 6 Details of canning plan
將進罐計劃排程方法應(yīng)用于某復合材料零件制造企業(yè)的進罐計劃生產(chǎn)排程中,依據(jù)其實際生產(chǎn)情況設(shè)置變量參數(shù)值,如表7所示。
表7 進罐計劃算法變量參數(shù)Table 7 Variable paramenters of the canning plan algorithm
分別從組包數(shù)、熱壓罐面積利用率、排計劃用時3個方面進行數(shù)據(jù)對比,如圖5所示。
圖5 組包數(shù)、熱壓罐面積利用率和排計劃用時對比結(jié)果Fig.5 Comparison of the number of package,autoclave area utilization rate and schedule time
通過算法排計劃用時均為1 h,由于需要處理輸入的訂單以及設(shè)置訂單的優(yōu)先級,實際算法進行進罐計劃排程僅耗時不到5 min,顯著地提高進罐計劃的排程效率。前兩項數(shù)據(jù)對比結(jié)果表明進罐計劃排程方法應(yīng)用于實際生產(chǎn)計劃排程中可以有效提高設(shè)備的利用率,由于實際生產(chǎn)設(shè)置了熱壓罐內(nèi)面積利用的閾值以及零件數(shù)量的上限值,利用率提高并不多。如果熱壓罐設(shè)備作為瓶頸資源限制產(chǎn)能時,可通過調(diào)整參數(shù)值,提高熱壓罐的設(shè)備利用率。
本算法結(jié)合復合材料零件制造企業(yè)的實際生產(chǎn)情況,提出了進罐計劃排程的9 大類共14 個約束條件,基于多因素約束對進罐計劃排程方法進行研究,建立模型并實現(xiàn)了進罐計劃排程算法。多種約束的因素中,一部分通過輸入數(shù)據(jù)進行控制,一部分通過變量進行控制,一部分則在算法中控制,充分考慮了生產(chǎn)車間的動態(tài)性,使本算法具有很強的適應(yīng)性,解決了多因素約束下復合材料成型制作進罐計劃排程的難題。相比于人工經(jīng)驗排程,進罐計劃排程算法將進罐計劃排程的效率提高了3 倍以上,在有限范圍內(nèi)將熱壓罐面積利用率提高了3%左右。