謝穎, 李吉興, 楊忠學, 張巖
(1.哈爾濱理工大學電氣與電子工程學院,黑龍江哈爾濱150080;2.東北石油大學電氣信息工程學院,黑龍江大慶163318)
蟻群算法[1-3]是一種啟發式仿生類并行的智能進化算法,它采用分布式并行計算和信息素正反饋機制,通過其內在的搜索機制,解決了一系列困難的組合優化問題,在旅行商問題、工件排序問題、背包問題、圖著色問題、車輛調度問題和二次分配問題等離散型問題的領域上取得了有效的成績。蟻群算法是意大利學者Marco Dorigo在1992年提出的[4],比較完善地闡述了蟻群算法的原理[5]。Gutiahr W J首次對蟻群算法的收斂性進行了闡述,同時給出了一種改進蟻群算法,能夠以一定概率收斂到最優值[6]。文獻[7]中提出一種變異蟻群算法,有利地克服了基本蟻群算法中計算時間較長的缺陷。文獻[8]采用一種動態自適應蟻群算法,能夠有效地避免局部收斂,提高了算法的全局搜查能力。還有學者提出了免疫蟻群算法,能夠解決約束關系的多任務調度問題[9]。遺傳算法[10]是一類借鑒生物界自然選擇和自然遺傳機制的隨機化搜索算法,其主要特點是群內搜索策略和群體中個體之間的信息交換、搜索不依賴于梯度信息。遺傳算法是由美國 J.Holland教授提出的,他分析了群體方法搜索以及選擇,交換等操作策略的重要性[11]。Cavicchio提出了以預選擇策略保證群體多樣性,對遺傳算法參數進行中心控制[12]。Krishnakumar采用小群體方法,使得算法適應于動態系統的優化[13]。
蟻群算法是通過內部信息的積累和多次迭代更新而收斂于最優路徑,因此具有全局的收斂能力,但是由于尋優開始階段信息素不足,從而導致了尋優初期內部信息累積時間相對較長,求解相對緩慢。遺傳算法具有良好的快速尋優能力,但是對于尋優過程中反饋回來的信息卻沒有加以使用,造成了大量沒有意義的迭代,因此,遺傳算法求取精確解的效率不高。二進制遺傳蟻群算法確定了遺傳算法與蟻群算法的融合時機,既充分地發揮了蟻群算法和遺傳算法各自在尋優過程中的優點,又克服了遺傳算法在搜索到一定程度時尋找最優解的效率不高以及蟻群算法在尋優開始階段信息素不足的缺點,是求解效率和時間效率都比較好的智能算法。
本文采用的二進制遺傳蟻群算法是將遺傳算法和蟻群算法有效的結合起來。螞蟻的位置和信息素的更新用二進制編碼表示,能夠使蟻群算法有效地處理連續變量問題,同時也能夠更好地實現交叉、變異過程。將二進制遺傳蟻群算法應用到電機的優化設計之中可使電機的性能得到較好的優化。
將蟻群的位置用二進制編碼的變量組表示,變量組中可以有一個或多個變量,每一個變量用10位二進制數表示,二進制數的大小由變量的數值和取值范圍決定。如數據的取值范圍在a~b之間,則a由0000000000表示,b由1111111111表示,a~b之間的變量值y可以通過公式(1)由十位二進制數(b9b8b7b6b5b4b3b2b1b0)2轉換

圖1表示螞蟻尋優的過程,如圖所示,螞蟻進行路徑尋優時,從左邊第一位開始,按照內在的搜索機制選擇0狀態還是1狀態,轉移概率表示為

式中:ak={0,1,…,n-1}表示螞蟻k下一步允許選擇的路徑(t)表示信息素濃度因數(t)表示能見度因數;α表示信息素軌跡的相對重要性;β表示能見度的相對重要性。
從左到右按位選擇0狀態還是1狀態,直到最后一位選擇結束,進行信息素更新。

