杜寶瑞,張 杰,屈力剛,李 亮
(1.中航工業(yè)沈陽飛機(jī)工業(yè)(集團(tuán))有限公司,沈陽 110000;2.沈陽航空航天大學(xué),航空制造工藝數(shù)字化國防重點(diǎn)學(xué)科實(shí)驗(yàn)室,沈陽 110136;3.中航工業(yè)中國空空導(dǎo)彈研究院,洛陽 471000)
隨著國內(nèi)制造業(yè)的快速發(fā)展,為了滿足待檢測零件的精度和效率要求,航空制造業(yè)正在推行一種基于MBD(model based definition)[1]的數(shù)字化生產(chǎn)模式,逐漸形成以設(shè)計(jì)、制造、檢測為一體的閉環(huán)作業(yè)系統(tǒng)。在數(shù)字化生產(chǎn)模式的推動下,以設(shè)計(jì)部門設(shè)計(jì)的三維MBD模型為信息傳遞的唯一標(biāo)準(zhǔn)載體,向下游的生產(chǎn)部門和檢測部門同步傳遞,生產(chǎn)部門依據(jù)模型所攜帶的加工信息加工零件,同時檢測部門依據(jù)模型所攜帶的待檢測信息在三坐標(biāo)系統(tǒng)上離線編制零件的檢測程序[2]。通過對三維MBD模型檢測要素的分類[3]和尺寸標(biāo)注的自動規(guī)范化矯正[4,5]以及檢測程序的仿真推演,提前規(guī)劃并避免在使用三坐標(biāo)測量機(jī)檢測待檢測零件時可能遇到的干涉、撞針等問題[6],當(dāng)零件加工完成后可立即在三坐標(biāo)測量機(jī)上自動執(zhí)行待檢測零件的檢測程序任務(wù),完成對零件的測量。
航空企業(yè)內(nèi)成批次的零件使用壽命長,更新改動小,基于三坐標(biāo)系統(tǒng)編制的測量程序具有可重復(fù)性、高效性、易改動等特點(diǎn)。企業(yè)中的三坐標(biāo)檢測設(shè)備的數(shù)量在一定時期內(nèi)是相對不變的,但是由于對檢測設(shè)備資源的分配沒有合理的規(guī)劃,依然采用依靠人工經(jīng)驗(yàn)選擇的方式,不僅存在隨意性和約束性,而且在如何選配上耗費(fèi)大量的工作時間,降低了檢測效率。若零件加工生產(chǎn)完成后不能在交貨期內(nèi)及時檢測完成,會導(dǎo)致不能按時交貨,經(jīng)濟(jì)效益降低等問題。因此若能夠針對不同的待檢測零件,通過合理分配三坐標(biāo)檢測設(shè)備資源進(jìn)行協(xié)同測量,最大化釋放現(xiàn)有設(shè)備資源的使用價值,是對檢測設(shè)備資源及檢測過程的優(yōu)化管理,是提高企業(yè)的生產(chǎn)效益和核心競爭力的關(guān)鍵問題之一。
針對上述航空企業(yè)中存在的問題,本文提出了一種檢測設(shè)備資源分配的優(yōu)化方法,旨在解決數(shù)字化檢測模式下三坐標(biāo)檢測設(shè)備得不到合理規(guī)劃利用的問題。
在使用三坐標(biāo)系統(tǒng)編制檢測程序的過程中,受實(shí)際檢測條件和性能的約束影響,如零件的精度、不滿足三坐標(biāo)設(shè)備檢測要求的特征、尺寸標(biāo)注關(guān)聯(lián)特征的矢量方向、夾具夾持零件時無法檢測被夾持面的關(guān)聯(lián)特征等因素,都決定了待檢測零件其檢測程序的數(shù)量多少和復(fù)雜程度。因此,同一批次的零件在三坐標(biāo)系統(tǒng)上會相應(yīng)編制出多個檢測程序,才能覆蓋待檢測零件的所有檢測信息。
假設(shè)在檢測資源的配置過程中滿足以下基本規(guī)則:
1)在某一時刻,一臺設(shè)備只能執(zhí)行一個零件的其中一個檢測程序任務(wù);
2)在某一時刻,一個零件的其中一個檢測程序任務(wù)只能在一臺設(shè)備上執(zhí)行;
3)檢測程序任務(wù)在某臺設(shè)備上開始執(zhí)行后,就不能中斷,直到完成檢測;
4)每個檢測程序任務(wù)的檢測時間固定且都為已知;
5)需要更換其他設(shè)備執(zhí)行其他檢測程序任務(wù)時,此設(shè)備沒有在執(zhí)行檢測程序任務(wù)。
多批次的零件的檢測程序任務(wù)在檢測設(shè)備資源上的分配屬于典型的規(guī)劃和優(yōu)化問題,可以描述為:若現(xiàn)有多批次共n個待檢測零件,每批次的零件根據(jù)檢測信息的要求編制成li(i?n)個檢測程序,則共有個檢測程序任務(wù);每個檢測程序任務(wù)需要從m臺檢測設(shè)備中選擇某一臺設(shè)備以完成檢測任務(wù)。不同的分配方式付出不同的代價。即將檢測資源配置問題轉(zhuǎn)化為尋找待檢測零件與檢測設(shè)備資源的合理分配的最優(yōu)解問題。
定義檢測設(shè)備集合為J={j|1,2,…,m},待檢測零件集合為I={i|1,2,…,n},每個零件的檢測程序任務(wù)集合為K={k|1,2,…,l},第i個待檢測零件的檢測程序任務(wù)為eik,交貨期限為T0。檢測設(shè)備j執(zhí)行檢測程序任務(wù)eik的時間為Rikj,則所構(gòu)成的所有檢測程序任務(wù)時間矩陣為。由于每臺檢測設(shè)備在某一時刻只能執(zhí)行待檢測零件的一個檢測程序任務(wù),即設(shè)當(dāng)檢測設(shè)備j執(zhí)行檢測程序任務(wù)eik時,其占用狀態(tài)用Bikj表示,正在執(zhí)行檢測任務(wù)表示為Bikj=1,空閑狀態(tài)表示為Bikj=0。給出檢測程序任務(wù)在檢測設(shè)備上執(zhí)行所需要的檢測時間Rikj和檢測設(shè)備的占用狀態(tài)BRikj的關(guān)系矩陣如表1所示。
為了使多批次零件能在生產(chǎn)周期內(nèi)完成檢測任務(wù),按時交貨,以檢測時間最小為優(yōu)化目標(biāo),則檢測設(shè)備j執(zhí)行其分配到的檢測程序任務(wù)的檢測時間為:
則在m臺檢測設(shè)備上執(zhí)行n個待檢測零件的全部檢測任務(wù)的數(shù)學(xué)模型為:
在平時的課堂教學(xué)開始前,先環(huán)視整個教室,關(guān)注每一位學(xué)生的精神狀態(tài)和課前準(zhǔn)備情況,用眼神告訴學(xué)生:老師很關(guān)注你的學(xué)習(xí)狀況。在課堂教學(xué)中,也要經(jīng)常開展自主合作探究的學(xué)習(xí)方式,鼓勵學(xué)生在小組內(nèi)暢所欲言,達(dá)到生生互學(xué)的效果。這樣的學(xué)習(xí)方式,讓學(xué)生在學(xué)習(xí)伙伴面前展現(xiàn)了自己的存在感,進(jìn)而提升學(xué)習(xí)自信心。在小組匯報(bào)階段,都要鼓勵學(xué)生聲音響亮且有條理地表達(dá)自己的見解,要求其他學(xué)生能安靜傾聽并思考,要求對匯報(bào)者的匯報(bào)給予眼神的關(guān)注和語言上的評價及掌聲鼓勵。美其名曰:“他說,你聽!”“他說,你評!”“他說,你點(diǎn)贊!”通過這一系列的實(shí)踐活動,讓學(xué)生真切感受到學(xué)習(xí)伙伴和教師都在關(guān)注自己。
其中:式(2)表示以總檢測時間最小的目標(biāo);式(3)表示一個零件的其中一個檢測程序任務(wù)只能在一臺設(shè)備上執(zhí)行;式(4)表示一臺設(shè)備只能執(zhí)行一個零件的其中一個檢測程序任務(wù)。式(5)表示最長檢測時間不能超過規(guī)定的交貨期限。
表1 執(zhí)行檢測程序任務(wù)的時間和檢測設(shè)備的占用狀態(tài)表
檢測設(shè)備資源的分配與柔性作業(yè)車間調(diào)度類似,也是一種很復(fù)雜的非確定多項(xiàng)式(Non-deterministic Polynomial)問題[7]。目前國內(nèi)外對于NP問題求解方式的研究常應(yīng)用智能優(yōu)化算法,包括模擬退火、禁忌搜索、神經(jīng)網(wǎng)絡(luò)、蟻群算法、遺傳算法等。其中,通過遺傳算法來求解最優(yōu)的檢測設(shè)備選擇原則,具有較高的全局搜索效率和收斂效果,得出最優(yōu)解與實(shí)際最優(yōu)解的誤差較小[8]。
遺傳算法是一種模擬自然進(jìn)化過程中優(yōu)勝劣汰的機(jī)理來搜索最優(yōu)解的方法,其利用編碼技術(shù)對一定數(shù)目的個體進(jìn)行編碼,完成初始種群的構(gòu)建。初始種群生成之后,由適應(yīng)度大小淘汰不符合要求的個體,對通過選擇而保留的個體進(jìn)行交叉和變異的重新組合生成新的種群,不斷的迭代使其進(jìn)化到滿足某一設(shè)定的要求,進(jìn)而得到符合要求的最優(yōu)解。
針對上述檢測設(shè)備資源分配的問題,由于需要對檢測設(shè)備資源和檢測程序任務(wù)同時進(jìn)行編碼,因此采用雙層編碼的方法。第一層為每個待檢測零件的檢測程序任務(wù)的編碼層,第二層為檢測設(shè)備編碼層。這樣就可以給檢測程序任務(wù)選擇執(zhí)行的檢測設(shè)備,并將所選擇的檢測設(shè)備編號安排在對應(yīng)的檢測設(shè)備編碼層。
在執(zhí)行多批次零件的所有檢測程序任務(wù)期間,可能需要根據(jù)檢測程序的要求更換工裝夾具,為了減少此類不必要的更換以縮短額外的準(zhǔn)備時間,將相同類型的程序優(yōu)先排列選擇,避免無序選擇時造成的工裝夾具頻繁更換的問題。因此檢測程序編碼層采用基于優(yōu)先權(quán)編碼的方式,即每一個基因代表一個優(yōu)先權(quán),表示每個檢測程序任務(wù)的執(zhí)行次序,如n個零件中每個零件對應(yīng)有l(wèi)i(i?n)個檢測程序,則共有個檢測程序,優(yōu)先權(quán)值為從1到,染色體分為n段,每一段代表一個零件的所有檢測程序,每段包含li個基因,代表程序1到的優(yōu)先權(quán)值。
檢測設(shè)備編碼層采用整數(shù)的編碼方式,由檢測設(shè)備的編號組成。根據(jù)檢測程序編碼層的基因隨機(jī)選擇對應(yīng)執(zhí)行檢測程序的檢測設(shè)備,將檢測設(shè)備編號填入檢測設(shè)備編碼層的對應(yīng)位置。
假設(shè)現(xiàn)有3臺檢測設(shè)備,有4個待檢測零件,每個零件分別包含3、2、4、3個檢測程序任務(wù),如表2所示。
為使其滿足約束條件,即檢測程序任務(wù)需按照合理的次序依次執(zhí)行,首先從全部待檢測零件的第一道檢測程序任務(wù){(diào)e11,e21,e31,e41}中隨機(jī)選擇出e31,賦予其優(yōu)先權(quán)值,令其對應(yīng)的染色體元素為1;然后再從{e11,e21,e31,e41}中隨機(jī)選擇出e21,賦予其優(yōu)先權(quán)值,令其對應(yīng)的染色體元素為2;然后再從{e11,e21,e32,e41}中隨機(jī)選擇出e32,賦予其優(yōu)先權(quán)值,令其對應(yīng)的染色體元素為3;依次類推,直到所有的檢測程序任務(wù)對應(yīng)的染色體元素優(yōu)先權(quán)值都被確定,生成父代檢測程序任務(wù)染色體編碼P11。隨機(jī)生成父代檢測設(shè)備染色體編碼C11。按照上述方法生成初始種群。從初始種群中隨機(jī)選取一個初始解染色體編碼P21和C21與父代染色體編碼P11和C11用于后續(xù)的交叉操作。如圖1所示。
圖1 生成初始種群
以總檢測時間為要求解的目標(biāo)函數(shù),為了使目標(biāo)函數(shù)取最小值,取遺傳算法的適應(yīng)度函數(shù)為f=-F。
檢測程序任務(wù)交叉操作時,首先保持各檢測設(shè)備染色體編碼不變,隨機(jī)選擇1個待檢測零件作為交叉零件,交換兩個染色體中對應(yīng)的優(yōu)先權(quán)值,如染色體P11和P21進(jìn)行交叉,隨機(jī)選取第一個待檢測零件作為交叉零件,交換P11和P21中第一個零件的檢測程序任務(wù)編碼,得到新的交叉子代染色體編碼層P12。
檢測設(shè)備交叉操作時,再保持各檢測程序任務(wù)染色體編碼不變,對檢測設(shè)備染色體編碼進(jìn)行多點(diǎn)交叉。首先隨機(jī)產(chǎn)生一個與染色體長度相等的由0、1代碼組成的交叉編碼串(1,0,1,0,1,1,1,0,1,0,0,1),交叉編碼串中的1代表對檢測設(shè)備染色體編碼層C11和C21中相同位置的元素進(jìn)行互換,得到新的交叉子代染色體編碼層C12。如圖2所示。
表2 檢測程序任務(wù)表
圖2 染色體編碼層交叉操作結(jié)果
然后統(tǒng)計(jì)出P12中缺少和重復(fù)的優(yōu)先權(quán)值,并用缺少的優(yōu)先權(quán)值代替重復(fù)的優(yōu)先權(quán)值,最后把所有檢測程序任務(wù)對應(yīng)的優(yōu)先權(quán)值按從小到大的順序重新排列,代表執(zhí)行的順序。編碼層P12用缺少的優(yōu)先權(quán)值(4,6)替代重復(fù)的優(yōu)先權(quán)值(1,3),根據(jù)每個待檢測零件的優(yōu)先權(quán)值從小到大的順序,用4替換1,6替換3,得到新的子代染色體編碼層P13。如圖3所示。
圖3 檢測程序任務(wù)編碼層優(yōu)先權(quán)調(diào)整結(jié)果
檢測程序任務(wù)變異操作時,保持各檢測設(shè)備染色體編碼不變,隨機(jī)選擇2個不同待檢測零件的兩個基因交換其優(yōu)先權(quán)值,如染色體P13中第一個零件的第二個檢測程序和第三個零件的第三個檢測程序編碼進(jìn)行交換,得到新的變異子代染色體編碼層P14。
檢測設(shè)備變異操作時,如在C12中隨機(jī)選擇第二個零件的第二個檢測程序編碼,將隨機(jī)其替換為另一臺檢測設(shè)備,得到新的變異子代染色體編碼層C13。如圖4所示。
圖4 染色體編碼層變異操作結(jié)果
再按照4)中提到的方法調(diào)整P14層優(yōu)先權(quán)值大小排序,得到新的子代染色體編碼層P15和C13。如圖5所示。
圖5 檢測程序任務(wù)編碼層優(yōu)先權(quán)調(diào)整結(jié)果
至此一次循環(huán)結(jié)束,重復(fù)上述步驟,根據(jù)設(shè)定的遺傳算法迭代次數(shù)ε停止循環(huán),輸出最終的結(jié)果即為最優(yōu)解。
根據(jù)本文中所提出的檢測設(shè)備資源分配優(yōu)化方法,為了驗(yàn)證其在實(shí)際生產(chǎn)作業(yè)中是否具有實(shí)用性和高效性,根據(jù)建立的數(shù)學(xué)模型對其進(jìn)行優(yōu)化求解。選取初始種群規(guī)模為50,迭代次數(shù)為50,檢測設(shè)備交叉概率和檢測程序任務(wù)交叉概率都為pc=0.9,檢測設(shè)備變異概率和檢測程序任務(wù)變異概率都為pm=0.01。得到上述資源分配的最優(yōu)結(jié)果如表3所示。
由表得知,每臺檢測設(shè)備分配到的最優(yōu)檢測程序任務(wù)集合分別為{j1|e11、e42、e33、e34}、{j2|e31、e21、e22、e13}和{j3|e41、e32、e12、e43},每臺檢測設(shè)備工作的總檢測時間甘特圖如圖6所示。
表3 最優(yōu)分配結(jié)果表
圖6 本文方法檢測設(shè)備資源配置圖
圖7 傳統(tǒng)方法檢測設(shè)備資源配置圖
而按照傳統(tǒng)的檢測零件的方式,檢測人員會根據(jù)個人的習(xí)慣和經(jīng)驗(yàn)選擇檢測設(shè)備,傳統(tǒng)的人工方法存在隨意性,不能最大程度釋放檢測設(shè)備資源的性能。其檢測時間甘特圖如圖7所示。
通過將所有的檢測程序任務(wù)合理地分配到每一臺檢測設(shè)備上,待全部的零件檢測完成后即為完成檢測任務(wù),即可交貨。由木桶效應(yīng)可知,每臺檢測設(shè)備工作的最長總檢測時間為實(shí)際總檢測時間,由圖6得本文方法為29.8min;而傳統(tǒng)人為選擇并分配檢測設(shè)備的方法其實(shí)際總檢測時間由圖7得為41.9min。根據(jù)現(xiàn)場作業(yè)統(tǒng)計(jì),針對多批次的零件檢測任務(wù),在檢測設(shè)備資源相同的情況下,零件的總數(shù)量越多,對應(yīng)檢測程序任務(wù)的總數(shù)量就越多,本方法相對于傳統(tǒng)方式的優(yōu)越性就越明顯,具體表現(xiàn)在需要人為干涉的任務(wù)量少,相對檢測時間比(傳統(tǒng)方式檢測時間/本方法檢測時間)越來越低,即檢測效率得到明顯提高,驗(yàn)證了本文方法的可行性。如表4所示。
表4 本文方法和傳統(tǒng)方法對比表
本文面向數(shù)字化檢測生產(chǎn)模式,針對存在的檢測設(shè)備資源沒有提前規(guī)劃分配而是依靠人為經(jīng)驗(yàn)進(jìn)行選擇的不合理問題,采用了一種雙層編碼的遺傳算法求解方法對建立的數(shù)學(xué)模型進(jìn)行求解,根據(jù)實(shí)際生產(chǎn)要求得到其最優(yōu)分配結(jié)果,避免了人為的選擇干涉,提高了檢測設(shè)備資源的利用率和檢測多批次零件的效率。最后通過實(shí)例驗(yàn)證表明了該方法能夠?qū)崿F(xiàn)檢測設(shè)備資源的合理分配,滿足數(shù)字化檢測的實(shí)際生產(chǎn)需求,并對推進(jìn)數(shù)字化檢測的發(fā)展具有一定的意義。