伊成山,趙天真
(1.青海民族大學,西寧810000;2.浙江工業大學,杭州310014)
自1995年Kenney和Eberhard提出了粒子群優化算法(particle swarm optimization,PSO)[1]以來,相關專家學者們就開始對該算法展開深入的研究。
粒子群優化算法是目前多數進化約束算法的一種,其基本原理就是一種隨機的搜索算法。粒子群優化算法不局限于問題的具體領域,且其有比較大的收斂速度并能尋找全局最優,因此它在各領域應用十分廣泛,例如在機器人的智能控制、工程設計問題、電力系統領域和交通運輸等多方面學科領域。
PSO算法的特點具體如下:
1)PSO算法的構成要素較簡單,主要由粒子群編碼方法、個體適應度值和參數運行。
2)PSO算法不需要調節太多的參數,僅僅幾個參數就可以對算法流程和結果產生直接的影響。
3)PSO算法比進化算法有更高效的并行搜索算法,計算速度更快,優化程度更高。
通過自然界生物行為的基本特征,根據簡單普遍的生存規則,利用先進的計算機網絡技術將一些普遍的規則和特征轉換為計算機語言,用模擬生物個體行為的方法解決眾多應用領域的復雜過程。
在基本的粒子優化群算法中,每一個最優值的可能解都由一個粒子表示,所有的粒子在一起則會組成一個像鳥類集群似的群體。然后粒子會根據不斷更新的群體信息和自身歷史信息在整個解空間中改變其“飛翔”的方向及速度,在解空間中粒子會追隨當前的最優粒子[2],以此尋找最優解。
粒子群優化算法的初始種群就是一群隨機粒子,這些隨機粒子也被稱為隨機解,隨機解經過速度和位置的反復迭代最終則會求得最優解。每一次迭代的過程中,每個粒子都會通過跟蹤兩個極值來不斷地更新自己。兩個極值分別是粒子自身歷史最優解即個體解,整個種群歷史最優解即全局極值[3]。粒子群優化算法流程如圖1所示。

圖1 粒子群優化算法流程Fig.1 Flow chart of particleswarm optimization algorithm
假設由N個粒子所組成的一個群落在一個D維目標搜索空間中。
1)在一個D維參數的搜索空間中,某個粒子在整個解空間的位置。

2)在一個D維參數的搜索空間中,某個粒子在整個解空間的速度。

3)某個粒子為搜索到的自身歷史最優值。

4)整個粒子群搜索到的種群歷史最優位置。

5)在所有粒子找到兩個最優值時粒子通過更新公式來比較歷史值從而不斷地更新自己的速度和位置。

式中,c1、c2為學習因子,取c1=c2=2;r1、r2為[0,1]之間的均勻隨機數;ω是慣性權重因子,取ω=0.8[4]。在上式粒子速度更新公式中包含了3個部分:
(1)ω*vid慣性部分:即粒子當前的運動速度和將運動的趨勢。
(2)c1r1(pid-xid)認知部分:即粒子在迭代的過程中對自己所經歷的歷史經驗,并表示不斷地向自己歷史最優值靠近。
(3)c2r2(pgd-xid)社會部分:即粒子群中所有粒子在群體共同合作下尋找的群體歷史經驗,不斷向群體或領域歷史經驗最優值靠近。
不需要調節過多的參數是粒子群優化算法中最突出的一個優點,關鍵性參數主要有學習因子c1和c2、群體規模m和微粒子維數l、最大速度vmax、慣性權重因子ω,雖然參數不多但有些參數對算法的性能和收斂性有著關鍵性的影響。據相關研究經驗參數設計如下:
1)學習因子c1、c2即加速常數:是調節粒子自身記憶和群體中其他同伴之間記憶的影響系數,可以很大程度地減少搜索時間。c1和c2根據相關參考文獻[5]的實驗研究表明通常取固定值c1=c2=2。
2)群體規模m和微粒子維數l:本課題所需解決的問題不會太過復雜,一般來說群體規模選取50即可。維數就是每個微粒的長度,其取值由具體優化問題而決定。
3)最大速度vmax:最大速度選取影響著微粒單步移動的最大距離,若最大速度過大,單步移動距離也會過大則會錯過最優解,如若過小則會陷入局部最優。通常設定vmax=k·xmax,0.1≤k≤1。
4)慣性權重因子ω:慣性權重因子用來保持運動慣性,即可控制粒子當前的速度對下一步速度的影響。適當的權重因子可以在相對的迭代次數下獲得全局最優解。經早期實驗研究一般取ω在[0.80~1.20]之間會有較好的搜索能力。
本課題的行星齒輪給定已知條件為,輸入功率P=5 kW,輸入轉速n1=400 r/min,傳動比ip=8,行星輪個數np=3,使用壽命為8年,每天平均工作12 h。根據齒輪的初始工況條件,選取適當的齒輪材料、熱處理方式等。本次優化設計只針對齒輪傳動部件進行優化,其他部件比如行星架、行星輪軸和軸承等選用將結合本次優化結果進行,本文中未涉及。行星齒輪傳動各齒輪材料和熱處理方式如表1所示。

