摘 要:針對空間桁架結(jié)構(gòu)振動控制的數(shù)個作動器(主動桿)的位置組合優(yōu)化,提出了基于字典序組合生成的編碼方式的粒子群優(yōu)化算法。該編碼方式將離散的組合空間一一映射到連續(xù)的整數(shù)區(qū)間,有效避免以往編碼的冗余運(yùn)算。仿真試驗(yàn)中,通過與二進(jìn)制編碼PSO算法的比較,發(fā)現(xiàn)改進(jìn)算法收斂效果更快,尋優(yōu)能力更強(qiáng),并克服了二進(jìn)制編碼無效解等缺點(diǎn)。
關(guān)鍵詞:改進(jìn)粒子群算法;位置優(yōu)化;智能桁架;振動控制
優(yōu)化成為一門獨(dú)立的學(xué)科是在20世紀(jì)40年代末。近年來,也有學(xué)者將智能計(jì)算方法用于主動桿優(yōu)化配置,如李東旭[1]采用遺傳算法,潘繼[2]采用了粒子群算法。但都是傳統(tǒng)二進(jìn)制編碼方式,未能很好的解決面對離散問題所引起的0-1松弛化、無效解等缺點(diǎn)[3]。因此,本文提出編碼方式以字典序生成組合數(shù)為基礎(chǔ)的粒子群算法,并將其應(yīng)用到桁架振動控制中主動桿的優(yōu)化問題,與傳統(tǒng)二進(jìn)制編碼粒子群比較,體現(xiàn)出改進(jìn)編碼方式粒子群算法的優(yōu)越性。
1 改進(jìn)粒子群算法
1.1 標(biāo)準(zhǔn)粒子群算法
粒子群算法是一種并行搜索技術(shù),每個粒子在多維搜索空間中運(yùn)動。一個粒子的位置矢量就代表了問題的一個可能解。算法的核心思想是通過跟蹤微粒當(dāng)前的局部最優(yōu)解和全局最優(yōu)解來更新微粒的速度和位置,當(dāng)達(dá)到中止條件時(shí),當(dāng)前的全局最優(yōu)解即作為該問題的最優(yōu)解。
假設(shè)種群規(guī)模為m,第j個微粒的速度和位置分別用向量Vj和Xj表示,則粒子群算法的進(jìn)化方程為:
(1)
Vj(t)為微粒j在第t代的速度,Xj(t)為微粒j在第t代的位置,Pj(t)為微粒j在第t代的個體歷史最優(yōu)位置,Pj(t)為微粒群在第t代的歷史最優(yōu)位置,w為慣性權(quán)重,c1為認(rèn)知系數(shù),c2為社會系數(shù),r1、r2為[0,1]之間的隨機(jī)數(shù)。
1.2 字典序生成組合編碼粒子群算法
基本的粒子群算法主要針對連續(xù)函數(shù)進(jìn)行搜索運(yùn)算,面對離散問題,雖然提出了二進(jìn)制粒子群算法,但存在多對一的映射、大量冗余解空間和冗余搜索等問題,大大影響尋優(yōu)能力,甚至在計(jì)算時(shí)會出現(xiàn)無效解,錯誤解,因此編碼方式需做改進(jìn)。
MATLAB的組合生成函數(shù)nchoosek(U,K)按照字典序生成集合U={U(1),U(2),…,U(N}的全體長度為K的組合矩陣,并且矩陣為CKN行,K列。結(jié)果矩陣特點(diǎn)如下:(1)每行最后一位數(shù)最大可達(dá)N,倒數(shù)第二位最大可達(dá)N-1,……,依次類推倒數(shù)s位(i<=N)不得超過N-s+1,因此,每行K個元素的組合用C(1),C(2),…,C(K)來表示,且設(shè)定C(1) (2)當(dāng)存在C(J) I=MAX{J|C(J) C(I+1)=C(I+1)+1,……,C(K)=C(K)+1 本文而言,逆映射的構(gòu)造方法事實(shí)上基于以下分解式: (2) 設(shè)要求的組合編號為H(即結(jié)果矩陣第H行),基本思想就是不斷用組合數(shù)的和來嘗試在不超過H的情況下分解出每一位,具體方法如下: S1.初始位置為1,初始元素位置為1,初始組合編號0,注意元素位置只增不減,這是由于組合數(shù)只需要選擇一種排列作為代表,而通常我們都選取升序排列作為這一代表。 S2.對當(dāng)前位置P,當(dāng)前元素位置Q,當(dāng)前組合編號HC而言,若 ,則最終組合中位置P的值確定為U(Q),令P←P+1,Q←Q+1轉(zhuǎn)步驟3;否則令Q=Q+1, ,重復(fù)此步驟2。 S3.若P 基于以上編碼方式,粒子群進(jìn)化方程變化如下: (3) 進(jìn)化方程唯一改變的就是位移更新公式向下取整。 2 仿真比較 2.1 參數(shù)設(shè)定 T型桁架如圖1所示,較長部分尺寸為0.4m×0.4m×6m,較短部分尺寸為0.4m×0.4m×12m,共有239個桿單元,76個節(jié)點(diǎn),其中1、2、3、4節(jié)點(diǎn)固支。接頭質(zhì)量0.4kg。最外側(cè)接有質(zhì)量為192kg的太陽能帆。 圖1 桁架結(jié)構(gòu)示意圖 2.2 優(yōu)化準(zhǔn)則 現(xiàn)考慮控制系統(tǒng)前nc階模態(tài),利用模態(tài)正交性,并進(jìn)行質(zhì)量歸一,T型桁架建模如下[4]: (4) 選擇下面的優(yōu)化準(zhǔn)則[5]: (5) 式中,?姿j是矩陣■的特征值。 控制前8階振動,主動桿優(yōu)化數(shù)目為5,粒子群算法的主要參數(shù)選擇:群體規(guī)模取200,慣性因子取0.65,加速因子c1、c2都取2,初速度限制取0.2,最大迭代數(shù)取50。 2.3 仿真結(jié)果 使用改進(jìn)編碼的粒子群優(yōu)化算法與使用普通二進(jìn)制編碼粒子群優(yōu)化算法的迭代次數(shù)與適應(yīng)度值見表1。 表1 優(yōu)化算法結(jié)果 3 結(jié)束語 (1)粒子群算法在此類優(yōu)化問題上效果明顯,大大降低計(jì)算時(shí)間。(2)對離散問題的普通二進(jìn)制粒子群算法,在算法生成的連續(xù)解與整數(shù)規(guī)劃問題的目標(biāo)函數(shù)評價(jià)值之間存在多對一的映射,影響尋優(yōu)的質(zhì)量,甚至出現(xiàn)無效解的情況。(3)改進(jìn)編碼方式的粒子群相對于二進(jìn)制粒子群,收斂速度更快,尋優(yōu)能力更強(qiáng),體現(xiàn)出新編碼方式的優(yōu)越性,具有理論價(jià)值和實(shí)際應(yīng)用價(jià)值。 參考文獻(xiàn) [1]李東旭,等.空間智能桁架的傳感器作動器位置優(yōu)化和分散化自適應(yīng)模糊振動控制[J].中國科學(xué):技術(shù)科學(xué),2011.41(5):602-610. [2]潘繼,蔡國平.桁架結(jié)構(gòu)作動器優(yōu)化配置的粒子群算法[J].工程力學(xué),2009(12):35-39. [3]張利彪.基于粒子群優(yōu)化算法的研究[D].長春:吉林大學(xué),2004,74. [4]焦振宇.智能桁架形狀控制建模、優(yōu)化與分析[D].西安:西安電子科技大學(xué),2007. [5]曾光,李東旭.空間智能桁架作動器/傳感器位置優(yōu)化中的遺傳算法應(yīng)用[J].宇航學(xué)報(bào),2007(1). 作者簡介:蘇邢,男,南京航空航天大學(xué)碩士研究生,研究方向:復(fù)雜結(jié)構(gòu)振動控制。