DE algorithm 差分进化算法详解

差分进化算法(DE)是一种适用于非线性、不可微问题优化的遗传算法,以其速度快、鲁棒性好著称。算法主要包括生成初始种群、变异、交叉和选择四个步骤。在变异阶段,通过F缩放因子和随机选取的三个个体生成新变异个体;交叉阶段使用CR交叉概率决定目标个体和变异个体的组合;选择阶段依据评估函数选择优胜个体进入下一代种群。DE算法广泛应用于多变量函数优化问题。

终于成为了正式的研究生,继续更新博客~
最近看论文的时候遇到了差分进化算法 differential evolution algorithm,是一种遗传算法,但是其采用的是实数编码而不是二进制编码,相比起来更方便理解
这里记录下算法核心步骤以及个人的一些心得

differential evolution algorithm

首先要说明的是DE算法通常被用来求非线性、不可微问题的最优解,具有速度快,鲁棒性好的特点。简单来说,就是DE算法可以用来解决多变量的函数优化问题。
DE算法主要分为四大步骤:生成初始种群,变异,交叉和选择:

生成初始种群

在这一步,首先要给定的是个体的维数 D D D,个体数 N P NP NP,以及 X L X_{L} XL X H X_{H} XH,其中要说明的是, X H X_{H} XH X L X_{L} XL分别是个体,也就是 D D D维向量的上下限。如一个向量 { x , y } \{x,y\} { x,y} x ∈ [ 0 , 1 ] x\in[0,1] x[0,1] y ∈ [ 3 , 4 ] y\in[3,4] y[3,4],那么此时的 X L = { 0 , 3 } X_{L} = \{0,3\} XL={ 0,3} X H = { 1 , 4 } X_{H} = \{1,4\} XH={ 1,4}
要随机生成 N P NP NP个个体,组成初始种群:
X i , 0 = X L + r a n d o m [ 0 , 1 ] ∗ ( X H − X L ) X_{i,0} = X_L + random[0,1]*(X_H- X_L) Xi,0<

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值