賈偉,趙雪芬
(寧夏大學(xué)新華學(xué)院,銀川 750021)
數(shù)控技術(shù)是利用計算機對機械運動及加工過程進行控制的一種技術(shù)。隨著數(shù)控技術(shù)的發(fā)展,其在機械加工中發(fā)揮著越來越重要的作用。數(shù)控加工是一種在數(shù)控機床上加工零件的工藝方法,能夠?qū)崿F(xiàn)零件的高效化和自動化加工。在數(shù)控加工過程中,選擇合理的切削工藝參數(shù)不但能夠提高加工效率和質(zhì)量,而且可以降低生產(chǎn)成本。因此,切削工藝參數(shù)的選擇問題成為數(shù)控加工中的重點研究問題。
近年來,隨著智能優(yōu)化算法技術(shù)的快速發(fā)展,智能優(yōu)化算法被應(yīng)用到智能化選擇切削工藝參數(shù)的研究中,并在切削工藝參數(shù)的選擇中發(fā)揮著重要作用。與其他智能優(yōu)化算法相比,量子粒子群優(yōu)化(Quantumbehaved Particle Swarm Optimization,QPSO)算法具有收斂速度快和參數(shù)設(shè)置較少的優(yōu)點,使得QPSO算法[1]在切削工藝參數(shù)的優(yōu)化中取得了較好的優(yōu)化效果[2]。QP?SO算法是根據(jù)量子力學(xué)理論提出的一種具有量子行為的粒子群優(yōu)化算法。雖然QPSO算法改進了粒子群算法的全局尋優(yōu)能力,但是它存在易早熟收斂和局部尋優(yōu)能力較差的問題,為解決該問題,一些學(xué)者提出了改進的QPSO算法,例如,Jamalipour等人[3]提出了基于差分進化的QPS算法ODMQPSO,該算法通過差分進化的方式擴大搜索范圍。Sun等[4]提出基于高斯分布的QPSO算法GQPSO,該算法通過高斯分布決定局部吸引子的值,以此增強尋優(yōu)能力。但是這些基于單種群的QPSO算法在種群過大或過小時,會出現(xiàn)計算量大或多樣性降低的問題。為解決現(xiàn)有QPSO算法存在的問題和得到更好的切削工藝參數(shù),本文提出一種改進的QPSO算法IQPSO,該算法采用雙層多種群尋優(yōu)策略提高整個種群的全局尋優(yōu)能力,并將差分進化算法[5]和混沌反向?qū)W習(xí)[6]應(yīng)用于頂層和底層各種群的尋優(yōu)中,從而提高各種群的尋優(yōu)能力。
本文以在數(shù)控加工過程中的最大生產(chǎn)率和最低生產(chǎn)成本作為優(yōu)化目標(biāo),在以最大生產(chǎn)率和最低生產(chǎn)成本的切削工藝參數(shù)數(shù)學(xué)模型中[7-10],完成一道工序的銑銷加工的總工時為:
其中,Tw是銑銷加工的總工時,Tm是工序的切削時間,Th是由于刀具磨損導(dǎo)致的平均一道工序的換刀時間,Tc是工序之間的換刀時間,Tot是除換刀時間以外的其他輔助時間。
其中,D是刀具直徑,L是切削長度,a是切削速度,fz是銑刀每齒進給量,Z是銑刀齒數(shù)。
其中,ge是銑削寬度,gp是銑削深度,Cb、m、r、n、d、k、l是銑刀的刀具耐用度系數(shù)。
由式(2)和(3)得到的目標(biāo)函數(shù)為:
數(shù)控機床在加工過程中受到多個方面的約束,切削速度的約束是:
其中,φmin和φmax分別是數(shù)控機床主軸的最低和最高轉(zhuǎn)速。
每齒進給量約束是:
切削進給力小于數(shù)控機床主軸進給力,則切削力的約束是:
其中,Bfmax是數(shù)控機床的最大進給力,φ是主軸轉(zhuǎn)速,xB、yB、dB、lB、wB、KBc是切削力系數(shù)。
切削扭矩不能超過主軸最大扭矩,則切削扭矩的約束是:
其中,F(xiàn)fmax是數(shù)控機床主軸的最大扭矩。
機械功率小于數(shù)控機床的最大有效切削功率,功率約束是:
其中,η是數(shù)控機床功率有效系數(shù),Hfmax是數(shù)控機床最大有效切削率。
零件加工的表面粗糙度約束是:
其中,σε是刀具的刀尖圓弧半徑,Rmax是表面粗糙度的最大值。
假設(shè)在一個D維空間中,有一個由M個粒子組成的種群,粒子的位置是Xi(t)=(Xi,1,Xi,2,???,Xi,j,???,Xi,D),在QPSO算法中,粒子的運動狀態(tài)用波函數(shù)ψ(x ,t) 描述,通過求解薛定諤方程得到粒子在空間某點出現(xiàn)的概率密度函數(shù),利用蒙特卡洛方法可以得到更新粒子位置的公式:
其中,qi,j(t)是局部吸引子,β是收縮-擴張系數(shù),Cj(t)是所有粒子的個體最優(yōu)位置的平均最優(yōu)位置,u是在區(qū)間[0 ,1]內(nèi)均勻分布的隨機數(shù)。
qi,j(t)由下式計算得到:
其中,φ是在區(qū)間[0 ,1]內(nèi)均勻分布的隨機數(shù),Pi,j(t)是粒子的當(dāng)前最優(yōu)位置,Gj(t)是種群的全局最優(yōu)位置。
Cj(t)由下式計算得到:
其中,M是種群大小。
本文采用的雙層多種群策略如圖1所示,在底層中,將種群分為F個種群大小為W的子群,每個子群都獨立尋找本子群的最優(yōu)解,然后選取每個子群的最優(yōu)解Gl1(t)、Gl2(t)、…、GlF(t)進入頂層,形成一個種群jjj大小為F的新種群,在頂層尋找該種群的最優(yōu)解Gj(t),在尋找過程中會更新所有頂層粒子的位置,找到頂層種群的最優(yōu)解Gj(t)后,將頂層每個粒子更新后的位置信息Gjl1(t)、Gjl2(t)、…、GjlF(t)返回到對應(yīng)的底層子群中,繼續(xù)引導(dǎo)底層各子群尋找最優(yōu)解,通過這種策略,可以引導(dǎo)底層的每個子群向全局最優(yōu)解移動。
圖1 雙層QPSO算法結(jié)構(gòu)
為了加強單個種群的尋優(yōu)能力,本文利用差分進化算法和Levy飛行對單個種群進行變異,幫助全局最優(yōu)解跳出局部最優(yōu),增強種群的多樣性。差分進化算法是一種智能優(yōu)化算法,在第t+1次迭代中,對于每一個個體 yi(t)={yi1(t),yi2(t),???yij(t)}(i∈{1,2,???,NP}),變異個體由下式得到:
其中,α1、α2和 α3,是隨機正整數(shù),F(xiàn)ˉ是縮放因子。
交叉操作產(chǎn)生的新個體y′i,j(t +1)表示為:
其中,randj是[0 ,1]之間均勻分布的隨機數(shù),CR是變異概率,jrand是隨機選擇指數(shù)。
對于混沌反向?qū)W習(xí),在文獻[6]中使用的Sinusoidal映射的混沌范圍具有局限性和均勻分布特性較差的問題[11],本文采用改進的一維混沌映射Ten-Sine系統(tǒng)[12]:
其中,r∈(0 ,4 ]。
在第t次迭代中,對粒子i的反向搜索可由下式計算:
混沌反向?qū)W習(xí)算法描述如下:
算法1混沌反向?qū)W習(xí)算法
輸入:D是空間維度,最大迭代次數(shù)Tmax和種群大小W
輸出:初始種群
begin
fori=1toWdo
forj=1toDdo
隨機初始化混沌變量Z0j∈(0 ,1) ;
fork=1toTmaxdo
Zk,j=Zk-1,j;//利用式(18)計算混沌映射
end for
xi,j(t)=xmin,j(t)+Zk,j
(xmax,j(t)-xmin,j(t));
end for
end for
fori=1toWdo
forj=1toDdo
利用式(19)計算第 j維第i個粒子的反向值;
end for
end for
從生成的種群和反向種群中選擇最優(yōu)的W個粒子作為初始種群
end
在QPSO算法中引入差分進化和混沌反向?qū)W習(xí)后,QPSO算法對于單個種群尋找最優(yōu)解的描述如下:
算法2對單種群搜索的改進QPSO算法
輸入:D是空間維度,最大迭代次數(shù)Rmax,種群大小W
輸出:全局最優(yōu)粒子
begin
隨機生成種群的初始種群;
fort=1toRmaxdo
利用式(15)計算所有粒子的平均最優(yōu)位置;
fori=1toWdo
iff(Xi(t)) Pi(t)=Xi(t); end if Gj(t)=min(f (Pi(t) )); forj=1toDdo φ=rand(0,1); u=rand(0,1); 利用式(14)計算 qi,j(t); 利用式(16)和式(17)對當(dāng)前種群進行變異,得到新的種群PDE; 利用算法1得到當(dāng)前種群的方向種群POP; 從當(dāng)前種群、PDE和POP中選擇最優(yōu)的S個粒子組成新的種群; end for end DQPSO算法在底層和頂層中對多個種群進行尋優(yōu),具體的描述如下: 算法3 DQPSO算法 輸入:D是空間維度,最大迭代次數(shù)Emax,子群數(shù)F,子群大小W 輸出:全局最優(yōu)粒子 begin 將當(dāng)前種群分成F個大小為W的子群; fore=1toEmaxdo forf=1toFdo//對于每個子群 調(diào)用算法2尋找子群的最優(yōu)解; end for 選擇所有子群的最優(yōu)解Gjl1(t)、Gjl2 (t)、…、GjlF(t)作為頂層的粒子,形成新的種群; 調(diào)用算法2尋找頂層種群的最優(yōu)解Gj(t); 將頂層更新后的粒子Gjl1(t)、Gjl2 (t)、…、GjlF(t)返回到底層; end for end 在實驗中,為了驗證改進的QPSO算法在尋優(yōu)能力和收斂性方面的表現(xiàn),本文利用改進的QPSO算法IQPSO、QPSO、ODMQPSO和GQPSO分別對切削工藝參數(shù)進行優(yōu)化。實驗使用的數(shù)控機床是DMG HSC 75Linear,實驗中的參數(shù) H=40kW ,φ=4000r/min,afmax=14000mm/min,σε=3.5mm,IQPSO算法的參數(shù)為Emax=500,Rmax=300,W=30,Tmax=200。 所有的算法獨立運行20次,得到各算法對目標(biāo)函數(shù)優(yōu)化結(jié)果的平均值和標(biāo)準方差,對各算法的優(yōu)化結(jié)果比較如表1所示,通過表1可以看出,與其他量子粒子群優(yōu)化算法相比,本文提出的IQPSO算法在搜索全局最優(yōu)值時能夠得到更好的尋優(yōu)結(jié)果。此外,通過標(biāo)準方差的比較可以看出在所有算法中,IQPSO算法的平均方差最小,這說明IQPSO算法具有最好的穩(wěn)定性。 表1 各算法的優(yōu)化平均值和標(biāo)準方差比較 各算法的收斂性比較如圖2所示,從圖2的比較結(jié)果可以看出,IQPSO算法在迭代次數(shù)達到100次左右時已經(jīng)找到全局最優(yōu)值,而其他算法需要更多的迭代次數(shù)才能找到全局最優(yōu)值,這說明IQPSO算法的收斂速度較快。從全局最優(yōu)值來看,只有IQPSO算法在收斂時找到的全局最優(yōu)值最低,這說明IQPSO算法找到的全局最優(yōu)值更接近真實的最優(yōu)值。 圖2 各算法的收斂性比較 表1和圖2的各算法比較結(jié)果說明本文提出的IQPSO具有較好的全局搜索能力和收斂性,這是因為本文采用了雙層多種群的尋優(yōu)策略,利用頂層的最優(yōu)值引導(dǎo)底層各子群尋優(yōu),提高了整個種群的全局尋優(yōu)能力。此外,本文將差分進化算法和Levy飛行用于頂層和底層各種群的尋優(yōu)中,加強了各種群的尋優(yōu)能力,從而提高了局部尋優(yōu)能力。 QPSO算法在優(yōu)化切削工藝參數(shù)中有著重要的應(yīng)用,針對現(xiàn)有QPSO算法中存在易早熟收斂和局部尋優(yōu)能力較差的問題,本文提出一種改進的QPSO算法IQPSO,并利用IQPSO對數(shù)控機床的切削工藝參數(shù)進行優(yōu)化。在IQPSO算法中使用雙層多種群策略,通過差分進化算法和Levy飛行進一步提高頂層和底層中單個種群的尋優(yōu)能力。實驗結(jié)果驗證了采用本文提出的QPSO具有較好的全局尋優(yōu)能力和收斂性,能夠得到較優(yōu)的切削工藝參數(shù)。3 實驗與分析
4 結(jié)語