国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于爬山算法及微分進化算法的深孔軸線直線度誤差評定

2019-10-18 08:28:38司欣格包建東
測試技術學報 2019年5期
關鍵詞:直線度爬山微分

司欣格,包建東

(1.南京理工大學 機械工程學院,江蘇 南京 210094;2.南京理工大學 自動化學院,江蘇 南京 210094)

0 引 言

根據(jù)形狀誤差的國家標準及國際標準,直線度誤差定義為被測實際直線相對于理想直線的偏差,該理想直線應符合最小條件[1].直線度的優(yōu)劣會影響產(chǎn)品的性能及壽命等指標,特別對于炮管,因此直線度誤差的評判是一個重要的課題.已經(jīng)有不少學者對于計算直線度誤差作了很多工作.目前,深孔軸線直線度誤差評定的方法也有很多.本文新研究了兩種算法——爬山法和微分進化法來計算深孔軸線直線度誤差.對這兩種算法計算深孔軸線直線度誤差過程進行仿真并對其結果進行評定.

1 評定方法

利用爬山算法和微分進化算法搜索理想直線得到直線度,并和其他算法比較其優(yōu)劣性.采用實驗中得到的不同坐標的偏心距進行仿真實驗.

1.1 目標函數(shù)的確立

目標函數(shù)的確立建立于最小包容區(qū)域法[2].

假設直線方程

f(x)=kx+b.

(1)

與包容直線平行.

xi,yi為測量得到的數(shù)據(jù)

計算各點到直線(1)y軸方向的距離,即

εi=yi-f(xi).

(2)

求出εi中的最大值和最小值,令

g(x)=max(εi)-min(εi),i∈{1,2,3,…,10}.

(3)

滿足g(x)最小的直線為理想直線,g(x)為目標函數(shù),得到的值越小,越滿足條件[3].又有

g(x)=max(εi)-min(εi)=

max(yi-f(xi))-min(yi-f(xi))=

max[yi-(kxi+b)]-min[yi-(kxi+b)]=

max(yi-kxi)-min(yi-kxi).

(4)

所以目標函數(shù)ε(x)和直線截距b無關.

1.2 爬山算法

即g(kc)與g(kc+length),g(kc-length)進行比較,(kc為當前位置).并向最優(yōu)的方向前進一步,否則當前位置即為最優(yōu)解位置.

爬山算法的優(yōu)點是避免遍歷,從某點判斷前進的最優(yōu)方向來搜索出一條能夠達到最優(yōu)解的路徑[4].

歸一化[5],令

k=kmin+kc(kmax-kmin).

(5)

1.3 微分進化算法

微分進化算法相比遺傳算法最大的優(yōu)勢就在于能夠保留優(yōu)秀的變異個體[6].操作如下[7]:

1.3.1 變異操作

vi=xr1+F(xr2-xr3),i=1,2,…,NP,

(6)

式中:{xr1,xr2,xr3}是在父代種群中隨機選取的3個不同的個體,vi為變異后的個體,NP為種群規(guī)模,NP≥4,F∈[0,2](常量).

1.3.2 交叉操作

ui=[ui,1,ui,2,…,ui,D]:

i=1,…,NP,j=1,…,NP,

(7)

式中:randb∈[0,1](隨機數(shù));CR∈[0,1](常量);randj∈[1,D](隨機數(shù)).

1.1.3 選擇操作

(8)

本文使用的優(yōu)化算法基于搜索理想直線.

利用式(4)對KC進行歸一化,對歸一化的KC進行二進制編碼,將隨機得到的向量KC當作個體,對其進行微分進化.

2 仿 真

實驗數(shù)據(jù)來自文獻[8],通過光電測試對深孔不同位置的偏心距進行測量,得到表1 數(shù)據(jù).

2.1 爬山算法仿真參數(shù)

爬山算法實驗參數(shù)如表2所示.

表2 爬山算法實驗參數(shù)表

2.2 微分進化算法仿真參數(shù)

微分進化算法實驗參數(shù)如表3所示.

表3 微分進化算法實驗參數(shù)表

2.3 仿真結果分析

從表4 結果可以看出,爬山算法3次實驗得到的直線度誤差雖然接近,但卻不同,說明目標函數(shù)g(x)有很多極小點.這也暴露了爬山算法搜索直線度的問題——易陷入局部最優(yōu).解決的辦法是采樣隨機重啟爬山算法.除此以外,爬山算法搜索的次數(shù)較多,效率較低.

從圖1 和表4 可以看出,微分進化算法不到20步就收斂到最優(yōu)解,可以看出其效率之高,而且也能得到較為精確的值.圖像也反映了微分進化算法只保留優(yōu)秀的個體.但在實驗過程中,偶爾也會陷入局部最優(yōu),得到一個較大的值.解決的辦法是對微分進化算法變異策略進行改進,如文獻[9]的方法,增加跳出局部最優(yōu)的幾率.

圖1 微分進化算法進化過程

表4 仿真結果

3 結果比對

表5 各算法計算結果

表6 結果比較

本文仿真結果與文獻[8]結果比對可知,爬山算法和微分進化算法得到的精度都高于極值搜索法和分割逼近法.微分進化算法得到的精度是最高的.

4 結 論

通過仿真實驗可知,使用爬山算法和微分進化算法計算深軸孔直線度都是可行的,而且能得到較高精度的值且具有較高的效率,爬山算法的效率要低于微分進化算法.但是,針對兩種算法都有可能陷入局部最優(yōu)解的情況,還需要利用已有的方法對算法進行改進.

猜你喜歡
直線度爬山微分
長導軌直線度分段測量拼接方法研究
計量學報(2022年7期)2022-08-23 09:23:24
擬微分算子在Hp(ω)上的有界性
難忘那次爬山
上下解反向的脈沖微分包含解的存在性
爬山
爬山
基于西門子840D數(shù)控系統(tǒng)的直線度自動計算程序研究
借助微分探求連續(xù)函數(shù)的極值點
直線度誤差曲線形成機理與形位特性研究
重型機械(2016年1期)2016-03-01 03:42:06
有趣的爬山
小主人報(2016年3期)2016-02-28 20:47:13
江津市| 大宁县| 呈贡县| 清新县| 开江县| 游戏| 读书| 内丘县| 长岭县| 仙居县| 滦南县| 麻江县| 深圳市| 青冈县| 乐都县| 申扎县| 台湾省| 广德县| 刚察县| 宜都市| 樟树市| 新竹县| 上蔡县| 平山县| 余干县| 章丘市| 和平县| 汉源县| 曲靖市| 色达县| 荣昌县| 米脂县| 平潭县| 泽库县| 遵义市| 金沙县| 榆中县| 灵山县| 民权县| 娱乐| 闽侯县|