- 1 -
中国科技论文在线
多种群多策略的并行差分进化算法#
陈颖1,林盈2,胡晓敏3**
基金项目:国家自然科学基金();中央高校基本科研业务费专项资金资助();高
等学校博士学科点专项科研基金新教师类资助课题();广东省自然科学基金
(S2012040007948)
作者简介:陈颖,男,研究生,主要研究方向:进化算法,并行算法
通信联系人:胡晓敏(1983—),女,讲师,已发表论文 20 余篇,目前主持国家自然科学基金等项目,主
要研究领域为人工智能,进化计算,数据挖掘,路由优化,生物信息学的优化与应用
(1. 中山大学计算机科学系,广州 510006;
2. 中山大学心理学系,广州 510275; 5
3. 中山大学公共卫生学院,卫生信息研究中心,广东省卫生信息学重点实验室,广州 510080)
摘要:为了更好地提高并行差分进化算法的准确性和效率,提出一种多种群多策略的并行差
分进化算法。该算法将种群划分为三个规模相同的子种群,不同的子种群分别采用不同的
差分进化策略。三个子种群先独立进化,互不干扰,每隔一定代数再进行种群间的通信交10
流。数值实验结果证明了该算法的可行性和有效性。
关键词:多种群;多策略;并行;差分进化
中图分类号:TP18
Parallel Differential Evolution with Multi-population and 15
Multi-strategy
CHEN Ying
1
, LIN Ying
2
, HU Xiao-Min
3
(1. Department of Computer Science, Sun Yat-sen University, Guangzhou 510006;
2. Department of Phychology, Sun Yat-sen University, Guangzhou 510275;
3. Guangdong Key Laboratory of Health Informatics, Health Information Research Center, School 20
of Public Health,Sun Yat-sen University, Guangzhou 510080, China)
Abstract: In order to improve the accuracy and efficiency of differential evolution, a parallel
differential evolution with multi-population and multi-strategy is proposed. In this algorithm, an
initial population is divided into three sub-populations evenly, and then they evolve with different
DE strategy. Three sub-populations evolve independently at first, and then communicate with each 25
other at regular intervals. The experiment results show that the proposed algorithm is feasible and
effective for different optimization problems.)
Key words: multi-population; multi-strategy; parallel; differential evolution
0 引言 30
差分进化算法(Differential Evolution, DE)是 1995 年由 Storn 和 Price 提出的一种基于
种群迭代的随机搜索算法[1]。该算法在 1996 年首届 IEEE 进化算法大赛中被证明为是当时
最快的进化算法[2]。对于大多数数值 Benchmark 函数的问题,DE 算法已经被证明在收敛速
度和稳定性方面优于粒子群优化算法和其他进化算法[3-4]。该算法起源于遗传算法,但不需
要编码和解码操作,它通过个体的变异,交叉和选择,使种群向更好的方向进化。由于 DE35
算法简单易用,鲁棒性高和具有较强的全局寻优能力,因此在电力系统、电磁学、传播学和
机器人技术等领域得到了广泛的应用[5-6]。
DE 是一种基于种群迭代的进化算法,其效率跟种群迭代的次数相关。当解决复杂的优
化问题的时候,如何提高 DE 的效率显得越发重要。随着软件和硬件的快速发展,并行计算
- 2 -
中国科技论文在线
已经成为高性能计算的一种形式。在昂贵的优化问题下,将 DE 并行化是一种提高 DE 运行40
效率和精确性的有效方式[6]。最早尝试将并行计算应用到 DE 算法中的是 Lampinen[7],他
将一个种群分为多个子种群进行 DE 计算。Tasoulis 等[8]则在多种群的基础上提出迁移策略,
每个子种群先独立进化,最后将各自的最优解按照预设的拓扑结构进行子种群间的交流。
Qing[9]将 DE 分成多个子种群,各个子种群独立寻优,同时利用跨种群间的竞争算子来实现
种群间信息共享。Zaharie 等[10]将动态改变控制参数的 DE 算法并行化,每个子种群单独进45
行 DE 运算,各个子种群之间通过信息交换来搜索最优解。
Price 和 Storn 先后提出了十种不同策略差分进化算法[11],不同的策略适应不同类型的
优化问题。基于此,本文提出了一种多种群多策略的并行差分进化算法。该算法能够在并行
的基础上发挥多种群多策略的优势,提高算法的效率和成功率。该算法将一个大种群分为 3
个子种群,每个子种群各自采用不同的差分进化策略,以平衡算法的全局搜索能力和局部搜50
索能力。在并行进化的过程中,各个子种群互不干扰,当进化到一定代数后再进行通信交流,
通过交流发现 3 个子种群中最好的个体,然后该个体进行迁移,除了该个体所在的子种群之
外,其他种群均用该个体替换掉本种群的最差个体。不断重复以上步骤直到达到进化代数超
过设定的最大代数或者算法找到了最优解。实验结果证明了该算法的可行性和有效性。
1 差分进化算法 55
标准 DE 算法
差分进化算法是一种模拟自然界生物群体进化的智能计算方法,其基本思想是通过种群
内个体的合作、竞争以及逐代的进化、繁殖,不断提高种群个体对外界环境的适应程度,从
而逼近问题最优解。本质上,差分进化算法一种基于实数编码的具有保优思想的贪婪遗传算
法。对于优化问题的定义和标准差分进化算法步骤的数学描述如下。 60
对于优化问题:
),...,,(min 21 dxxxf ..ts
U
jj
L
j xxx ),,2,1( Dj (1)
其中,D是解空间的维数,
L
jx 、
U
jx 分别表示第 j个分量 jx 取值范围的上界和下界。
初始化种群
)(]1,0[ min,max,min,0,, jjjij xxrandxx (2) 65
其中, NPi ,,2,1 , Dj ,,2,1 , 0,, ijx 表示第 0 代中第 i个个体的第 j维分量的值,
它是一个范围在 ],[ Uj
L
j xx 的随机数。NP表示种群大小, ]1,0[rand 表示在[0,1]区间的随机数。
变异
变异向量 i,Gv 由以下方法产生
)( ,3,2,1, GrGrGrGi xxFxv (3) 70
其中, ],...,2,1[,, 321 NPrrr 为随机选择的不同于 i的互不相同的 3 个整数; ]2,0[F 为
缩放因子,它控制着差分向量 )( ,3,2 GrGr xx 的幅值。
交叉
试验向量 Giu , 由以下方法产生
- 3 -
中国科技论文在线
otherwise
||]1,0[
,,
,,
,,
,
,
Gij
randGij
Gij
x
jjCRrandv
u ),,2,1( NPi ),,2,1( Dj (4) 75
其中, randj 为随机产生的[1,D]的随机数,用来确保交叉个体至少会有一维分量与目标个体
不同。 ]1,0[CR 为交叉概率因子。
选择
otherwise
)()(
,
,,,
1,
,
,
Gi
GiGiGi
Gi
x
xfufu
x (5)
为了使函数值最小化,每一次选择操作都运用贪心算法,比较试验向量和目标向量的函数值,80
谁更小谁就被选择进入下一代。
重复步骤 2-4,使种群逐代演化,直至达到终止条件。最终把最后一代种群中的最优个
体作为最优化问题所得到的解。
标准 DE 算法
标准的差分进化算法对不同的函数有不同的优化效果,所以在函数优化上具有一定的局85
限性。Price 和 Storn 在此基础上提出多种 DE 操作策略,用 DE/X/Y/Z 表示。X 表示变异操
作时选择向量的方式是“随机的”或“最佳的”或“当前的”,包括”rand”,”best”,”
current”,”rand-to-best”等等。Y 表示变异操作中差分向量的个数。通常去 Y=1 或 2。Z
表示交叉操作时进行交叉的分量个数满足的概率分布,主要有二项式分布(bin)和指数分布
(exp)。 90
Price 和 Storn 先后提出的十种不同策略差分进化算法[11],包括(1)DE/rand/1/bin(即
标准差分进化算法);(2)DE/rand/1/exp;(3)DE/best/1/bin;(4)DE/best/1/exp;(5)
DE/rand/2/bin;(6)DE/rand/2/exp;(7)DE/best/2/bin;(8)DE/best/2/exp;(9)
DE/rand-to-best/1/bin;(10)DE/rand-to-best/1/exp。
不同的策略适应不同类型的优化问题。其中,DE/Rand/1/exp 对多峰函数的优化效果较好;95
DE/Best/1exp 对单峰函数的优化效果较好;总体而言,优化效果最好的是 DE/Best/2/exp。所
以本文取这 3 种策略进行实验,其公式如表 1 所示。
表 1 3 种 DE 更新策略
Tab. 1 Three Updating Strategies of DE
DE 更新策略 公式
DE/Rand/1/exp
otherwise,
]1,0[ while from, )(
,,
,3,,2,,1,
,,
Gij
randGr
i
jGr
i
jGr
i
j
Gij
x
CRrandjjxxFx
u
DE/Best/1/
exp
otherwise,
]1,0[ while from, )(
,,
,3,,2,,,
,,
Gij
randGr
i
jGr
i
jGbj
Gij
x
CRrandjjxxFx
u
DE/Best/2/exp
otherwise,
]1,0[ while from, )(
,,
,4,,3,,2,,1,,,
,,
Gij
randGr
i
jGr
i
jGr
i
jGr
i
jGbj
Gij
x
CRrandjjxxxxFx
u
100
- 4 -
中国科技论文在线
2 多种群多策略的并行 DE 算法
算法思想
多种群多策略的并行差分进化算法中,种群由若干个等规模的子种群组成,每个子种群
采用不同的差分进化策略。各个子种群先同时独立进化,互不干扰,进化到一定代数后再进
行通信交流,比较并找出若干个子种群中最好的个体,然后该个体进行迁移,除了该个体所105
在的子种群之外,其他种群均用该个体替换掉本种群的最差个体。重复以上步骤直到找到最
优解或达到最大进化代数。
多种群多策略机制
不失一般性,本文取 3 个子种群进行实验,各个子种群使用的策略如下:
子种群 1 采用 DE/Rand/1/exp 策略,个体的变异、交叉操作如下所示: 110
otherwise,
]1,0[ while from, )(
,,
,3,,2,,1,
,,
Gij
randGr
i
jGr
i
jGr
i
j
Gij
x
CRrandjjxxFx
u (6)
子种群 2 采用 DE/Best/1/exp 策略,个体的变异、交叉操作如下所示:
otherwise,
]1,0[ while from, )(
,,
,3,,2,,,
,,
Gij
randGr
i
jGr
i
jGbj
Gij
x
CRrandjjxxFx
u (7)
子种群 3 采用 DE/Best/2/exp 策略,个体的变异、交叉操作如下所示:
otherwise,
]1,0[ while from, )(
,,
,4,,3,,2,,1,,,
,,
Gij
randGr
i
jGr
i
jGr
i
jGr
i
jGbj
Gij
x
CRrandjjxxxxFx
u (8) 115
其中, ],...,2,1[,, 321 NPrrr 为随机选择的不同于 i的互不相同的 3 个整数;F为缩放
因子, randj 为随机产生的[1,D]的随机数,CR为交叉概率因子, Gijx ,, 表示原种群第 G 代
中第 i个个体的第 j维分量的值, GiUj ,, 表示新种群第 G代中第 i个个体的第 j维分量的值。
多种群机制保证了各个子种群在进化过程中不受其他种群的干扰,可在一定程度上保证
种群总体的多样性,即使单个种群出现多样性丧失,由于种群间仍然存在差异,可通过通信120
交流来实现信息交换,弥补单个种群多样性不足的缺陷。另一方面,多种群的存在一方面使
得并行化成为可能,有效降低了算法的计算时间。
多策略机制中,该算法巧妙地将 rand 策略和 best 策略结合起来,体现出独特的优势:
对于给定函数,无论是单峰函数或者是多峰函数,该算法依然不会出现“软肋”;前期 rand
策略发挥较强的全局寻优能力,为后期局部寻优奠定基础,后期 best 策略借助强大的局部125
搜索能力加快收敛速度,即使此刻出现早熟现象,rand 策略的存在也会增加从局部最优逃脱
的可能性。
隔代通信机制
本算法采用主从式的拓扑结构,一个主进程负责种群间的数据交流,其他三个子种群的
进程作为从进程,每隔 S代向主进程发送本种群的最优个体 Besti,主进程接收 3 个从进程130
的 Besti后对其进行比较,找到最优个体 Best,再将 Best 个体发送给除了该个体所在种群的
其他子种群进程。主进程的伪代码如图 1 所示。
1 for G=1 to MAX_G
2 if G%S!=0 /*communicate every S generations*/
3 continue; 135
- 5 -
中国科技论文在线
4 else
5 Individual Best;
6 ←MAX_FITNESS;
7 bestNum←0;
8 for i=1 to size 140
9 Individual temp;
10 Recv(temp, i); /*receive the best individual from the slave processors*/
11 if <
12 Best←temp;
13 bestNum←i; 145
14 end if
15 end for
16 for i=1 to size
17 if i!=bestNum
18 Send(Best, i); /*send the best individual to the slave processors*/ 150
19 end if
20 end for
21 end if
22 end for
图 1 隔代通信机制中主进程的伪代码 155
Fig. 1 Pseudo-code of the master process in the inter-generational communication strategy
隔代通信机制保证了子种群间的交流配合,该过程中,不用最优个体换掉本种群的最差
个体的方法既避免了减少种群的多样性,又有利于保持原来表现良好的种群的优势。
算法步骤
基于以上描述,本文提出的多种群多策略的并行差分进化算法的具体步骤如下: 160
步骤 1 随机生成 3 个大小为 NP=33 的子种群并初始化控制参数:交叉概率因子
CR=,缩放因子 F=,维数 D=30,最大进化代数 MAX_G=3000,独立进化代数 S=30,
当前代数 G=0。
步骤 2 对每个子种群的每个个体实施相对应的变异、交叉、评价、选择操作,G←G+1。
步骤 3 判断是否满足通信条件,即若 G能整除 S,则转至步骤 4,否则回到步骤 2。 165
步骤 4 子种群间进行通信,比较并找出 3 个子种群中最好的个体。除了该个体所在的
子种群之外,其他种群均用该个体替换掉本种群的最差个体。
步骤 5 若步骤 5 找到的当前最佳个体满足收敛条件或 G>=MAX_G,则输出最优个体,
算法结束,否则转步骤 2。
多种群多策略的并行差分进化算法的流程图如图 2 所示。 170
- 6 -
中国科技论文在线
开始
子种群1初始化 子种群2初始化 子种群3初始化
变异
Rand/1
变异
Best/1
变异
Best/2
交叉
Exp
评价
选择
满足通信条件
通信并更新
满足终止条件
获得最优个体
结束
交叉
Exp
评价
选择
满足通信条件
交叉
Exp
评价
选择
满足通信条件
Y Y Y
Y
NNN
NN
图 2 多种群多策略的并行差分进化算法的流程图
Fig. 2 Flowchart of the multi-population and multi-strategy parallel differential evolution algorithm
3 算法测试及结果分析
为了验证本算法的可行性和有效性,本文采用了文献[12]中 13 个标准测试函数来测试175
算法的性能。测试环境为 32 位的 Windows7 系统,其中 CPU 为 Inter(R)
Core(TM)i5-3470/,核数为 4,运行内存为 ,调试器为 Visual Studio 2010,使
用 Mpich2()软件实现程序的并行化。根据常用的测试条件,13 个测试函数的维数均取
为 30。表 2 给出了这 13 个函数的表达式、定义域、最小值坐标、最小值和预设的精度要求。
其中 71 ff 为单峰函数, 138 ff 为多峰函数。 180
表 2 13 个测试函数
- 7 -
中国科技论文在线
Table 2 13 Test Functions
函数 定义域 最小值坐标 最小值 精度
n
i
ixxf
1
2
1 )( [-100,100] 0ix 0
n
i
i
n
i
i xxxf
11
2 ||||)( [-10,10] 0ix 0
n
i
n
j
jxxf
1
2
1
3 )()( [-100,100] 0ix 0 100
}1 |,max{|)(4 nixxf i [-100,100] 0ix 0
1
1
222
15 ])1()(100[)(
n
i
iii xxxxf [-30,30] 1ix 0 100
n
i
ixxf
1
2
6 )()( [-100,100] 0ix 0 0
)1,0[)(
1
4
7 randomxixf
n
i
i
[,] 0ix 0
)||sin()(
1
8 i
n
i
i xxxf
[-500,500] ix 2000
n
i
ii xxxf
1
2
9 ]10)2cos(10[)( [,] 0ix 0 10
ex
n
x
n
xf
n
i
i
n
i
i
20)2cos
1
exp(
)
1
(20)(
1
1
2
10
[-32,32] 0ix 0
1)cos(
4000
1
)(
11
2
11
n
i
i
n
i
i
i
x
xxf [-600,600] 0ix 0
n
i
in
n
i
ii
xuyy
yy
n
xf
1
2
1i
2
1
1
22
12
)4,100,10,(})1()](sin
10[1 )1()(sin10{)(
[-50,50] 1ix 0
n
i
inn
n
i
ii
xuxx
xxxxf
1
2
1
1
1
22
1
2
13
)4,100,5,()}2(sin1)[1(
)]3(sin1[)1(3({)(
[-50,50] 1ix 0
* 12f 和 13f 中,
4
1
1
i
yi ,
axaxk
axa
axaxk
mkaxu
i
m
i
i
i
m
i
i
,)(
,0
,)(
),,,(
为了使多种群多策略的并行差分进化算法的测试结果更具对比性,本实验将该算法和其
他 3 个采用与子种群相对应的策略的串行 DE 算法进行比较。其中本算法的实验参数是,子185
种群大小 NP=33,交叉概率因子 CR=,缩放因子 F=,最大进化代数 MAX_G=3000,
独立进化代数 S=30;3 个串行 DE 算法的种群大小 NP=100,交叉概率因子 CR=,缩放因
- 8 -
中国科技论文在线
子 F=,最大进化代数 MAX_G=3000。
将多种群多策略的并行 DE 算法和 3 个串行的 DE 算法对函数 131 ff 分别独立运行 30
次,取 30 次平均值相对于函数最优值的偏差作为最终评价指标,实验结果如表 3 所示。 190
表 3 函数最优值的对比
Table 3 Comparison of the Best Values for the Test Functions
函数 并行 DE 算法 DE/rand/1/exp DE/best/1/exp DE/best/2/exp
1f
-72 -39 -138 -45
2f -37 -22 -72 -24
3f -18 -04 -46 -08
4f -06 -04 +00 -08
5f
-27 -03 -29 -01
6f +0 +00 +00 +00
7f -03 -03 -03 -03
8f -02 -02 +02 -02
9f +00 +00 +00 +00
10f -15 -15 -01 -15
11f -03 +00 -03 +00
12f -32 -32 -02 -32
13f -32 -32 -03 -32
由表 3 的结果可以看出(其中加粗的数据表示同个函数中,优化效果最好),在四个策
略中,并行 DE 算法对 106 ff , 12f 和 13f 优化效果是最好的,而对 51 ff 和 11f 的优化195
效果仅次于优化效果最佳的策略。
单峰函数上,best 策略的寻优效果较好,能使种群快速向到最优个体处靠拢。所以在单
峰函数的优化问题,相对于单纯的 best 策略来说,并行 DE 算法上并没有表现出明显的优势;
同时,由于并行 DE 算法中的 2 个子种群使用了 best 策略,所以使得 DE 并行算法在单峰函
数上的优化上都比单纯的 rand 策略要强。 200
多峰函数上,rand 策略展现了强大的全局搜索能力,而单纯的 best 策略容易使种群收
敛到局部最优,出现早熟现象。由表 3 关于多峰函数的实验数据可以看到,对于大多数多峰
函数,并行 DE 算法的优化效果都是最好的。这是因为并行 DE 算法融合了 best 策略和 rand
策略的优点,在多峰函数的优化上既有较强的全局搜索能力,又有一定的局部搜索能力。
表 4 记录了实验过程中算法的运行时间。从表 4 的实验数据可以看出。多种群多策略的205
并行 DE 算法的运行时间比其他 3 种串行的 DE 算法的时间都要短。虽然并行 DE 算法需要
花费额外的时间来进行子种群之间的通信,但实验结果表明,在通信上花费的时间相对于算
法本身运行的时间是可以忽略不计的。由于并行 DE 算法将原有的大种群平均分成 3 个子种
群,3 个子种群并行进化,在同等计算量下,算法的运行时间会大大减少。其次,并行 DE
算法在一些函数上的收敛速度会快于其他 3 种策略,不用进化到最大代数就能找到最优解,210
这也减少了算法的运行时间。
表 4 算法运行时间的对比(单位:秒)
Table 4 Comparison of the Running Speed of the Algorithms (Unit: Second)
函数 并行 DE 算法 DE/rand/1/exp DE/best/1/exp DE/best/2/exp
1f
- 9 -
中国科技论文在线
2f
3f
4f
5f
6f
7f
8f
9f
10f
11f
12f
13f
此外,以表 2 中各个函数的预设精度为精度要求,统计这 30 次独立实验中各个策略进215
入预设精度的成功率,以此作为评价各算法收敛速度及稳定性的指标。成功率的数据如表 5
所示,其中并行 DE 算法和 DE/best/2/exp 表现优异,在 13 个测试函数上都取得了 100%的
成功率;DE/rand/1/exp 也表现不错,在 12 个函数上达到了 100%的成功率,而表现较差的
是 DE/best/1/exp,仅在 7 个函数上达到 100%的成功率。这说明并行 DE 算法融合了
DE/best/2/exp 的优点,收敛性能较高。 220
表 5 算法成功率的对比
Table 5 Comparison of the Successful Rate by the Algorithms
函数 并行 DE 算法 DE/rand/1/exp DE/best/1/exp DE/best/2/exp
1f 100% 100% 100% 100%
2f 100% 100% 100% 100%
3f 100% 100% 100% 100%
4f 100% 100% 0% 100%
5f 100% 100% 100% 100%
6f 100% 100% 33% 100%
7f 100% 87% 100% 100%
8f 100% 100% 100% 100%
9f 100% 100% 100% 100%
10f 100% 100% 67% 100%
11f 100% 100% 83% 100%
12f 100% 100% 70% 100%
13f 100% 100% 90% 100%
再根据表 3 的结果,使用 30 次独立运行中每代适应度与函数最优值偏差的平均值,来
绘制收敛曲线图以分析不同策略在处理各类寻优问题上的收敛速度。单峰问题上选用球面模225
型函数(Sphere function,f1);多峰问题上则选用 f13 来测试算法性能。
图 3 为测试函数 f1 的收敛曲线图。从图中可以看到,在半对数坐标系下,各个策略的收
敛曲线基本上呈线性关系,其中 DE/best/1/exp 的收敛速度最快,其次是多种群多策略的并
行 DE 算法,而 DE/rand/1/exp 和 DE/best/2/exp 的收敛速度较慢。
- 10 -
中国科技论文在线
0 300 600 900 1200 1500 1800 2100 2400 2700 3000
10
-140
10
-130
10
-120
10
-110
10
-100
10
-90
10
-80
10
-70
10
-60
10
-50
10
-40
10
-30
10
-20
10
-10
10
0
10
10
并行DE算法
DE/rand/1/exp
DE/best/1/exp
DE/best/2/exp
代数
平
均
适
应
值
230
图 3 测试函数 1f 的收敛曲线图
Fig. 3 Convergence curve of function f1
图 4 为测试函数 f13 的收敛曲线图。同样在半对数坐标下,观察可以发现 DE/best/1/exp
在进化前期收敛速度最快,但很快陷入停滞,优化效果不好。相对而言,其他 3 种策略均能235
保持较好的收敛速度,其中并行 DE 算法的收敛速度最快。
0 300 600 900 1200 1500 1800 2100 2400 2700 3000
10
-35
10
-25
10
-15
10
-5
10
5
10
15
并行DE算法
DE/rand/1/exp
DE/best/1/exp
DE/best/2/exp
平
均
适
应
值
代数
图 4 测试函数 13f 的收敛曲线图
Fig. 4 Convergence curve of function f13
240
多种群多策略的并行 DE 算法能在并行的基础上发挥多种群多策略的优势。以上实验结
果表明,该算法提高了 DE 算法的效率,同时也提高了成功率。无论是在时间还是成功率上,
多种群多策略的并行 DE 算法都比其他 3 种策略要好。同时,并行 DE 算法对单峰函数的优
化效果虽然略逊色于 DE/best/1/exp 或 DE/best/2/exp,但从总体上来看,并行 DE 算法的表现
比单一的串行 DE 策略要好。因为多种群多策略的并行 DE 算法的优点在于几种 DE 更新策245
略的结合,充分利用它们的优点来寻优。单纯的 DE 策略可能针对某问题有良好的优化效果,
但对其他问题的优化效果却很差,而该算法无论是在单峰问题上还是在多峰问题上都有较好
的优化效果,特别是在多峰问题的优化上有明显的优势,它使用的 rand 策略在前期能增强
算法的全局搜索能力,而 best 策略在后期能增强算法的局部寻优能力。
250
- 11 -
中国科技论文在线
4 结论
本文提出一种多种群多策略的并行差分进化算法。该算法将种群划分为三个规模相同的
子种群,不同的子种群分别采用不同的差分进化策略。三个子种群先独立进化,互不干扰,
每隔一定代数再进行种群间的通信交流。数值实验结果表明该算法既能提高 DE 算法的效
率,又具有较好的寻优效果,在多峰问题上寻优效果更佳。 255
[参考文献] (References)
[1]Storn R, Price K. Differential evolution-a simple and efficient adaptive scheme for global
optimization over continuous spaces[M]. Berkeley: ICSI, 1995.
[2]Storn R. Differential evolution design of an IIR-filter[C] //Proceedings of IEEE International 260
Conference on Evolutionary Computation, 1996: 268-273.
[3]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.
[4]Vesterstrom J, Thomsen R. A comparative study of differential evolution, particle swarm
optimization, and evolutionary algorithms on numerical benchmark problems[C] // IEEE Congress 265
on Evolutionary Computation, 2004 (CEC2004), 2004, 2: 1980-1987.
[5]Plagianakos V P, Tasoulis D K, Vrahatis M N. A review of major application areas of differential
evolution[M] //Advances in differential evolution. Springer Berlin Heidelberg, 2008: 197-238.
[6]Das S, Suganthan P N. Differential evolution: A survey of the state-of-the-art[J]. IEEE
Transactions on Evolutionary Computation, 2011, 15(1): 4-31. 270
[7]Lampinen J. Differential evolution- New naturally parallel approach for engineering design
optimization[J]. Developments in computational mechanics with high performance computing,
1999: 217-228.
[8]Tasoulis D K, Pavlidis N G, Plagianakos V P, et al. Parallel differential evolution[C] // IEEE
Congress on Evolutionary Computation, 2004. CEC2004., 2004, 2: 2023-2029. 275
[9]Qing A. Electromagnetic inverse scattering of multiple perfectly conducting cylinders by
differential evolution strategy with individuals in groups (GDES)[J]. IEEE Transactions on
Antennas and Propagation, 2004, 52(5): 1223-1229.
[10]Zaharie D, Petcu D. Adaptive pareto differential evolution and its parallelization[M] //Parallel
processing and applied mathematics. Springer Berlin Heidelberg, 2004: 261-268. 280
[11]Price K, Storn R M, Lampinen J A. Differential evolution: a practical approach to global
optimization[M]. Springer, 2006.
[12]Yao X, Liu Y, Lin G. Evolutionary programming made faster[J]. IEEE Transactions on
Evolutionary Computation, 1999, 3(2): 82-102.
285