改進的人工蜂群算法在多目標參數(shù)優(yōu)化中的應用
王耀光 ,王振林2,李迅波2
摘要:本文在Pareto非支配集的基礎上提出改進蜂群適應度算法操作,對蜂群算法產生的每一個個體進行局部搜索。為了提高算法的搜索率,采用精英選擇加快多個目標的并行搜索。實驗結果表明該方法與蜂群算法相比能快速地收斂于Pareto最優(yōu)解。
關鍵詞:多目標優(yōu)化,蜂群算法,Pareto最優(yōu)解
1引言
多目標優(yōu)化是實際中廣泛存在的NP求解難問題。通常問題的最優(yōu)解不是單個解,而是多個解,并且各個解之間的結果是不可比較的。近年來出現(xiàn)了許多優(yōu)秀的多目標有優(yōu)化算法,比如遺傳算法、魚群算法、粒子群算法以及其改進的算法[1-5]。但是這些算法還是存在收斂慢、容易陷入局部最優(yōu)解等問題,有待進一步改進。
為了優(yōu)化多變量、多模態(tài)數(shù)據(jù)函數(shù),Karaboga在2005年首次提出采用人工蜂群(ABC)算法來描述該問題[6]。該算法是模擬蜜蜂群覓食的智能算法,根據(jù)各自分工進行不同的活動,實現(xiàn)蜜蜂群信息的交流個體共享,從而找到問題的最優(yōu)解。函數(shù)優(yōu)化結果表明該算法比遺傳算法、粒子群算法、微分進化算法具有更好的優(yōu)化性能。
2 多目標人工蜂群算法
2.1多目標優(yōu)化問題

2.2 個體適應度
本文采用雙倍排序和自適應密度法,對個體的適應度賦值,首先根據(jù)Pareto的支配關系,對群體中的每一個個體排序,再根據(jù)周圍的擁擠情況計算適應度密度值,最后綜合確定適應度。其方法如下:
2.3基于Pareto的人工蜂群算法
在ABC算法中,人工蜂群由采蜜蜂、觀察蜂和偵察蜂三部分組成。蜜源的位置代表優(yōu)化問題的可能解,蜜源的花蜜量代表相應解的質量或適應度。采蜜蜂的數(shù)量和解的數(shù)量相等。首先ABC算法隨機產生 個初始解(SN為采蜜蜂數(shù)量)。每個解 是一個 維的向量, 是優(yōu)化參數(shù)的個數(shù)。經(jīng)過初始化后,蜂群的位置(解)隨著采蜜蜂、觀察蜂和偵察蜂搜索開始循環(huán)。采蜜蜂根據(jù)記憶中的局部信息調整其位置并檢查新蜜源的花蜜量。如果新位置的花蜜量比原來的多,則蜜蜂記住新的位置忘記舊的位置,否則保留舊的位置。在所有采蜜蜂完成搜索過程后,它們將在舞蹈區(qū)與觀察蜂分享蜜源的花蜜信息和位置信息。觀察蜂據(jù)此按與花蜜量相關的概率選擇一個蜜源位置,像采蜜蜂那樣根據(jù)記憶中的位置做一定的調整,并檢查新候選位置的花蜜量。如果新位置的花蜜量優(yōu)于舊位置的花蜜量則忘掉舊的位置記住新位置。
主要算法步驟如下:
1、 初始化種群的數(shù)量;
2、 循環(huán)搜索;
3、 將采蜜蜂放置到蜜源位置;
4、 根據(jù)觀察蜂的記憶將其放置到蜜源位置;
5、 放出偵察蜂到搜索區(qū)域尋找新的蜜源;
6、 記住搜索過程中最好的蜜源位置;
7、 循環(huán)搜索直到滿足要求。
本文利用Pareto最優(yōu)概念,將優(yōu)于某個體的個體適應度值作為該個體的適應度值,一個觀察蜂選擇蜜源的概率取決于蜜源的概率值 ,其計算如下:

