本站小編為你精心準備了混合策略的引力搜索算法參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
《系統工程與電子技術雜志》2014年第五期
1引力搜索算法基本原理
在GSA算法中,種群個體在萬有引力的作用下相互運動,式中質量較大的個體所產生的作用力較大,因此會吸引其他個體,當搜索結束時,質量最大的個體處在最優位置上,其位置信息對應相應優化問題的最優解。在對最優解進行搜索的過程當中,依靠彼此間力的作用來達到優化信息的共享,最終在萬有引力的作用下,使得種群朝著最優解所在的區域運動。通過個體的適應度值來計算其慣性質量的大小,慣性質量相對較大的個體所處的位置較優,其距離最優值也相對較近,該個體對其他個體的力的作用也較大,同時其所獲得的加速度相對較小,運動較慢。個體的質量以及慣性質量計算方式如式(8)所示。
目前許多智能優化算法都存在收斂速度慢、易陷入局部最優等問題,GSA算法也同樣面臨這些問題,本文對算法中存在的這些問題進行了深入的研究,找出了存在以上不足的根本原因,并從兩個方面進行改進,提出一種基于混合策略的引力搜索算法(gravitationalsearchalgorithmwithmixedstrategy,MGSA),下面分別進行詳細介紹。
2.1個體自身進化率的提出GSA算法具有較強的全局搜索能力,但過分的注重搜索的全局性,會導致算法對最優解搜索時,收斂速度較慢。因此為了提高算法的收斂速度,提高算法的整體性能,提出了利用個體自身進化率的改進策略,具體描述如下。隨著迭代的進行,當種群個體得到相比原種群個體更優的解時,為了利用獲得更優解個體的進化趨勢,以期得到更優個體,首先對粒子每代的進化是否得到較優解進行判定,對于滿足判定條件的粒子,求出該粒子一次迭代前后各維度上的變化率,并按照這一變化率對該粒子繼續執行相應的變化操作,直到不滿足判定條件為止。這樣利用自身進化趨勢的策略有兩個優勢:1)使種群快速朝著更優區域收斂,提高了收斂速度;2)沒有朝著當前最優解進化,而是按照自身得到的進化趨勢的進化,又保證了種群的多樣性,降低了種群陷入局部最優的可能。另外,對于不同的進化階段,進化前期,粒子分布較為分散,具有豐富的多樣性,粒子較容易得到相較于當前更優的解;而進化后期,粒子分布較為集中,陷入局部最優的可能性會增加,得到較優解的難度會增大,因此,判定條件需隨著種群的進化區間而相應的變化,綜合以上分析,改進過程具體描述如下。首先判斷是否對個體i采用個體自身進率策略,判斷條件如(10)所示。
2.2變異上述的改進雖然使種群的整體進化趨勢朝著最優解方向運動,但隨著進化的進行,種群個體的多樣性將隨時間逐漸降低,尤其是到了進化后期,對其他粒子產生作用力的粒子只有少數幾個最優的,一旦陷入局部最優并沒有其它機制幫助跳出,將導致算法停止尋優的過程,針對這種情況,本文提出一種帶有方向性的變異策略對個體進行變異處理:在進化前期,種群個體分布較為分散,每個個體的進化趨勢都是由其他個體共同作用的結果,因此為了保持種群多樣性,前期變異應去掉發生,應采取對當前最優個體施加變異的方式來擾動種群粒子。基于以上分析,對于進化未得到更優解的粒子,便對其進行變異,具體變異公式如(13)所示。實驗比較,當c取值為2時效果較好。變異得到的新個體再與變異前進行比較,并保留適應度值較好的個體。這樣在進化前期,擾動是圍繞著當前粒子進行的,擾動的中心由當前個體逐漸轉移到最優個體上,這樣不斷的對粒子施加擾動,可避免種群因陷入局部最優而導致的整個群體出現搜索停滯,增強了算法的局部開采能力。
2.3算法執行步驟整合對GSA的兩個改進策略,本文所提算法具體步驟描述如下。步驟1初始化種群個體的數量、維數,并為每個個體隨機產生位置、速度;設定引力常量中的G0、a,規定最大迭代次數T。步驟2計算每個個體的適應度值,并求出其相應的慣性質量。步驟3根據個體的慣性質量,求得每個個體所受的合力,進而求得其加速度。步驟4對于滿足條件(10)的粒子,采用個體進化率策略,以提高粒子進化速度。步驟5對種群采用公式(12)所示的變異策略,并與變異前進行比較,保留最優值。步驟6若判斷不滿足終止條件,則轉到步驟2,若滿足條件,則輸出當前最優解。
3實驗結果與分析
為驗證算法的整體性能,通過仿真實驗對所提算法進行測試,并與GSA算法及目前改進效果最好的IGSA算法和GPS算法進行對比。實驗的仿真環境為Intel®Core™2DuoCPUP72502.0GHz、內存2GB、主頻1GHz、Windows7操作系統的計算機上進行,仿真軟件采用Matlab2010.b。驗證算法性能所選取的測試問題,本文采用目前較流行的11個典型Benchmark函數進行測試。這些函數的取值范圍以及理論最優值如表1所示。這些函數是由一些具有連續型單模態函數、非連續型單模態函數、噪聲函數以及復雜的多模態函數所組成,他們可以測試算法的全局搜索性能和避免早熟的能力。
3.1實驗參數設置
所有算法的種群規模N設置為50,粒子的維數K取30,對所有測試函數的最大迭代次數設為1000次,引力常量G0取100。
3.2實驗仿真及結果分析
每個測試函數均獨立運行30次,并以測試結果的平均值和方差、函數評價次數及成功率(SR)來考察算法的尋優性能,在衡量算法的收斂速度時,設定各函數的求解精度VTR=10-6(除了函數f6,VTRf6=10-3)。
3.2.1兩個改進效果的性能測試首先驗證兩個改進策略各自的改進效果,因篇幅有限本文選取單峰函數f3和多峰函數f10驗證個體變化率對算法的改進效果,實驗結果如圖1所示,選取單峰函數f1和多峰函數f8驗證變異對于算法的改進效果,實驗結果如圖2所示。從圖2中可以看出,對函數f3的尋優過程中,改進后的算法較原算法在收斂精度以及收斂速度上都有較大提高,對于函數f10的尋優過程中,采用個體進化率的算法較原算法在收斂精度上有所提高,證明了個體進化率策略的有效性從圖3中可以看到,在對f1、f8的尋優過程中,無論是算法的收斂速度還是計算精度,采用變異策略后的算法都優于改進前的算法,證明了變異策略的有效性。
3.2.2MGSA算法整體性能測試將本文提出的MGSA與GSA、IGSA和GPS進行比較,每個測試函數都獨立運行30次,并記錄最終得到測試結果的平均值和方差,所得的四種算法的實驗結果如表2所示。所得結果平均值較小的算法,其對最優解的搜索能力較強,方差較小的算法穩定性較高,從表2數據結果可以看出,在幾乎所有測試函數中,無論是收斂精度還是算法的穩定性,MGSA算法在解決單峰優化函數和多峰優化函數上都取得了較優的結果。為了比較四種算法的收斂速度,通過實驗記錄,表3給出了算法達到規定精度時的函數評價次數、平均時間以及成功率。由表3可知,對于f1,f2,f4,f6,f7,f8,f9,MGSA算法較GSA算法,IGSA算法和GPS算法的函數評價次數和平均時間均較少;對于f3,只有MGSA算法最終收斂到最優解;對于f5,f10,f11,MGSA算法的函數評價次數最少,但收斂速度略低于GSA算法,雖然函數評價次數和最終的CPU運行時間均較多,但是取得最優值的成功率較高。綜合算法在各個測試函數上的CPU運行時間以及函數評價次數這兩個方面,可以看出在收斂速度上,MGSA算法明顯優于GSA算法、IGSA算法和GPS算法。通過對實驗仿真結果的分析可知,MGSA算法與其他3種算法相比,在收斂速度和收斂速精度上均有顯著提高,說明本文提出的兩個改進措施較為有效,混合改進策略能夠較好地平衡算法全局搜索能力和局部開采能力,有效避免了算法易陷入局部最優的缺陷。
4結束語
本文提出了一種基于混合改進策略的引力搜索算法(MGSA)。該算法主要有兩個創新點工作:(1)提出種群個體進化率,充分利用了進化過程中的有效信息,增強算法對解的搜索能力;(2)提出帶有方向性的變異策略,前期可增強全局勘探能力,后期可增強局部開采能力,一定程度上避免算法陷入局部最優。從仿真實驗可以看出,本文提出的MGSA算法具有較好的收斂速度和收斂精度,有較強的跳出局部最優的能力,在解決函數優化問題上優勢明顯,具有較好的推廣價值。
作者:畢曉君刁鵬飛肖婧單位:哈爾濱工程大學信息與通信工程學院遼寧省交通高等專科學校信息工程系