圖1 二進制尋優Fig.1 Optimization map of binary
信息素更新之后,蟻群進行進化過程,即交叉、變異過程,如圖2所示,此時,需要確定交叉概率pc和變異概率pm。圖2(a)表示交叉過程,第一只螞蟻信息鏈的前4位和第二只螞蟻信息鏈的后3位進行重組,得到一組新的信息,圖2(b)表示變異過程,螞蟻信息鏈的某一位由狀態0變為狀態1,或由狀態1變為狀態0,尋優的結果為本次迭代的最優值,一次循環結束。
一次循環之后,蟻群進行下一輪循環,直到滿足最大世代數。因此,二進制遺傳蟻群算法如圖3所示。

圖2 二進制交叉變異尋優Fig.2 Optimization map of binary cross and mutation

圖3 二進制遺傳蟻群算法尋優流程Fig.3 Optimization flow map of binary genetic ant colony algorithm
蟻群在進行搜索時,需要確立一系列參數,其中主要包括α、β[14]。由于目前還沒有有效的數學分析法確定每個情況下的最優參數,所以需要進行驗證,圖4為α、β取不同值時的收斂曲線,從圖上可以看出,α、β取不同值時,收斂的結果不相同,當α=0.5、β =0.7 時,收斂值為最小,結果為最優。
采用匯編語言實現了改進的二進制遺傳蟻群算法,并且設置了有效的參數。為了驗證該算法的性能,對表1中的三個函數進行優化仿真。

圖4 α、β取不同值時的收斂曲線Fig.4 Convergence curves of different α and β

表1 優化函數Table 1 Optimizing functions

圖5 蟻群最終位置分布Fig.5 Final position distribution of ants
圖5表示蟻群的最終分布位置,從圖中可以看出,蟻群最終分布在了3個函數的最小極值點上,由此可知,該算法具有良好的全局收斂能力。

圖6 函數進化曲線對比Fig.6 Evolution curves of comparison map
圖6 表示采用3種方法對函數優化的進化曲線,從圖中可以看出,二進制遺傳蟻群算法都在10次迭代左右收斂,且搜索到的值最小,由此可見,二進制遺傳蟻群算法具有良好的全局搜索能力。
以一臺4極7.5kW的自起動永磁同步電動機為研究對象,表2給出了電機的額定數據。采用改進的算法對電機的結構參數進行優化,通過優化電機的轉子槽型寬度、鐵心長度、每槽導體數、導線直徑等結構參數,提高電機的性能。

表2 異步起動永磁同步電動機的額定數據Table 2 Rated data of line-start permanent magnet synchronous motor
圖7為電機的結構模型圖,永磁體的形狀和嵌放位置使得它在電機中的利用率很高,不需要單獨建立隔磁橋。定、轉子槽數之間的關系,使得電機有效的避免了同步附加轉矩和單相震動力。

圖7 電機結構模型Fig.7 Structure model of motor
改進的二進制遺傳蟻群算法的基本數學模型可以表示為:

式中:F(X)為目標函數;X為結構參數;D為優化區間;ω為權重參數;m約束函數數量;gi是約束變量。
2.2.1 目標函數的選擇
優化的目標包括效率、功率因數、起動轉矩倍數、起動電流倍數和起動最小轉矩倍數。在優化過程中,不是所有的性能都得到了較大的優化,只是以效率為主要的優化目標,其他的性能通過約束條件和懲罰函數來提高,使得它們優于原設計,主目標函數可以表示為

式中η為電機的效率。當效率為最大時,主目標函數的值是最小的,所以當算法搜索到定義區間內的最小值時,實現了電機的優化。
2.2.2 優化變量的選擇
在選擇優化變量時,需要選擇對電機的性能影響較為明顯的參數[15-17],所以將每槽導體數、鐵心長度、導線直徑、轉子槽型寬度設置為優化變量,通過在一定范圍內改變這4個參數,從而找出函數的最小值,實現了蟻群尋優。
2.2.3 約束條件
異步起動永磁同步電動機的約束條件主要包括效率,功率因數,起動轉矩倍數,起動電流倍數和起動最小轉矩倍數[18-20]。它們可以表示為:

