韓 放,郭杏林,高海洋
(大連理工大學 工業裝備結構分析國家重點實驗室,大連 116023)
確定轉子系統的未知參數是一項非常復雜的工作,對于具有非線性剛度和碰摩特性的轉子系統來說,由于碰摩力的間斷性使得參數的識別變得更加的困難。目前,優化算法越來越多的用來求解機械系統的反問題當中[1],從而也為參數識別提供了一個有效的替代方法[2]。近年來,人們從仿生學的機理中受到啟發,提出了許多用于求解優化問題的智能方法,如模擬退火算法[3]、遺傳算法[4]、蟻群算法[5]等,雖然在求解中不需要任何的梯度信息,但由于智能算法是一種基于全局的優化算法,因此時間消耗比較大,為了能夠降低搜索時間提高搜索能力,許多學者提出了改進方法,如局部搜索算法與遺傳算法相結合的提高算法[6-7],GASA算法[8],GA 與 AA 的混合算法[9],融合粒子群和局部搜索的優化算法[10],遺傳算法與神經網絡的混合算法[11]等。
本文在多種智能算法的啟發下,試圖探尋一種較好的平衡方法。在對多種經典算法進行研究和對比后,設計了一種改進遺傳蟻群算法(GAAC)與局部鄰域搜索(local Neighborhood-searching,LNeS)相結合的新算法(Ne-GAAC)。以考慮非線性剛度和碰摩特性的單盤轉子模型為對象進行仿真分析,討論了Ne-GAAC方法在識別非線性轉子系統若干參數的有效性和可行性。
遺傳算法(Genetic Algorithm,GA)具有快速全局搜索能力,但對于系統中的反饋信息沒有利用,往往導致無為的冗余迭代,求解效率低。蟻群算法(Ant Colony Algorithm,ACA)是通過信息素的累積和更新而收斂于最優路徑,具有分布、并行、全局收斂能力,但是其缺點是初期信息素匱乏,求解速度較慢。本文算法吸取了GA和AC的優點,首先形成改進的GAAC算法,具體步驟如下:
(1)進行遺傳算法編碼、選擇、交叉、變異運算,形成蟻群算法的新的尋優區[Pmin,Pmax]和初始化參數,將初始化參數分配給相應的螞蟻,并將多態蟻群算法中對偵查螞蟻獲得的偵查素的定義運用到遺傳算法率先得到的初始元素的信息量中,生成額外的信息素分布:

式中:dij表示由遺傳算法得到的元素j所對應的目標函數值,表示由遺傳算法得到的所有元素所對應的目標函數最小值[12]。定義蟻群算法中元素的信息量初值為τC,因此集合Ici(1≤i≤M)(M為待識別參數量)中的元素j的信息素初值重新設置為[9]:

螞蟻的數目為s,全部置于蟻巢,設置最大迭代次數NCmax。
(2)啟動所有螞蟻,每只螞蟻從集合Ici開始,根據概率pj用輪盤賭法依次在每個集合中選擇若干元素,直到蟻群全部到達食物源,螞蟻的轉移概率為:

(3)當所有螞蟻在每個集合中都選擇了一定數量的元素后,計算用各螞蟻所選元素做樣本的輸出誤差,記錄當前所選參數中的最優解,并保留。對所有集合Ici(1≤i≤2)中各元素的信息素按下式做調節

其中,參數0≤ρ≤1表示信息素的持久性,即殘余信息素的保留部分。

式中:Δτj(Ici)表示在本次循環中第k只螞蟻在:

