差分进化算法 matlab,差分进化算法之Matlab实现

一、介绍 差分进化算法是模拟自然界生物种群以“优胜劣汰,适者生存”为原则的进化发展规律而形成的一种随机启发式搜索算法。其保留了基于种群的全局搜索策略,采用实数编码,基于差分的简单变异操作和一对一的竞争生存策略,比遗传算法更简单。同时,差分进化算法独特的记忆能力使其可以动态的跟踪当前的搜索情况,及时调整搜索测量,因此具有较强的全局收敛能力。 目前为止,差分进化算法已经成为一种求解非线性,不可微,多极值和高维复杂函数的一种极其有效的方法。 在优化设计中,差分进化算法与传统的算法相比,具有以下特点: 1.差分进化算法从一个群体即多个点而不是从一个点开始搜索,这也是算法能够以较大的概率找到整体最优解的原因。 2.算法的进化准则是基于适应性信息的,不需要其他的辅助性信息,如要求函数可导,连续等。 3. 差分进化算法具有内在的并行性,适用于大规模并行分布处理,减小时间成本开销。 但缺点为: 1.算法后期个体之间的差异性减小,收敛速度慢,易陷入局部最优。 2.没有利用个体的先验知识,可能较多的迭代次数才能收敛到全局最优 算法框架:  (1)群体初始化 在n维空间里随机产生满足约束条件的M个个体

x

i

j

(

0

)

=

x

i

j

m

i

n

+

(

x

i

j

m

a

x

x

i

j

m

i

n

)

r

a

n

d

(

0

,

1

)

x_{ij}(0)=x_{ij_{min}}+(x_{ij_{max}}-x_{ij_{min}})*rand(0,1)

xij(0)=xijmin+(xijmax−xijmin)∗rand(0,1) 其中,

x

i

j

m

a

x

,

x

i

j

m

i

n

x_{ij_{max}},x_{ij_{min}}

xijmax,xijmin表示第

j

j

j个染色体的上下界。 (2) 变异 从群体中随机选择三个个体

x

p

1

,

x

p

2

,

x

p

3

x_{p1},x_{p2},x_{p3}

xp1,xp2,xp3且要求

i

p

1

p

2

p

3

i\neq

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值