表1 行星齒輪傳動各齒輪材料和熱處理方式Tab.1 Gear material and heat treatment for planetary gear transmission
按照國標標準對NGW型行星齒輪進行設計與計算,并對相關強度進行校核,齒輪傳動嚙合參數如表2所示,各齒輪主要參數如表3所示,各齒輪副嚙合應力如表4所示。

表2 齒輪傳動嚙合參數Tab.2 -3Gear transmission meshing parameters

表3 各齒輪主要參數Tab.3 Main gear parameters

表4 各齒輪副嚙合應力Tab.4 Complex stress of each gear pair
把行星齒輪傳動機構里的太陽輪齒數Za、行星輪齒數Zg、齒寬b和模數m作為設計變量,通過追求齒數優化以減小行星齒輪體積,且優化后的齒數需滿足各項約束條件,不能一味地追求小體積,所以設計變量如下:

在選定設計變量之后,根據設計變量的取值變化求取行星齒輪傳動機構的體積最小,不僅要易于安裝、節省材料以及降低生產的成本,還要考慮行星齒輪放入后體積會影響其傳動時承受的載荷能力,同時又與結構幾何參數以及嚙合參數有關,綜合考慮選擇行星輪和太陽輪的體積為最終優化設計的目標函數。

式中,αag代表外嚙合角。
1)鄰接條件。為讓相鄰的兩個行星輪在與太陽輪嚙合時不會產生碰撞,兩行星齒輪中心之間的距離L大于行星齒輪齒頂圓的直徑d,L>dag,為a-g嚙合副中心距。


2)變位系數約束條件。在行星齒輪傳動中,內外嚙合變位系數和需要控制在一定的范圍之內。當變位系數太低時齒輪的承載能力會降低,當變位系數太高時齒輪的重合度會降低,從而影響嚙合效率。依據齒數比可確定變位系數的范圍為:

3)太陽輪齒數約束條件為:

4)齒寬系數約束條件。齒寬系數為齒寬和直徑的比值,一般在0.50~0.70中選取。其約束條件為:

5)齒面接觸疲勞強度條件為:

6)齒根彎曲疲勞強度條件。太陽輪的齒根彎曲疲勞強度條件為:

行星輪的齒根彎曲疲勞強度條件為:

采用粒子群優化算法,基于MATLAB編程對初始設計的行星齒輪體積進行優化求解。PSO算法優化太陽輪與行星輪相關參數進行優化減小行星輪體積,且優化后的參數和結果滿足上述所有約束條件。
把傳統方法設計值、序列二次規劃算法的優化結果與粒子群優化算法優化結果進行對比分析,優化結果對比如表5所示。

表5 優化結果對比Tab.5 Comparison of optimization results
根據國標標準,將優化值進行圓整取值后,可知采用粒子群優化算法可以提高設計效率,具有明顯的優越性。
本課題主要根據對傳統設計方法設計的行星齒輪相關參數進行粒子群優化算法的計算。將體積問題抽象為數學模型,確定設計變量和約束條件,在優化過程中加入序列二次優化算法與粒子群優化算法優化結果對比,兩種方法的設計算法皆基于MATLAB編程進行。由優化對比結果可知,采用粒子群算法對行星齒輪設計的優化效率最為顯著。