張洋洋, 于哲峰
(上海交通大學(xué)航空航天學(xué)院,上海200240)
飛機(jī)研制過(guò)程中,地面結(jié)構(gòu)強(qiáng)度試驗(yàn)是重要的一環(huán),包含部件級(jí)試驗(yàn)和全機(jī)試驗(yàn),種類非常多。常見(jiàn)的有起落架靜力試驗(yàn),機(jī)翼、平尾和垂尾靜力試驗(yàn),機(jī)身或某段機(jī)身靜力試驗(yàn)等等。由于試驗(yàn)件不同,每項(xiàng)試驗(yàn)都有各自的特性。即使是同一項(xiàng)試驗(yàn),如起落架試驗(yàn),不同新機(jī)型其起落架也千差萬(wàn)別,需要為各自起落架設(shè)計(jì)專用加載、支持夾具,專用試驗(yàn)方案和安裝順序,且每項(xiàng)試驗(yàn)通常只會(huì)做一次。大型結(jié)構(gòu)或全機(jī)靜力試驗(yàn)[1]通常需要大量的不同安裝、換裝工作,涉及試驗(yàn)件、支撐框架、加載夾具、作動(dòng)器、傳感器等。因此想要建立一個(gè)相對(duì)通用的安裝順序優(yōu)化算法難度較大。
結(jié)構(gòu)強(qiáng)度試驗(yàn)安裝順序優(yōu)化本質(zhì)上屬于裝配順序優(yōu)化問(wèn)題[2-4],隨著裝配零件個(gè)數(shù)的增多,裝配順序會(huì)出現(xiàn)組合爆炸問(wèn)題[5]。對(duì)于此問(wèn)題,文獻(xiàn)[6-10]中利用遺傳算法優(yōu)化裝配順序;文獻(xiàn)[12-14]中利用蟻群算法優(yōu)化裝配順序,文獻(xiàn)[15-17]中利用粒子群算法優(yōu)化裝配順序。以上3 種智能算法均可解決組合爆炸問(wèn)題。
多個(gè)領(lǐng)域的裝配順序優(yōu)化問(wèn)題已被較好地解決。蘇強(qiáng)等[18]提出裝配角度、裝配方向、裝配穩(wěn)定性和重定位次數(shù)4 個(gè)指標(biāo)構(gòu)建的裝配順序優(yōu)化模型,用疫苗自動(dòng)獲取的免疫遺傳算法求解,并提出4 種免疫疫苗用于提升算法運(yùn)行效率,快速有效地找出了船舶工段的裝配順序。張丹等[19]針對(duì)航天產(chǎn)品裝配順序優(yōu)化問(wèn)題,提出了基于粒子群遺傳算法。黃潔等[20]提出了帶約束的多目標(biāo)遺傳算法來(lái)實(shí)現(xiàn)閥門裝配序列規(guī)劃,對(duì)不滿足約束的順序通過(guò)增加懲罰來(lái)減小適應(yīng)度函數(shù)值,但仍在交叉、變異后進(jìn)行了約束條件判斷手動(dòng)排除。李原等[21]基于遺傳算法對(duì)飛機(jī)機(jī)翼產(chǎn)品進(jìn)行了裝配序列優(yōu)化。Lu 等[13]提出了一種利用蟻群算法來(lái)解決面向裝配線平衡的裝配順序問(wèn)題。但鮮有人將上述優(yōu)化算法應(yīng)用于飛機(jī)結(jié)構(gòu)強(qiáng)度試驗(yàn)的安裝順序中。
本文結(jié)合飛機(jī)結(jié)構(gòu)靜力試驗(yàn)的安裝特性,提出了相應(yīng)的適應(yīng)度函數(shù)和量化評(píng)價(jià)安裝順序的方法,最終構(gòu)建了一種多目標(biāo)、多約束的遺傳算法,實(shí)現(xiàn)了實(shí)驗(yàn)安裝順序的優(yōu)化。
飛機(jī)結(jié)構(gòu)靜力試驗(yàn)通常需要安裝支持夾具、加載夾具、試驗(yàn)件、作動(dòng)筒、立柱、橫梁、地腳螺栓、位移傳感器、杠桿以及連接液壓控制閥、應(yīng)變計(jì)等傳感器的線纜等工作。
為適當(dāng)簡(jiǎn)化模型,初步按以下4 方面約定進(jìn)行建模。①作動(dòng)筒有時(shí)需安裝在立柱上,有時(shí)需要安裝在基座上,可將后者的作動(dòng)筒與基座視為一個(gè)安裝部件;②支持夾具本身通常也有許多零件組成,在出廠時(shí)通常未必按安裝好的狀態(tài)交付,但由于支持夾具通常為一個(gè)整體,可將支持夾具的眾多零件簡(jiǎn)化為一個(gè)安裝部件;③位移傳感器通常在試驗(yàn)全部安裝結(jié)束后再安裝,對(duì)此項(xiàng)可不進(jìn)行安裝排序;④應(yīng)變計(jì)通常在整個(gè)安裝過(guò)程之前已在試驗(yàn)件上粘貼完畢,對(duì)此項(xiàng)也可不必參與排序。
由于試驗(yàn)件不同,每個(gè)靜力試驗(yàn)方案、安裝都可能存在很大差別,需要針對(duì)每個(gè)試驗(yàn)各自的特性提煉出可簡(jiǎn)化的安裝部件來(lái)進(jìn)行排序。
需要排序的安裝部件確定后,給出各零部件編號(hào)、名稱、重心坐標(biāo)、安裝各零部件所需工人數(shù)量及安裝各零部件所需工具。
結(jié)合飛機(jī)結(jié)構(gòu)試驗(yàn)通用的特性,對(duì)于不同的裝配順序的適應(yīng)度值可以從以下5 個(gè)因素的適應(yīng)度得出:
(1)裝配操作的連續(xù)性。該因素與安裝工人位置變動(dòng)有關(guān),可用安裝完全部零部件后工人在水平面所走的路程來(lái)表示,即在某種排序下各零部件重心之間的距離和,該和越小,則適應(yīng)度值越小。該因素的適應(yīng)度值用F1表示。
(2)試驗(yàn)件安全性。即為了避免安裝過(guò)程中對(duì)試驗(yàn)件的碰撞、工具高空墜落砸到試驗(yàn)件等因素,試驗(yàn)件越靠后安裝,則認(rèn)為試驗(yàn)件的安裝安全性越好,通過(guò)試驗(yàn)件在安裝順序中的排位,排得越靠前適應(yīng)度值越高,越靠后適應(yīng)度值越低。該因素的適應(yīng)度值用F2表示。
(3)裝配工人的變動(dòng)次數(shù)。即安裝每個(gè)零部件需要的裝配工人數(shù)量變動(dòng)量越大,適應(yīng)度值越大。該因素的適應(yīng)度值用F3表示。
(4)高空作業(yè)量。即工人爬上爬下的次數(shù)越少,則適應(yīng)度函數(shù)值越小。分別計(jì)算相鄰兩個(gè)零部件重心坐標(biāo)(高度)的差值,累計(jì)疊加后的值越大,則適應(yīng)度函數(shù)值越大。該因素的適應(yīng)度值用F4表示。
(5)使用裝配工具的連續(xù)性。即安裝完一個(gè)零部件后,裝下一個(gè)零部件時(shí)不需要更換安裝工具,可省去重復(fù)找工具的時(shí)間。令更換工具次數(shù)越少,適應(yīng)度函數(shù)值越小。該因素的適應(yīng)度值用F5表示。
對(duì)以上5 個(gè)因素分別定義各自權(quán)重,最終某一安裝順序的總適應(yīng)度值為以上5 個(gè)因素的適應(yīng)度值相加。飛機(jī)結(jié)構(gòu)強(qiáng)度試驗(yàn)安裝順序優(yōu)化問(wèn)題可簡(jiǎn)化為求適應(yīng)度值最小值的問(wèn)題??傔m應(yīng)度值(裝配難度)計(jì)算式為:
式中:ωi為權(quán)重系數(shù),根據(jù)工程經(jīng)驗(yàn)確定。
由于每個(gè)試驗(yàn)都有其特殊性,可在單獨(dú)總結(jié)試驗(yàn)特殊性因素加入到適應(yīng)度函數(shù)中。
實(shí)際安裝過(guò)程中,某些零部件存在必須的先后安裝順序,因此為了使得出的解更具有實(shí)際意義,還需對(duì)模型增加安裝順序的約束條件,本文提出了以下4 個(gè)約束條件:①立柱要在高空橫梁安裝之前安裝;②試驗(yàn)件需要在支持夾具之后安裝好;③試驗(yàn)件需要在高空橫梁之前安裝;④杠桿系統(tǒng)需要在試驗(yàn)件之后安裝。當(dāng)某一代種群中的一組排序出現(xiàn)不滿足安裝順序需要滿足的條件時(shí),即不滿足約束條件時(shí),可通過(guò)增加懲罰函數(shù)的方法,即在該序列的適應(yīng)度函數(shù)值的基礎(chǔ)上加上一個(gè)較大的常數(shù)懲罰值,使該序列最終的適應(yīng)度函數(shù)值較大,從而在迭代過(guò)程中進(jìn)行選擇操作時(shí)大概率淘汰該序列,而不需要在每一步的交叉、變異之后再次進(jìn)行有效性檢驗(yàn)。當(dāng)所有不滿足約束條件的序列在種群中都淘汰后,剩下的就是都滿足約束條件的解。該方法結(jié)合遺傳算法“物競(jìng)天擇,適者生存”的特點(diǎn),巧妙地回避了對(duì)每一種順序序列的每一步計(jì)算前都需要判斷是否符合約束條件的步驟,極大地提高了程序計(jì)算效率,簡(jiǎn)化了程序代碼。
圖1 平尾試驗(yàn)安裝布置示意圖
以一個(gè)平尾結(jié)構(gòu)的靜力試驗(yàn)為例,為了使本算例更具代表性,只選取了部分安裝組件進(jìn)行安裝順序的優(yōu)化。平尾試驗(yàn)安裝圖如圖1 所示。試驗(yàn)件由3 個(gè)支持夾具固定,下部有5 個(gè)作動(dòng)器及安裝夾具(圖中未顯示杠桿系統(tǒng)),上部有1 個(gè)作動(dòng)器,施加向上的載荷;而為了實(shí)現(xiàn)向上加載,使用4 個(gè)立柱和3 個(gè)高空橫梁固定上部的作動(dòng)器。
取本實(shí)驗(yàn)中的17 個(gè)零部件分別進(jìn)行編號(hào),統(tǒng)計(jì)各零部件重心坐標(biāo),將重心點(diǎn)代表各零部件。各件編號(hào)、名稱、重心坐標(biāo)、安裝所需工人數(shù)量及安裝所需工具見(jiàn)表1。杠桿系統(tǒng)的x、z 坐標(biāo)取底下5 個(gè)作動(dòng)筒x、z 坐標(biāo)的平均值,杠桿系統(tǒng)的y 坐標(biāo)值(高度值)等于試驗(yàn)件的z坐標(biāo)值減300。本例中杠桿的安裝也需要占用部分工作量,故將杠桿系統(tǒng)也視為需要安裝的零部件之一。本程序采用十進(jìn)制編碼,優(yōu)化程序輸出的編碼即為1 ~17 的17 個(gè)數(shù)的排列順序,1 ~17 分別代表著表1 中17 個(gè)需要安裝的零部件。
表1 零部件編號(hào)、名稱、重心坐標(biāo)、安裝所需工人數(shù)量及安裝所需工具
本實(shí)施例共考慮5 個(gè)適應(yīng)度函數(shù)組成因素,即:
(1)裝配操作的連續(xù)性。分別計(jì)算相鄰2 個(gè)零部件重心在xz平面投影的距離值和,表示安裝完全部零部件后工人在xz平面所走的路程。權(quán)重值w1為1。
(2)高空作業(yè)量。通過(guò)分別計(jì)算相鄰2 個(gè)零部件重心y坐標(biāo)(高度)的差值,表示工人爬上爬下的距離。權(quán)重值w2為2。
(3)試驗(yàn)件安全性。具體規(guī)則為:若試驗(yàn)件安裝排在第i 位,則該項(xiàng)適應(yīng)度值為(17 000 -i)×1 000,權(quán)重值為w3=1。
(4)裝配工人的變動(dòng)次數(shù)。具體規(guī)則為將安裝每個(gè)零部件所需工人數(shù)量輸入至數(shù)組,在某一序列中將每個(gè)前后相鄰的兩個(gè)零部件所需工人數(shù)相減,再求和得出總的裝配工人變動(dòng)量。權(quán)重值w4為1 000。
(5)使用裝配工具的連續(xù)性。本算例假設(shè)安裝所有零部件共需要使用5 種工具(扳手、天車、手拉葫蘆、小型曲臂升降機(jī)、吊帶),分別計(jì)算安裝前后兩個(gè)零部件所需安裝工具不同的數(shù)量,求出不同數(shù)量的總和,設(shè)權(quán)重值w5為1 000。
權(quán)重選取原則:
適應(yīng)度函數(shù)的5 個(gè)組成因素中,第1、第2 個(gè)因素為各部件重心坐標(biāo)的距離和。由于試驗(yàn)3 維模型通常在catia 中建立,采用mm 為單位,工人來(lái)回走過(guò)的距離和通常在幾十m到幾百m之間,故F1、F2的數(shù)量級(jí)通常在104~105之間。工人上下爬動(dòng)通常比在地面平動(dòng)費(fèi)勁,簡(jiǎn)單假設(shè)為上下爬動(dòng)1 m等同于在平面走2 m,故第1 個(gè)因素(平動(dòng))權(quán)重為1,第2 個(gè)因素(上下爬動(dòng))設(shè)為2。第4、第5 個(gè)因素都是變動(dòng)次數(shù),F(xiàn)4、F5的數(shù)量級(jí)通常在幾到十幾,故需要放大數(shù)量級(jí),本文取了1 000,使其在總適應(yīng)度值中達(dá)到合適的比重。第3個(gè)因素選取權(quán)重思想類似。因素4 中安裝每個(gè)部件所需要的工人數(shù)量和因素5 中安裝各部件所需工具可由工程經(jīng)驗(yàn)指定。
約束條件考慮以下5 條:
(1)立柱要在高空橫梁安裝之前安裝,即2 ~5 排在14 ~16 之前,根據(jù)圖1,該條可具體簡(jiǎn)化等效為2、3排在14 之前,4、5 排在15 之前。
(2)試驗(yàn)件需要在支持夾具之后安裝好,即11 ~13 排在1 之前。
(3)試驗(yàn)件需要在高空橫梁之前安裝,即1 排在14 ~16 之前。
(4)高空橫梁3 附帶作動(dòng)筒需在高空橫梁1、高空橫梁2 之后安裝,即14、15 排在16 之前。
(5)杠桿系統(tǒng)17 需要在試驗(yàn)件1 之后安裝,即1排在17 之前。
對(duì)于不滿足約束條件的順序序列,在該序列的適應(yīng)度函數(shù)值的基礎(chǔ)上加上一個(gè)較大的常數(shù)懲罰值,本算法中取200 000。
程序中對(duì)適應(yīng)度函數(shù)第5 條安裝所需工具的處理:為了方便程序編程,將5 種工具分別與1 ~5 這5個(gè)數(shù)對(duì)應(yīng),將這17 個(gè)零部件與其自身安裝所需工具種類建立17 ×5 的二維矩陣數(shù)組,見(jiàn)表2,矩陣(i,j)中1表示安裝該零部件i需要工具j,0 則表示不需要。通過(guò)相鄰兩個(gè)零部件的五列元素相減就可得出安裝前后兩個(gè)零部件所需的不同安裝工具的數(shù)量。
表2 各零部件安裝所需工具對(duì)應(yīng)關(guān)系
本算例采用常規(guī)的輪盤賭選擇法作為選擇方法。交叉方法分兩步完成。
第1 步選擇出需要交叉的2 個(gè)個(gè)體后,隨機(jī)產(chǎn)生2 個(gè)數(shù)i和j(在1 ~17 之間),交換從第i位開(kāi)始至第j位之間的順序段,具體過(guò)程如圖2 所示。圖2 中的兩行17 位的數(shù)字序列分別代表需要交叉的2 個(gè)個(gè)體,假設(shè)隨機(jī)產(chǎn)生出來(lái)的i 和j 分別為12 和15,則交換第12 ~15 位之間的順序片段。
圖2 交叉過(guò)程示意圖
第2 步對(duì)交換后的2 個(gè)個(gè)體中出現(xiàn)兩次同一數(shù)字進(jìn)行排除,保留上述交換的順序段,替換順序段之外的相同數(shù)。以圖2 中交換后第1 個(gè)個(gè)體為例,數(shù)字“2”和“14”出現(xiàn)了兩次,同時(shí)也意味著該個(gè)體有兩個(gè)數(shù)字缺失。保留第1 步中交換順序片段中的“2”和“14”,缺失的數(shù)字包含在第2 個(gè)個(gè)體中的交換順序片段中,本例為“17”和“3”,分別以“17”和“3”替換第1個(gè)個(gè)體中交換順序片段外的“2”和“14”。第2 個(gè)個(gè)體操作同上。替換完成后個(gè)體不會(huì)出現(xiàn)重復(fù)數(shù)字,且數(shù)字遍歷了1 ~17,符合個(gè)體要求。
變異方法為隨機(jī)產(chǎn)生2 個(gè)數(shù)i 和j(在1 ~17 之間),交換從第i位和第j位的數(shù)。
本算例的部分參數(shù)設(shè)置為:初始種群數(shù)量100,最大迭代步數(shù)為300,交叉概率為0.8,變異概率為0.2。由于遺傳算法求出的是局部最優(yōu)解,為了盡可能將得出的解接近最優(yōu)解,可多次運(yùn)行該程序,或者增大種群數(shù)量,增加迭代次數(shù),從每次的結(jié)果中挑選出一種最優(yōu)解。
本算例共運(yùn)行了5 次,適應(yīng)度值集中在75 000 ~83 000 之間,在第2 次運(yùn)行中得出了最優(yōu)解。最優(yōu)解的最小適應(yīng)度函數(shù)值為75 394。遺傳算法得到的最優(yōu)安裝順序?yàn)椋?-10-8-6-7-11-12-13-3-5-4-2-1-17-14-15-16,解碼后安裝順序?yàn)樽鲃?dòng)筒4-作動(dòng)筒5-作動(dòng)筒3-作動(dòng)筒1-作動(dòng)筒2-支持夾具1-支持夾具2-支持夾具3-立柱2-立柱4-立柱3-立柱1-試驗(yàn)件-杠桿系統(tǒng)-高空橫梁1-高空橫梁2-高空橫梁3 附帶作動(dòng)筒。其中:xz 平面距離和F1=40 380. 3,權(quán)重系數(shù)w1=1,F(xiàn)1w1=40 380。高度差之和F2=7 507.0,權(quán)重系數(shù)w2=2,F(xiàn)2w2=15 014。試驗(yàn)件安裝過(guò)程安全性F3=4 000,權(quán)重系數(shù)w3=1,F(xiàn)3w3=4 000。裝配工人變動(dòng)次數(shù)F4=7,權(quán)重系數(shù)w4=1 000,F(xiàn)4w4=7 000。安裝所需工具變動(dòng)次數(shù)F5=9,權(quán)重系數(shù)w5=1 000,F(xiàn)5w5=9 000。
最優(yōu)解的空間示意圖如圖3 所示,收斂過(guò)程如圖4 所示。
圖3 安裝順序空間示意圖
圖4 遺傳算法迭代步數(shù)迭代收斂過(guò)程示意圖
本文提出的算法可實(shí)現(xiàn)結(jié)構(gòu)強(qiáng)度試驗(yàn)安裝順序規(guī)劃,找出接近或等于最優(yōu)解的安裝順序。但仍有一些工作可以進(jìn)一步完善。①約束條件增加得越多,算法出現(xiàn)不滿足約束條件的解得概率越大,因此可以考慮基于工程經(jīng)驗(yàn),多預(yù)設(shè)一些安裝規(guī)則,減少約束條件,節(jié)約方案搜索的計(jì)算量;②考慮到試驗(yàn)前有大量的加載方案調(diào)試工作,也會(huì)與安裝工作有所耦合,可以把作動(dòng)筒調(diào)試也當(dāng)作一個(gè)安裝環(huán)節(jié)參與排序;③權(quán)重系數(shù)直接影響適應(yīng)度函數(shù),本文取的是假定值,實(shí)際上應(yīng)結(jié)合真實(shí)的試驗(yàn)情況根據(jù)工程經(jīng)驗(yàn)確定權(quán)重系數(shù)。
本文所提出的模型可進(jìn)一步完善,讀者可以參照本文提出方法更改的適應(yīng)度函數(shù),針對(duì)具體試驗(yàn)特性增加新的影響裝配順序的因素。例如考慮工人的勞動(dòng)強(qiáng)度問(wèn)題,合理制定休息時(shí)機(jī)和時(shí)間。安裝某些夾具的過(guò)程中需要使用叉車,但某些夾具先安裝后可能會(huì)擋住叉車的行駛路徑等。
除了本文提出的方法,也可從另一個(gè)思路解決結(jié)構(gòu)試驗(yàn)裝配順序優(yōu)化,即通過(guò)機(jī)器學(xué)習(xí)的方法,不斷地對(duì)已有大量不同試驗(yàn)的安裝順序進(jìn)行學(xué)習(xí),從而對(duì)一種新的試驗(yàn),能直接給出最優(yōu)安裝順序。