999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于分區和分層搜索的并行粒子群算法

2009-01-01 00:00:00蔣玉明張培頌
計算機應用研究 2009年5期

(四川大學 計算機學院 成都 610065)

摘 要:為提高粒子群優化算法在優化問題中的效率,提出了并行粒子群優化算法(SLPSO)。其基本思想是并行機制+解空間壓縮+分層搜索。主要工作包括:搜索空間劃分為n個區,由n個子群并行搜索,將搜索結果最好的作為指定的搜索空間,即將搜索空間縮小到原解空間的(1/n);提出了粒子群兩層劃分模型,底層利于擴大搜索范圍,上層利于全局精細搜索。在四個基準函數上的優化實驗表明,新方法比經典的IPPSO并行粒子群算法在解的精度上提高了80.37%。

關鍵詞:并行粒子群算法; 分區; 分層搜索

中圖分類號:TP301.6文獻標志碼:A

文章編號:1001-3695(2009)05-1670-03

Parallel particle swarm optimization algorithmbased on spacedivision and layered search

GONG Yan JIANG Yuming ZHANG Peisong

(College of Computer Science Sichuan University Chengdu 610065 China)

Abstract:To improve the efficiency of particle swarm optimization this paper proposed a novel parallel particle swarm optimization algorithm(SLPSO).The basic idea is parallel mechanism and spacedivision and layered search. The main contributions include divided whole search space into n sub ares. For certain generations let the best sub areabe the search space. This shrinked the search space to the solution space. Proposed two layers partition of particles the lower andtopper work well for global and local search respectively. By experiments on four benchmark functions shows that the new algorithm increases precision by 80.37% compared with IPPSO.

Key words:parallel particle swarm optimization; spacedivision; layered search

粒子群優化算法(PSO)由Kennedy等人[1,2]提出,能有效解決復雜優化任務[3]。但PSO在接近最優解時搜索速度低,且很難得到精確最優解。為解決上述問題,需增加粒子群的粒子數,或減弱粒子對全局最優點的追逐。增加粒子數將導致算法計算復雜度增高,而減弱粒子對全局最優點的追逐又存在算法不易收斂的缺點。并行粒子群算法[4]可以減小粒子間的相互干擾,擴大搜索范圍;對于大規模的多變量求解具有重要的意義[5],可以提高解的速度和質量。但是現有的并行粒子群算法采用的信息共享方式與PSO在本質上是一樣的[6],不能從根本上解決PSO早熟問題。為此,本文提出了并行粒子群的改進算法。

1 傳統概念和算法

PSO算法與其他演化算法相似,根據對環境的適應度將群體中的個體移動到好的區域。不同于其他演化算法,PSO不對個體使用演化算子,而將個體看做D維搜索空間中無體積的粒子,在搜索空間中以一定的速度飛行。

在D維空間,第i個粒子被描述為Xi=(xi1,xi2,…,xiD);每個粒子迄今所經歷的個體最優位置描述為Pi=(pi1,pi2,…,piD);整個粒子群搜索到的最優位置為Pg=(pg1,pg2,…,pgD)。加上慣性權重因子[7],粒子狀態更新策略為

v(t+1)id=wv(t)id+c1r1(pid-x(t)id)+c2r2(pgd-x(t)id)(1)

x(t+1)id=x(t)id+v(t+1)id(2)

其中:w為慣性權重;c1、c2為學習因子,一般取值為2;r1、r2為分布在(0,1)間的隨機數;v(t)id表示第i個粒子在第t次迭代時在第d維上的速度;pid表示第i個粒子的歷史最優位置在第d維上的坐標;pgd表示整個粒子群中最優粒子在第d維上的坐標。

文獻[8]提出了一種基于島嶼模型的并行粒子群算法(IPPSO)。IPPSO將整個粒子群劃分為多子群體,每個子群體在各自群內進行全局PSO搜索,在子群內對每個粒子適應度進行計算和評價,產生群內最佳粒子。子群全體演化采用一個獨立的子進程來完成,各子進程利用集中遷移策略,周期性地將島內最佳粒子發給主進程,集中形成主群。主進程則選出主群中全局最佳粒子廣播給子進程,迫使子群體進行全局最優演化。

2 分區和分層搜索

IPPSO搜索策略是將粒子群分成幾個子群,然后各個子群各自在問題解空間的完整空間內搜索,一直到算法結束。實際上,隨著粒子群的搜索,解空間范圍應該慢慢縮小,不應該仍然在整個解空間搜索。

