吳瑩,黃顯林,高曉智,,Kai Zenger
(1.哈爾濱工業大學 控制理論與制導技術研究中心,黑龍江 哈爾濱150001;2.阿爾托大學 自動化與系統技術系,芬蘭 赫爾辛基 FI-00076)
人工魚群算法(artificial fish-swarm algorithm,AFA)是一種基于自然界魚群行為的群智能優化算法[1]。AFA算法通過模擬魚覓食、群聚和追尾等行為,建立人工魚群的簡單的基本行為。AFA算法有較好的全局尋優性能,對搜索空間也有一定的自適應能力。然而由于人工魚個體行為是尋找局部最優值,這種算法不可避免地會遇到個體早熟的難題,在處理多峰函數優化時容易陷入局部最優。為進一步提高AFA算法的全局收斂性能,本文提出在算法中引入變異因子,同時應用文化算法指導魚群的進化。
文化算法(culture algorithm,CA)是一種新穎的處理優化問題的方法,由 Reynolds于 1994年提出[2]。CA算法包含了由人類社會文化發展規則發展出來的一類計算模型,是一個雙向繼承體系。從微觀角度,群體空間中進行著魚群進化;從宏觀角度,個體在進化過程中得到的經驗通過接收函數保存在信仰空間中,用于指導個體往更優解的方向進化。信仰空間和群體空間之間通過通訊協議聯系,通訊協議決定了知識通過影響函數指導群體空間個體進化的方式。多種進化算法可以嵌入到文化算法框架中作為群體空間的進化過程[2-4]。
本文首先引入變異算子,將文化算法和AFA算法融合,提出了克服算法早熟缺點的帶變異算子的魚群算法——CAFAC(cultured AFA with crossover,CAFAC)。根據融合方式的不同,一共提出了4種CAFAC算法。將人工魚群作為文化算法中的群體空間,利用信仰空間中的規劃知識和情景知識指導魚群進化的步長和方向。通過5個高維多峰函數檢驗算法的性能,最后應用新算法求解鼠籠式感應電機系統的參數辨識問題。
人工魚群算法的基本思想是模擬魚的行為,例如覓食、群聚和追尾。假設D維優化問題,共有N條人工魚,每一條人工魚描述為:Xi=(xi1,xi2,…,xiD),i=1,2,…,N,其中 Xi表示要優化的變量,y=f(Xi)表示適應度函數,描述了人工魚所在點的食物濃度,f(Xi)值越小說明食物濃度越低。AFA算法的主要參數有 dij=‖Xj-Xi‖表示人工魚個體 Xi和Xj之間的距離;vvisual表示人工魚個體的視野;sstep表示人工魚個體移動步長;δ表示擁擠度因子。
人工魚的行為描述如下[1]:
1)覓食行為:人工魚當前狀態為Xi,在其視野范圍內隨機選擇一個狀態Xj表示為Xj=Xi+rand(0,1)×vvisual,當該狀態的食物濃度大于當前狀態,即f(Xj)<f(Xi)時,則人工魚向該方向前進一步,即

如果f(Xj)>f(Xi),則重新隨機選擇 Xi,判斷是否滿足前進條件;反復ntry-number次后,如果仍不滿足,則隨機移動一步,即

2)群聚行為:人工魚當前狀態為 Xi,在其視野范圍內有nf個伙伴。如果nf≠0定義人工魚群伙伴中心位置)表示中心位置的適應度值。如果nf×ycenter<δ×yi,則表明伙伴中心位置Xcenter不太擁擠,同時,如果中心位置的食物濃度大于當前狀態的食物濃度,則人工魚向Xc前進一步,即

如果nf×ycenter<δ×yi,人工魚執行覓食行為。
3)追尾行為:人工魚當前狀態為 Xi,在其視野范圍內的最優伙伴是 Xmin,對應的食物濃度分別為ymin=f(Xmin)。nf表示 XminXmin視野范圍內伙伴數目,如果 ymin<f(Xi),nf×ymin<δ×yi,則人工魚向Xmin前進一步,即

如果前進條件不滿足,則執行覓食行為。
Reynolds在1994年提出了文化算法這一概念,文化算法總體上包括三大元素:種群空間,信念空間和通訊協議,其中通訊協議又包括接收函數、更新函數和影響函數[5]。文化算法的基本框架[6]如圖 1所示。