式中:η表示為電機的效率;cosφ表示為電機的功率因數;Tstmin表示為電機的起動最小轉矩倍數;Ist表示為電機的起動電流倍數;Tst表示為電機的起動轉矩倍數。
此外,設置槽滿率在73% ~78%之間,定子齒、定子軛、轉子齒、轉子軛的磁密不超過1.8 T。電密不超過6 A/mm2,設置電磁計算的所有循環超過50次以后直接跳出,放棄當前運算,進入一輪尋優計算[21],通過以上設置,可以保證電機的設計方案滿足要求,能夠有效地運行。
2.2.4 懲罰函數的設置
當得到的結果不滿足約束條件時,需要設置相應的懲罰措施,從而保證算法能夠快速、有效地找到最優極值點。利用約束條件,懲罰函數可以表示為:

式中:w1、w2、w3、w4、w5為懲罰因子。
文中建立了目標函數,設置了優化變量,限制了約束條件,給出了懲罰函數,根據已知條件,確立優化變量的變化范圍。基于二進制遺傳蟻群算法的電機優化設計流程如圖8所示。

圖8 電機優化流程Fig.8 Optimization flow map of motor
對一臺7.5 kW的異步起動永磁同步電動機進行優化,以提高電機的效率作為主要目標,以每槽導體數、鐵心長度、導線直徑、轉子槽型寬度作為優化變量,設置了約束條件和懲罰函數。圖9表示電機物理模型。

圖9 電機物理模型Fig.9 Model of motor
圖10 表示蟻群尋找最優解的過程,20只螞蟻隨機分布在定義區間上,沿著圓柱母線方向的一組網格,表示一只螞蟻的尋優過程。圓柱最下層的20個格表示20只螞蟻第一次優化的結果,顏色表示目標函數的值,每一次循環結束,螞蟻將沿著母線方向向上爬一個格,直到20次迭代結束。

圖10 蟻群尋優進化Fig.10 Evolution map of ants optimization
圖11 表示二進制遺傳蟻群算法的進化曲線,每一代的目標函數值表示為20只螞蟻尋優值的平均值。從圖中可以看出,蟻群最終找到了最優值。

圖11 進化曲線Fig.11 Evolution curve
表3給出了優化前后的性能比較,從表3中可以看出,和原設計相比,電機的效率、功率因數和起動轉矩倍數都有所提高,電機性能得到了較好的優化。

表3 電機優化前后的參數對比表Table 3 Parameters comparison between original and optimized motor
為了驗證優化結果是否滿足要求,利用AN-軟件2D有限元對電機的起動性能和運行性能進行了分析,得到的結果分別如圖12、圖13和圖14所示,圖12為電機轉矩和轉速隨著時間變化的曲線,圖13為穩態時的磁密分布云圖,圖14為穩態時的電密的分布云圖。
圖12(a)表示轉矩隨著時間變化的曲線,圖12(b)表示轉速隨著時間變化的曲線,其中虛線為原始曲線,實線為優化后的曲線。由圖上可以看出,起動時優化后的轉矩和轉速曲線要比優化前的波動小,起動時間短,由此可知,電機的起動性能得到了較好的優化。

圖12 電機的起動性能Fig.12 Starting performance of the motor
圖13 表示電機在穩態時的磁密分布云圖,圖14表示電機在穩態時的電密分布云圖。從圖中可以看出,在穩態時齒部和額部的磁密以及繞組中的電密滿足電機設計時的要求。

圖13 磁密圖Fig.13 Flux density map

