伊成山,趙天真
(1.青海民族大學(xué),西寧810000;2.浙江工業(yè)大學(xué),杭州310014)
自1995年Kenney和Eberhard提出了粒子群優(yōu)化算法(particle swarm optimization,PSO)[1]以來,相關(guān)專家學(xué)者們就開始對該算法展開深入的研究。
粒子群優(yōu)化算法是目前多數(shù)進(jìn)化約束算法的一種,其基本原理就是一種隨機(jī)的搜索算法。粒子群優(yōu)化算法不局限于問題的具體領(lǐng)域,且其有比較大的收斂速度并能尋找全局最優(yōu),因此它在各領(lǐng)域應(yīng)用十分廣泛,例如在機(jī)器人的智能控制、工程設(shè)計問題、電力系統(tǒng)領(lǐng)域和交通運(yùn)輸?shù)榷喾矫鎸W(xué)科領(lǐng)域。
PSO算法的特點具體如下:
1)PSO算法的構(gòu)成要素較簡單,主要由粒子群編碼方法、個體適應(yīng)度值和參數(shù)運(yùn)行。
2)PSO算法不需要調(diào)節(jié)太多的參數(shù),僅僅幾個參數(shù)就可以對算法流程和結(jié)果產(chǎn)生直接的影響。
3)PSO算法比進(jìn)化算法有更高效的并行搜索算法,計算速度更快,優(yōu)化程度更高。
通過自然界生物行為的基本特征,根據(jù)簡單普遍的生存規(guī)則,利用先進(jìn)的計算機(jī)網(wǎng)絡(luò)技術(shù)將一些普遍的規(guī)則和特征轉(zhuǎn)換為計算機(jī)語言,用模擬生物個體行為的方法解決眾多應(yīng)用領(lǐng)域的復(fù)雜過程。
在基本的粒子優(yōu)化群算法中,每一個最優(yōu)值的可能解都由一個粒子表示,所有的粒子在一起則會組成一個像鳥類集群似的群體。然后粒子會根據(jù)不斷更新的群體信息和自身歷史信息在整個解空間中改變其“飛翔”的方向及速度,在解空間中粒子會追隨當(dāng)前的最優(yōu)粒子[2],以此尋找最優(yōu)解。
粒子群優(yōu)化算法的初始種群就是一群隨機(jī)粒子,這些隨機(jī)粒子也被稱為隨機(jī)解,隨機(jī)解經(jīng)過速度和位置的反復(fù)迭代最終則會求得最優(yōu)解。每一次迭代的過程中,每個粒子都會通過跟蹤兩個極值來不斷地更新自己。兩個極值分別是粒子自身歷史最優(yōu)解即個體解,整個種群歷史最優(yōu)解即全局極值[3]。粒子群優(yōu)化算法流程如圖1所示。
圖1 粒子群優(yōu)化算法流程Fig.1 Flow chart of particleswarm optimization algorithm
假設(shè)由N個粒子所組成的一個群落在一個D維目標(biāo)搜索空間中。
1)在一個D維參數(shù)的搜索空間中,某個粒子在整個解空間的位置。
2)在一個D維參數(shù)的搜索空間中,某個粒子在整個解空間的速度。
3)某個粒子為搜索到的自身歷史最優(yōu)值。
4)整個粒子群搜索到的種群歷史最優(yōu)位置。
5)在所有粒子找到兩個最優(yōu)值時粒子通過更新公式來比較歷史值從而不斷地更新自己的速度和位置。
式中,c1、c2為學(xué)習(xí)因子,取c1=c2=2;r1、r2為[0,1]之間的均勻隨機(jī)數(shù);ω是慣性權(quán)重因子,取ω=0.8[4]。在上式粒子速度更新公式中包含了3個部分:
(1)ω*vid慣性部分:即粒子當(dāng)前的運(yùn)動速度和將運(yùn)動的趨勢。
(2)c1r1(pid-xid)認(rèn)知部分:即粒子在迭代的過程中對自己所經(jīng)歷的歷史經(jīng)驗,并表示不斷地向自己歷史最優(yōu)值靠近。
(3)c2r2(pgd-xid)社會部分:即粒子群中所有粒子在群體共同合作下尋找的群體歷史經(jīng)驗,不斷向群體或領(lǐng)域歷史經(jīng)驗最優(yōu)值靠近。
不需要調(diào)節(jié)過多的參數(shù)是粒子群優(yōu)化算法中最突出的一個優(yōu)點,關(guān)鍵性參數(shù)主要有學(xué)習(xí)因子c1和c2、群體規(guī)模m和微粒子維數(shù)l、最大速度vmax、慣性權(quán)重因子ω,雖然參數(shù)不多但有些參數(shù)對算法的性能和收斂性有著關(guān)鍵性的影響。據(jù)相關(guān)研究經(jīng)驗參數(shù)設(shè)計如下:
1)學(xué)習(xí)因子c1、c2即加速常數(shù):是調(diào)節(jié)粒子自身記憶和群體中其他同伴之間記憶的影響系數(shù),可以很大程度地減少搜索時間。c1和c2根據(jù)相關(guān)參考文獻(xiàn)[5]的實驗研究表明通常取固定值c1=c2=2。
2)群體規(guī)模m和微粒子維數(shù)l:本課題所需解決的問題不會太過復(fù)雜,一般來說群體規(guī)模選取50即可。維數(shù)就是每個微粒的長度,其取值由具體優(yōu)化問題而決定。
3)最大速度vmax:最大速度選取影響著微粒單步移動的最大距離,若最大速度過大,單步移動距離也會過大則會錯過最優(yōu)解,如若過小則會陷入局部最優(yōu)。通常設(shè)定vmax=k·xmax,0.1≤k≤1。
4)慣性權(quán)重因子ω:慣性權(quán)重因子用來保持運(yùn)動慣性,即可控制粒子當(dāng)前的速度對下一步速度的影響。適當(dāng)?shù)臋?quán)重因子可以在相對的迭代次數(shù)下獲得全局最優(yōu)解。經(jīng)早期實驗研究一般取ω在[0.80~1.20]之間會有較好的搜索能力。
本課題的行星齒輪給定已知條件為,輸入功率P=5 kW,輸入轉(zhuǎn)速n1=400 r/min,傳動比ip=8,行星輪個數(shù)np=3,使用壽命為8年,每天平均工作12 h。根據(jù)齒輪的初始工況條件,選取適當(dāng)?shù)凝X輪材料、熱處理方式等。本次優(yōu)化設(shè)計只針對齒輪傳動部件進(jìn)行優(yōu)化,其他部件比如行星架、行星輪軸和軸承等選用將結(jié)合本次優(yōu)化結(jié)果進(jìn)行,本文中未涉及。行星齒輪傳動各齒輪材料和熱處理方式如表1所示。
表1 行星齒輪傳動各齒輪材料和熱處理方式Tab.1 Gear material and heat treatment for planetary gear transmission
按照國標(biāo)標(biāo)準(zhǔn)對NGW型行星齒輪進(jìn)行設(shè)計與計算,并對相關(guān)強(qiáng)度進(jìn)行校核,齒輪傳動嚙合參數(shù)如表2所示,各齒輪主要參數(shù)如表3所示,各齒輪副嚙合應(yīng)力如表4所示。
表2 齒輪傳動嚙合參數(shù)Tab.2 -3Gear transmission meshing parameters
表3 各齒輪主要參數(shù)Tab.3 Main gear parameters
表4 各齒輪副嚙合應(yīng)力Tab.4 Complex stress of each gear pair
把行星齒輪傳動機(jī)構(gòu)里的太陽輪齒數(shù)Za、行星輪齒數(shù)Zg、齒寬b和模數(shù)m作為設(shè)計變量,通過追求齒數(shù)優(yōu)化以減小行星齒輪體積,且優(yōu)化后的齒數(shù)需滿足各項約束條件,不能一味地追求小體積,所以設(shè)計變量如下:
在選定設(shè)計變量之后,根據(jù)設(shè)計變量的取值變化求取行星齒輪傳動機(jī)構(gòu)的體積最小,不僅要易于安裝、節(jié)省材料以及降低生產(chǎn)的成本,還要考慮行星齒輪放入后體積會影響其傳動時承受的載荷能力,同時又與結(jié)構(gòu)幾何參數(shù)以及嚙合參數(shù)有關(guān),綜合考慮選擇行星輪和太陽輪的體積為最終優(yōu)化設(shè)計的目標(biāo)函數(shù)。
式中,αag代表外嚙合角。
1)鄰接條件。為讓相鄰的兩個行星輪在與太陽輪嚙合時不會產(chǎn)生碰撞,兩行星齒輪中心之間的距離L大于行星齒輪齒頂圓的直徑d,L>dag,為a-g嚙合副中心距。
2)變位系數(shù)約束條件。在行星齒輪傳動中,內(nèi)外嚙合變位系數(shù)和需要控制在一定的范圍之內(nèi)。當(dāng)變位系數(shù)太低時齒輪的承載能力會降低,當(dāng)變位系數(shù)太高時齒輪的重合度會降低,從而影響嚙合效率。依據(jù)齒數(shù)比可確定變位系數(shù)的范圍為:
3)太陽輪齒數(shù)約束條件為:
4)齒寬系數(shù)約束條件。齒寬系數(shù)為齒寬和直徑的比值,一般在0.50~0.70中選取。其約束條件為:
5)齒面接觸疲勞強(qiáng)度條件為:
6)齒根彎曲疲勞強(qiáng)度條件。太陽輪的齒根彎曲疲勞強(qiáng)度條件為:
行星輪的齒根彎曲疲勞強(qiáng)度條件為:
采用粒子群優(yōu)化算法,基于MATLAB編程對初始設(shè)計的行星齒輪體積進(jìn)行優(yōu)化求解。PSO算法優(yōu)化太陽輪與行星輪相關(guān)參數(shù)進(jìn)行優(yōu)化減小行星輪體積,且優(yōu)化后的參數(shù)和結(jié)果滿足上述所有約束條件。
把傳統(tǒng)方法設(shè)計值、序列二次規(guī)劃算法的優(yōu)化結(jié)果與粒子群優(yōu)化算法優(yōu)化結(jié)果進(jìn)行對比分析,優(yōu)化結(jié)果對比如表5所示。
表5 優(yōu)化結(jié)果對比Tab.5 Comparison of optimization results
根據(jù)國標(biāo)標(biāo)準(zhǔn),將優(yōu)化值進(jìn)行圓整取值后,可知采用粒子群優(yōu)化算法可以提高設(shè)計效率,具有明顯的優(yōu)越性。
本課題主要根據(jù)對傳統(tǒng)設(shè)計方法設(shè)計的行星齒輪相關(guān)參數(shù)進(jìn)行粒子群優(yōu)化算法的計算。將體積問題抽象為數(shù)學(xué)模型,確定設(shè)計變量和約束條件,在優(yōu)化過程中加入序列二次優(yōu)化算法與粒子群優(yōu)化算法優(yōu)化結(jié)果對比,兩種方法的設(shè)計算法皆基于MATLAB編程進(jìn)行。由優(yōu)化對比結(jié)果可知,采用粒子群算法對行星齒輪設(shè)計的優(yōu)化效率最為顯著。