張 屹,萬(wàn)興余,鄭小東,余竹瑪
(三峽大學(xué) 水電機(jī)械設(shè)備設(shè)計(jì)與維護(hù)湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 宜昌 443002)
機(jī)床主軸是機(jī)床的核心部件,其作用是帶動(dòng)刀具旋轉(zhuǎn),直接參與高速切削加工。機(jī)床主軸的好壞對(duì)機(jī)床的加工精度,表面質(zhì)量和生產(chǎn)率影響很大。國(guó)內(nèi)外不少科研人員對(duì)機(jī)床主軸進(jìn)行了一系列科學(xué)研究,但大多數(shù)都是集中在提高主軸的某一個(gè)性能,例如,減少變形,提高剛度或者是減小振動(dòng)或者是減輕重量。然而,在實(shí)際工程應(yīng)用中,往往是要求多個(gè)性能盡量同時(shí)達(dá)到最優(yōu),例如要求質(zhì)量最小的同時(shí)剛度要盡量大,這也就形成了多目標(biāo)優(yōu)化問(wèn)題。近年來(lái),出現(xiàn)了一些比較好的多目標(biāo)優(yōu)化算法,如NSGA-II[1]、SPEA2[2]、PAES[3]和MOCell[4]等。經(jīng)過(guò)測(cè)試函數(shù)的比較,發(fā)現(xiàn)MOCell 在解決兩目標(biāo)優(yōu)化問(wèn)題時(shí)取得了比其他幾個(gè)算法略好的性能[4]。但是,測(cè)試函數(shù)[5]是人為構(gòu)造出來(lái)對(duì)算法性能進(jìn)行測(cè)試的一類問(wèn)題,往往與實(shí)際工程問(wèn)題有較大差別,例如個(gè)體編碼,約束處理,遺傳參數(shù)的選取等都不盡相同,當(dāng)要把一個(gè)算法應(yīng)用到實(shí)際問(wèn)題中時(shí),不得不做相應(yīng)的修改。本文針對(duì)機(jī)床主軸的參數(shù)優(yōu)化設(shè)計(jì)問(wèn)題,在MOCell 算法的基礎(chǔ)上采用實(shí)數(shù)與整數(shù)混合編碼和NSGA-II 的約束處理機(jī)制,基于正交試驗(yàn)理論對(duì)MOCell 算法的參數(shù)進(jìn)行優(yōu)化,利用優(yōu)化后的MOCell 算法來(lái)求解機(jī)床主軸優(yōu)化問(wèn)題,獲得其Pareto 前端,為MOCell 算法求解同時(shí)具有實(shí)數(shù)決策變量和整數(shù)決策變量的實(shí)際工程問(wèn)題提供一定的借鑒作用。
機(jī)床主軸的示意圖[6]如圖1 所示。其中da為主軸懸伸段直徑,db為主軸左右支撐間的軸徑,l為支撐間的跨距,a為主軸懸臂端的長(zhǎng)度,d0為主軸內(nèi)孔直徑。
圖1 機(jī)床主軸示意圖
根據(jù)材料力學(xué)和機(jī)械設(shè)計(jì)的知識(shí),建立的數(shù)學(xué)模型如下:
主軸體積(mm3):
靜力F 作用下的撓度(mm):
其中,Ia和Ib分別為主軸懸伸段和左右軸承支撐段的轉(zhuǎn)動(dòng)慣量。
Ca和Cb分別為右邊支撐軸承和左邊支撐軸承的剛度。
這里,δra和δrb分別為軸承的預(yù)載荷。
邊界約束條件:
工程設(shè)計(jì)上對(duì)各個(gè)直徑的比例要求:
機(jī)床主軸端部的最大徑向跳動(dòng)約束:
其中,Δa和Δb分別為右端和左端軸承的徑向跳動(dòng),Δ 為允許的最大徑向跳動(dòng)。
這個(gè)優(yōu)化問(wèn)題的決策變量是l、d0、da、db,其中da和db是離散變量,da只能取{80,85,90,95}中的某一個(gè)值,db只能取{75,80,85,90}中的某一個(gè)值。以上數(shù)學(xué)模型中的常量[7]給定如下:
多目標(biāo)元胞遺傳算法(MOCell)是在元胞遺傳算法(cGA)[8]的基礎(chǔ)上發(fā)展而來(lái)的,與cGA 相比,MOCell 的改進(jìn)在于加入了外部文檔,里面存放的是到目前為止算法找到的非支配解,并且引入了反饋機(jī)制,即在算法的每一次迭代完成后都選擇出一定數(shù)量的個(gè)體來(lái)隨機(jī)替換掉種群中相等數(shù)量的個(gè)體。加入外部文檔的同時(shí),對(duì)外部文檔的容量大小做了限制,當(dāng)找到的非支配解數(shù)量超出容量限制時(shí),就會(huì)使用擁擠機(jī)制來(lái)對(duì)個(gè)體進(jìn)行篩選,保留擁擠距離大的個(gè)體(使用的策略與NSGA-II 中的相同),這種方法能夠保持解集分布的均勻性,有利于得到分布均勻的Pareto 前端。引入反饋機(jī)制后,能夠充分利用已經(jīng)找到的較優(yōu)解來(lái)引導(dǎo)種群的進(jìn)化,有利于提高算法的收斂性能。MOCell 算法的偽代碼如表1 所示。
表1 MOCell 算法偽代碼
在機(jī)床主軸優(yōu)化這個(gè)實(shí)際問(wèn)題中,問(wèn)題的決策變量是l、d0、da、db,其中da和db是離散變量,da只能取{80,85,90,95}中的某一個(gè)值,db只能取{75,80,85,90}中的某一個(gè)值。因此,不宜使用二進(jìn)制編碼方法。本文采用的方法是將l、d0兩個(gè)決策變量使用實(shí)數(shù)編碼,組成編碼串的前半部分,da、db兩個(gè)決策變量使用整數(shù)編碼,組成編碼串的后半部分。由于每個(gè)編碼串對(duì)應(yīng)位置的編碼方式相同,因此可以采用單點(diǎn)交叉。
個(gè)體的編碼串是由實(shí)數(shù)和整數(shù)混合編碼構(gòu)成,無(wú)論是采用多項(xiàng)式變異還是模擬二進(jìn)制變異都不能保證編碼串的整數(shù)編碼部分仍為整數(shù)?;诖耍疚牟扇〉姆椒ㄈ缦?
步驟1,將個(gè)體編碼串的實(shí)數(shù)編碼部分提取出來(lái)作為前半部分,將個(gè)體編碼串的整數(shù)編碼部分提取出來(lái)作為后半部分;
步驟2,對(duì)前半部分進(jìn)行模擬二進(jìn)制變異(SBX)[9];
步驟3,對(duì)后半部分進(jìn)行變異。具體做法是,首先分別定義兩個(gè)數(shù)組,將{80,85,90,95}和{75,80,85,90}分別存入其中,然后編寫(xiě)一個(gè)0 到3 范圍內(nèi)的隨機(jī)整數(shù)生成函數(shù),每次變異的時(shí)候調(diào)用這個(gè)函數(shù)產(chǎn)生一個(gè)0 到3 范圍內(nèi)的整數(shù),然后以這個(gè)整數(shù)為索引找到相應(yīng)數(shù)組里面的具體值;
步驟4,前半部分和后半部分的變異都完成后,將得到的結(jié)果重新組合起來(lái)構(gòu)成一個(gè)新的編碼串,即為得到的變異個(gè)體。
為了對(duì)問(wèn)題的約束條件進(jìn)行處理,采用的方法是當(dāng)兩個(gè)個(gè)體進(jìn)行比較的時(shí)候,對(duì)它們的約束進(jìn)行檢查。如果兩個(gè)個(gè)體都沒(méi)有違反約束,即它們都是可行解,則直接使用Pareto 支配關(guān)系選出較優(yōu)者;如果一個(gè)沒(méi)有違反約束,而另外一個(gè)違反了約束,則沒(méi)有違反約束的個(gè)體較優(yōu);如果兩個(gè)個(gè)體都違反了約束,則違反約束少的個(gè)體較優(yōu)。
在遺傳算法中,有較多的參數(shù)需要進(jìn)行設(shè)置,例如種群大小、交叉概率、變異概率等,遺傳參數(shù)的選取對(duì)算法的性能有較大影響,太差的參數(shù)設(shè)置甚至?xí)顾惴o(wú)法收斂。在MOCell 算法中,需要進(jìn)行設(shè)置的參數(shù)包括種群大小、鄰居大小、反饋個(gè)體數(shù)量、交叉概率和變異概率。到目前為止,這些參數(shù)的設(shè)置還沒(méi)有一個(gè)準(zhǔn)確的理論依據(jù),大多數(shù)情況下都是憑借經(jīng)驗(yàn)選取的,有一定的盲目性,而正交試驗(yàn)法能夠提供一定的指導(dǎo)作用。
“正交試驗(yàn)法”是研究與處理多因素試驗(yàn)的一種科學(xué)方法[10],它是在實(shí)際經(jīng)驗(yàn)與理論認(rèn)識(shí)的基礎(chǔ)上,利用一種排列整齊的規(guī)格化表——“正交表”來(lái)安排試驗(yàn)。由于正交表具有均衡分散,整齊可比的特點(diǎn),能在考查的范圍內(nèi),選出代表性強(qiáng)的少數(shù)試驗(yàn)條件做到均衡抽樣。由于是均衡抽樣,能夠通過(guò)少數(shù)的試驗(yàn)次數(shù)找到一個(gè)較優(yōu)的試驗(yàn)參數(shù)設(shè)置。利用這一特點(diǎn),找到一個(gè)最優(yōu)參數(shù)組合來(lái)配置MOCell 算法,求解機(jī)床主軸優(yōu)化模型。
用MOCell 算法求解機(jī)床主軸優(yōu)化模型時(shí),有5 個(gè)主要因素需要考慮,即種群大小、鄰居大小、反饋個(gè)體數(shù)量、交叉概率和變異概率。其中,種群取較大的值時(shí),多樣性會(huì)得到一定的提高,但計(jì)算消耗會(huì)增大,因此一般取為100 到200 之間,交叉概率一般取0.6 到1之間,變異概率一般取0.1 到0.25 之間。為了使試驗(yàn)?zāi)軌驈V泛地覆蓋整個(gè)可能組合,同時(shí)試驗(yàn)次數(shù)又不至于太多,每個(gè)因素取4 個(gè)水平。因此選擇正交表L16(45),即5 因素4 水平16 次試驗(yàn)。確定因素水平表如表2 所示,其中,由于使用的是正方形環(huán)形拓?fù)浣Y(jié)構(gòu)的種群,因此種群大小都是平方數(shù)。
表2 因素-水平表
對(duì)算法結(jié)果進(jìn)行評(píng)判時(shí),需要一個(gè)可靠的評(píng)價(jià)指標(biāo),對(duì)算法來(lái)說(shuō),性能的好壞主要表現(xiàn)在收斂性和分布性兩個(gè)方面,評(píng)價(jià)收斂性的指標(biāo)有GD(世代距離),評(píng)價(jià)分布性的指標(biāo)有Spread(分布指標(biāo)),另外還有對(duì)收斂性和分布性進(jìn)行綜合評(píng)價(jià)的指標(biāo)HV(超體積)[11]。本文選用HV 指標(biāo)對(duì)算法結(jié)果做綜合評(píng)判,此指標(biāo)的值越大越好。
按照正交表L16(45)和因素-水平表確定試驗(yàn)方案,應(yīng)用java 編程語(yǔ)言編程進(jìn)行求解試驗(yàn),算法的終止條件是25000 次適應(yīng)度評(píng)估,外部文檔的大小取為100。為了盡量減少隨機(jī)誤差,每個(gè)方案都獨(dú)立運(yùn)行20 次,然后將得到的20 組試驗(yàn)結(jié)果取平均值,試驗(yàn)方案和結(jié)果如表3 所示。
表3 試驗(yàn)方案及結(jié)果表
圖2 指標(biāo)-因素圖
為了更直觀的看出各因素水平的差異,用因素的水平作橫坐標(biāo),指標(biāo)HV 作縱坐標(biāo),做出指標(biāo)-因素關(guān)系圖,如圖2 所示。在這個(gè)實(shí)際問(wèn)題中,我們需要得到最大的HV 值,因此從圖2 中可以很直觀的看出A因素取A3,B因素取B2,C因素取C4,D因素取D4,E因素取E4。從而,可以得出此問(wèn)題的最佳參數(shù)配置是A3B2C4D4E4,即種群大小取144,鄰居大小取6,反饋個(gè)數(shù)取50,交叉概率取0.9,變異概率取0.25,按照這種參數(shù)配置,重新獨(dú)立運(yùn)行程序10 次,得到HV 的平均值是0.83539。從HV 指標(biāo)來(lái)看,與表3 中的結(jié)果相比,MOCell 算法的性能確實(shí)有所提高。需要說(shuō)明的是,HV 的數(shù)值經(jīng)過(guò)歸一化處理,其數(shù)值的微小變化會(huì)對(duì)算法的收斂性和分布性產(chǎn)生較大影響,求出的機(jī)床優(yōu)化模型Pareto 前端如圖3 所示。
圖3 機(jī)床優(yōu)化模型的Pareto 前端
對(duì)于多目標(biāo)優(yōu)化問(wèn)題,我們的主要任務(wù)就是找到盡可能接近真實(shí)Pareto 前端并且分布盡量均勻和寬廣的解集,讓決策者根據(jù)自己的偏好來(lái)選擇最合適的解。從圖3 可以看出,機(jī)床主軸優(yōu)化模型的Pareto 前端是不連續(xù)的,如果使用傳統(tǒng)的數(shù)學(xué)方法來(lái)求解會(huì)比較困難,但是,使用MOCell 算法能夠找到分布非常均勻的Pareto 前端,有利于決策者做出決策。
本文以機(jī)床主軸優(yōu)化設(shè)計(jì)問(wèn)題為研究對(duì)象,以主軸體積最小和撓度最小為目標(biāo),以主軸懸伸段直徑、主軸左右支撐間的軸徑、支撐間的跨距和主軸內(nèi)孔直徑為決策變量,建立了多目標(biāo)優(yōu)化設(shè)計(jì)數(shù)學(xué)模型。在對(duì)模型進(jìn)行求解時(shí)引入了多目標(biāo)元胞遺傳算法(MOCell),在MOCell 的基本框架下,結(jié)合實(shí)際問(wèn)題的特點(diǎn),采用了實(shí)數(shù)-整數(shù)混合編碼,設(shè)計(jì)了新的變異方法。為了避免設(shè)置遺傳參數(shù)時(shí)的盲目性,使種群大小、鄰居大小、反饋個(gè)體數(shù)量、交叉概率和變異概率的參數(shù)設(shè)置更加合理,引入了正交試驗(yàn)的思想,經(jīng)過(guò)程序運(yùn)行試驗(yàn),找到了較優(yōu)的參數(shù)組合。將通過(guò)正交試驗(yàn)獲得的參數(shù)配置應(yīng)用到MOCell 算法中對(duì)模型進(jìn)行求解,得到了分布較為均勻的Pareto 前端,有利于決策者根據(jù)實(shí)際情況做出合適的選擇。本文為用MOCell 算法解決實(shí)際工程問(wèn)題做出了嘗試,也為其他工程設(shè)計(jì)人員解決具有整數(shù)決策變量和實(shí)數(shù)決策變量問(wèn)題時(shí)提供了一定的借鑒作用。
[1]Deb K,Pratap A,Agarwal S,et al. A fast and elitist multiobjective genetic algorithm:NSGA-II[J]. Evolutionary Computation,IEEE Transactions on, 2002, 6 (2 ):182 -197.
[2]Zitzler E,Thiele L. Multi-objective evolutionary algorithms:A comparative case study and the strength Pareto approach.IEEE Transactions on Evolutionary Computation,1999,3(4):257 -271.
[3]雷德明,嚴(yán)新平. 多目標(biāo)智能優(yōu)化算法及其應(yīng)用[M].北京:科學(xué)出版社,2009.
[4]Nebro Antonio J,Durillo Juan J,Luna Francisco,Dorronsoro Bernabe,Alba Enrique. MOCell:A cellular genetic algorithm for multiobjective optimization[J]. International Journal of intelligent systems,2009,24(7):726 -746.
[5]Dorronsoro B,Bouvry P. Cellular genetic algorithms without additional parameters[J]. The Journal of Supercomputing,2013,63(3):816 -835.
[6]Ali Riza,Yildiz. A novel hybrid immune algorithm for global optimization in design and manufacturing[J]. Robotics and Computer-Integrated Manufacturing,2009,25 (2):261 -270.
[7]Coello CAC. An empirical study of evolutionary techniques for multiobjective optimization in engineering design[D].New Orleans:Department of Computer Science,Tulane University,1996.
[8]Alba E,Dorronsoro B. The exploration/ exploitation tradeoff in dynamic cellular genetic algorithms[J]. Evolutionary Computation,IEEE Transactions on, 2005, 9 (2 ):126 -142.
[9]Deb K,Agrawal R B. Simulated binary crossover for continuous search space[J]. Complex Systems,1995,9(2):115 -148.
[10]何為,薛衛(wèi)東,唐斌. 優(yōu)化試驗(yàn)設(shè)計(jì)方法及數(shù)據(jù)分析[M].北京:化學(xué)工業(yè)出版社,2012.
[11]Zitzler E,Thiele L. Multiobjective evolutionary algorithms:a comparative case study and the strength Pareto approach[J]. Evolutionary Computation,1999,3(4):257 -271.