式中:Ici的第j個元素上留下的信息素,如式(6)所示,集合Q是常數,用來表示螞蟻完成一次循環后所釋放的信息素總量。它用于調節信息素的調整速度;Lm是以螞蟻k選擇的元素作為樣本時的輸出誤差。
在改進的GAAC算法中,每次循環結束時求出最優解,將其保留并與之前迭代后的最優解比較,當搜索到最優解可能出現的區域后,就需要一種搜索機制進行精細的局部搜索,準確的定位最優解的位置。本文設計出一種局部鄰域搜索機制,用于Ne-GAAC中的局部搜索。
為了明確Ne-GAAC中的局部鄰域搜索設計,首先需要定義幾個相關的概念[10]:
局部鄰域搜索啟動臨界值:預先設定的一個值,當GAAC搜索到的某一個解的適應值與目標值相等時,Ne-GAAC算法以GAAC搜索到的這個解為初始值啟動一個局部鄰域搜索。在D維空間中一點X(x1,x2,x3,…,xd),若存在一個正數,稱任意一維上(xi-δ,xi+δ)為該維度上的鄰域,則X所有維度上鄰域構成的集合稱為X基于維度的鄰域,簡稱X的鄰域,記為U(X,δ)。
禁忌鄰域:記錄在禁忌列表中的鄰域稱為禁忌鄰域。對于禁忌鄰域內的點,GAAC不進行搜索,任何進入禁忌鄰域區的螞蟻,自動重新分布。
基于以上的定義,可以設計Ne-GAAC中的局部鄰域搜索算法:
(1)產生一個初始解,并將初始解置為當前解;
(2)產生當前解的基于維度的鄰域,在該鄰域內隨機產生m個衍生解,評價這些解的適應值;
(3)若某個衍生解優于當前解,將該衍生解置為當前解,算法結束,否則轉下一步;
(4)所有衍生解均劣于當前解時,轉(2);若重復操作若干次后仍未尋找到比當前解更優的解,表明該處極有可能是局部優化區,結束該局部鄰域搜索區的搜索,算法結束。
(1)Ne-GAAC算法啟動,經過遺傳算法迭代形成蟻群算法初始參數及尋優區間,運行蟻群算法,設置最大迭代次數。
(2)判斷是否達到最大迭代次數,若是,算法結束;否則,轉下一步;
(3)GAAC迭代,在每次循環結束時求出最優解,將其保留并與之前迭代后的最優解比較,若多次尋優中出現了停滯和陷入局部最優問題,則滿足局部鄰域搜索啟動條件,將這個解傳遞給LNeS作為初始解,把初始解置為當前解,設置m值和δ值,初始化一個局部鄰域搜索,將初始解的鄰域記入禁忌鄰域,然后轉下一步。
(4)根據當前解和當前m值、δ值,按照局部鄰域搜索算法依次進行一次迭代。若搜索到比當前解更優的解,將該解置為當前解,轉(2);若既未搜索到滿足誤差條件的解,也未搜索到比當前解更優的解,則按給定條件重復搜索直到得到滿足條件的解,結束該鄰域搜索,然后轉(2),否則,保持當前解不變,然后轉(2)。
流程圖如圖1所示:

圖1 Ne-GAAC算法流程圖Fig.1 Flowchart of Ne-GAAC
考慮 Duffing系統[13]:

利用本文方法識別系統進入混沌運動時參數a,b的取值見表1。

表1 a、b的識別結果Tab.1 Identification results of a,b
通過表1可以看出,利用本方法識別非線性系統中的參數可以取得較好的識別結果。
具有非線性剛度和碰摩的轉子系統模型如圖2所示,對于具有非線性剛度的轉子系統,其非線性剛度可以采用振動位移或速度的多項式函數形式表示,根據文獻中實驗結果,以線性項和立方項之和來表示源于中性軸伸長和對稱的轉軸材料物理非線性因素,其非線性應力—應變關系為[14]:


圖2 單盤轉子模型Fig.2 Model of rotor system
其對應的轉軸彈性力可以表示為:

式中:k和kc分別為轉軸材料的線性和非線性剛度項系數。
轉子和定子間發生碰摩如圖3所示,在x-y坐標系中碰摩力化為:


圖3 碰摩力模型Fig.3 Model of rub-impact

忽略兩端支承的振動,不考慮轉軸的質量,則具有非線性剛度和線性阻尼的碰摩轉子系統動力學方程如下:

利用四階龍格庫塔法求解。
4.3.1 參數設置
表2給出了Ne-GAAC方法的參數選取,本文識別的參數為非線性碰摩轉子的碰摩剛度kr,非線性剛度kc和摩擦系數f,參數范圍分別為kr∈(1.0e5,1.0e7),kc∈(1.0e12,1.2e14),δ∈(1.0e-4,1.0e-6)。

表2 Ne-GAAC方法的參數選取Tab.2 Control parameters of Ne-GAAC
4.3.2 目標函數選擇
在工程優化問題中,目標函數的選擇也是非常重要的,本文選用公式(12)-(14)三種不同形式的目標函數,通過對比得到最適宜求解非線性轉子系統的目標函數。

