曲福恒,胡雅婷,楊勇,谷欣超
(1.長春理工大學(xué) 計算機(jī)科學(xué)技術(shù)學(xué)院,長春 130022;2.吉林農(nóng)業(yè)大學(xué) 信息技術(shù)學(xué)院,長春 130118)
差分進(jìn)化算法(Differential evolution,DE)是由Storn與Price提出的一種進(jìn)化算法[1],DE性能良好且易于控制,已經(jīng)成功的應(yīng)用于各個領(lǐng)域,成為進(jìn)化算法的研究熱點(diǎn)之一。與其它的進(jìn)化算法一樣,DE是一種基于種群演化的隨機(jī)搜索算法。它通過變異、交叉、選擇操作引導(dǎo)種群走向優(yōu)化問題的全局最優(yōu)解。
DE的性能主要依賴于新個體的產(chǎn)生策略及算法中的三個控制參數(shù)種群規(guī)模NP、縮放因子F與交叉概率CR。在面臨一個具體的最優(yōu)化問題時,首先需要確定采用哪種策略來運(yùn)行DE,然后還要根據(jù)當(dāng)前的策略選擇合適的參數(shù)。選擇的不合理可能導(dǎo)致算法的搜索效率低下以及產(chǎn)生早熟收斂的問題。不同的優(yōu)化問題其適用的策略與參數(shù)可能不同,這就需要采用嘗試不同的組合來找到最適合于當(dāng)前問題的策略與參數(shù)。DE的進(jìn)化策略眾多加之不同的參數(shù)都具有一定的取值范圍,這種窮舉嘗試的方法在效率上顯然是非常低下的。為了解決這個問題,學(xué)者們提出了自適應(yīng)參數(shù)或者策略的DE算法。多數(shù)自適應(yīng)DE算法集中在參數(shù)方面,大體可分為兩類,第一類是通過進(jìn)化過程的信息反饋來調(diào)整DE的參數(shù)[2],第二種是直接把DE的參數(shù)編碼于進(jìn)化個體中直接參與進(jìn)化[3]。最近,學(xué)者對DE的策略進(jìn)行了自適應(yīng)方面的研究,提出了自適應(yīng)策略的DE算法[4],取得了一定的進(jìn)展并提高了DE的性能,值得指出的是算法不需要設(shè)定任何參數(shù)具有較好的可控性[5]。
綜上可知,DE算法性能依賴于策略與參數(shù)的選擇,選擇不當(dāng)會導(dǎo)致算法的早熟和搜索效率低下。針對這個問題,本文提出了一種多策略多參數(shù)并行的DE算法。在種群的演化過程中,對每個目標(biāo)個體采用多個策略與多個參數(shù),一次產(chǎn)生多個試驗個體。利用競爭規(guī)則確定進(jìn)入選擇階段的優(yōu)勢個體,有效的保持了種群內(nèi)個體的多樣性,提高了搜索效率,在一定程度上避免了早熟收斂現(xiàn)象的發(fā)生。
DE算法是一種簡單高效的基于種群演化的隨機(jī)全局優(yōu)化技術(shù),由Storn和Price于1995年提出[6]。與其它進(jìn)化算法一樣,DE從某一隨機(jī)初始化的群體開始,通過多種操作(變異和交叉)產(chǎn)生新的個體,在按照一定的規(guī)則進(jìn)行選擇操作決定進(jìn)入下一代的個體,最終引導(dǎo)種群走向全局最優(yōu)解。下面以典型的DE算法-DE/rand/1/bin來敘述各個操作的細(xì)節(jié)。
這里rl(l=1,2,3)是從集合{1,2,…,NP}中隨機(jī)選擇的互不相同整數(shù)。F∈[0,2]為縮放因子,它體現(xiàn)了新向量中差分向量所占的比重。
CR∈[0,1)是交叉概率,jrand∈{1,2,…,D}是一個均勻分布隨機(jī)數(shù)發(fā)生器產(chǎn)生的整數(shù)。
差分進(jìn)化算法通過兩個主要的操作變異和交叉來對種群個體進(jìn)行擾動,從而保持種群內(nèi)個體的多樣性,實(shí)現(xiàn)在整個搜索空間的開發(fā);通過選擇操作引導(dǎo)個體走向全局最優(yōu)解,實(shí)現(xiàn)算法在局部區(qū)域的探索。這種擾動(開發(fā))與選擇(探索)過程的實(shí)現(xiàn)與其它的進(jìn)化算法類似。在擾動過程中,首先在父代中,按照某種規(guī)則選擇一個個體加上兩個隨機(jī)選擇個體的差向量,得到一個新個體,DE算法的個體以一定的概率被新個體取代。選擇過程中,通過適者生存的競爭機(jī)制保留新個體與原個體中的優(yōu)勢個體。DE算法中至少存在三種不同性質(zhì)的收斂類型:
全局收斂:算法在要求的代數(shù)內(nèi)達(dá)到了全局最優(yōu)解。此時表明,算法在開發(fā)和探索之間達(dá)到了一個較好的平衡。
早熟收斂:算法在搜索過程中陷入了某個非最優(yōu)解點(diǎn)。表明算法的開發(fā)能力較弱,沒有有效地保持種群的多樣性。
慢速收斂:算法具有找到全局最優(yōu)解的能力,但速度較慢沒有在要求的代數(shù)內(nèi)達(dá)到全局最優(yōu)解。表明與探索能力相比,開發(fā)(擾動)能力過強(qiáng)。
影響DE算法收斂性質(zhì)的兩個最為重要的因素為控制參數(shù)和進(jìn)化策略。目前對控制參數(shù)的研究較多,控制參數(shù)包括種群規(guī)模、交叉概率和縮放因子。大量研究的實(shí)驗結(jié)果表明,DE算法的性能對控制參數(shù)的取值極為敏感。已有的經(jīng)驗表明,對應(yīng)于三種不同的收斂性質(zhì)可以把參數(shù)空間分解為三部分。假設(shè)已經(jīng)得到了參數(shù)空間的這種分解,將很容易的對算法的參數(shù)進(jìn)行選擇。然而不幸的是,這種參數(shù)空間的分解是很難得到的。鑒于此,學(xué)者對自適應(yīng)參數(shù)的DE算法進(jìn)行了大量的研究,并取得了一定進(jìn)展。結(jié)果表明,自適應(yīng)參數(shù)的DE算法在保持種群的多樣性同時具有較好的探索能力。另一方面,DE算法的進(jìn)化策略眾多,不同的進(jìn)化策略具有不同的尋優(yōu)性能。最近,學(xué)者對DE的策略進(jìn)行了自適應(yīng)方面的研究,提出了自適應(yīng)策略的DE算法[4],取得了一定的進(jìn)展并提高了DE的性能。這也說明良好的策略對于保持開發(fā)與探索之間的平衡具有重要的意義。
由于優(yōu)化問題本身性質(zhì)(如單峰或者多峰)的不同,不可能找到一個統(tǒng)一組合策略與參數(shù)的DE算法來有效地處理不同類型的優(yōu)化問題;而對于一個具體的優(yōu)化問題,不同策略和參數(shù)組合的DE算法的尋優(yōu)能力也會有差異[4,7]。對于一個具體的問題,某些組合具有更高的尋優(yōu)能力,說明它在進(jìn)化的過程中較好的保持了個體的多樣性,并能夠在開發(fā)和探索上達(dá)到了較好的平衡。基于以上分析,本文提出了一種改進(jìn)的差分進(jìn)化算法(IDE,improved Differential Evolution Algorithm)來繼承不同策略與參數(shù)組合DE的優(yōu)點(diǎn)。
在變異階段,IDE采用并行的方法在進(jìn)化的過程中同時采用多個策略與參數(shù)組合來一次產(chǎn)生多個實(shí)驗個體,這樣就保持了種群的多樣性,在一定程度上避免了早熟收斂的發(fā)生。在選擇階段,IDE采用錦標(biāo)賽規(guī)則決定進(jìn)入下一代的個體,保持了優(yōu)勢個體,提高了搜索的效率。IDE吸收了不同策略與參數(shù)組合DE算法的優(yōu)點(diǎn),在開發(fā)與探索上達(dá)到了較好的平衡。IDE算法具體步驟如下:
對i=1,2,…,NP,進(jìn)行下面操作:
若滿足終止條件,停止算法。否則,令g=g+1,轉(zhuǎn)至步驟2。
表1 測試數(shù)據(jù)Tab.1 Test data
測試數(shù)據(jù)集包括標(biāo)準(zhǔn)測試數(shù)據(jù)庫CEC2005中的8個典型函數(shù),其中有4個單峰函數(shù),4個多峰函數(shù),具體細(xì)節(jié)見表1。對比的算法包括三組不同參數(shù)設(shè)置下的DE/rand/1/bin算法,三組參數(shù)分別為F=0.9、CR=0.9,F(xiàn)=0.9、CR=0.1,F(xiàn)=0.5、CR=0.3。IDE的參數(shù)設(shè)置為,最大函數(shù)調(diào)用次數(shù)FEmax=300000,種群規(guī)模NP=100,進(jìn)化策略為(1)DE/rand-to-best/1/bin,(2)DE/best/1/bin,策略參數(shù)選擇兩組分別為F=0.5、CR=0.5,F(xiàn)=0.9、CR=0.9。每個算法獨(dú)立運(yùn)行25次,最優(yōu)適應(yīng)度值與理論最優(yōu)值的誤差、標(biāo)準(zhǔn)差以及函數(shù)調(diào)用次數(shù)分別列于表2、表3。從表2可以看出,本文算法在6組測試數(shù)據(jù)上達(dá)到了所有算法的最好結(jié)果,其次是DE3算法,在3組數(shù)據(jù)上達(dá)到了最好結(jié)果。而從標(biāo)準(zhǔn)差上可以看出,本文算法在6組最好結(jié)果的5組中的標(biāo)準(zhǔn)差是最小的。從表3可以看出,IDE在7組數(shù)據(jù)上達(dá)到了最快的收斂速度。綜上可知,與傳統(tǒng)DE算法相比,本文算法在尋優(yōu)能力、穩(wěn)定性和尋優(yōu)效率上均有著相對較好的性能。
表2 不同算法結(jié)果Tab.2 Results from different algorithms
表3 不同算法函數(shù)平均調(diào)用次數(shù)Tab.3 Average function evaluations of different algorithms
模糊c均值聚類(FCM)是應(yīng)用最為廣泛的一種聚類算法,但其受到初始化敏感問題的影響性能欠佳,把提出的IDE應(yīng)用到FCM目標(biāo)函數(shù)優(yōu)化中以改進(jìn)聚類效果。由于聚類問題的數(shù)據(jù)維數(shù)和函數(shù)復(fù)雜程度較低,IDE的參數(shù)設(shè)置中最大函數(shù)調(diào)用次數(shù)改為FEmax=10000,種群規(guī)模NP=10,其它設(shè)置與前面一致。
從表4的結(jié)果能夠看出,當(dāng)聚類個數(shù)較小的時候,F(xiàn)CM算法能夠找到目標(biāo)函數(shù)的全局最優(yōu)解。而隨著聚類個數(shù)的增加,算法很難正確的初始化所有中心,導(dǎo)致了陷入局部極值,此時,應(yīng)用了IDE的聚類優(yōu)化結(jié)果具有明顯的優(yōu)勢。從圖1中也可以看出,基于IDE的模糊聚類結(jié)果更加合理,能夠正確的得到聚類的結(jié)構(gòu),而FCM則由于使用的迭代法無法保證收斂到全局最優(yōu),產(chǎn)生了錯誤的聚類劃分。
圖1 不同算法聚類結(jié)果圖Fig.1 Clustering results from different algorithms
表4 目標(biāo)函數(shù)優(yōu)化結(jié)果Tab.4 Optimization results of the objective functions
本文算法在種群的演化過程中,對每個目標(biāo)個體采用多個策略與多個參數(shù),一次產(chǎn)生多個試驗個體。利用競爭規(guī)則確定進(jìn)入選擇階段的優(yōu)勢個體,有效的保持了種群內(nèi)個體的多樣性,在開發(fā)和探索上達(dá)到了較好的平衡,并將提出的算法應(yīng)用到模糊聚類分析中取得了良好的效果。實(shí)驗結(jié)果表明,算法具有較高的尋優(yōu)效率和較好的穩(wěn)定性。
[1]Storn R,Price K.Differential evolution--a simple and efficient heuristic for global optimization over continuous spaces[J].Journal of global optimization,1997,11(4):341-359.
[2]Omran M,Salman A,Engelbrecht A.Self-adaptive Differential Evolution[A].Computational intelligence and security[C].Berlin:Springer,2005:192-199.
[3]Brest J,Greiner S,Boskovic B,et al.Self-adapting control parameters in differential evolution:A comparative study on numerical benchmark problems[J].Evolutionary Computation,IEEE Transactions on,2006,10(6):646-657.
[4]Qin A,Huang V,Suganthan P.Differential evolution algorithm with strategy adaptation for global numerical optimization[J].Evolutionary Computation,IEEE Transactions on,2009,13(2):398-417.
[5]Neri F,Tirronen V.Recent advances in differential evolution:a survey and experimental analysis[J].Artificial Intelligence Review,2010,33(1):61-106.
[6]STORN R,PRICE K.Differential evolution-a simple and efficient adaptive scheme for global optimization over continuous spaces[R].Berkeley,USA:University of Califiornia,International Computer Science Institute,1995.
[7]Mallipeddi R,Suganthan PN,Pan QK,et al.Differential evolution algorithm with ensemble of parameters and mutation strategies[J].Applied soft computing,2011,11(2):1679-1696.