郭建燁 鄭若池
(沈陽(yáng)航空航天大學(xué)機(jī)電工程學(xué)院, 遼寧 沈陽(yáng) 110136)
近年來,由于我國(guó)航空航天工程的不斷進(jìn)步,對(duì)相應(yīng)零部件的質(zhì)量要求也隨之提高,因此一些合金薄壁件因自身重量輕、比強(qiáng)度高等特點(diǎn)而被廣泛使用[1-2]。但是薄壁件在加工制造過程中,由于自身尺寸壁薄,所以結(jié)構(gòu)工藝性較差,很容易發(fā)生形變,進(jìn)而影響零件的加工精度。其中導(dǎo)致加工變形的因素有很多,如:刀具參數(shù)、工藝參數(shù)、工件材料和殘余應(yīng)力等,而加工參數(shù)則是影響薄壁件加工變形的一個(gè)重要因素[3-4]。單一的銑削參數(shù)對(duì)薄壁件加工變形的影響可以通過有限元分析方法得到,但在實(shí)際加工過程中,眾多銑削參數(shù)對(duì)加工變形的影響存在著耦合關(guān)系,這樣通過有限元方法很難得到較精確的加工參數(shù)。因此,尋求一種合理有效的加工參數(shù)預(yù)測(cè)方法是很有必要的[5-7]。
隨著智能技術(shù)的發(fā)展,一些能夠高效解決非線性問題的算法也應(yīng)運(yùn)而生,并且已成功地運(yùn)用于人工智能、目標(biāo)優(yōu)化和圖像處理等方面[8-10]。在薄壁件加工變形的問題上,國(guó)內(nèi)外學(xué)者也運(yùn)用這些智能算法對(duì)銑削參數(shù)進(jìn)行優(yōu)化。楊勇[11]等學(xué)者針對(duì)汽車覆蓋件模具,基于遺傳算法和BP神經(jīng)網(wǎng)絡(luò)技術(shù)建立鈦合金薄壁件的銑削參數(shù)優(yōu)化目標(biāo)函數(shù),對(duì)銑削參數(shù)進(jìn)行優(yōu)化研究。S.Vijay[12]等學(xué)者利用田口法對(duì)進(jìn)給量、切削速度等銑削加工參數(shù)進(jìn)行了優(yōu)化。Fanci Cus[13]等人利用BP人工神經(jīng)網(wǎng)絡(luò)對(duì)加工參數(shù)進(jìn)行了多目標(biāo)優(yōu)化研究。但在實(shí)際應(yīng)用中,大部分智能算法的預(yù)測(cè)結(jié)果與現(xiàn)場(chǎng)加工結(jié)果誤差較大,不能有效地實(shí)現(xiàn)降低加工變形量的要求。因此,需要尋求一種與實(shí)際加工變形量更吻合的預(yù)測(cè)算法,進(jìn)而更好地提高優(yōu)化結(jié)果的精確性,降低薄壁件加工變形誤差。
本文首先對(duì)煙花算法進(jìn)行優(yōu)化改進(jìn),接著用改進(jìn)煙花算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)并對(duì)薄壁件銑削加工變形進(jìn)行預(yù)測(cè),然后將改進(jìn)煙花算法與遺傳算法和粒子群算法的預(yù)測(cè)結(jié)果比較,最后通過現(xiàn)場(chǎng)加工實(shí)驗(yàn)進(jìn)一步證明改進(jìn)煙花算法的可行性。
煙花算法(fireworks algorithm, FWA)[14]是以煙花爆炸產(chǎn)生火花現(xiàn)象為基礎(chǔ)的一種新型群體智能優(yōu)化算法。其基本原理為:首先,隨機(jī)產(chǎn)生一些煙花種群;接著,以爆炸和變異的方式讓每一個(gè)煙花種群產(chǎn)生不同數(shù)量和范圍的火花;然后,通過映射規(guī)則使得超出邊界的火花回到可行域內(nèi);最后,基于距離的選擇策略精選火花成員組成與初始種群相同規(guī)模的下一代群體。迭代過程中重復(fù)以上操作并判斷是否滿足問題要求,通過交互傳遞信息逐次提高群體對(duì)環(huán)境的適應(yīng)性,最終得到優(yōu)化問題的全局最優(yōu)近似解。其算法執(zhí)行流程如圖1所示。
煙花算法自提出以來,已成功用于非線性問題求解、路徑規(guī)劃和圖像處理等諸多方面,但其算法本身的一些參數(shù)設(shè)定、計(jì)算規(guī)則以及運(yùn)行步驟等還不夠精確。因此,下面在原有的煙花算法基礎(chǔ)上,針對(duì)煙花算法運(yùn)行過程的主要環(huán)節(jié)進(jìn)行改善,提出一種改進(jìn)煙花算法(improved fireworks algorithm, IFWA)。
在FWA算法中,需要給予每一個(gè)煙花不同的爆
炸半徑來確保煙花種群搜索的穩(wěn)定性,通過式(1)可以達(dá)到這個(gè)要求。
(1)
式中:ymin=min(f(xi)),(i=1,2,…,N)為當(dāng)前煙花種群中適應(yīng)度最小值;A是一常數(shù),用來改變爆炸半徑值;ε用來避免分母為零。
但是,式(1)會(huì)導(dǎo)致適應(yīng)度值較小的煙花的爆炸半徑也隨之變小,從而不必要的淘汰了一些計(jì)算可行的煙花。
為了解決這個(gè)問題,IFWA算法采用最小爆炸半徑檢測(cè)方法。若煙花爆炸半徑低于一個(gè)固定值,那么便將爆炸半徑設(shè)為該值,如式(2):
(2)
對(duì)于如何確定Amin,k,IFWA算法將使用非線性遞減方式:
(3)
式中:t為目前函數(shù)的迭代次數(shù),evals_max為函數(shù)迭代次數(shù)的最大值。Ainit、Afinal表示迭代環(huán)節(jié)開始和結(jié)束時(shí)的爆炸半徑。
在FWA算法中,煙花爆炸產(chǎn)生火花時(shí)在所有維度上設(shè)置的爆炸偏置均相同。但是,這樣會(huì)很大程度上減少局部搜索的多樣性。
為了解決這一問題,IFWA算法將在每個(gè)選擇的維度上使用不同的偏置值。其運(yùn)行過程偽代碼如下:
(1)初始化爆炸火花的位置:xi=Xi;
(2)設(shè)置zk=round(U(0,1)),k=1,2,…,D;
(3)For每一個(gè)維數(shù)上xik,wherezk=1;do
(4)計(jì)算位移變異ΔXik=Ai×U(-1,1);
(5)xik=xik+ΔXik;
(6)Ifxik超出邊界;then
(7)將xik映射到可行域內(nèi)(參考下面的映射規(guī)則);
(8)end if;
(9)end for。
在FWA算法中,當(dāng)某一火花在特定空間k內(nèi)越過其自身可行域,通過式(4)的映射規(guī)則會(huì)讓火花調(diào)整到可行域范圍內(nèi)的一個(gè)新位置。
(4)
式中:xUB,k、xLB,k為特定空間k上的上限和下限。
大多數(shù)情況下,火花坐標(biāo)越過可行域的值都相對(duì)較小,使用的檢測(cè)函數(shù)也是以原點(diǎn)為中心的,即
xUB,k=-xLB,k
(5)
通過上面的映射規(guī)則會(huì)使得超出可行域的火花回到原點(diǎn)附近的地方,但是大部分問題目標(biāo)函數(shù)的最優(yōu)解都在原點(diǎn)附近,因此這種映射方法會(huì)造成算法過早收斂。
為了解決這一缺陷,IFWA算法將使用下式作為新的映射方法。
(6)
在FWA算法中,如果高斯分布隨機(jī)變量e的值在零值附近,那么采用式(7)計(jì)算其值,這也會(huì)使得火花一直在原點(diǎn)附近徘徊。
(7)
式中:e~N(1,1),N(1,1)表示均值為1,方差為1的高斯分布。
為了避免這一問題,IFWA算法將使用一種新型高斯變異算子,計(jì)算公式為:
(8)
式中:g~N(0,1),xBk為當(dāng)前煙花種群中適應(yīng)度值最小的煙花在第k維度上的位置。
在FWA算法中,選擇策略是根據(jù)個(gè)體間的距離來衡量的,由式(9)來實(shí)現(xiàn)。
(9)
式中:R(xi)為當(dāng)前個(gè)體xi與其他個(gè)體的距離之和。
但這樣就要在每一次迭代計(jì)算候選煙花和火花個(gè)體間的距離,十分地消耗時(shí)間。
為了解決這個(gè)問題,IFWA算法將使用一種精英隨機(jī)選擇方法,即首先選出適應(yīng)度值最小的個(gè)體,然后再用隨機(jī)策略選擇其他的煙花。
BP神經(jīng)網(wǎng)絡(luò)算法主要利用誤差反向傳播思想對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化訓(xùn)練,進(jìn)而得出符合求解問題的權(quán)值和閾值[15],BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖3所示。
在圖2中:X1、X2、…、Xn為BP網(wǎng)絡(luò)輸入值;Y1、Y2、…、Yn為BP網(wǎng)絡(luò)輸出值;ωij為輸入層與隱藏層之間連接權(quán)值;ωjk為隱藏層與輸出層之間連接權(quán)值。
BP神經(jīng)網(wǎng)絡(luò)具有較好的非線性擬合優(yōu)勢(shì),網(wǎng)絡(luò)層次比較簡(jiǎn)單,抗干擾能力強(qiáng),因此BP神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)分析、人工智能等方面均已得到廣泛地應(yīng)用。但是,BP神經(jīng)網(wǎng)絡(luò)自身也有一定的缺陷。其中,比較突出的問題就是權(quán)值和閾值對(duì)目標(biāo)函數(shù)影響較大,在迭代環(huán)節(jié)函數(shù)容易陷入局部極小值,進(jìn)而使得運(yùn)算收斂速度較慢,而煙花算法在問題求解過程可以較好地彌補(bǔ)BP神經(jīng)網(wǎng)絡(luò)的不足。因此,下面將煙花算法和BP神經(jīng)網(wǎng)絡(luò)相互結(jié)合,對(duì)薄壁件加工銑削參數(shù)進(jìn)行訓(xùn)練優(yōu)化。
BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層和輸出層組成。影響薄壁件加工變形的銑削參數(shù)有很多,本文選取以下幾個(gè)主要銑削參數(shù):銑削速度、進(jìn)給量、背吃刀量和銑削寬度,所以將輸入層神經(jīng)元數(shù)量設(shè)置為4個(gè);輸出變量為薄壁件的加工變形量,所以將輸出層神經(jīng)元數(shù)量設(shè)置為1個(gè);隱藏層通常設(shè)置為1層,并根據(jù)式(10)得出隱藏層神經(jīng)元的數(shù)量在4~12,將隱藏層神經(jīng)單元數(shù)量設(shè)置為10個(gè)。
(10)
式中:n1、n和m分別為隱藏層神經(jīng)元的數(shù)量、輸入層神經(jīng)元的數(shù)量和輸出層神經(jīng)元的數(shù)量,a是介于1~10的隨機(jī)數(shù)。
參照經(jīng)驗(yàn)資料[16],設(shè)置BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效率為0.1,迭代次數(shù)為1 000,訓(xùn)練目標(biāo)為0.000 1。IFWA算法參數(shù)設(shè)置如下[17]:
改進(jìn)煙花算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)流程如圖3所示。
煙花算法主要程序的偽代碼如下所示:
(1)隨機(jī)選擇n個(gè)煙花的位置;
(2)While當(dāng)前函數(shù)評(píng)估次數(shù)<最大函數(shù)評(píng)估次數(shù)do;
(3)對(duì)于n個(gè)煙花;
(4)for所有煙花xido;
(5)計(jì)算每個(gè)煙花產(chǎn)生的火花個(gè)數(shù)Si;
(6)計(jì)算每個(gè)煙花產(chǎn)生火花的幅度Ai;
(7)隨機(jī)產(chǎn)生火花;
(8)end for;
(10)隨機(jī)選擇一個(gè)煙花xi并產(chǎn)生一個(gè)火花;
(11)end for;
(12)依據(jù)映射規(guī)則對(duì)火花進(jìn)行映射;
(13)評(píng)估火花的適應(yīng)度值;
(14)end while。
為驗(yàn)證改進(jìn)煙花算法的有效性和實(shí)用性,首先利用MATLAB軟件設(shè)計(jì)出相應(yīng)的算法程序,接著利用已有的銑削加工數(shù)據(jù)集對(duì)算法進(jìn)行測(cè)試優(yōu)化,最后通過實(shí)際銑削加工進(jìn)行進(jìn)一步的論證。銑削工件為一種搖臂薄壁件,加工模型如圖4所示。
零件的材料為0Cr17Ni4Cu4Nb,此材料屬于一種馬氏體不銹鋼。它既具有較高的強(qiáng)度、硬度,又具有良好的塑韌性、耐蝕性和加工性,零件的硬度為29~38HRC。搖臂零件近似于反“Z”型結(jié)構(gòu),零件的上部懸出結(jié)構(gòu)厚度僅為0.8 mm,懸出長(zhǎng)度接近40 mm,此部分的結(jié)構(gòu)剛性極差,非常容易在切削力的作用下發(fā)生變形,故加工時(shí)對(duì)定位精度及切削力控制要求很高。
刀具結(jié)構(gòu)參數(shù)為:刀具直徑10 mm、刀刃齒數(shù)為4、刀具前角5°、刀具后角15°、刃寬2 mm。
加工時(shí)選擇不對(duì)稱銑削方式,走刀路線為沿零件對(duì)稱線方向的兩次平行運(yùn)動(dòng),此工序采用專用夾具。
算法優(yōu)化中的銑削數(shù)據(jù)參考實(shí)際生產(chǎn)加工過程中搖臂薄壁件的銑削參數(shù)范圍,如表1所示。
表1 銑削參數(shù)范圍
根據(jù)以往的該薄壁件現(xiàn)場(chǎng)銑削加工經(jīng)驗(yàn),選取60組銑削參數(shù)進(jìn)行銑削加工實(shí)驗(yàn)并獲得工件薄壁部分Z方向上的變形量,部分銑削參數(shù)和變形量如表2所示。
表2 部分樣本數(shù)據(jù)
選取其中的50組數(shù)據(jù)來訓(xùn)練優(yōu)化BP神經(jīng)網(wǎng)絡(luò),剩余10組數(shù)據(jù)用來測(cè)試優(yōu)化后的IFWA-BP算法的準(zhǔn)確性。不同條件下工件變形量的模擬值和實(shí)測(cè)值以及兩者之間的誤差如表3所示。
表3 測(cè)試數(shù)據(jù)
由上表數(shù)據(jù)可以看出:IFWA-BP算法優(yōu)化后的預(yù)測(cè)加工變形量與實(shí)際加工變形量較為吻合,能夠在可接受誤差范圍內(nèi)預(yù)測(cè)薄壁件的銑削加工變形狀況。為驗(yàn)證IFWA-BP 算法較其他典型智能優(yōu)化算法具有更好的預(yù)測(cè)性,將以上數(shù)據(jù)同樣應(yīng)用于GA-BP算法和PSO-BP算法。令GA-BP算法中的交叉概率PC=0.95、變異概率Pm=0.06 ,PSO-BP算法中的學(xué)習(xí)因子c1=c2=1.5、慣性權(quán)重ω=1,其余參數(shù)的設(shè)置與IFWA-BP算法相同。各算法對(duì)薄壁件變形量預(yù)測(cè)的相對(duì)誤差如圖 5 所示。
從圖5可以看出, IFWA-BP算法的平均預(yù)測(cè)誤差明顯低于GA-BP算法的預(yù)測(cè)結(jié)果。雖然PSO-BP算法的平均預(yù)測(cè)誤差與IFWA-BP算法比較接近,但在樣本1、4、5、6、7處,IFWA-BP算法的預(yù)測(cè)誤差顯然比PSO-BP算法的預(yù)測(cè)誤差小。因此,IFWA-BP算法相對(duì)于PSO-BP算法和GA-BP算法的預(yù)測(cè)優(yōu)化結(jié)果更為精確。
接下來,利用測(cè)試好的IFWA-BP算法,以機(jī)床、夾具、刀具等自身屬性為約束,薄壁部分變形量最小為優(yōu)化目標(biāo),將銑削四要素作為求解變量進(jìn)行優(yōu)化。
得到優(yōu)化后的銑削參數(shù):主軸轉(zhuǎn)速為3 460 r/min、背吃刀量為0.043 3 mm、銑削寬度5.769 mm、每齒進(jìn)給量為0.238 mm/z。
為進(jìn)一步證明IFWA-BP算法優(yōu)化結(jié)果的正確,在VMC850機(jī)床上進(jìn)行薄壁件銑削加工實(shí)驗(yàn)驗(yàn)證,如圖6所示。
刀具、工件的選擇均與上文一致,選用優(yōu)化后的銑削參數(shù):主軸轉(zhuǎn)速為3 460 r/min、背吃刀量為0.043 3 mm、銑削寬度為5.769 mm、每齒進(jìn)給量為0.238 mm/z,加工完成后的工件變形量由??怂箍等鴺?biāo)測(cè)量機(jī)獲取,如圖7所示。
通過IFWA-BP算法的優(yōu)化計(jì)算,得到比較優(yōu)異的銑削參數(shù)組合并進(jìn)行銑削加工實(shí)驗(yàn),從實(shí)驗(yàn)結(jié)果可以看出優(yōu)化后的最大變形量為0.013 1 mm,相比之前降低了0.024 3 mm,進(jìn)而得出結(jié)論:由IFWA-BP算法優(yōu)化后的銑削參數(shù)可以有效地減小薄壁件加工過程的變形量。
為解決薄壁件在銑削加工過程中的變形問題,本文在原有煙花算法的基礎(chǔ)上進(jìn)行改進(jìn)并對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行權(quán)值閾值優(yōu)化,通過BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練優(yōu)化得到薄壁件加工過程的銑削參數(shù)。利用優(yōu)化后的銑削參數(shù)進(jìn)行現(xiàn)場(chǎng)實(shí)驗(yàn)加工,相比于未優(yōu)化前的薄壁件變形量降低了0.024 3 mm,大幅度提高了薄壁件銑削加工的精度,同時(shí)也證明了IFWA-BP算法相對(duì)其他算法的優(yōu)勢(shì),為控制薄壁件銑削加工變形提供了一種可行的參考方法。