陳玉,韓波,許高齊,闞延鵬,趙轉(zhuǎn)哲
(安徽工程大學(xué) 機械與汽車工程學(xué)院,安徽蕪湖 241000)
空間直線度誤差是回轉(zhuǎn)體零件誤差評定的一項重要參數(shù),是反映零件加工質(zhì)量的重要參數(shù)之一。國標(biāo)GB/T11336-2004中規(guī)定,空間直線度誤差的評定方法主要有3種,包括兩端點連線法、最小二乘法、最小區(qū)域法。其中最小區(qū)域法是3種評定方法中精度最高的,也是唯一滿足最小條件原則的評定方法[1]。在運用最小區(qū)域法的空間直線度誤差評定過程中,主要是找到包容所有實際直線輪廓點且直徑最小的圓柱面,包容所有實際直線輪廓點的圓柱面有無數(shù)個,但直徑最小的只有一個。因此,空間直線度誤差評定的計算問題實質(zhì)上屬于最優(yōu)化問題,對于最優(yōu)化問題,傳統(tǒng)的數(shù)學(xué)處理方法對其求解困難,而智能優(yōu)化算法在求解優(yōu)化問題上具有較大優(yōu)勢,近年國內(nèi)外諸多學(xué)者將多種不同的智能優(yōu)化算法應(yīng)用在空間直線度誤差評定中[2]。陳君寶等[3]將變步長天牛須搜索算法應(yīng)用于空間直線度誤差中,通過實驗驗證,該算法能有效的應(yīng)用于空間直線度誤差評定中。楊洋等[4]在滿足最小區(qū)域條件下,建立了空間直線度誤差的數(shù)學(xué)模型,并對教與學(xué)算法進行改進,同時將該算法與最小區(qū)域法相結(jié)合,提高了評定精度。溫銀萍[5]為解決軸線直線度誤差時難以確定基準(zhǔn)軸線的問題,在滿足最小條件準(zhǔn)則的基礎(chǔ)上,將動態(tài)步長細(xì)菌覓食算法應(yīng)用于液壓缸的軸線直線度誤差評定,其求解精度提高了6.1%~72.6%左右。楊俊超等[6]對深孔軸線直線度誤差評定理論進行分析,提出正方網(wǎng)格迭代尋優(yōu)算法評定軸線直線度。
上述算法都不同程度上提高了空間直線度誤差評定的精度,但這些算法在求解過程中算法自身參數(shù)的選擇對求解結(jié)果影響較大,且仍存在著易陷入局部最優(yōu)、穩(wěn)定性不高等問題。鯨魚優(yōu)化算法(Whale optimization algorithm,WOA)是2016年由澳大利亞學(xué)者Mirjalili根據(jù)座頭鯨的捕食習(xí)性開發(fā)的一種新型群智能優(yōu)化算法,該算法具有調(diào)節(jié)參數(shù)少、穩(wěn)定性高等優(yōu)點,經(jīng)研究表明該算法的性能絲毫不遜色于其他群智能優(yōu)化算法[7]。該算法與其他群智能算法一樣,存在著易陷入局部最優(yōu)、后期收斂速度慢等問題,因此,為進一步提高該算法的優(yōu)化性能,本文對基本鯨魚優(yōu)化算法的3個方面進行改進,采用拉丁超立方體抽樣方法(Latin hypercube sampling,LHS)進行種群初始化,將非線性收斂因子替代基本W(wǎng)OA算法中的線性收斂因子,最后將非線性慣性權(quán)重引入鯨魚優(yōu)化算法,以進一步提高算法的求解精度和速度。本文在滿足最小區(qū)域條件的基礎(chǔ)上,將改進后的鯨魚優(yōu)化算法應(yīng)用于空間直線度誤差評定中。
本文以最小包容區(qū)域法為基礎(chǔ),建立空間直線度誤差評定數(shù)學(xué)模型。最小包容區(qū)域法是以包容所有實際被測直線輪廓點且直徑最小的包容圓柱的軸線為基準(zhǔn)軸線,該圓柱的直徑即為空間直線度誤差,其示意圖如圖1所示。
圖1 空間直線度誤差評定示意圖
如圖1所示,根據(jù)最小包容區(qū)域法定義,建立空間直線度數(shù)學(xué)模型。設(shè)基準(zhǔn)軸線L的空間直線方程為
(1)
式中:l,m,n為基準(zhǔn)軸線的方向向量;(x0,y0,z0)是基準(zhǔn)軸線上的定點。根據(jù)空間點到直線距離公式,可得實際直線輪廓點到基準(zhǔn)軸線的距離,表達式為
(2)
式(2)中實際直線輪廓點到基準(zhǔn)軸線的最大距離dmax,即為包容區(qū)域圓柱的半徑,而空間直線度誤差為包容區(qū)域圓柱的直徑,由最小包容區(qū)域法的定義可知,需找尋直徑最小的包容區(qū)域圓柱,可得空間直線度誤差的目標(biāo)函數(shù)為
F(x0,y0,z0,l,m,n)=min(2·dmax)
(3)
利用數(shù)學(xué)計算方法對上式進行優(yōu)化求解,可得出基準(zhǔn)軸線方程的6個參數(shù),進一步可求出空間直線度誤差。從式(3)可看出,最小包容區(qū)域法評定空間直線度誤差其是實質(zhì)為極大值極小化的優(yōu)化求解問題。
WOA算法有著穩(wěn)定性強、調(diào)節(jié)參數(shù)少等優(yōu)點,被廣泛應(yīng)用于工程問題中。根據(jù)座頭鯨的捕食習(xí)性,WOA算法主要包括3個階段:包圍捕食、氣泡網(wǎng)捕食和隨機搜索捕食。各階段數(shù)學(xué)模型如下[7]:
1) 包圍捕食
(4)
(5)
(6)
2) 氣泡網(wǎng)捕食
在該階段中,WOA算法設(shè)置了兩種捕食機制以模擬該階段座頭鯨的捕食特點,包括收縮包圍機制和螺旋氣泡捕食機制。收縮包圍機制通過式(4)進行位置更新,螺旋氣泡捕食機制是模擬座頭鯨們以螺旋式軌跡游動捕食獵物的特點,在WOA算法中采用對數(shù)螺旋方程來描述這種行為,其位置更新公式為:
(7)
因座頭鯨在捕食獵物時,在獵物收縮包圍圈內(nèi)沿螺旋式軌跡繞著獵物游動,為模擬這種捕食特點,在WOA算法中,假設(shè)選擇螺旋氣泡捕食機制與收縮包圍機制來更新座頭鯨位置的幾率均為50%,其位置更新為:
(8)
3) 隨機搜索捕食
(9)
本文為提高WOA算法的尋優(yōu)性能,對WOA算法的3個方面進行改進,首先利用拉丁超立方體抽樣方法初始化種群,增強WOA算法的種群多樣性;再將非線性收斂因子取代基本W(wǎng)OA算法中的線性收斂因子,進一步提高算法尋優(yōu)能力;最后將非線性慣性權(quán)重引入WOA算法中。以下將改進的鯨魚優(yōu)化算法記為LTWWOA算法。
文獻[8]指出,群智能優(yōu)化算法的種群初始化的好壞對算法的尋優(yōu)能力有著重要影響。在基本W(wǎng)OA算法中,采用隨機的方法產(chǎn)生初始化種群,這種方法產(chǎn)生的初始化種群易導(dǎo)致產(chǎn)生的種群個體分布不均和出現(xiàn)個體重疊,在一定程度上降低了算法的尋優(yōu)性能[9]。LHS是常用的抽樣試驗統(tǒng)計學(xué)抽樣方法,具有如下特點:
1) 能實現(xiàn)滿空間填充,產(chǎn)生的采樣點個體具有隨機性,并能較好的將其均勻分布在搜索空間中;
2) 穩(wěn)定性強,希望采樣點總均值可提供無偏估計,同時方差小。
從LHS方法的特點看,若采用LHS方法初始化種群,既可以保證產(chǎn)生的初始化種群個體的隨機性,又可以保證種群個體能較均勻的分布在搜索空間中,從而保證了種群的多樣性,在一定程度上提高了算法的尋優(yōu)性能。本文運用LHS方法初始化種群。
步驟1 確定種群規(guī)模S;
步驟3 生成S行h列的且每一列都為{1,2,…,S}的一個隨機全排列矩陣AS×h;
步驟4 矩陣AS×h的每行對應(yīng)一個小超立方體,從每一個小超立方體中選取一個種群個體,這樣就可以得到S個互不相同的種群個體。
圖2和圖3分別為采用LHS方法產(chǎn)生的樣本點圖和隨機方法產(chǎn)生的樣本圖,抽樣規(guī)模為S=20,維度h=2,由圖2和圖3可看出,LHS方法產(chǎn)生的樣本點能更加均勻的分布在搜索空間中。因此,采用LHS方法對WOA算法進行初始化種群,能有效的保證了種群個體更均勻的分布在搜索空間中,提高了種群多樣性,一定程度上提高了算法尋優(yōu)性能,避免算法過早收斂。
圖2 采用LHS方法樣本點圖
圖3 采用隨機方法樣本點圖
由式(6)可得,在基本W(wǎng)OA算法中,收斂因子a隨著算法迭代次數(shù)的增加由2線性遞減至0,由于這種遞減方式在算法迭代過程中,收斂因子a的遞減速度全程不變,這易導(dǎo)致算法前期搜索和后期尋優(yōu)失衡,降低算法尋優(yōu)性能,同時WOA算法的實際尋優(yōu)過程是一種復(fù)雜的非線性過程,收斂因子a隨迭代次數(shù)呈線性遞減,很難適應(yīng)WOA算法的這種非線性尋優(yōu)過程。為解決該問題,本文提出一種非線性收斂因子,其數(shù)學(xué)表達式為
(10)
式中tmax為最大迭代次數(shù)。本文取tmax=500時,將改進的收斂因子a與基本W(wǎng)OA算法中的收斂因子a進行對比,對比圖如圖4所示。
圖4 收斂因子a變化對比圖
由圖4和式(10)可得,基本W(wǎng)OA算法的收斂因子a隨算法迭代次數(shù)的增加呈線性遞減,而本文提出的非線性收斂因子a隨算法迭代次數(shù)的增加呈非線性遞減。這種方式,在算法前期收斂因子a以較小的速度減小,保證了收斂系數(shù)A前期值較大,使得座頭鯨游走步長大,加快算法全局搜索,到算法迭代后期,收斂因子a以較大的速度減小,使得收斂系數(shù)A后期值較小,從而座頭鯨游走步長小,使其能在最優(yōu)解附近進行精確搜索。從而有效的平衡了算法的前期搜索和后期尋優(yōu)能力。
Shi等[10]針對粒子群算法的不足,將慣性權(quán)重引入其中,有效提高了算法的性能。研究表明,慣性權(quán)重的大小對算法的求解效率有一定的影響[11],較大的慣性權(quán)重有利于增強算法的全局搜索能力,較小的慣性權(quán)重有利于增強算法的局部搜索能力[12]。基本W(wǎng)OA算法的尋優(yōu)求解過程,其權(quán)重始終是固定值為1,容易導(dǎo)致座頭鯨的位置在最優(yōu)位置附近徘徊,從而使得WOA算法陷入局部最優(yōu)解。受文獻[13-14]啟發(fā),為提高WOA算法的性能,避免其陷入局部最優(yōu)解,將非線性慣性權(quán)重引入WOA算法,非線性慣性權(quán)重數(shù)學(xué)表達式為
(11)
式中:wst是初始慣性權(quán)重;wend為最大迭代次數(shù)時的慣性權(quán)重;k和u是控制系數(shù),對w的范圍起調(diào)節(jié)作用。經(jīng)大量測試,分別取wst=0.98和wend=0.4,分別取k=0.21和u=11.2時,能使得LTWWOA算法表現(xiàn)性能較好。
根據(jù)WOA算法的3個位置更新公式,將非線性慣性權(quán)重w引入WOA算法,得到LTWWOA算法的3個位置更新公式為:
綜合上述,對基本鯨魚優(yōu)化算法的三方面進行了改進,首先采用LHS方法進行初始化種群;再將非線性收斂因子替代基本W(wǎng)OA算法中的線性收斂因子,最后將非線性慣性權(quán)重引入鯨魚優(yōu)化算法中。LTWWOA算法的詳細(xì)步驟如下:
步驟1 對算法相關(guān)參數(shù)進行設(shè)定:種群規(guī)模S,最大迭代次數(shù)tmax,初始慣性權(quán)重wst,最大迭代次數(shù)時慣性權(quán)重wend,控制系數(shù)k和u等參數(shù);
步驟2 運用LHS方法初始化座頭鯨種群,使其能均勻分布在搜索空間中;
步驟3 根據(jù)適應(yīng)度函數(shù),計算每個座頭鯨個體的適應(yīng)度值,并保存最佳適應(yīng)度值對應(yīng)的座頭鯨個體及其位置;
步驟5 最后判斷是否達到結(jié)束條件,若達到,則輸出最優(yōu)解;若未達到,則回到步驟3繼續(xù)進行迭代。
LTWWOA算法流程圖如圖5所示。
圖5 LTWWOA算法流程圖
1) 算法相關(guān)參數(shù)設(shè)定及測試函數(shù)選取
為驗證LTWWOA算法的性能,將WOA算法、遺傳算法(Genetic algorithm,GA算法)和基本粒子群算法(Particle swarm optimization,PSO算法)與LTWWOA算法根據(jù)選取的測試函數(shù)進行測試對比。選取文獻[6]中的4組單峰函數(shù)和4種多峰函數(shù)為測試函數(shù),測試函數(shù)如表1所示。
表1 測試函數(shù)
其中F1~F4為單峰函數(shù),F5~F8為多峰函數(shù),各函數(shù)維度均為30,最優(yōu)解均為0。為保證對比的公平性,各算法的最大迭代次數(shù)為1 000,種群規(guī)模均為40,GA算法交叉概率設(shè)為0.8,變異概率為0.05,PSO算法的學(xué)習(xí)因子c1=c2=2,LTWWOA算法的wst和wend分別為0.98和0.4,控制系數(shù)k和u分別為0.21和11.2。
2) 各算法函數(shù)測試結(jié)果對比
將各算法在MATLAB2017b軟件下獨立運行40次,40次測試結(jié)果如表2所示,各算法的平均收斂曲線如圖6所示。
表2 測試結(jié)果對比
圖6 平均收斂曲線對比圖
本文以40次測試結(jié)果的平均值、標(biāo)準(zhǔn)差和平均收斂曲線分別反映各算法的收斂精度、穩(wěn)定性和收斂速度。從表2的測試結(jié)果來看,LTWWOA算法相比于其他3種算法在平均值、標(biāo)準(zhǔn)差等各方面都有著明顯優(yōu)勢,從單峰函數(shù)的測試結(jié)果來看,對于函數(shù)F1~F3的求解,LTWWOA算法都得到了理論最優(yōu)解0,WOA算法其收斂結(jié)果與理論最優(yōu)解較為接近,而GA算法和PSO算法則表現(xiàn)較差,對于函數(shù)F4,雖然LTWWOA算法與WOA算法都未能收斂到最優(yōu)解,但從測試結(jié)果來看,LTWWOA算法相比于WOA算法收斂精度更高,更接近理論最優(yōu)解;從多峰函數(shù)的測試結(jié)果來看,GA與PSO算法的求解精度遠(yuǎn)差于LTWWOA算法的求解精度,對于函數(shù)F5和F6的求解,LTWWOA算法得到了理論最優(yōu)解,雖然WOA算法的40次運行中的最優(yōu)值達到了理論最優(yōu)解,但其平均值相比于LTWWOA算法要差,對于函數(shù)F7和F8的測試結(jié)果中,LTWWOA算法的求解精度也略高于WOA算法。因此,總體來看LTWWOA算法相較于其他3種算法在單、多峰函數(shù)的求解精度都要更優(yōu)秀。再從40次測試結(jié)果的標(biāo)準(zhǔn)差來看,對于函數(shù)F1、F2、F3、F5、F6的標(biāo)準(zhǔn)差,LTWWOA算法的40次測試結(jié)果標(biāo)準(zhǔn)差都為0,相比于其他3種算法都要好,在函數(shù)F4、F7和F8的求解中雖然標(biāo)準(zhǔn)差未達到0,但相比于其他算法的標(biāo)準(zhǔn)差都更小,足以證明LTWWOA算法相比于其他3種算法的穩(wěn)定性更好;從圖6的各算法平均收斂曲線來看,LTWWOA算法相比于其他3種算法的收斂速度都更快。
綜合上述結(jié)果,都充分證明了LTWWOA算法在收斂速度、精度和穩(wěn)定性上相比于基本W(wǎng)OA算法都得到了提高,同時驗證了本文提出的對基本W(wǎng)OA算法3個方面的改進策略是十分有效的,也為后續(xù)將LTWWOA算法應(yīng)用于直線度誤差評定奠定基礎(chǔ)。
為驗證LTWWOA算法能有效應(yīng)用于空間直線度誤差評定中,選用文獻[15]中的原始數(shù)據(jù),原始坐標(biāo)數(shù)據(jù)如表3所示。
表3 原始坐標(biāo)數(shù)據(jù)[15]
采用LTWWOA算法、WOA算法和GA算法對該原始數(shù)據(jù)進行空間直線度誤差評定,為保證對比的公正性,各算法參數(shù)進行統(tǒng)一設(shè)置:種群規(guī)模為100,最大迭代次數(shù)為500次,維度為6,LTWWOA算法的wst=0.98,wend=0.4,控制系數(shù)k=0.21,u=11.2分別為GA算法的交叉概率設(shè)為0.8,變異概率設(shè)為0.1。各算法在MATLAB2017b軟件下獨立運行50次,取50次結(jié)果的平均值為直線度誤差,同時本文引用文獻[3]中采用HTLBO算法對該原始數(shù)據(jù)的評定結(jié)果與各算法結(jié)果進行對比,各算法得出的基準(zhǔn)軸線參數(shù)及直線度誤差結(jié)果如表4所示,平均收斂曲線對比圖如圖7所示。
表4 各算法直線度結(jié)果 mm
圖7 實例1的各算法平均收斂曲線對比圖
從表4的結(jié)果來看,LTWWOA算法相比于其他3種算法的空間直線度誤差評定精度最高,平均直線度誤差達到0.009 066 6 mm,50次運行結(jié)果中最優(yōu)解為0.009 023 8 mm,3種算法中GA算法的評定精度最低,LTWWOA算法相比于文獻[3]中采用HTLBO算法的結(jié)果也要好,從圖7的平均收斂曲線來看,LTWWOA算法的收斂速度也要比WOA算法與GA算法更快。
為進一步驗證LTWWOA算法應(yīng)用于空間直線度誤差評定的優(yōu)勢,通過實驗平臺對內(nèi)徑為800 mm的無縫鋼管的軸線直線度進行測量評定,采集被測鋼管的7組截面數(shù)據(jù),得到7組截面中心坐標(biāo),其實驗數(shù)據(jù)如表5所示。
表5 各截面中心坐標(biāo)實驗數(shù)據(jù) mm
根據(jù)第1節(jié)中建立的空間直線度誤差數(shù)學(xué)模型,以最小區(qū)域法為原則,分別采用LTWWOA算法、WOA算法、GA算法和PSO算法對上述數(shù)據(jù)進行軸線直線度評定,同時將傳統(tǒng)直線度評定方法中的兩端點連線法與其他算法得出的結(jié)果進行對比。各算法的種群規(guī)模都設(shè)置為100,最大迭代次數(shù)設(shè)置為500,維度為6,LTWWOA算法的wst=0.98和wend=0.4,控制系數(shù)k=0.21,u=11.2,GA算法的交叉概率設(shè)為0.8,變異概率設(shè)為0.05,PSO算法的學(xué)習(xí)因子c1=c2=1.5,各算法在MATLAB2017b下獨立運行40次,取40次運行結(jié)果的平均值為直線度。各算法得出的基準(zhǔn)軸線參數(shù)及直線度評定結(jié)果如表6,對應(yīng)的平均收斂曲線對比圖如圖8,因數(shù)據(jù)跨距較大,縱坐標(biāo)采用對數(shù)形式。
圖8 實例2的各算法平均收斂曲線對比圖
表6 各算法評定直線度結(jié)果 mm
從表6的結(jié)果可看出,傳統(tǒng)的兩端點連線法在對空間直線度評定中精度最低,相比于其他3種智能算法LTWWOA算法的評定精度最高,40次運行得出的空間直線度平均值為0.145 50 mm,其中40次運行結(jié)果中最優(yōu)解為0.141 43 mm。從圖8來看,LTWWOA算法相比于其他3種算法在收斂速度上也更快。
為解決傳統(tǒng)數(shù)學(xué)方法在求解空間直線度誤差中存在求解困難且求解精度不高的問題,本文以最小區(qū)域法為基礎(chǔ),將改進的WOA算法應(yīng)用于空間直線度誤差評定中,有效提高了求解精度。得出以下結(jié)論:
1) 針對WOA算法的不足,對WOA算法進行三方面改進,以LHS方法初始化種群,將非線性收斂因子替代基本W(wǎng)OA算法中的線性收斂因子,最后將非線性慣性權(quán)重引入WOA算法中。利用測試函數(shù)對改進的WOA算法進行性能測試,驗證了改進的WOA算法在收斂速度、精度和穩(wěn)定性得到了提高。
2) 通過兩個實例驗證LTWWOA算法能正確有效地應(yīng)用于空間直線度誤差評定。將不同算法的求解結(jié)果進行對比,得出LTWWOA算法相比于傳統(tǒng)方法和其他算法在收斂速度和求解精度上都更有優(yōu)勢。