2.1 基于分區的思想

PSO的整個搜索過程中,個體導向因子(即式(1)的第二部分)起探測作用,全局導向因子(即式(1)的第三部分)起開拓作用[9]。探測是指在問題空間中開辟新的搜索域去試探全局最優解;而開拓是指將搜索集中到有希望的候選解,使搜索迅速定位到最優解以提高收斂速度。PSO前期側重探測(全局搜索),后期側重開拓(局部搜索)有利于算法提高性能[10]。

數據結構中的折半查找法給了很好的啟示。折半法在查找時,先將要找的查找空間分成兩半,確定要找的數在哪一半,這樣就將查找空間縮小到原來的1/2,然后又將定下的查找空間分成兩半,一直到算法結束。

類似于折半查找算法,分區的基本思想是并行機制結合搜索空間的壓縮,將初始的搜索空間劃分為n個區,由n個子群并行搜索,每隔一定代數,將其中搜索結果最好的一個區作為指定的搜索空間,這樣就將搜索空間縮小到原解空間的1/n,然后對其再進行分區搜索,又將壓縮到原始解空間的1/n2,直到將解空間壓縮到足夠小。

同時產生了一個新的問題,即如何確定某一個子搜索空間是整個解空間的最優解空間。本文將每個子群固定在周期t內,得到平均適應度值作為評價標準,在該周期內的平均適應度值最高的某一個子群所在的搜索空間將作為下個周期搜索的空間。

為避免遺漏掉出現在邊界上的最優解,每次要將最佳解空間擴充邊緣(10%左右),然后作為下個周期的搜索空間。算法1描述了這一過程。

算法1 分區搜索的函數形式

search()

