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