圖1 文化算法框架Fig.1 Framework of cultural algorithm
人工魚群算法具有對初值、算法參數設置不敏感的特點。然而由于人工魚進化行為和步長的隨機性,算法在成熟階段收斂很慢,特別是當解空間較大或者為平坦區時,算法存在搜索盲區,造成人工魚群算法局部搜索能力和全局探索能力之間的失衡。針對這些不足,本文提出了一種新型的帶變異算子的文化魚群算法CAFAC,改進常規人工魚群算法的優化性能。
首先在人工魚群算法中引入變異算子改變人工魚的狀態,使人工魚盡可能地搜索其他區域的可能的解。人工魚找到食物后,通常會游向更好的方向。變異算子帶來的探索行為不僅可以幫助人工魚跳出搜索盲區,而且繼承了父代的優勢。
接下來受到文化算法思想的啟發,在基本人工魚群算法中應用信仰空間中保存的規劃知識和情景知識指導人工魚種群的進化步長和方向[7]。這樣在信仰空間中形成和保存的域知識可以用來描述和指導種群的每一步進化行為,根據知識指導進化方式的不同,本文中提出了4種不同形式 CAFAC算法。
情景知識只包含人工魚群中的當前最佳個體,定義在第t步迭代的情景知識描述為。情景知識的初始值為初始種群中的最佳人工魚個體,迭代過程中的更新方程可描述為

規劃知識描述了優化問題的可行解空間[7]。每一個變量的規劃知識表示為

其中U、L和D 是n維向量,I={x|l≤x≤u},n表示變量個數;lj和uj分別是第j個變量的下界和上界,Lj和Uj是對應的適應度值。通常lj和 uj用初始種群的下界和上界初始化。在迭代過程中,規劃知識按照以下公式更新,即


其中第ith個體影響第 j個變量的下界,第k個體影響第jth個變量的上界,t表示信仰空間當前的迭代步數。
接收函數的作用是確定種群中哪部分個體用來更新信仰空間中的知識。用于更新知識的個體數目可由下式確定[4],即

其中N是種群規模,t是當前迭代步數,β=0.2。
信仰空間的知識通過3種方式影響種群空間的個體進化:1)決定進化的步長。2)決定進化的方向。3)由規劃知識確定決定前進步長,同時在視野范圍內確定人工魚個體下一步前進的方向。
利用規劃知識和情景知識指導進化的步長和方向時,有4種不同的方式。如果規劃知識僅用來決定前進步長,則新算法稱為CAFAC(Ns);如果用情景知識來指導人工魚個體的進化方向,則新算法稱為CAFAC(Sd);如果利用規劃知識指導人工魚個體進化的步長,同時利用情景知識指導進化的方向,新算法稱為CAFAC(Ns+Sd);如果利用規劃知識同時指導人工魚個體的進化方向和步長,則產生的新算法稱為CAFAC(Ns+Nd)。接下來例舉CAFAC(Ns+Sd)算法的影響函數,說明兩種知識對人工魚進化的指導作用。
在第k步進化時,利用情景知識指導進化的方向為

其中Δ描述了進化的步長,利用規劃知識指導進化的步長。
1)覓食行為
當 i≤ntry-number時,

當 i> ntry-number時,

2)群聚行為

3)追尾行為

根據以下準則判斷CAFAC算法是否陷入局部最優:

當以上判斷準則成立時,對第 i個人工魚Xi(i=1,2,…,N)執行變異操作[8]:

其中:xr2,xr1是隨機挑選的兩個人工魚個體,r1,r2是[1,N]區間里的兩個隨機整數,并且滿足r1≠r2≠i;α是[-d,1+d]中滿足均勻分布的隨機數,其中d=0.25;評價子代 x'i,如果優于父代,則用 x'i替代xi。
本文提出的新算法CAFAC的基本流程可以描述如下:
1)初始化人工魚個體的數目N,人工魚視野范圍、擁擠度因子等算法參數,設置迭代次數和收斂條件,初始化N個人工魚個體的位置;
2)評價所有人工魚個體,計算適應度函數值,初始化信仰空間;
3)對每一個人工魚個體,比較覓食、群聚和追尾三種行為,選擇其中最好的子代,如果對應的適應度函數值優于父代,則用子代替代父代;
4)更新信念空間;
5)如果滿足不等式(14),則對第3步中的人工魚個體執行變異操作;
6)判斷是否滿足收斂條件,如果不滿足則回到第3步直到滿足算法收斂條件。
選取5個高維、多峰非線性函數檢驗新算法CAFAC的性能,包括4種算法形式CAFAC(Ns),CAFAC(Sd),CAFAC(NsSd)以及CAFAC(NsNd)。分別為fAckley(x)=