其中,U為響應值,X和A分別為仿真和分析結果,j為計算節點的位移向量,t為迭代時間。
當ω=400,1 100,1 250 rad/s(單周期,雙周期,混沌)情況下,三個參數的識別結果見表3。

表 3 ω =400,1 100,1 250 rad/s(單周期、雙周期、混沌)識別結果Tab.3 Identification results when ω =400,1 100,1 250 rad/s
表3為不存在噪聲時單周期、雙周期、混沌狀態下的識別結果,對于三種形式的目標函數,識別值與參考值一致。
表4~表6為具有高斯白噪聲(0,0.01)時,取20組隨機樣本的識別結果,由表格中的數據可以看出,轉子系統由穩定向不穩定過渡的過程中,采用f1形式的目標函數識別結存在的誤差較大,采用f2、f3兩種形式的目標函數進行識別均能得到滿意的識別結果。

表4 ω=400 rad/s時(單周期)具有高斯噪聲下的識別結果Tab.4 Identification results with Gaussian noise when ω=400 rad/s

表5 ω=1 100 rad/s時(雙周期)具有高斯噪聲下的識別結果Tab.5 Identification results with Gaussian noise when ω=1 100 rad/s

表6 ω=1 250 rad/s時(混沌)具有高斯噪聲下的識別結果Tab.6 Identification results with Gaussian noise when ω=1 250 rad/s
當ω=1 250 rad/s并含有噪聲(0,0.01)時,考慮目標函數為f2的形式時非線性剛度kc尋優區間的優化過程,如圖4所示,由圖4可以看出經過遺傳算法優化后區間范圍明顯縮小,從而可以很好的提高蟻群算法的運算速度。圖 5給出了非線性剛度kc的識別過程,其中1代表改進的GAAC算法,2代表鄰域搜索算法,當GAAC達到給定的條件后進入局部鄰域搜索,經過改進的GAAC和鄰域搜索算法的循環迭代,最終得到了非線性剛度的識別結果。
表7通過Ne-GAAC、ACA、GA三種算法的對比可以看出,本文所提出的Ne-GAAC方法在非線性轉子系統的參數識別中具有收斂速度快、運算效率高的優點。


表7 ω=400 rad/s不含有噪聲時Ne-GAAC、ACA、GA算法數據比較Tab.7 Comparison of identification results for Ne-GAAC、ACA、GA without Gaussian noise when ω =400 rad/s
本文從智能優化算法出發,考慮了遺傳算法和蟻群算法的不同特點,形成了改進的GAAC算法,有效的彌補了兩種算法的不足,同時為了能夠更精確的定位最優解,將鄰域搜索機制與改進的GAAC算法相結合,形成了Ne-GAAC算法,通過算例驗證充分說明了本算法在不含有噪聲的非線性轉子系統參數識別中能夠準確的識別非線性參數,當該系統存在噪聲時,在不同非線性特性下也能得到較好的識別結果。三種目標函數的結果對比,也可以得到在非線性轉子系統的參數識別中應采用f2形式的目標函數,能夠獲得最為滿意的識別結果,最終通過三種算法的對比更加充分的是說明Ne-GAAC算法在非線性轉子系統的參數識別方面具有收斂速度快、運算效率高的優點。
[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]盧文秀,褚福磊,郭 丹.基于遺傳算法的碰摩位置辨識[J].清華大學學報(自然科學版),2005,45(2):208-211.
[3]Kirkpatric S.Optimization by simulated annealing[M].Science,1983,220(320):671-680.
[4]周 明,孫樹棟.遺傳算法原理及應用[M],國防工業出版社,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,Flasse S P.Hybrid methods using genetic algorithms for global optimization[J].IEEE Trans Syst Man Cybern Part B,1996,26(2):243-258.
[9]楊劍峰.基于遺傳算法和螞蟻算法求解函數優化問題[J].浙江大學學報(工學版),2007,41(3):427-430.
[10]吳 亮,蔣玉明.融合粒子群和局部鄰域搜索的優化算法[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]段海濱.蟻群算法原理及其應用[M].北京:科學出版社,2005:136-139.
[13]劉秉正.非線性動力學與混沌基礎[M].長春:東北師范大學出版社,1995:139-148.
[14]羅躍綱.轉子系統故障的若干非線性動力學問題及智能診斷研究[D].沈陽:東北大學,2002.