差分进化算法

差分进化算法由 Storn 和 Price 于 1995 年首次提出,是一种基于群体的高效启发式全局优化搜索算法,主要用于求解实数优化问题。该算法属于演化算法的一种,由于其结构简单、容易实现、收敛速度快、鲁棒性强等特点,目前已被 广泛应用在数据挖掘、模式识别、数字滤波器设计、人工神经网络、电磁学等各 个领域。近年来,DE 算法在国际演化计算竞赛(CEC)中一度名列前茅,且多次获得冠军。

1.算法原理

在 DE 算法中,种群(群体)中每个个体对应优化问题的一个解(向量),且一般采用浮点矢量进行编码生成种群个体。 其主要操作包括初始化、变异、杂交和选择。该算法的基本思想是:从一个随机产生的初始种群开始,通过把种群中任意两个个体的向量差与第三个个体求和来产生新个体,然后将新个体与当代种群中相应的个体相比较,如果新个体的适应度优于当前个体的适应度,则在下一代中就用新个体取代旧个体,否则仍保存旧个体。通过上述过程的不断进化,保留优良个体,淘汰劣质个体,从而引导搜索向最优解逼近假定目标函数为最小化问题minf\left ( x \right ),其中 x 表示决策变量(问题的一个解), \Omega =\left [ a,b \right ]^{n}表示问题的决策空间(定义域),a 和 b 分别表示决策变量的上、下边界,以及 n 表示决策空间的维数(下同)。下面将分别给出 DE 算法的具体操作。

1.1 初始化

在 决 策 空 间 中 随 机 生 成 包 含 NP 个 个 体 的 种 群P=\left \{ x_{i}|i=1,2,...,NP\right \},x_{i}表示种群 P 中的第 i 个个体,可由下式生成

x_{i,j}=a+rand(\cdot )*(b-a)

x_{i,j}表示第 i 个个体 x i 的第 j 维分量。

1.2 变异

对种群 P 中的每一个体 x i ,利用变异算子产生其相应的变异个体 v i 。特别地,常见的五种变异算子如下。

其中, x best 表示当前种群 P 中的最好个体(对应函数值最小),F 为缩放因子, x r 1 x r 2 x r 3 x r 4 x r 5 分别表示种群 P 中 5 个随机、互不相同且不等于 x i 的个体。

1.3  交叉

经过变异操作后,同时利用当前个体 x i 和其相应的变异个体 v i 通过交叉它们的信息产生后代个体 u i 。一般地,二项式交叉操作和指数交叉操作是两种常用的方法。它们的具体操作过程可分别描述如下:

其中, v i , j u i , j 分别表示 v i u i 的第 j 维分量,Cr 表示交叉概率参数,jrand 为 [1,n]中的一个随机整数,[s,e]表示[1,n]中的一个连续整数集,且 s 和 e 在[1,n] 中随机产生。

1.4 选择 

最后,根据适应度(函数值)比较当前个体 x i 和其子代 u i ,并用两者中较好的个体来更新种群。具体选择过程如下:

 f (xi) f (ui) 分别表示 xi ui 的适应度。

2. 算法流程

根据上述操作,DE 算法的具体实现流程如下。
步 1:确定算法中的控制参数(包括种群大小 NP、缩放因子 F 和杂交概率 Cr),确定适应度函数。
步 2:随机产生初始种群。
步 3:对初始种群进行评价,即计算初始种群中每个个体的适应度值。
步 4:判断是否达到终止条件。若是,则终止进化,将得到最佳个体作为最优解输出;若否,继续。
步 5:进行变异和交叉操作,得到子代种群。
步 6:对原种群和子代种群进行选择操作产生新种群。
步 7:进化代数 g=g+1,转步(4)。

3. 参数说明

由以上论述可知,DE 算法的参数包括种群规模(大小)NP、缩放因子 F 和交叉概率 Cr。下面将分别对该参数的功能及作用进行说明。

3.1 种群规模(大小)NP

主要反映种群信息量的大小,NP 值越大种群信息包含的越丰富,但是带来的后果就是计算量变大,不利于求解。反之,越小会使种群的多样性受到限制,不利于算法求得全局最优解,甚至会导致搜索停滞。

3.2 交叉概率 Cr

主要反映生成子代个体过程中,父代个体和变异个体交换信息量的大小。Cr 的值越大,交换的信息量越大。反之,如果 Cr 的值偏小,将会使种群的多样性快速减小,不利于全局寻优。

3.3 缩放因子 F

相对于 Cr,F 对 DE 算法的性能影响更大,主要影响算法的全局寻优能力。F 越小,算法对局部的搜索能力更好,F 越大算法越能跳出局部极小 点,但是收敛速度会变慢。此外,F 对种群的多样性也具有影响。

4. 算法的不足和改进

在求解的过程中,随着进化代数的增加,基本的 DE 算法会使种群的多样性
变小,过早的收敛到局部极小点,或者导致算法停滞。这对依靠种群差异来进行
进化的 DE 算法来说无疑是致命的,使算法的性能在进化过程中变差。
为了解决上述缺陷,基于基本的 DE 算法,目前主要的改进方向包括进化模
式的优化、控制参数的优化,以及与其他一些智能算法进行结合(旨在实现不同
算法间的优势互补)。
(注:本资料来自导师田梦男上课讲义,转载请注明出处)

[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-59.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王也-王道长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值