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