(xi- 1)2;;參數設置如下:N=40,D=30,vvisual=250,sstep=225,δ =24,ntry-number=10。測試函數的維數均為30。
算法分別運行 10次,每一次迭代 5 000步。CAFAC算法的性能與基本魚群算法AFA的比較結果如表1所示。從表中可以看出,對于 Expfun函數、Griewank函數和 Neumaier3函數,算法 CAFAC(NsSd)可以準確地找到全局最優值。對于Ackley和Rosenbrock函數,所有的4種CAFAC算法的性能都較AFA算法有明顯提高,體現了新算法全局優化性能有了顯著的改善。從表1中還可以看到CAFAC(NsSd)算法的性能總體上優于其他3種算法,由此可以推斷利用信仰空間中的知識指導魚群進化的方向和步長可以取得最佳的優化性能。

表1 CAFAC算法與AFA算法函數優化性能比較Table 1 Performance comparison for CAFAC and AFA
以 Ackley和Rosenbrock函數為例,圖2、圖3比較了4種CAFAC算法的收斂性能。為了便于比較,圖中縱軸是采用了對數坐標,橫坐標每50步畫一個數據。平均適應度函數值是算法10次獨立運行對應的適應度值的平均值。從圖上可以看出,AFA算法在迭代初期收斂很快,但是隨后便陷入局部最優。CAFAC算法較好地客服了AFA算法的這一不足,提高了人工魚群算法跳出局部最優的能力,提高了全局尋優性能。

圖2 Ackley函數的優化結果Fig.2 Results of Ackley function

圖3 Rosenbrock函數的優化結果Fig.3 Results of Rosenbrock function
本節中研究的籠式感應電機,在定子上繞有4極繞組起到執行器的作用。執行器產生作用于轉子的力,抑制轉子軸在水平和垂直方向的振動偏移。電機辨識系統中利用電渦流傳感器測量電機轉軸的振動偏移量,編碼器用于測量轉子轉動角度和頻率。電機系統參數辨識的目的是建立電機系統的數學模型,在此基礎上設計系統主動振動控制器。電機工作頻率32.085 Hz,激勵信號(水平和豎直方向的控制電壓)是一個均勻分布的隨機數序列,頻率最高500 Hz。輸出信號經過處理,只保留激勵信號引起的系統響應[9],如圖4所示。圖4中前13 s記錄的數據用于參數辨識,剩余的數據用作測試數據。
研究電機系統的線性時不變參數模型,根據文獻[10],感應電機模型建立在模態坐標系中的機械模型基礎上[11]:

其中:η表示模態坐標系中的向量;urc表示轉子軸中心偏移量;Φrc表示模態矩陣;Ω表示包含固有頻率的對角陣;Ξ表示包含不同頻率對應的阻尼系數的模態阻尼矩陣;fex表示干擾力;fc表示作用在轉子上的機電控制力。

圖4 轉子偏移實測值Fig.4 Measurements of rotor displacement
模型結構與文獻[12]中相同,表示為

其中各個矩陣定義如下:




表2 電機系統參數Table 2 Parameters of motor system
電機系統線性時變模型的參數如表2所示,滿足一定的物理約束。電阻值已知且是常數,Rc=14.5,無需優化。當不考慮不平衡磁拉力的作用時,模型簡化為一個線性時不變系統。輸入量包含控制繞組電壓υ,輸出量是轉子中心的偏移量urc。系統矩陣是未知參數的函數,未知參數的含義和電機系統模型的詳細推導見文獻[12],將未知參數表示為如下向量:

參數辨識過程中,利用電壓υ和干擾力fex激勵系統。為了降低系統階次,從辨識測量數據中去掉干擾力,即fex=0。辨識目的是建立系統參數模型,在保存的有限帶寬白噪聲激勵下,模型的輸出與實際系統的輸出信號吻合。參數辨識的基本思路是找到一組向量使得以下代價函數的值最小[15],即

其中urc(n)表示電機系統在特定輸入下的輸出信號測量值(n)表示同樣輸入下,辨識得到的參數模型的輸出。定義一個評價指標衡量得到的模型參數P的準確性,即

在之前的CAFAC算法的仿真算例結果分析中,發現CAFAC的4種形式中 CAFAC(NsSd)算法的性能優于其他3種形式,并且顯著優于基本魚群算法AFA[14]。因此利用CAFAC(NsSd)算法進行電機系統參數化模型辨識。參數辨識結果如表3所示。利用測量數據的13~20 s的數據檢驗辨識結果,最終辨識模型的輸出和實際系統的輸出對比結果如圖5所示,為了顯示清晰截取了15~16 s之間的對比結果。水平方向和豎直方向的模型匹配度分別為78.9400%和84.9011%。可以看出利用CAFAC算法得到的辨識模型有效地描述了實際系統的特性,參數模型的響應與實際系統輸出間的偏差接近于零。

