劉 浩,張 磊,徐宏斌,李正宇,劉馨心
(1.清華大學(xué) 機(jī)械工程系,北京 100084; 2.西安現(xiàn)代控制技術(shù)研究所,西安 710065)
近年來地面無人武器裝備快速發(fā)展,隨著作戰(zhàn)任務(wù)的日益多樣化,軍隊對不同類型武器的需求也隨之增加。研制搭載各類武器站的地面無人戰(zhàn)車,使之針對不同的作戰(zhàn)環(huán)境選配合適的武器站,不僅能有效降低武器系統(tǒng)的綜合成本,也可以大大提高其特定環(huán)境下的作戰(zhàn)能力[1]。這就需要在無人武器站設(shè)計時充分考慮研制周期、成本與產(chǎn)品種類之間的矛盾,既能對部隊需求做出快速響應(yīng),也能夠提升生產(chǎn)制造效率。我國應(yīng)該突破地面無人武器系統(tǒng)體系的需求分析、體系結(jié)構(gòu)設(shè)計、頂層設(shè)計檢驗等總體設(shè)計技術(shù),促進(jìn)地面無人系統(tǒng)的標(biāo)準(zhǔn)化、通用化和系列化發(fā)展[2]。
模塊化設(shè)計方法在功能分析的基礎(chǔ)上,劃分并設(shè)計出一系列的功能模塊,通過模塊的選擇和組合構(gòu)成不同的產(chǎn)品,以快速響應(yīng)市場的需求。通用模塊在產(chǎn)品系列中具有很好的可繼承性,能夠有效利用規(guī)模經(jīng)濟(jì)效益降低成本,便于實(shí)現(xiàn)系列化設(shè)計、標(biāo)準(zhǔn)化生產(chǎn)、通用化使用等目標(biāo)。專用模塊能夠?qū)崿F(xiàn)產(chǎn)品的多樣化,滿足客戶的不同需求,并適應(yīng)技術(shù)的發(fā)展更新。武器裝備屬于復(fù)雜機(jī)電產(chǎn)品,零部件數(shù)量多,涉及到的交互關(guān)系復(fù)雜,文獻(xiàn)[3]運(yùn)用模塊化設(shè)計理論建立了自動武器快速設(shè)計的總體框架,研究并提出了產(chǎn)品模塊、接口劃分方法及模塊信息編碼方案。文獻(xiàn)[4]對作戰(zhàn)裝甲車輛的結(jié)構(gòu)進(jìn)行了模塊化的探索研究,但模塊劃分主觀性太強(qiáng),劃分結(jié)果的合理性未能體現(xiàn)。
模塊劃分作為模塊化設(shè)計的關(guān)鍵步驟,其劃分結(jié)果將直接影響產(chǎn)品的模塊化程度。目前非數(shù)值類模塊劃分算法(啟發(fā)式算法[5]、樹圖法[6])在面對復(fù)雜機(jī)電產(chǎn)品時適應(yīng)性較差。數(shù)值類的模塊劃分算法則是通過構(gòu)建目標(biāo)函數(shù)并進(jìn)行優(yōu)化,來尋找全局最優(yōu)解。文獻(xiàn)[7]使用蟻群聚類算法進(jìn)行模塊劃分,文獻(xiàn)[8]引入穩(wěn)健設(shè)計思想,提出了基于人工免疫改進(jìn)算法的模塊劃分方法,文獻(xiàn)[9]在權(quán)衡產(chǎn)品族內(nèi)在共性和單個零部件特性之間關(guān)系的基礎(chǔ)上,采用遺傳算法進(jìn)行產(chǎn)品平臺的模塊化設(shè)計。
由于數(shù)值類算法存在著操作復(fù)雜、計算時間長等缺陷,本文提出了一種新的基于個體尋優(yōu)策略的方法對無人武器站進(jìn)行模塊劃分,為了證明其有效性和通用性,使用了遺傳算法進(jìn)行縱向比較,并對其他文獻(xiàn)中的模塊劃分結(jié)果進(jìn)行橫向驗證。
Ulrich[10]認(rèn)為模塊化是個相對概念,無法將產(chǎn)品分為模塊化產(chǎn)品和非模塊化產(chǎn)品,但產(chǎn)品的模塊化程度有高低之分,并指出模塊化程度與功能、物理結(jié)構(gòu)的映射關(guān)系和模塊之間的偶發(fā)影響相關(guān)。在理想的設(shè)計中,功能與模塊之間為一一映射,同時模塊之間的聯(lián)系均通過接口產(chǎn)生,不存在除此之外的其他偶然影響。模塊劃分的目的就是對零件進(jìn)行重組,使之具有更高的模塊化程度。
在模塊劃分過程中,可以引入不同的劃分準(zhǔn)則(或目標(biāo)函數(shù))來使得劃分結(jié)果體現(xiàn)不同的設(shè)計意圖。產(chǎn)品的生命周期包括設(shè)計、制造、維修、回收等環(huán)節(jié),面向全生命周期或其中某一環(huán)節(jié)的模塊化設(shè)計方法成為研究熱點(diǎn)。文獻(xiàn)[11]在功能分析的基礎(chǔ)上面向產(chǎn)品的全生命周期提出8個劃分原則來指導(dǎo)模塊劃分,有效地保證了模塊的功能屬性和綠色屬性。文獻(xiàn)[12]為解決機(jī)電產(chǎn)品中客制化、技術(shù)進(jìn)化和通用化3種策略之間的矛盾,建立多策略設(shè)計準(zhǔn)則來修正模塊劃分結(jié)果。無論引入什么準(zhǔn)則來賦予模塊更多的屬性,都需要遵循以下兩條原則:1) 功能與物理交互關(guān)系是模塊化設(shè)計的基本準(zhǔn)則;2) 準(zhǔn)則的制定不是隨意的,其評判標(biāo)準(zhǔn)能夠通過零件之間的歸屬關(guān)系表現(xiàn)。
準(zhǔn)則建立之后,利用層次分析法獲得不同準(zhǔn)則的權(quán)重向量,同時基于準(zhǔn)則評價量化表得到零件兩兩之間的交互關(guān)系矩陣,通過加權(quán)求和法進(jìn)行關(guān)系融合,并以此為基礎(chǔ)進(jìn)行模塊劃分。
文獻(xiàn)[13]認(rèn)為功能交互關(guān)系包含結(jié)構(gòu)、能量、物質(zhì)、信號和作用力5個方面,但并沒有給出能量交互、物質(zhì)交互、信號交互等準(zhǔn)則的具體評價方法。文獻(xiàn)[14-15]提出影響模塊劃分的因素主要包括產(chǎn)品零部件的功能相關(guān)性、幾何相關(guān)性和物理相關(guān)性等3個方面,并給出了產(chǎn)品零部件關(guān)聯(lián)度的定義(表1)。該定義簡化了交互關(guān)系的層級,具有較強(qiáng)的參考意義。
表1 產(chǎn)品零部件關(guān)聯(lián)度定義
針對每一條相關(guān)性準(zhǔn)則i,利用層次分析法[16]得到各自的權(quán)重wi,根據(jù)表1的評價方法建立在準(zhǔn)則i下的零件交互關(guān)系矩陣Ri=(rjki)n×n,rjki為零件j和零件k在準(zhǔn)則i下的關(guān)系交互值,n為零件總數(shù)。定義rjji=1,rjki=rkji,因此Ri具有對稱性和自反性。由于在評價2個零件之間的關(guān)系時,難以充分考慮到由于第三方零件所引發(fā)的間接聯(lián)系,因此為了彌補(bǔ)人工評價造成的信息缺失或不一致,需要求出Ri的傳遞閉包矩陣來發(fā)掘出零件之間的隱藏聯(lián)系。
通過對地面無人武器站的功能分解得到表2所示的零件清單,表3為各準(zhǔn)則之間的判斷矩陣以及權(quán)重,表4為零件之間的交互關(guān)系矩陣R元素。
表2 地面無人武器站零件清單(部分)
表3 判斷矩陣與權(quán)重
表4 零件交互關(guān)系矩陣R的元素
2.3.1 構(gòu)建目標(biāo)驅(qū)動函數(shù)和使用遺傳算法優(yōu)化
模塊劃分算法的作用是從交互關(guān)系矩陣中成功識別出不同的模塊,首先需要建立基于零件交互關(guān)系矩陣R的目標(biāo)函數(shù)。模塊內(nèi)聚合度高、模塊之間耦合低是模塊劃分的驅(qū)動因素,文獻(xiàn)[15,17]采用了以下目標(biāo)函數(shù):
其中:
1)v為劃分結(jié)果的模塊總數(shù);
3)fmmax=fm|rjk=1=Nm(Nm-1)/2,由于在驅(qū)動函數(shù)中fmmax≠0,所以Nm>1;
式中fm/fmmax表征了模塊m的聚合度,最大化fm/fmmax的效果是將關(guān)聯(lián)度最強(qiáng)的兩個零件劃分在同一個模塊內(nèi),而將其他零件排除在外,故可以稱之為“排外項”。當(dāng)零件被排除在模塊m之外后,fm/Tfmax就會減小,故可以稱之為“懲罰項”。因此最大化目標(biāo)函數(shù)的過程是將關(guān)聯(lián)度相對高的零件劃分至同一模塊,并通過懲罰因子來約束模塊的排外行為。
圖1 不同劃分方案示意圖
文獻(xiàn)[11]分別定義了模塊內(nèi)聚合度和模塊間耦合度,利用兩者的相對值構(gòu)建了目標(biāo)函數(shù)。
maxF″=v*F1/F2
其中:
由于F1是關(guān)于v的一次函數(shù),F(xiàn)2是關(guān)于v的二次函數(shù),為了降低模塊粒度對目標(biāo)函數(shù)的影響,需要乘上因子v。由此可以看出,該驅(qū)動函數(shù)同時考慮了模塊聚合度和模塊之間耦合度的影響,并且降低了目標(biāo)函數(shù)對模塊粒度的敏感性。接下來將使用此函數(shù)作為優(yōu)化的目標(biāo)函數(shù)。
使用遺傳算法優(yōu)化目標(biāo)函數(shù)。遺傳算法的相關(guān)設(shè)定如下:
1) 編碼:采用二進(jìn)制編碼形式表示模塊劃分結(jié)果。基因編碼的十進(jìn)制數(shù)表示其所屬的模塊編號,具有相同編號的零件將被劃分至同一模塊。基因長度lg由模塊數(shù)量v決定,這里我們?nèi)g=3,意味著模塊個數(shù)v的取值范圍為[1,8]。
圖2 基因編碼示意圖
2) 選擇算子:將目標(biāo)函數(shù)作為適應(yīng)度函數(shù),對每一條染色體計算其適應(yīng)度函數(shù)值,采用輪盤賭方法進(jìn)行選擇。
3) 交叉算子:采用兩點(diǎn)交叉,這樣有利于保證種群的多樣性。
4) 變異:每個基因位均有可能變異,變異概率pv。
2.3.2 基于遺傳算法的劃分結(jié)果
使用Matlab2016編程進(jìn)行優(yōu)化計算(Inter(R) CPU E3-1230 v6 @ 3.5GHZ),每次計算固定迭代次數(shù)200次,計算時長為2.04 h。圖3~圖5是在不同優(yōu)化參數(shù)下得到的收斂結(jié)果,繪制了最優(yōu)適應(yīng)度值曲線和種群的進(jìn)化方向。由于遺傳算法具有隨機(jī)特征,因此在每組參數(shù)下分別進(jìn)行了5次計算,取出其中表現(xiàn)最好的一次。
圖3 適應(yīng)度的優(yōu)化函數(shù)值曲線種群數(shù)量50,變異概率0.2,收斂值3.408
圖4 適應(yīng)度的優(yōu)化函數(shù)值曲線種群數(shù)量50,變異概率0.35,收斂值3.684
圖5 適應(yīng)度的優(yōu)化函數(shù)值曲線種群數(shù)量50,變異概率0.4,收斂值3.552
大量計算結(jié)果表明,遺傳算法收斂性較好,但容易陷入局部最優(yōu),得到不同的解。通過適當(dāng)增大變異概率,能提高其全局搜索能力,但這種提高是有限的,當(dāng)變異概率從0.35增大至0.4時,全局收斂性并未提高。造成此現(xiàn)象的原因在于,對于模塊劃分問題二進(jìn)制編碼(包括十進(jìn)制編碼)并不滿足編碼的非冗余性,不同的編碼可能代表著同一個劃分方案,例如將5個零件劃分為2個模塊,“01100”和“10011”所表示的劃分情況是完全一致的,由此造成的結(jié)果是無論怎么樣提高變異概率都收效甚微。另外,當(dāng)零件數(shù)量較多時,目標(biāo)函數(shù)對每一種劃分情況的敏感度開始下降,大量的個體處于局部最優(yōu)的陷阱當(dāng)中。
遺傳算法等其他數(shù)值類算法表現(xiàn)的好壞很大程度上依賴于優(yōu)化參數(shù)的選擇,在參數(shù)選擇不合適的情況下,無法兼顧全局收斂性和收斂速度。同時由于編碼的冗余性,大大降低了參數(shù)的調(diào)節(jié)能力。
個體尋優(yōu)算法不再使用人工智能算法優(yōu)化目標(biāo)驅(qū)動函數(shù),而是從零件聚類與分離的內(nèi)在驅(qū)動因素出發(fā),考慮每個零件在模塊聚類過程中的個體選擇,正是這些個體選擇決定了模塊劃分的結(jié)果。因此如果建立某些規(guī)則來約束個體行為,使之朝著模塊內(nèi)聚合度高和模塊間耦合度低的目標(biāo)進(jìn)行聚類,就能獲得穩(wěn)健的、理想的模塊劃分結(jié)果。
個體尋優(yōu)算法的流程如下:
1) 通過2.2節(jié)所述的方法獲得零件交互關(guān)系矩陣R。
2) 對于第i行的所有元素(除i列外),記錄最大值所在的列數(shù)jmax1,jmax2…,最后將得到由行號i和列號jmax1,jmax2…組成的一列數(shù)組,記作:ai=[i,jmax1,jmax2…]。
3)i遍歷1到n,得到集合A={a1,a2…an}。
4) 檢索A中的所有元素,若ai∩aj≠?,則更新ai=ai∪aj,并將aj從數(shù)組A中刪去。
5) 重復(fù)步驟4直到數(shù)組A中的任意兩個元素的交集為空,最終得到A=[a1,a2,…,av]。A所表示的即是模塊劃分結(jié)果,a1,a2,…,av代表第1個到第v個模塊,ai中的元素表示屬于該模塊的零件編號。
定義解離閾值λ1和聚合閾值λ2,當(dāng)該行有元素的值大于λ2時,無論其是否為該行的最大值,其列數(shù)都將被記錄在ai中;相應(yīng)地,當(dāng)該行有元素的值小于λ1時,無論其是否為該行的最大值,其列數(shù)都不被記錄。通過調(diào)節(jié)兩個閾值,可以控制模塊劃分的粒度,同時又能保證結(jié)果劃分的合理性。一般情況下,可以取λ1=0.3,λ2=0.8。
個體尋優(yōu)算法是針對模塊劃分這一特定問題而提出的一種新方法。與遺傳算法相比,其思想不是控制宏觀種群的進(jìn)化方向,而是將模塊的聚類看作是一個動態(tài)的過程,
某一個體在做出選擇時,只需要遵循最基本的原則:1)與關(guān)聯(lián)度最高的零件聚合;2)當(dāng)與其他所有零件的關(guān)聯(lián)度低于某一個閾值時保持獨(dú)立。個體尋優(yōu)算法的主要優(yōu)點(diǎn)在于利用了從目標(biāo)函數(shù)構(gòu)建過程中獲得的啟發(fā)性結(jié)論,無需進(jìn)行大量迭代計算,物理過程清晰,同時能夠識別出獨(dú)立模塊,而在目標(biāo)函數(shù)構(gòu)建中,需要模塊內(nèi)零件的個數(shù)大于1才能保證函數(shù)有意義。其缺點(diǎn)在于尚不能從數(shù)學(xué)上證明其與目標(biāo)函數(shù)的統(tǒng)一性。
使用個體尋優(yōu)策略對無人武器站進(jìn)行模塊劃分,結(jié)果如圖6所示。模塊1={1,13,16,24,25,26,27,28,29,30},模塊2={2,9,14,17,18,19,20,21},模塊3={3,4,5,6,7},模塊4={8,22},模塊5={10,11,12,15,23}。通過計算,該劃分結(jié)果的目標(biāo)函數(shù)值為3.954,明顯高于利用遺傳劃分算法所得到的結(jié)果。進(jìn)一步的,我們用二進(jìn)制編碼表示此結(jié)果,并隨機(jī)對m個基因位進(jìn)行取反操作,以此觀察在該結(jié)果附近適應(yīng)度值的分布情況,如圖7所示。由于模塊劃分問題的特殊性,導(dǎo)致基因編碼出現(xiàn)冗余,因此適應(yīng)度值先是隨著變異位數(shù)的增加而下降,但很快出現(xiàn)了鋸齒形震蕩,想要在這樣的可行域中搜索到全局最優(yōu)解,無疑是相當(dāng)困難的事情,這也解釋了為什么使用遺傳算法的效果并不理想。
圖6 個體尋優(yōu)算法的劃分結(jié)果
圖7 最優(yōu)值附近的適應(yīng)度分布情況
為了進(jìn)一步驗證個體尋優(yōu)算法的有效性,對4篇文獻(xiàn)中的案例進(jìn)行了驗證性的劃分,這些文獻(xiàn)都提供了完整的零件交互矩陣?!睹嫦蛞?guī)模化產(chǎn)品族的數(shù)值規(guī)劃方法》[17]使用模擬退火算法對減速器進(jìn)行了模塊劃分?!痘谶z傳模擬退火算法的減速器模塊化設(shè)計的模塊方法》[15]為了克服遺傳算法“早熟”和模擬退火算法收斂性差的特點(diǎn),將兩者結(jié)合,在每次獲得新種群之后使用模擬退火算法進(jìn)行種群篩選。《復(fù)雜產(chǎn)品的最小最大劃分模塊化方法》[14]對閾值截割法進(jìn)行了改進(jìn),提出了最小最大劃分的模塊劃分方法解決輪式裝載機(jī)的模塊劃分問題?!痘谙伻壕垲愃惴ǖ拇笠?guī)模定制產(chǎn)品模塊劃分研究》[7]使用蟻群聚類算法進(jìn)行模塊劃分。表5表示劃分驗證情況。
表5 各文獻(xiàn)使用情況
對于文獻(xiàn)[7],原劃分結(jié)果是{1,2,9,10,19,22}、{3,4,12,13,20,23,24}、{5,6,11,14,15,16,21}、{7,8,17,18},使用個體尋優(yōu)算法的劃分結(jié)果是{1,4,5,7,10,12,13,18,22,24}、{2,9,11,15}、{3,6,19,20,21,23}、{8,14,16,17},在文獻(xiàn)提供的交互關(guān)系矩陣中,零件1和零件13,零件2和零件11,零件3和零件19,零件4和零件7,零件5和12的交互關(guān)系均為1,然而在最終的模塊劃分方案中,上述零件并沒有被劃分至同一模塊,因此對于文獻(xiàn)中算法的有效性存在疑問。
本文提出了一種地面無人武器站模塊劃分的個體尋優(yōu)算法。該方法從零件聚類與分離的內(nèi)在驅(qū)動因素出發(fā),指導(dǎo)模塊劃分,克服了數(shù)值類算法計算時間長,操作復(fù)雜,優(yōu)化參數(shù)依賴等缺陷。與其他文獻(xiàn)劃分結(jié)果的比較,說明了個體尋優(yōu)策略的有效性和通用性。