本發(fā)明屬于零件的數(shù)字化測(cè)量領(lǐng)域和計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其是涉及一種基于二次退火教與學(xué)算法的空間圓柱度評(píng)定方法。
背景技術(shù):
在精密制造生產(chǎn)過程中,零件的尺寸精度、形狀精度和位置精度都有著很高的要求。零件幾何誤差評(píng)定方法是數(shù)字化測(cè)量領(lǐng)域研究的熱點(diǎn)之一。為了保證零件的檢測(cè)評(píng)定精度,提高零件的幾何質(zhì)量,在零件的評(píng)定要素中,空間圓柱度作為一項(xiàng)關(guān)鍵形位要素,其評(píng)定結(jié)果的準(zhǔn)確性會(huì)在很大程度上影響到零件整體的評(píng)定結(jié)果。
空間圓柱度誤差評(píng)定的主要算法為最小二乘法,計(jì)算幾何等方法。上述方法精度不夠高,無法滿足相關(guān)標(biāo)準(zhǔn)中的最小區(qū)域準(zhǔn)則,無法應(yīng)用于精密測(cè)量領(lǐng)域,嚴(yán)重影響產(chǎn)品的質(zhì)量。根據(jù)國際標(biāo)準(zhǔn)iso/1101的規(guī)定,零件誤差計(jì)算以最小區(qū)域法為評(píng)定方法。其中,最小區(qū)域圓柱度誤差評(píng)定方法為不可微的復(fù)雜最優(yōu)化問題。目前主要采用計(jì)算幾何方法及智能優(yōu)化算法等。智能優(yōu)化算法通常具有數(shù)學(xué)模型相對(duì)簡(jiǎn)單,計(jì)算速度快且結(jié)果非常精確等特點(diǎn),此外,算法還可以進(jìn)一步優(yōu)化;因此,現(xiàn)已常被用于零件幾何誤差評(píng)定方法之中。
教與學(xué)算法(tlbo)是2012年被提出的一種新型智能優(yōu)化算法,該算法模擬了班級(jí)的“教”與“學(xué)”兩個(gè)過程:班級(jí)教師通過分享知識(shí)來提高班級(jí)的平均成績(jī),學(xué)生通過向教師學(xué)習(xí)以及向其他同學(xué)學(xué)習(xí)來提高自己的成績(jī)。tlbo算法已經(jīng)被廣泛的應(yīng)用到工程設(shè)計(jì),自動(dòng)控制,函數(shù)優(yōu)化等領(lǐng)域,并取得了很好的效果。
模擬退火算法(sa)是一種模擬物理退火過程提出的一種全局隨機(jī)優(yōu)化算法。算法初始溫度較高,隨著進(jìn)化過程的進(jìn)行,溫度參數(shù)不斷下降,結(jié)合當(dāng)前溫度參數(shù)和能量值確定接受較差的個(gè)體作為新解,進(jìn)而避免算法陷入局部最優(yōu)。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有空間圓柱度評(píng)定技術(shù)存在的精度不高,穩(wěn)定性偏差等問題,本發(fā)明的目的在于提供一種基于二次退火教與學(xué)算法的空間圓柱度評(píng)定方法,從而提高空間圓柱度誤差的評(píng)定精度,提高求解效率與穩(wěn)定性。
本發(fā)明為解決技術(shù)問題采用如下技術(shù)方案:本發(fā)明提出了一種二次退火教與學(xué)算法的空間圓柱度評(píng)定方法,通過空間圓柱度數(shù)學(xué)模型,建立問題的目標(biāo)函數(shù);通過三坐標(biāo)測(cè)量機(jī)獲取零件的空間圓柱測(cè)量數(shù)據(jù),采用二次退火教與學(xué)算法對(duì)目標(biāo)函數(shù)進(jìn)行求解,包括信息熵值法初始化種群,學(xué)生分組排序,“教”階段與“學(xué)”階段等步驟,并針對(duì)以上教與學(xué)算法過程求解精度不高,易陷入局部最優(yōu)等問題,在“教”與“學(xué)”兩個(gè)階段兩次采用退火算法以一定概率選擇較差解來更新最優(yōu)解,增強(qiáng)算法多樣性,從而充分提高計(jì)算精度,最后進(jìn)行求解,并根據(jù)終止準(zhǔn)則求得計(jì)算結(jié)果。
有益效果:本方法可充分使用所測(cè)數(shù)據(jù),且沒有所測(cè)數(shù)據(jù)預(yù)處理和計(jì)算幾何中的坐標(biāo)變換等步驟,在算法設(shè)計(jì)方法上較為新穎,求解過程完全符合國際標(biāo)準(zhǔn)中的最小區(qū)域原理,因此計(jì)算結(jié)果精度更高。本發(fā)明有效提高了零件空間圓柱度評(píng)定結(jié)果,保證零件的檢測(cè)評(píng)定精度,提高產(chǎn)品的幾何質(zhì)量。
附圖說明
圖1是空間圓柱度示意圖。
圖2是本發(fā)明中算法的迭代曲線圖。
圖3是本發(fā)明中算法的流程圖。
具體實(shí)施方式
為了更加清晰具體的表達(dá)本發(fā)明的設(shè)計(jì)方案和優(yōu)點(diǎn),下述過程將結(jié)合附圖對(duì)整個(gè)評(píng)定的方案流程進(jìn)行詳細(xì)的描述。
一種基于二次退火教與學(xué)算法的空間圓柱度評(píng)定方法,具體步驟如下:
步驟1、圓柱度數(shù)學(xué)模型建模
采用最小區(qū)域計(jì)算法求解,即用三坐標(biāo)獲得被測(cè)圓柱面信息后,為獲得符合最小條件的圓柱度誤差值,采用逐步逼近的方法,經(jīng)過多次運(yùn)算得到;
采用最小區(qū)域計(jì)算法進(jìn)行圓柱度數(shù)學(xué)模型建模,圓柱度誤差是指被測(cè)輪廓的兩個(gè)理想同軸圓柱體之間的最小徑向距離,即包容被測(cè)點(diǎn)的兩同軸圓柱面之間的最小半徑差;圓柱度誤差計(jì)算的關(guān)鍵是確定理想圓柱面軸心線位置和方向;以測(cè)頭的回轉(zhuǎn)中心建立一個(gè)空間直角坐標(biāo)系,令z軸方向與圓柱面回轉(zhuǎn)軸線一致,假設(shè)理想圓柱面軸線為l,其與圓柱面某一端面交點(diǎn)在測(cè)量坐標(biāo)系中坐標(biāo)為(a,b,0),軸線方向數(shù)為(p,q,1),l的位置由a和b兩個(gè)參數(shù)決定,l的方向由p和q兩個(gè)參數(shù)決定,理想的圓柱面軸線表達(dá)式如式(1)所示:
如果任意一個(gè)測(cè)點(diǎn)pi(xi,yi,zi)(其中i=1,2...k,k為測(cè)量點(diǎn)個(gè)數(shù)),pi到某一軸線l距離ri可以如式(2)所示,其中,i,j,k代表正方向單位向量;
因此包容被測(cè)輪廓的兩同軸圓柱面的半徑差為測(cè)點(diǎn)到理想軸線的最大距離與最小距離之差;即目標(biāo)函數(shù)為:
f(a,b,p,q)=min(max(ri)-min(ri))(3)
結(jié)合(1),(2)式可以知道待優(yōu)化變量為(p,q,a,b),圓柱度誤差的最小區(qū)域解就轉(zhuǎn)化為求目標(biāo)函數(shù)最小值的優(yōu)化問題,即基于目標(biāo)函數(shù)f搜索相應(yīng)理想圓柱面的軸線(p,q,a,b)的值,使其目標(biāo)函數(shù)值最??;
步驟2、通過三坐標(biāo)測(cè)量機(jī)獲取零件的空間圓柱測(cè)量數(shù)據(jù);將被測(cè)圓柱體放置到三坐標(biāo)測(cè)量機(jī)上,并將其軸線調(diào)整到與z軸平行,為獲取盡可能多的信息,分別在五個(gè)等距正截面采樣;在被測(cè)圓柱體上,從上到下分別取5個(gè)等距正截面p1、p2、p3、p4、p5,它們與圓柱表面交線為5個(gè)圓;所有采樣點(diǎn)坐標(biāo)均在5個(gè)圓上,采樣點(diǎn)坐標(biāo)為pi(xi,yi,zi)(其中i=1,2...k,k為測(cè)量點(diǎn)個(gè)數(shù)),然后計(jì)算各采樣點(diǎn)到理想軸線l距離ri,顯然,以l為軸線,分別以max(ri)和min(ri)為半徑的兩大小圓柱面之間的區(qū)域包容了所有采樣點(diǎn),而該兩圓柱面半徑之差為min(max(ri)-min(ri)),即目標(biāo)函數(shù)f值最?。?/p>
對(duì)教與學(xué)算法和模擬退火算法進(jìn)行初始化,主要包括班級(jí)規(guī)模p,班級(jí)小組j,小組學(xué)生數(shù)量s,xi為學(xué)生個(gè)體(對(duì)應(yīng)問題的解),問題維度d(總科目),
步驟3、利用信息熵進(jìn)行種群p初始化;基本教與學(xué)算法隨機(jī)產(chǎn)生初始解,這種方式不能保證初始種群均勻分布于搜索空間,在一定程度上影響算法效率,群體中第i(i∈{1,2,...d})維的熵值hi可定義為:
式中,pjk為初始個(gè)體j中的第i維數(shù)值
則令初始化臨界熵值h0=0.2,l0為hi的總個(gè)數(shù),隨機(jī)產(chǎn)生第一個(gè)學(xué)生,在大小不超過初始種群p的情況下,隨機(jī)產(chǎn)生新個(gè)體,并計(jì)算個(gè)體與已有個(gè)體的熵值h;如果h>h0則接收新個(gè)體,否則拒絕;
步驟4、分組排序策略;原始教與學(xué)算法所有學(xué)生向一個(gè)教師學(xué)習(xí),當(dāng)算法迭代到后期,將導(dǎo)致多樣性下降;為提高算法多樣性,將班級(jí)學(xué)生分為j組,每組學(xué)生數(shù)量s,計(jì)算每個(gè)學(xué)生適應(yīng)度后排序,將排名第一的學(xué)生放入第1組,第j個(gè)學(xué)生放入第j組,第j+1個(gè)學(xué)生放入第1組,依次類推;第q組yq表達(dá)式為yq=x(q+j(o-1)),o=1,2...s,q=1,2,...j,同時(shí)記錄組內(nèi)最優(yōu)學(xué)生xj;
步驟5、“教”階段;每個(gè)小組內(nèi)的學(xué)生根據(jù)教師位置與組內(nèi)平均位置的差別進(jìn)行學(xué)習(xí);假設(shè)一個(gè)d維的優(yōu)化目標(biāo)函數(shù)f(x),分組后其第i個(gè)學(xué)生位置為xid=[xi1,xi2。。。xid],那么,每個(gè)小組內(nèi)的教師位置為當(dāng)前代該小組最好的適應(yīng)度值f(xteacher)的個(gè)體xteacher。利用公式(7)計(jì)算當(dāng)前代組內(nèi)平均位置值xmean,組內(nèi)每個(gè)學(xué)生按照(8)式更新自己位置,形成新的種群;其中,
tf=round(1+rand(0,1))(9)
步驟6、引入模擬退火算法,避免算法陷入局部最優(yōu);從(8)式可以看出在接受新解的方法上,其接受的新的個(gè)體都是較好的個(gè)體,忽略了一些較差解,實(shí)質(zhì)是采用貪婪方法進(jìn)行接受,導(dǎo)致算法的群體多樣性丟失,容易陷入局部最優(yōu)解;這里引入退火算法的metropolis準(zhǔn)則進(jìn)行判斷選擇較差解,作為可接受的新解,引導(dǎo)求解方向,增強(qiáng)種群多樣性;如果
即:當(dāng)
步驟7、“學(xué)”階段;每個(gè)學(xué)生從組內(nèi)選擇組內(nèi)最優(yōu)個(gè)體作為學(xué)習(xí)對(duì)象,比較自己和其他學(xué)員差異,再進(jìn)行學(xué)習(xí);對(duì)于學(xué)員xi,從群體中選擇最優(yōu)個(gè)體xj,如果f(xi)優(yōu)于f(xj),則
否則
步驟8、再次進(jìn)行退火搜索;如果
步驟9、判斷終止條件,迭代次數(shù)是否滿足最大迭代次數(shù),如果滿足,則計(jì)算終止,如果沒有滿足,則返回步驟5;
步驟10、迭代終止后的適應(yīng)度函數(shù)值為測(cè)點(diǎn)的空間圓柱度誤差,位置坐標(biāo)為滿足目標(biāo)函數(shù)(3)的解,即空間圓柱的方程參數(shù),迭代曲線如圖2所示,算法流程如圖3所示。
以上所述,僅為本發(fā)明教優(yōu)的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭示的技術(shù)范圍內(nèi),可輕易想到的變化和替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi),因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。