韓 放,郭杏林,高海洋
(大連理工大學(xué) 工業(yè)裝備結(jié)構(gòu)分析國(guó)家重點(diǎn)實(shí)驗(yàn)室,大連 116023)
確定轉(zhuǎn)子系統(tǒng)的未知參數(shù)是一項(xiàng)非常復(fù)雜的工作,對(duì)于具有非線性剛度和碰摩特性的轉(zhuǎn)子系統(tǒng)來(lái)說(shuō),由于碰摩力的間斷性使得參數(shù)的識(shí)別變得更加的困難。目前,優(yōu)化算法越來(lái)越多的用來(lái)求解機(jī)械系統(tǒng)的反問(wèn)題當(dāng)中[1],從而也為參數(shù)識(shí)別提供了一個(gè)有效的替代方法[2]。近年來(lái),人們從仿生學(xué)的機(jī)理中受到啟發(fā),提出了許多用于求解優(yōu)化問(wèn)題的智能方法,如模擬退火算法[3]、遺傳算法[4]、蟻群算法[5]等,雖然在求解中不需要任何的梯度信息,但由于智能算法是一種基于全局的優(yōu)化算法,因此時(shí)間消耗比較大,為了能夠降低搜索時(shí)間提高搜索能力,許多學(xué)者提出了改進(jìn)方法,如局部搜索算法與遺傳算法相結(jié)合的提高算法[6-7],GASA算法[8],GA 與 AA 的混合算法[9],融合粒子群和局部搜索的優(yōu)化算法[10],遺傳算法與神經(jīng)網(wǎng)絡(luò)的混合算法[11]等。
本文在多種智能算法的啟發(fā)下,試圖探尋一種較好的平衡方法。在對(duì)多種經(jīng)典算法進(jìn)行研究和對(duì)比后,設(shè)計(jì)了一種改進(jìn)遺傳蟻群算法(GAAC)與局部鄰域搜索(local Neighborhood-searching,LNeS)相結(jié)合的新算法(Ne-GAAC)。以考慮非線性剛度和碰摩特性的單盤(pán)轉(zhuǎn)子模型為對(duì)象進(jìn)行仿真分析,討論了Ne-GAAC方法在識(shí)別非線性轉(zhuǎn)子系統(tǒng)若干參數(shù)的有效性和可行性。
遺傳算法(Genetic Algorithm,GA)具有快速全局搜索能力,但對(duì)于系統(tǒng)中的反饋信息沒(méi)有利用,往往導(dǎo)致無(wú)為的冗余迭代,求解效率低。蟻群算法(Ant Colony Algorithm,ACA)是通過(guò)信息素的累積和更新而收斂于最優(yōu)路徑,具有分布、并行、全局收斂能力,但是其缺點(diǎn)是初期信息素匱乏,求解速度較慢。本文算法吸取了GA和AC的優(yōu)點(diǎn),首先形成改進(jìn)的GAAC算法,具體步驟如下:
(1)進(jìn)行遺傳算法編碼、選擇、交叉、變異運(yùn)算,形成蟻群算法的新的尋優(yōu)區(qū)[Pmin,Pmax]和初始化參數(shù),將初始化參數(shù)分配給相應(yīng)的螞蟻,并將多態(tài)蟻群算法中對(duì)偵查螞蟻獲得的偵查素的定義運(yùn)用到遺傳算法率先得到的初始元素的信息量中,生成額外的信息素分布:
式中:dij表示由遺傳算法得到的元素j所對(duì)應(yīng)的目標(biāo)函數(shù)值,表示由遺傳算法得到的所有元素所對(duì)應(yīng)的目標(biāo)函數(shù)最小值[12]。定義蟻群算法中元素的信息量初值為τC,因此集合Ici(1≤i≤M)(M為待識(shí)別參數(shù)量)中的元素j的信息素初值重新設(shè)置為[9]:
螞蟻的數(shù)目為s,全部置于蟻巢,設(shè)置最大迭代次數(shù)NCmax。
(2)啟動(dòng)所有螞蟻,每只螞蟻從集合Ici開(kāi)始,根據(jù)概率pj用輪盤(pán)賭法依次在每個(gè)集合中選擇若干元素,直到蟻群全部到達(dá)食物源,螞蟻的轉(zhuǎn)移概率為:
(3)當(dāng)所有螞蟻在每個(gè)集合中都選擇了一定數(shù)量的元素后,計(jì)算用各螞蟻所選元素做樣本的輸出誤差,記錄當(dāng)前所選參數(shù)中的最優(yōu)解,并保留。對(duì)所有集合Ici(1≤i≤2)中各元素的信息素按下式做調(diào)節(jié)
其中,參數(shù)0≤ρ≤1表示信息素的持久性,即殘余信息素的保留部分。
式中:Δτj(Ici)表示在本次循環(huán)中第k只螞蟻在:
式中:Ici的第j個(gè)元素上留下的信息素,如式(6)所示,集合Q是常數(shù),用來(lái)表示螞蟻完成一次循環(huán)后所釋放的信息素總量。它用于調(diào)節(jié)信息素的調(diào)整速度;Lm是以螞蟻k選擇的元素作為樣本時(shí)的輸出誤差。
在改進(jìn)的GAAC算法中,每次循環(huán)結(jié)束時(shí)求出最優(yōu)解,將其保留并與之前迭代后的最優(yōu)解比較,當(dāng)搜索到最優(yōu)解可能出現(xiàn)的區(qū)域后,就需要一種搜索機(jī)制進(jìn)行精細(xì)的局部搜索,準(zhǔn)確的定位最優(yōu)解的位置。本文設(shè)計(jì)出一種局部鄰域搜索機(jī)制,用于Ne-GAAC中的局部搜索。
為了明確Ne-GAAC中的局部鄰域搜索設(shè)計(jì),首先需要定義幾個(gè)相關(guān)的概念[10]:
局部鄰域搜索啟動(dòng)臨界值:預(yù)先設(shè)定的一個(gè)值,當(dāng)GAAC搜索到的某一個(gè)解的適應(yīng)值與目標(biāo)值相等時(shí),Ne-GAAC算法以GAAC搜索到的這個(gè)解為初始值啟動(dòng)一個(gè)局部鄰域搜索。在D維空間中一點(diǎn)X(x1,x2,x3,…,xd),若存在一個(gè)正數(shù),稱(chēng)任意一維上(xi-δ,xi+δ)為該維度上的鄰域,則X所有維度上鄰域構(gòu)成的集合稱(chēng)為X基于維度的鄰域,簡(jiǎn)稱(chēng)X的鄰域,記為U(X,δ)。
禁忌鄰域:記錄在禁忌列表中的鄰域稱(chēng)為禁忌鄰域。對(duì)于禁忌鄰域內(nèi)的點(diǎn),GAAC不進(jìn)行搜索,任何進(jìn)入禁忌鄰域區(qū)的螞蟻,自動(dòng)重新分布。
基于以上的定義,可以設(shè)計(jì)Ne-GAAC中的局部鄰域搜索算法:
(1)產(chǎn)生一個(gè)初始解,并將初始解置為當(dāng)前解;
(2)產(chǎn)生當(dāng)前解的基于維度的鄰域,在該鄰域內(nèi)隨機(jī)產(chǎn)生m個(gè)衍生解,評(píng)價(jià)這些解的適應(yīng)值;
(3)若某個(gè)衍生解優(yōu)于當(dāng)前解,將該衍生解置為當(dāng)前解,算法結(jié)束,否則轉(zhuǎn)下一步;
(4)所有衍生解均劣于當(dāng)前解時(shí),轉(zhuǎn)(2);若重復(fù)操作若干次后仍未尋找到比當(dāng)前解更優(yōu)的解,表明該處極有可能是局部?jī)?yōu)化區(qū),結(jié)束該局部鄰域搜索區(qū)的搜索,算法結(jié)束。
(1)Ne-GAAC算法啟動(dòng),經(jīng)過(guò)遺傳算法迭代形成蟻群算法初始參數(shù)及尋優(yōu)區(qū)間,運(yùn)行蟻群算法,設(shè)置最大迭代次數(shù)。
(2)判斷是否達(dá)到最大迭代次數(shù),若是,算法結(jié)束;否則,轉(zhuǎn)下一步;
(3)GAAC迭代,在每次循環(huán)結(jié)束時(shí)求出最優(yōu)解,將其保留并與之前迭代后的最優(yōu)解比較,若多次尋優(yōu)中出現(xiàn)了停滯和陷入局部最優(yōu)問(wèn)題,則滿足局部鄰域搜索啟動(dòng)條件,將這個(gè)解傳遞給LNeS作為初始解,把初始解置為當(dāng)前解,設(shè)置m值和δ值,初始化一個(gè)局部鄰域搜索,將初始解的鄰域記入禁忌鄰域,然后轉(zhuǎn)下一步。
(4)根據(jù)當(dāng)前解和當(dāng)前m值、δ值,按照局部鄰域搜索算法依次進(jìn)行一次迭代。若搜索到比當(dāng)前解更優(yōu)的解,將該解置為當(dāng)前解,轉(zhuǎn)(2);若既未搜索到滿足誤差條件的解,也未搜索到比當(dāng)前解更優(yōu)的解,則按給定條件重復(fù)搜索直到得到滿足條件的解,結(jié)束該鄰域搜索,然后轉(zhuǎn)(2),否則,保持當(dāng)前解不變,然后轉(zhuǎn)(2)。
流程圖如圖1所示:
圖1 Ne-GAAC算法流程圖Fig.1 Flowchart of Ne-GAAC
考慮 Duffing系統(tǒng)[13]:
利用本文方法識(shí)別系統(tǒng)進(jìn)入混沌運(yùn)動(dòng)時(shí)參數(shù)a,b的取值見(jiàn)表1。
表1 a、b的識(shí)別結(jié)果Tab.1 Identification results of a,b
通過(guò)表1可以看出,利用本方法識(shí)別非線性系統(tǒng)中的參數(shù)可以取得較好的識(shí)別結(jié)果。
具有非線性剛度和碰摩的轉(zhuǎn)子系統(tǒng)模型如圖2所示,對(duì)于具有非線性剛度的轉(zhuǎn)子系統(tǒng),其非線性剛度可以采用振動(dòng)位移或速度的多項(xiàng)式函數(shù)形式表示,根據(jù)文獻(xiàn)中實(shí)驗(yàn)結(jié)果,以線性項(xiàng)和立方項(xiàng)之和來(lái)表示源于中性軸伸長(zhǎng)和對(duì)稱(chēng)的轉(zhuǎn)軸材料物理非線性因素,其非線性應(yīng)力—應(yīng)變關(guān)系為[14]:
圖2 單盤(pán)轉(zhuǎn)子模型Fig.2 Model of rotor system
其對(duì)應(yīng)的轉(zhuǎn)軸彈性力可以表示為:
式中:k和kc分別為轉(zhuǎn)軸材料的線性和非線性剛度項(xiàng)系數(shù)。
轉(zhuǎn)子和定子間發(fā)生碰摩如圖3所示,在x-y坐標(biāo)系中碰摩力化為:
圖3 碰摩力模型Fig.3 Model of rub-impact
忽略?xún)啥酥С械恼駝?dòng),不考慮轉(zhuǎn)軸的質(zhì)量,則具有非線性剛度和線性阻尼的碰摩轉(zhuǎn)子系統(tǒng)動(dòng)力學(xué)方程如下:
利用四階龍格庫(kù)塔法求解。
4.3.1 參數(shù)設(shè)置
表2給出了Ne-GAAC方法的參數(shù)選取,本文識(shí)別的參數(shù)為非線性碰摩轉(zhuǎn)子的碰摩剛度kr,非線性剛度kc和摩擦系數(shù)f,參數(shù)范圍分別為kr∈(1.0e5,1.0e7),kc∈(1.0e12,1.2e14),δ∈(1.0e-4,1.0e-6)。
表2 Ne-GAAC方法的參數(shù)選取Tab.2 Control parameters of Ne-GAAC
4.3.2 目標(biāo)函數(shù)選擇
在工程優(yōu)化問(wèn)題中,目標(biāo)函數(shù)的選擇也是非常重要的,本文選用公式(12)-(14)三種不同形式的目標(biāo)函數(shù),通過(guò)對(duì)比得到最適宜求解非線性轉(zhuǎn)子系統(tǒng)的目標(biāo)函數(shù)。
其中,U為響應(yīng)值,X和A分別為仿真和分析結(jié)果,j為計(jì)算節(jié)點(diǎn)的位移向量,t為迭代時(shí)間。
當(dāng)ω=400,1 100,1 250 rad/s(單周期,雙周期,混沌)情況下,三個(gè)參數(shù)的識(shí)別結(jié)果見(jiàn)表3。
表 3 ω =400,1 100,1 250 rad/s(單周期、雙周期、混沌)識(shí)別結(jié)果Tab.3 Identification results when ω =400,1 100,1 250 rad/s
表3為不存在噪聲時(shí)單周期、雙周期、混沌狀態(tài)下的識(shí)別結(jié)果,對(duì)于三種形式的目標(biāo)函數(shù),識(shí)別值與參考值一致。
表4~表6為具有高斯白噪聲(0,0.01)時(shí),取20組隨機(jī)樣本的識(shí)別結(jié)果,由表格中的數(shù)據(jù)可以看出,轉(zhuǎn)子系統(tǒng)由穩(wěn)定向不穩(wěn)定過(guò)渡的過(guò)程中,采用f1形式的目標(biāo)函數(shù)識(shí)別結(jié)存在的誤差較大,采用f2、f3兩種形式的目標(biāo)函數(shù)進(jìn)行識(shí)別均能得到滿意的識(shí)別結(jié)果。
表4 ω=400 rad/s時(shí)(單周期)具有高斯噪聲下的識(shí)別結(jié)果Tab.4 Identification results with Gaussian noise when ω=400 rad/s
表5 ω=1 100 rad/s時(shí)(雙周期)具有高斯噪聲下的識(shí)別結(jié)果Tab.5 Identification results with Gaussian noise when ω=1 100 rad/s
表6 ω=1 250 rad/s時(shí)(混沌)具有高斯噪聲下的識(shí)別結(jié)果Tab.6 Identification results with Gaussian noise when ω=1 250 rad/s
當(dāng)ω=1 250 rad/s并含有噪聲(0,0.01)時(shí),考慮目標(biāo)函數(shù)為f2的形式時(shí)非線性剛度kc尋優(yōu)區(qū)間的優(yōu)化過(guò)程,如圖4所示,由圖4可以看出經(jīng)過(guò)遺傳算法優(yōu)化后區(qū)間范圍明顯縮小,從而可以很好的提高蟻群算法的運(yùn)算速度。圖 5給出了非線性剛度kc的識(shí)別過(guò)程,其中1代表改進(jìn)的GAAC算法,2代表鄰域搜索算法,當(dāng)GAAC達(dá)到給定的條件后進(jìn)入局部鄰域搜索,經(jīng)過(guò)改進(jìn)的GAAC和鄰域搜索算法的循環(huán)迭代,最終得到了非線性剛度的識(shí)別結(jié)果。
表7通過(guò)Ne-GAAC、ACA、GA三種算法的對(duì)比可以看出,本文所提出的Ne-GAAC方法在非線性轉(zhuǎn)子系統(tǒng)的參數(shù)識(shí)別中具有收斂速度快、運(yùn)算效率高的優(yōu)點(diǎn)。
表7 ω=400 rad/s不含有噪聲時(shí)Ne-GAAC、ACA、GA算法數(shù)據(jù)比較Tab.7 Comparison of identification results for Ne-GAAC、ACA、GA without Gaussian noise when ω =400 rad/s
本文從智能優(yōu)化算法出發(fā),考慮了遺傳算法和蟻群算法的不同特點(diǎn),形成了改進(jìn)的GAAC算法,有效的彌補(bǔ)了兩種算法的不足,同時(shí)為了能夠更精確的定位最優(yōu)解,將鄰域搜索機(jī)制與改進(jìn)的GAAC算法相結(jié)合,形成了Ne-GAAC算法,通過(guò)算例驗(yàn)證充分說(shuō)明了本算法在不含有噪聲的非線性轉(zhuǎn)子系統(tǒng)參數(shù)識(shí)別中能夠準(zhǔn)確的識(shí)別非線性參數(shù),當(dāng)該系統(tǒng)存在噪聲時(shí),在不同非線性特性下也能得到較好的識(shí)別結(jié)果。三種目標(biāo)函數(shù)的結(jié)果對(duì)比,也可以得到在非線性轉(zhuǎn)子系統(tǒng)的參數(shù)識(shí)別中應(yīng)采用f2形式的目標(biāo)函數(shù),能夠獲得最為滿意的識(shí)別結(jié)果,最終通過(guò)三種算法的對(duì)比更加充分的是說(shuō)明Ne-GAAC算法在非線性轉(zhuǎn)子系統(tǒng)的參數(shù)識(shí)別方面具有收斂速度快、運(yùn)算效率高的優(yōu)點(diǎn)。
[1]Assis E G,Steffen J R V.Inverse problem techniques for the identification of rotor-bearing systems[J].Inverse Problems in Engng,2003,11(1):39–53.
[2]盧文秀,褚福磊,郭 丹.基于遺傳算法的碰摩位置辨識(shí)[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,45(2):208-211.
[3]Kirkpatric S.Optimization by simulated annealing[M].Science,1983,220(320):671-680.
[4]周 明,孫樹(shù)棟.遺傳算法原理及應(yīng)用[M],國(guó)防工業(yè)出版社,1999:18-64.
[5]Dorigo M,Maniezzo V,Colorni A.Ant System:Optimization by a Colony of Cooperating Agents[J].IEEE Transactions on Systems,Man,and Cybernetics-PartB:Cybernetics,1996,26(1):29-41.
[6]Hagemana J A,Wehrens R,Van Sprang H A,et al.Hybrid genetic algorithm-tabu search approach for optimising multilayer optical coatings[J].Analytica Chimica Acta,2003,490:211-222.
[7]Hsiao C T,Chahine G,Gumerov N.Application of a hybrid genetic algorithm/Powell algorithm and a boundary element method to electrical impedance topography[J].Journal of Computational Physics,2001,173:433 454.
[8] Renders J M,F(xiàn)lasse S P.Hybrid methods using genetic algorithms for global optimization[J].IEEE Trans Syst Man Cybern Part B,1996,26(2):243-258.
[9]楊劍峰.基于遺傳算法和螞蟻算法求解函數(shù)優(yōu)化問(wèn)題[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2007,41(3):427-430.
[10]吳 亮,蔣玉明.融合粒子群和局部鄰域搜索的優(yōu)化算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(7):1557-1557.
[11] Kim Y H,Yang B S,Tan A C C.Bearing parameter identification of rotor-bearing system using clustering-based hybrid evolutionary algorithm[J].Struct Multidisc Optim,2007,33:493-506.
[12]段海濱.蟻群算法原理及其應(yīng)用[M].北京:科學(xué)出版社,2005:136-139.
[13]劉秉正.非線性動(dòng)力學(xué)與混沌基礎(chǔ)[M].長(zhǎng)春:東北師范大學(xué)出版社,1995:139-148.
[14]羅躍綱.轉(zhuǎn)子系統(tǒng)故障的若干非線性動(dòng)力學(xué)問(wèn)題及智能診斷研究[D].沈陽(yáng):東北大學(xué),2002.