圖14 電密圖Fig.14 Current density map
本文介紹了一種二進制遺傳蟻群算法,可以有效地解決連續變量的優化問題,并將其成功地引用到了自起動永磁同步電動機的優化設計之中。從進化曲線上可以看出,二進制遺傳蟻群算法有很強的全局收斂能力和進化能力。通過采用二進制遺傳蟻群算法對電機的結構參數進行優化,提高了電機的效率、電機的起動性能和運行性能,從而提高了電機的穩定性,增加了電機的壽命。因此,二進制遺傳蟻群算法能使電機得到較好的優化,同時,也為其他電機優化設計提供了參考。
[1]M.DORIGO,M.BIRATTARI,T.STUTZLE.Ant colony optimization[J].IEEE Computational Intelligence Magazine,2006,1(4):28-39.
[2]李士勇,陳永強,李妍.蟻群算法及其應用[M].哈爾濱:哈爾濱工業大學出版社,2004.
[3]馬良,朱剛,寧愛兵.蟻群優化算法[M].北京:科學出版社,2010.
[4]COLOMAI A,DORIGO M,MANIEZZO V,et al.Distributed optimization by ant colonies[C]//Proceedings of the 1stEuropean Conference on Artificial Life,1991,134-142.
[5]DORIGO M,MANIEZZO V,COLOMA A.Ant system:optimization by a colony of cooperating agents[J].IEEE Transaction on Systems,Man,and Cybernetics-Part B,1996,26(1):29-41.
[6]GUTJAHR W J.A graph-based ant system and its convergence[J].Future Generation Computer System,2000,16(8):873-888.
[7]吳慶紅,張紀會,徐心和.具有變異特征的蟻群算法[J].計算機研究與發展.1999,36(10):1240-1245.WU Qinghong,ZHANG Jihui,XU Xinhe.An ant colony algorithm with mutation features[J].Journal of Computer Research &
[8]李開榮,陳宏建.一種動態自適應蟻群算法[J].計算機工程與應用,2004,29(2):152-155.LI Kairong,CHEN Hongjian.A dynamic and adaptive ant algorithm[J].Computer Engineering and Applications,2004,29(2):152-155.
[9]鐘一文,楊建剛.求解多任務調度問題的免疫蟻群算法[J].模糊識別與人工智能,2006,19(1):73-78.ZHONG Yiwen,YANG Jiangang.Immune ant colony algorithm for multi-tast scheduling problem[J].PR and AI,2006,19(1):73-78.
[10]陳國良,王煦法,莊鎮泉.遺傳算法及其應用[M].北京:人民郵電出版社,2001.
[11]J.HOLLAND.Adaptation in natural and artificial systems[M].In Yovits:Self-Organizing Systems,1962.
[12]J.CAVICCHIO.The Reproductive adaptive plans[C]//Proc.of the ACM 1972 Annual Conf,1972:1-11.
[13]KRISHNAKNMAR.Micro-genetic algorithm for stationary and non-Stationary function optimization[C]//SPIE Inteleigent Control and Adaptive Systems,1989:289-296.
[14]CHEN Zhenfeng,ZHONG Yanru,LI Jie.Parameter identification induction motor using ant colony optimization[C]//Proc.of Int.Conf.on Evolutionary Computation(CEC 2008),2008:1611-1616.
[15]LIU Wenbiao,CAO Yangjie,ZHANG Yuan,et al.Parameters optimization of synchronous induction coilgun based on ant colony algorithm[J].IEEE Transactions on Plasma,2011,39(1):100-104.
[16]唐任遠.現代永磁電機理論與設計[M].北京:機械工業出版社,1997:193-233.
[17]王秀和,楊玉波,朱常青.異步起動永磁同步電動機理論設計與分析[M].北京:機械工業出版社,2009:115-141.
[18]ZHAO Baojiang,LI Shiyong.Ant colony optimization algorithm and its application to neuro-fuzzy controller design[J].BIAI Transactions on Systems Engineering and Electronics,2007,18(3):603-610.
[19]于力.基于遺傳算法的中小型同步電機優化設計[D].長沙:湖南大學,2007.
[20]孟大偉,呂海鵬,徐磊.自適應蟻群算法在YKK系列中型高壓電機優化設計中的應用[J].大電機技術,2010:1-4.MENG Dawei,Lü Haipeng,XU Lei.Adaptive ant colony algorithm used in optimization of medium high voltage motor of kky series[J].Large Electric Machine and Hydraulic Turbine,2010:1-4.
[21]楊勇,宋曉峰,王建飛,等.蟻群算法求解連續空間優化問題[J].控制與決策.2003,18(5):573-576.YANG Yong,SONG Xiaofeng,WANG Jianfei,et al.Ant colony algorithm for continuous space optimization[J].Control and Decisions,2003,18(5):573-576.