2.4 精英選擇
精英選擇的思想源于遺傳算法的精英策略。精英策略就是在算法的迭代過程中,從上一代保留優(yōu)秀的潛在解至下一代的過程,簡單地從上一代中直接拷貝相應的解至下一代是常用的方法。從遺傳算法的整個選擇策略來看,精英選擇是群體收斂到優(yōu)化問題最優(yōu)解的一種基本保障。如果下一代群體的最佳個體適應值小于當前群體最佳個體的適應值,則將當前群體最佳個體或者適應值大于下一代最佳個體適應值的多個個體直接復制到下一代, 隨機替代或替代最差的下一代群體中的相應數(shù)量的個體。為了提高多目標解的質量和算法的收斂速度,本文提出基于精英選擇的蜂群算法求解多目標優(yōu)化問題,其方法如下:
每個單目標問題所生成的個體集合稱為子種群,所有子種群的結合稱為多目標種群,各個但目標的子種群規(guī)模是相同的,另外建立一個精英種群來保存Pareto最優(yōu)解。在每生成新一代多目標種群后都將根據(jù)下列定義對精英種群中的個體進行更新,保證精英種群中的解都是目前意義上的Pareto最優(yōu)解。

源位置,利用精英選擇思想評價該位置是否優(yōu)于觀察蜂所選位置,是則替換所選位置;
(7) 記住搜索過程中的最優(yōu)蜜源位置(解);
(8) 判斷是否滿足終止條件,否則轉向步驟(2),否則停止計算。
3 實驗驗證
為了驗證本文提出的方法的有效性以及ABC算法改進前后性能的比較,采用參考
文獻[8]的測試函數(shù)。

在改進前后的ABC算法中,最大循環(huán)次數(shù)為2000。為了統(tǒng)計算法收斂的平均誤差和均值,每個測試函數(shù)均做30次實驗。每次循環(huán)運算的時候觀察蜂和采蜜蜂均為50%的種群數(shù)量。表1~3為不同種群數(shù)量的蜂群算法改進前后對比結果
從表中可以看出改進前后算法的收斂速度得到了很大的提高,在種群數(shù)量較少的情況下本文的方法沒有多大的優(yōu)勢,但隨著種群數(shù)量的增加本文的算法越趨近最優(yōu)解。
4 結束語
本文提出了一種改進蜂群適應度算法,該算法將精英選擇方法嵌入到迭代過程中,保證精英種群中的解都是目前意義上的Pareto最優(yōu)解。文章最后通過3種基本測試函數(shù)加以驗證,結果表明本文的算法在種群數(shù)較大的情況下明顯優(yōu)于改進前人工蜂群算法。
參考文獻
[1] Michalewicz Z, Schoenauer M. Evolutionary algorithms for constrained paprameter optimization problems[J] .Evolutionary Compution, 1996, 4(1):1-32 .
[2] FARZI S. Efficient job scheduling in grid computing with modified artificial fish swarm algorithm [J]. International Journal of Computer Theory and Engineering, 2009, 1(1):13-18.
[3] 宋松柏,蔡煥杰,康艷. 約束優(yōu)化問題的遺傳算法求解[J].
西北農林科技大學學報(自然科學版), 2005,(01):150-154.
[4] 余廷芳,彭春華. 遺傳粒子群混合算法在電廠機組負荷組合優(yōu)化中的應用[J].
電力自動化設備, 2010,(10) :22-26
[5] 徐剛,楊玉群,黃先玖. 一種非線性權重的自適應粒子群優(yōu)化算法[J].
計算機工程與應用, 2010,(35):49-51
[6] Karaboga D.A idea based on bee swarm for numerical optimization [R].Technical report-TR06,Erciyes University, Engineering Faculty,Computer Engineering Department,2005.
[7] 李 緯, 張興華. 一種改進的基于pareto解的多目標粒子群算法[J].
計算機仿真, 2010,(5):96-99.
[8] Dorgo M. The ants system: optimization by a colony of cooperating agents [J]. IEEE Transaction on System. Man and Cybernetics Part B,1996,26(l):29.
轉載請注明來自:http://www.jinnzone.com/shuxuelw/14505.html