表3 電機系統辨識結果Table 3 Identification results of motor system

圖5 實際系統與辨識模型對比Fig.5 Comparison of outputs between the real system and estimated model
基本人工魚群算法AFA在處理高維非線性優化問題時,容易陷入搜索盲區。本文提出了新算法CAFAC,引入了文化算法框架,利用存儲在信仰空間的規劃知識和情景知識指導人工魚群的進化;變異算子的引入提高了人工魚群的多樣性,有助于算法跳出局部最優,新算法提高了人工魚群算法的全局優化性能。
通過高維多峰函數優化問題檢驗了新算法性能,結果表明本文提出的基于知識和變異算子的CAFAC算法相較基本魚群算法,全局優化性能有了顯著提高。最后利用CAFAC算法進行了內置執行器的籠式感應電機系統的參數辨識,結果表明辨識得到的參數化執行器-轉子系統模型有效地體現了實際電機系統的響應特性,具有很高的匹配度。本文的研究結果表明CAFAC優化算法在函數優化以及高維非線性系統參數辨識領域具有很好的應用前景。
[1]LI X L,SHAO Z J,QIAN J X.An optimizing method based on autonomous animates:fishswarm algorithm[J].Systems Engineering Theory and Practice,2002,(11):32 -38.
[2]REYNOLDS R G.An introduction to cultural algorithms[C]//The 3rd Annual Conference on Evolution Programming,February 24 -26,1994,San Diego,CA.1994:131 -139.
[3]CHUNG C J,REYNOLDS R G.A test-bed for solving optimization problems using cultural algorithms[C]//Evolutionary Programming V:The Fifth Annual Conf.on Evolutionary Programming,February 29 - March 3,1996,San Diego,CA.1996:225 -236.
[4]REYNOLDS R G,CHUNG C J.Knowledge-based self-adaptation in evolutionary programming using cultural algorithms[C]//IEEE International Conference on Evolutionary Computation,April 13-16,1997,Indianapolis,Hoosier State.1997:71 -76.
[5]CHUNG C J.Knowledge-based approaches to self-adaptation in cultural algorithms[D].Detroit:Wanyne State University,1997.
[6]GAO X Z,JOKINEN T,WANG X,et al.A new harmony search method in optimal wind generator design[C]//The XIX International Conference on Electrical Machines,September 6 -8,2010,Rome,Italy.2010:1 -6.
[7]REYNOLDS R G,PENG B.Cultural algorithms:modeling of how cultures learn to solve problems[C]//The 16th IEEE International Conference on Tools with Artificial Intelligence,November 15 -17,2004,Boca Raton,FL.2004:166 -172.
[8]WANG X P,CAO L M.Genetic Algorithm:Theory,Application and Software Implementation[M].Xi’an:Xi’an JiaoTong University Press,2002.
[9]SINERVO A.Modeling and control of flexural rotor vibration of a two-pole cage induction motor[D].Espoo:Helsinki University of Technology,2008.
[10]ORIVUORI J,ZENGER K,SINERVO A.Active control of rotor vibrations by advanced control methods[C]//The 16th International Congress on Sound and Vibration-Recent Developments in Acoustics,Noise and Vibration,July 5 -9,2010,Krakow,Poland.2010:1-8.
[11]LAIHO A,TAMMI K,VIDQUIST V,Modeling of flexural rotor vibration and time-periodic system dynamics in a two-pole cage induction machine equipped with a self-bearing force actuator[C]//The IFAC Workshop on Periodic Systems,Bogazici University,August 26 -28,2010,Turkey.2010.
[12]Genta G.Vibration of Structures and Machines:Practical Aspects[M].NY:Springer,1999.
[13]Holopainen T P,Tenhunen A,Lantto E,et al.Unbalanced magnetic pull induced by arbitrary eccentric motion of cage rotor in transient operation.Part 1:analytical model[J].Electrical Engineering,2005,88(1):13 -24.
[14]GAO X Z,WU Y,ZENGER K,et al A knowledge based artificial fish-swarm algorithm[C]//The 13th IEEE International Conference on Computational Science and Engineering,December 11-13,2010,Hongkong,China.2010:327 -332.