{arrange every division of solution space to a particle swarm; 

//主進程將解空間的劃分分派到各個群

for every particle swarm//每個群對應一個子進程

{while (maximum iterations is not attained)

{initialize all particles;//將粒子隨機散落在解空間

calculate fitness value;//計算適應度}

calculate average of fitness as referee strategy; 

//計算適應度的平均值}

send average of fitness to main process;

//各子進程將各自平均適應值傳送給主進程

select excellent subspace of solution from divisions of solution space; 

//選擇最優區域

set the excellent subspace with small extension as new solution space;

//將最優區域的邊緣微微擴展并作為新的解空間 }

2.2 分層搜索技術

為了改善PSO和IPPSO局部搜索能力差的缺點,本文提出了分層搜索(layered search)的思想。PSO算法局部搜索能力差的原因是在開始階段搜索較大的解空間,然后才在較好解的鄰域內精細搜索。為了提高算法的精細搜索能力,使得算法的任何階段都能同時進行探索和開拓,采用兩層搜索,將整個粒子群劃分為S個子群體。前S-1個粒子群作為底層在各自的進程上相互獨立地搜索解空間以擴大搜索范圍;第S個粒子群作為上層總是追隨全局最優解進行精細搜索以加快收斂,改進PSO和IPPSO局部搜索能力差的缺點。算法2描述了這一過程。

算法2 基于分層搜索的函數形式

convergence()

{arrange the final best subspace of solution to all particle swarms;

while (maximum iterations or minimum error criteria is not attained)

{for every paticle swarm

{initialize all particles;//各子群初始化,優化群的速度較小

calculate fitness value;//計算適應度

particle fly;//微粒飛翔,微粒運動}

if (the time of transference has arrived);

{attain best fitness of every particle swarm;

//子進程將最優適應度傳送給主進程

select best solution;//選擇最優的解

set the best solution to all particle as group best solution;

//將最優解廣播到子進程

if (the best of group changed) { //當群體最優發生變更時

optimized particle follow; } //優化群緊隨}}}

2.3 分區和分層搜索

算法2描述的分層搜索算法主要是為了局部精細搜索。因此,在前期進行了分區搜索,壓縮解空間,后期應該采用分層搜索來進行局部精細搜索。其過程如算法3所示。

算法3 基于分區和分層搜索的并行粒子群算法

(SLPSO)

{search();//前期分區搜索,可一次或多次迭代

convergence();//后期分層搜索

output result;//輸出結果}

在前期進行四次分區搜索以后,解空間已經足夠小,接下來后期就可以進行分層搜索。

3 分區和分層搜索實驗

3.1 實驗條件和參數設置

實驗平臺為JDK1.5多線程來模擬多進程。每個子群用一個線程實現。采用四個無約束優化標準測試函數,即Sphere、Rosenbrock、Griewank、Rastrigrin,維數均為10,分別采用PSO、IPPSO、SLPSO進行實驗,并進行比較,如表1所示。

表1 標準測試函數

名稱表達式最大速度搜索空間維數/d最小值位置

Sphere∑di=1x2i(0.9)d(-100,100)d10(0)d

Rosenbrock∑d-1i=1[100(xi+1-x2i)2+(xi-1)2](1.1)d(-100,100)d10(1)d

Griewank1/4000∑di=1x2-i ∏di=1 cos(xi/i1/2)+1(6.6)d(-600,600)d10(0)d

Rastrigrin∑di=1[x2i-10 cos(2πx2i)+10](0.06)d(-5.12,5.12)d10(0)d

為了提高可比性,三種算法取同樣的參數,粒子總數均為80,演化代數為1 000。IPPSO和SLPSO取相同的參數,將粒子分成四個子群,每個子群20個粒子,各子群線程都是每隔20代向主線程傳送群內最佳粒子。PSO、IPPSO、SLPSO的慣性權重w的取值一樣,從0.9線性遞減至0.4,學習因子c1、c2均為2。

3.2 驗證分區搜索的有效性

對四個測試函數的原始解空間分別進行了四輪迭代搜索,每輪搜索的周期是150代,以驗證分區搜索的可行性。搜索后生成的新的解空間如表2所示。

表2 原始解空間經過1~4次分區搜索(擴充邊緣)后形成的新的解空間

目標函數最小值位置原始解空間第1次第2次第3次第4次

Sphere(0)d(-100,100)

(-5.0,55.0)d(-6.5,11.5)d(-2.95,2.45)d(-1.24,0.38)d

(-55.0,5.0)d(-11.5,6.5)d(-2.45,2.95)d(-0.38,1.24)d

Rosenbrock(1)d(-100,100)(-5.0,55.0)d(-6.5,11.5)d(-2.45,2.95)d(0.11,1.73)d

Griewank(0)d(-600,600)

(330.0,30.0)d(-69.0,39.0)d(-17.7,14.7)d(-2.31,7.4)d

(30.0,330.0)d(-39.0,69.0)d(-14.7,17.7)d(-7.4,2.3)d

Rastrigrin(0)d(-10,10)

(-5.5,0.5)d(-1.15,0.65)d(-0.30,0.24)d(-0.04,0.12)d

(-0.5,5.5)d(-0.65,1.15)d(-0.25,0.29)d(-0.12,0.04)d

由表2可以看出,解空間成幾何級別地進行壓縮,而且得到新的解空間包含了最優坐標,即壓縮后解空間沒有出現錯誤。因此可以說明分區搜索是有效的。

3.3 比較幾種算法的收斂精度

對三種算法重復運行50次,迭代數為1 000,結果如表3所示。

總的來說,IPPSO比PSO的精度有所提高;SLPSO所得的解的精度比IPPSO大幅度提高了80.37%以上。同時,SLPSO所得的解的精度又比PSO提高了81.16%以上。 

表3 PSO、IPPSO、SLPSO三種算法實驗結果比較

目標函數

PSOIPPSOSLPSO

平均值方差平均值方差平均值方差

Sphere2.314 30.170 82.175 20.149 90.003 12.334 4E7

Rosenbrock75.36311 25451.047 44967.153 94.923 52.134 5

Griewank0.402 40.006 00.386 20.006 20.075 80.001 9

Rastrigrin9.149 316.465 710.609 822.282 03.025 3E47.843 9

3.4 比較幾種算法的收斂成功率

以最大迭代數為2 000和確定的精度為算法結束的條件,運行算法50次。表4給出的實驗結果表明:SLPSO較IPPSO的成功率均提高了10倍以上。

表4 確定精度后PSO、IPPSO、SLPSO三種算法的

迭代代數及成功率

目標函數要求達到的精度

平均迭代次數成功率/%

PSOIPPSOSLPSOPSOIPPSOSLPSO

Sphere1.0e-19878961 0307.013.0100.0

Rosenbrock1.01 4561 3941 1913.06.078.0

Griewank1.0e-11 2351 05699421.035.099.0

Rastrigrin1.09541 0987689.07.0100.0

4 結束語

SLPSO通過前期的分區搜索,能成幾何型的壓縮解空間,后期通過分層搜索精細搜索,對算法的性能提高起了很大的作用。實驗結果表明該算法收斂速度和成功率提高較大。

參考文獻:

[1]KENNEDY J EBERHART R C. Particle swarm optimization[C]//Proc of IEEE International Conference on Neural Networks. 1995: 1942-1948.

[2]KENNEDY J EBERHART R C. A new optimizer using particle swarm theory[C]//Proc of the 6th International Symp on Micromachine. 1995: 39-43.

[3]PARSOPOULOS K E VRAHATIS M N. On the computation of all global minimizers through particle swarm optimization[J]. IEEE Trans on Evolutionary Computation 2004,8(3):211-224.

[4]SCHUTTE J F ,FREGLY B J. A parallel particle swarm optimizer[C]//Proc of the 5th World Congress of Structural and Multidisciplinary Optimization. 2003:19-23.

[5]樊治平,胡國奮.區間數多屬性決策的一種目標規劃方法[J].管理工程學報,2000,14(4): 50-53.

[6]趙勇,岳繼光. 一種新的求解復雜函數優化問題的并行粒子群算法[J]. 計算機工程與應用,2005,41(16):58-60.

[7]SHI Y EBERHART R. A modified particle swarm optimizer[C]//Proc of IEEE International Conference on Evolutionary Computation(ICEC’98). 1998:69-73.

[8]黃芳,樊曉平.基于島嶼群體模型的并行粒子群優化算法[J]. 控制與決策,2006,21(2):175-179.

[9]TRELEA I C. The particle swarm optimization algorithm: convergence analysis and parameter selection[J]. Information Processing Letters,2003,85(6):317-325.

[10]SHI Y EBERHART R. Empirical study of particle swarm optimization[C]//Proc of International Conference on Evolutionary Computation. Washington: IEEE Press 1999.

主站蜘蛛池模板: 天天激情综合| 色婷婷综合激情视频免费看| 五月婷婷亚洲综合| 亚洲美女久久| 欧美a级完整在线观看| 欧美一级专区免费大片| 国产高清在线丝袜精品一区 | 国产精品亚洲天堂| 男女性色大片免费网站| 亚洲中文字幕av无码区| 精品人妻一区无码视频| 午夜天堂视频| 欧日韩在线不卡视频| 国产网站免费看| 欧美一级99在线观看国产| 综合网天天| 欧美怡红院视频一区二区三区| 一本一道波多野结衣av黑人在线| 色偷偷综合网| 99无码熟妇丰满人妻啪啪| 蝴蝶伊人久久中文娱乐网| 欧美成人二区| 欧洲熟妇精品视频| 亚洲欧洲免费视频| 国产人在线成免费视频| 国产区精品高清在线观看| 99久久亚洲综合精品TS| 青草视频在线观看国产| 亚洲一级毛片免费观看| 亚洲男人在线天堂| 国产一区二区三区在线观看视频| 中文字幕乱妇无码AV在线| 手机在线免费不卡一区二| 欧美a在线看| 日本a级免费| 国产精品极品美女自在线看免费一区二区 | 亚洲精品卡2卡3卡4卡5卡区| 久久久久亚洲AV成人网站软件| 国产在线精品美女观看| 亚洲精品成人片在线观看| 91精品专区| 国产一二三区在线| av一区二区人妻无码| 日韩在线播放欧美字幕| 中文纯内无码H| 亚洲视频免| 亚洲水蜜桃久久综合网站| 欧美无专区| 曰韩免费无码AV一区二区| 麻豆精品在线视频| 亚洲国产成人精品无码区性色| 亚洲人成网站观看在线观看| 在线国产你懂的| 青青青草国产| 久久国产热| 久久99久久无码毛片一区二区| 黄片在线永久| 欧美中文字幕在线视频| 欧美日韩久久综合| 在线高清亚洲精品二区| 亚洲人成网站在线播放2019| 久久99热66这里只有精品一| 一本色道久久88亚洲综合| 国产美女精品人人做人人爽| 国产亚洲欧美在线专区| 性69交片免费看| 国产乱人视频免费观看| 热99精品视频| 免费a级毛片18以上观看精品| 美女内射视频WWW网站午夜| 亚洲欧美日韩精品专区| 日韩视频福利| 亚洲高清在线天堂精品| 东京热av无码电影一区二区| 国产精品亚洲精品爽爽| 99久久精品免费看国产电影| 91视频区| 国产欧美精品专区一区二区| 一级毛片免费不卡在线视频| 亚洲男人天堂网址| 日韩精品成人在线| 国产成人精品无码一区二|