呂星辰,鄭鵬,程亞紅,鄭嘉琦
(1.鄭州大學(xué)機(jī)械與動(dòng)力工程學(xué)院,河南鄭州 450000;2.鄭州大學(xué)國(guó)際學(xué)院,河南鄭州 450000)
隨著現(xiàn)代制造業(yè)的高速發(fā)展,精密軸類零件成為機(jī)械產(chǎn)品的重要組成部分。因?yàn)樗枰浜掀饋?lái)使用,因此不僅要滿足尺寸精度要求,同時(shí)還要滿足形位精度要求。其中圓柱度誤差是衡量這類零件形狀誤差大小的主要指標(biāo),它也直接影響到零件的工作精度和系統(tǒng)的壽命。因此如何能夠快速、準(zhǔn)確、高效地實(shí)現(xiàn)圓柱度測(cè)量和評(píng)定就顯得尤為重要。
在新一代產(chǎn)品幾何技術(shù)規(guī)范(GPS)中,根據(jù)理想要素?cái)M合方法的不同,圓柱度誤差評(píng)定方法主要分為最小二乘法(Least Square Cylinder,LSC)、最大內(nèi)接柱法(Maximum Inscribed Cylinder,MIC)、最大外接柱法(Minimum Circumscribed Cylinder,MCC)和最小區(qū)域法(Minimum Zone Cylinder,MZC)。在眾多評(píng)定方法中[1],最小二乘法較為簡(jiǎn)單快捷,但只是近似評(píng)定,在生產(chǎn)活動(dòng)中容易造成誤判;而最小區(qū)域法是研究熱點(diǎn),因其符合最小條件準(zhǔn)則,所以通常在誤差評(píng)定發(fā)生爭(zhēng)議時(shí)起到仲裁作用[1]。
對(duì)于圓柱度誤差及其優(yōu)化算法,國(guó)內(nèi)外眾多學(xué)者已經(jīng)進(jìn)行了深入的研究。王瑞[2]建立了圓柱度誤差評(píng)定的線性規(guī)劃模型,該模型將非線性模型線性化,方便求解,但因略去高階項(xiàng)而存在模型誤差。溫文炯、溫英明[3]采用Newton法及Gauss消去法求解非線性方程組來(lái)評(píng)定圓柱度誤差,并通過(guò)實(shí)驗(yàn)對(duì)比最小二乘法,證明該算法過(guò)程簡(jiǎn)便實(shí)用,結(jié)果具有唯一性。郭慧等人[4]將改進(jìn)的遺傳算法應(yīng)用于圓柱度誤差的評(píng)定中,引入多種群的遷移策略有效提高全局搜索能力,通過(guò)實(shí)驗(yàn)對(duì)比了各個(gè)模型的精度,驗(yàn)證了其可行性。史栩屹等[5]設(shè)計(jì)了一種二次插值鯨魚(yú)優(yōu)化算法,通過(guò)與其他優(yōu)化算法對(duì)比,驗(yàn)證了其具有較快的收斂速度和較好的精度。綜上,這些先進(jìn)的優(yōu)化算法均可以對(duì)圓柱體進(jìn)行全局尺寸評(píng)定,但其收斂速度及穩(wěn)定性依然有待提高。
根據(jù)座頭鯨圍捕獵物的行為,MIRJALILI、LEWIS[6]提出了鯨魚(yú)優(yōu)化算法,其原理通俗易懂,參數(shù)設(shè)置較少,但算法容易陷入局部最優(yōu),收斂速度較慢。本文作者提出一種混合策略改進(jìn)的鯨魚(yú)優(yōu)化算法,進(jìn)一步提高算法的收斂速度和精度。
對(duì)于圓柱度誤差的評(píng)定,通常采用截面法,即確定提取窗口在圓柱軸向的起止范圍后,對(duì)窗口內(nèi)多個(gè)平行橫截面上沿周向進(jìn)行采樣[7],然后通過(guò)求解不同截面上各測(cè)點(diǎn)的徑向偏差值來(lái)反映圓柱零件在該截面處相對(duì)于理想要素的變動(dòng)量,進(jìn)而得到圓柱度誤差。
如圖1所示,首先,建立Oxyz空間坐標(biāo)系,設(shè)圓柱零件的回轉(zhuǎn)軸為z軸,評(píng)定基準(zhǔn)軸線為理想圓柱軸線L。然后,沿z軸方向等距截取若干個(gè)平面,各個(gè)截面沿周向等距采樣,其坐標(biāo)表示為Pij(Rij,θij,zi),理想軸線L與xOy平面交點(diǎn)為O1(x,y,0),它相對(duì)于z軸的傾斜角為γ,分別用γx和γy來(lái)表示傾斜角在xOz、yOz平面上的投影分量。
圖1 圓柱度幾何模型
則各測(cè)點(diǎn)相對(duì)于理想軸線的坐標(biāo)可以表示為
(1)
那么各測(cè)點(diǎn)到軸線L的距離可以表示為
(2)
將上式進(jìn)行泰勒展開(kāi),略去高階項(xiàng),可簡(jiǎn)化為
rij=Rij+(x+αzi)cosθij+(y+βzi)sinθij
(3)
其中:α=tanγx,β=tanγy。
包容評(píng)定分為雙包容和單包容(包括外包容和內(nèi)包容)。以雙包容為例,即被測(cè)實(shí)際要素被兩同軸的理想圓柱面包容,當(dāng)兩理想圓柱面徑向偏差達(dá)到最小時(shí),差值f就是圓柱度誤差。因此通過(guò)前述公式可知,不斷尋找最優(yōu)理想軸線L的位置,使各測(cè)點(diǎn)均落在由max(rij)和min(rij)構(gòu)成的理想圓柱曲面內(nèi),且要保證其差值最小化,便可得到圓柱度誤差值[8]。
雙包容評(píng)定模型為
Fmin(x,y,α,β)=min(max(rij)-min(rij))
(4)
外包容評(píng)定模型為
Fmin(x,y,α,β)=min(max(rij))
(5)
內(nèi)包容評(píng)定模型為
Fmin(x,y,α,β)=min(-min(rij))
(6)
在自然界中,座頭鯨通常以群居為主。在捕食過(guò)程中,首先鯨群會(huì)將獵物團(tuán)團(tuán)包圍,然后通過(guò)螺旋上升并吐出氣泡的方式來(lái)收縮包圍圈,直到捕食成功。根據(jù)這種行為,鯨魚(yú)優(yōu)化算法將捕食過(guò)程分為包圍收縮、螺旋上升和隨機(jī)游動(dòng)3個(gè)搜索機(jī)制。
對(duì)于傳統(tǒng)的鯨魚(yú)優(yōu)化算法,為了解決其容易陷入局部最優(yōu)解和收斂速度相對(duì)較慢的問(wèn)題,以及增強(qiáng)其全局搜索能力,將算法在種群初始化階段引入Tent混沌映射來(lái)優(yōu)化初始種群質(zhì)量;在包圍收縮階段引入非線性參數(shù)來(lái)加速收斂;在螺旋上升階段引入自適應(yīng)權(quán)重系數(shù)提高算法局部搜索能力;在隨機(jī)游動(dòng)階段引入萊維飛行提高算法全局搜索能力。其詳細(xì)介紹在以下小節(jié)中進(jìn)行展示[9-11]。
設(shè)算法的搜索空間為d維,種群中有n只鯨魚(yú)個(gè)體,最大迭代次數(shù)為T(mén),變量的上下限分別為ub和lb,則第t次迭代中第i只個(gè)體表示為Xi(t)=(xi,1,xi,2,…,xi,d),則鯨魚(yú)優(yōu)化算法通過(guò)隨機(jī)數(shù)來(lái)生成初始種群,如下式:
X=(ub-lb)·rand(0,1)+lb
(7)
(8)
其中:ε=0.7。且要避免初值xn與參數(shù)ε相等,否則就不再是混沌系統(tǒng),將會(huì)演化為周期系統(tǒng)。那么式(7)將改進(jìn)為
X=(ub-lb)·f(xn)+lb
(9)
包圍收縮搜索機(jī)制是鯨魚(yú)種群向著最優(yōu)個(gè)體Xbest(t)游動(dòng)來(lái)更新位置。公式如下:
(10)
其中:a為線性因子,隨著迭代次數(shù)從2線性減小到0,且系數(shù)向量A在該階段的模小于1。但為了加快收斂速度,避免陷入局部最優(yōu),在此將上述線性因子改為非線性的,使其前期變化迅速,而后期變化緩慢,從而達(dá)到目的。公式如下:
(11)
螺旋上升搜索機(jī)制是鯨魚(yú)種群通過(guò)螺旋游動(dòng)來(lái)更新其位置并通過(guò)吐出氣泡的方式來(lái)收緊獵物的移動(dòng)空間。該階段位置更新方式如下:
(12)
其中:b為決定螺旋形狀的參數(shù),通常取1;l為[-1,1]間的隨機(jī)數(shù)。
隨著迭代次數(shù)的增加,氣泡網(wǎng)會(huì)逐漸縮小,容易使算法陷入局部最優(yōu)解中。為了使全部獵物均被收縮在包圍圈內(nèi),加入一個(gè)權(quán)重w,自適應(yīng)地去更改鯨魚(yú)收緊獵物的移動(dòng)范圍,達(dá)到當(dāng)w較小時(shí)縮小包圍范圍、w較大時(shí)擴(kuò)大包圍范圍的效果。
w=rand(0.5,1)+ft/fg
(13)
其中:fg為當(dāng)前全局最優(yōu)適應(yīng)度;ft為第t次迭代中的局部最優(yōu)適應(yīng)度。因?yàn)閣取值在[1,2]的范圍內(nèi)概率更大,所以大概率會(huì)選擇擴(kuò)大收縮包圍圈,從而較好地解決了陷入局部最優(yōu)的問(wèn)題。其位置更新公式由式(12)變化為
X(t+1)=Xbest(t)+D2·ebl·cos(2πl(wèi))·w
(14)
隨機(jī)游動(dòng)搜索機(jī)制是當(dāng)前鯨魚(yú)個(gè)體Xi向著當(dāng)前鯨魚(yú)種群中一個(gè)隨機(jī)個(gè)體Xrand(t)靠近來(lái)更新位置。雖然可能會(huì)偏離目標(biāo)獵物,但是能夠增強(qiáng)全局搜索能力。該階段,系數(shù)向量|A|>1,位置更新模型如下:
一到冬天,要檢查幾次。不是怕別的,怕老鼠打了洞。葡萄窖里很暖和,老鼠愛(ài)往這里面鉆。它倒是暖和了,咱們的葡萄可就受了冷啦!
(15)
為了進(jìn)一步增強(qiáng)算法的全局優(yōu)化能力,引入了萊維飛行,其搜索步長(zhǎng)的概率分布是有重尾分布的隨機(jī)行走,即具有大概率出現(xiàn)較大跨步的情況。其飛行步長(zhǎng)s為
(16)
(17)
其中:Γ(x)為Gamma函數(shù)。因此改進(jìn)后的位置更新公式為
(18)
其中:sign函數(shù)能取-1、0、1這3個(gè)值,代表著方向;常數(shù)ζ=0.01。
此次實(shí)驗(yàn)主要運(yùn)用MATLAB強(qiáng)大的運(yùn)算功能對(duì)采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,并將結(jié)果可視化。數(shù)據(jù)的采集儀器為三坐標(biāo)測(cè)量?jī)x,如圖2所示。
圖2 運(yùn)用三坐標(biāo)測(cè)量?jī)x對(duì)零件進(jìn)行數(shù)據(jù)采集
實(shí)驗(yàn)前對(duì)圓柱零件軸向等距采集10個(gè)截面,每個(gè)截面周向等距采集1 164個(gè)數(shù)據(jù)點(diǎn)。通過(guò)編程實(shí)現(xiàn)圓柱度的最小二乘評(píng)定(LSC)和雙包容評(píng)定(MZC)。為了測(cè)試混合策略改進(jìn)的鯨魚(yú)優(yōu)化算法(HWOA)在圓柱度誤差評(píng)定上的性能,設(shè)置對(duì)照組,除了鯨魚(yú)優(yōu)化算法以外,再加入遺傳算法(GA)進(jìn)行對(duì)比。
以雙包容評(píng)定為例,給出改進(jìn)鯨魚(yú)優(yōu)化算法圓柱度誤差評(píng)定的步驟,其簡(jiǎn)化流程如圖3所示。
圖3 算法流程
步驟1,給定算法的相關(guān)參數(shù),設(shè)置算法的搜索空間為d=8,種群數(shù)量為n=100,最大迭代次數(shù)為T(mén)=500,變量的上下限ub、lb區(qū)間為[-30,30]。
步驟 2,利用式(9)生成初始種群,其中xn=rand(n,d),再用式(4)計(jì)算初始種群中每個(gè)鯨魚(yú)個(gè)體的適應(yīng)度值,并進(jìn)行比較,得到初始最優(yōu)個(gè)體Xbest(0)和初始最優(yōu)適應(yīng)度值。
步驟 3,開(kāi)始迭代并更新鯨魚(yú)位置。在每一次迭代前首先更新參數(shù)p、a、A、C、l、w的值。判斷概率p和參數(shù)|A|的值,若p<0.5且|A|<1,則采用包圍收縮的方式更新種群位置,否則采用隨機(jī)游動(dòng)的方式更新位置;若p≥0.5,則采用螺旋上升的方式更新位置。
步驟 4,再由式(4)計(jì)算更新位置后的鯨魚(yú)個(gè)體的適應(yīng)度,并保存最優(yōu)個(gè)體Xbest(t)和局部最優(yōu)適應(yīng)度。并判斷是否達(dá)到最大迭代次數(shù),否則繼續(xù)迭代。
如表1所示,為了評(píng)估改進(jìn)后算法相對(duì)于原始算法的性能,選擇2個(gè)可變維的基準(zhǔn)函數(shù)來(lái)進(jìn)行測(cè)試,包括一個(gè)單峰基準(zhǔn)函數(shù)評(píng)估算法收斂速度和一個(gè)多峰基準(zhǔn)函數(shù)評(píng)估算法全局搜索能力,且所有基準(zhǔn)函數(shù)均有理論最優(yōu)值(全局最小值)。
表1 基準(zhǔn)測(cè)試函數(shù)
設(shè)定兩算法的種群規(guī)模和迭代次數(shù)保持一致,分別為100和500,算法維度設(shè)置3個(gè)檔次來(lái)進(jìn)行對(duì)比,分別為50、100、200。對(duì)于每個(gè)基準(zhǔn)函數(shù),兩優(yōu)化算法均獨(dú)立運(yùn)行10次,計(jì)算結(jié)果的平均值和標(biāo)準(zhǔn)差,如表2所示,算法收斂曲線對(duì)比如圖4所示。
表2 不同維度下HWOA與WOA算法性能對(duì)比
圖4 不同維度下HWOA與WOA算法收斂曲線對(duì)比
在單峰函數(shù)中,由圖4(a)可以看出改進(jìn)的算法具有較快的收斂速度,并且在求解Sphere函數(shù)時(shí)精度能比原始算法高出10個(gè)數(shù)量級(jí)。在多峰函數(shù)中,由圖4(b)可以看出,兩種算法精度相對(duì)變化不大,但改進(jìn)的鯨魚(yú)優(yōu)化相對(duì)于原始算法的收斂速度提升更加明顯,展現(xiàn)出其具有更強(qiáng)的跳出局部最優(yōu)的能力。綜合來(lái)看,基于混合策略改進(jìn)的鯨魚(yú)優(yōu)化算法(HWOA)具有更快的收斂速度和全局搜索能力。綜合對(duì)比圖4中所有收斂曲線,可以看出在對(duì)基準(zhǔn)函數(shù)不同維度的求解過(guò)程中,其收斂曲線波動(dòng)范圍不大,展現(xiàn)出算法的穩(wěn)定性。
基于雙包容評(píng)定,各優(yōu)化算法對(duì)圓柱度誤差f的評(píng)定結(jié)果對(duì)比如表3所示。
表3 各算法雙包容評(píng)定結(jié)果對(duì)比
混合策略改進(jìn)鯨魚(yú)優(yōu)化算法評(píng)估結(jié)果及兩算法收斂速度對(duì)比如圖5—6所示。其中圖6為了使變化趨勢(shì)更加明顯,對(duì)y軸坐標(biāo)進(jìn)行取對(duì)數(shù)運(yùn)算。
圖5 改進(jìn)鯨魚(yú)優(yōu)化算法評(píng)定結(jié)果
圖6 算法收斂速度曲線對(duì)比
分析表3可知:基于混合策略改進(jìn)的鯨魚(yú)優(yōu)化算法相對(duì)于傳統(tǒng)鯨魚(yú)算法在評(píng)定精度上有了進(jìn)一步提升。由圖6可以看出:改進(jìn)的鯨魚(yú)優(yōu)化算法在第36次迭代時(shí)收斂,遺傳算法在第89次迭代時(shí)收斂,而鯨魚(yú)優(yōu)化算法在第124次迭代時(shí)收斂,收斂速度提升較大;改進(jìn)的鯨魚(yú)優(yōu)化算法在算法迭代初期變化速度較快,后期變化速度較慢,說(shuō)明非線性因子有效改善了算法的收斂效果。
為了對(duì)比算法的效率,在固定截面數(shù)的前提下,對(duì)不同算法引入時(shí)間函數(shù),計(jì)算其運(yùn)行時(shí)間,每個(gè)算法單獨(dú)運(yùn)行5次取平均值,對(duì)比結(jié)果如表4所示。
表4 不同算法運(yùn)行時(shí)間對(duì)比
分析表4可知:WOA算法改進(jìn)前后運(yùn)算時(shí)間基本無(wú)差別,因此改進(jìn)算法引入的各個(gè)參數(shù)并不會(huì)增加算法的復(fù)雜度而影響運(yùn)算時(shí)間;但改進(jìn)后的算法相對(duì)于遺傳算法在運(yùn)行效率上具有較大的優(yōu)勢(shì);最小二乘法運(yùn)算效率最高,但該方法只是近似評(píng)定,不滿足最小條件準(zhǔn)則,因此僅供參考。
表3中誤差數(shù)據(jù)為指定高度等間距采集10個(gè)截面所測(cè)得的結(jié)果。為了測(cè)試截面數(shù)量對(duì)誤差值的影響(以雙包容為例),設(shè)定采樣高度在30~165 mm之間,同樣為等間距取樣,分別間隔60、45、30 mm,得到3、4、5個(gè)截面數(shù)下的誤差值如表5所示。
對(duì)比表3和表5數(shù)據(jù)可以發(fā)現(xiàn):HWOA、WOA、GA、LSC運(yùn)算出來(lái)的結(jié)果伴隨著截面的變化具有略微的波動(dòng),但影響不是特別大,且具有略微上升的現(xiàn)象。這是因?yàn)殡S著采樣截面不斷增加,其采樣結(jié)果越來(lái)越逼近真實(shí)圓柱零件,使得圓柱度誤差越來(lái)越接近真實(shí)值。由各算法間對(duì)比可以看出:改進(jìn)后的鯨魚(yú)優(yōu)化算法,在精度上具有一定的優(yōu)勢(shì),不同截面數(shù)下的誤差值均相對(duì)較小。
為驗(yàn)證在單包容評(píng)定中是否也會(huì)出現(xiàn)這種趨勢(shì)(以MCC為例),同樣設(shè)定采樣高度在30~165 mm之間,采樣間隔為60、45、30、15 mm,得到3、4、5、10個(gè)截面數(shù)下的誤差值如表6所示。
表6中各算法評(píng)定結(jié)果隨著截面數(shù)的變化曲線與最小二乘(LSC)算法的變化曲線如圖7所示。
從圖7可以看出:在單包容評(píng)定下也同樣具有略微上升的趨勢(shì),且各自的變化波動(dòng)也較小。
在鯨魚(yú)優(yōu)化算法的基礎(chǔ)上引入Tent混沌映射、非線性參數(shù)、自適應(yīng)權(quán)重系數(shù)和萊維飛行,來(lái)改進(jìn)鯨魚(yú)優(yōu)化算法的不足。通過(guò)基準(zhǔn)函數(shù)測(cè)試,證明基于混合策略改進(jìn)的鯨魚(yú)優(yōu)化算法具有更快的收斂速度,算法的搜索能力也有了提高。經(jīng)過(guò)實(shí)驗(yàn)對(duì)比,相比基于GA、WOA算法的圓柱度誤差評(píng)定方法,改進(jìn)后的鯨魚(yú)優(yōu)化算法在精度上優(yōu)于其他3種對(duì)比方法,評(píng)定效率也具有顯著優(yōu)勢(shì)。
基于混合策略改進(jìn)的鯨魚(yú)優(yōu)化算法,原理簡(jiǎn)單明了,算法編程也不復(fù)雜,局部以及全局搜索能力有了進(jìn)一步提升,應(yīng)用場(chǎng)景也比較廣泛,可以推廣至多種問(wèn)題的求解中。