优化算法——差分进化算法(DE)
来源:互联网 发布:vb 中的structure 编辑:程序博客网 时间:2024/06/05 15:48
一、差分进化算法的介绍
差分进化算法(Differential Evolution, DE)是一种基于群体差异的启发式随机搜索算法,该算法是由R.Storn和K.Price为求解Chebyshev多项式而提出的。DE算法也属于智能优化算法,与前面的启发式算法,如ABC,PSO等类似,都属于启发式的优化算法。DE算法是我在一篇求解盒子覆盖问题论文中使用的一种优化算法。
二、差分进化算法的流程
- 初始化种群
- 变异
- 交叉
- 选择
(DE流程)
三、差分进化的具体步骤
对于无约束优化问题
利用差分进化求解这样的优化问题,主要分为初始化、变异、交叉和选择等几项操作。
1、初始化
如前面的的群智能优化算法一样,差分进化也需要初始化种群:
其中,是第个个体,表示第维。
其中,和分别为第维的下界和上界,表示在区间上的随机数。
2、变异
DE算法通过差分策略实现个体变异,常见的差分策略是随机选取种群中两个不同的个体,将其向量差缩放后与待变异个体进行向量合成。
其中,,和是三个随机数,区间为,称为缩放因子,为一个确定的常数。表示第代。
3、交叉
交叉操作的目的是随机选择个体,因为差分进化也是一种随机算法,交叉操作的方法是:
其中,称为交叉概率。通过概率的方式随机生成新的个体。
4、选择
在DE中采用的是贪婪选择的策略,即选择较优的个体作为新的个体。
四、实际的优化问题
求解优化问题:
一、Java实现
测试
二、收敛曲线
阅读全文
1 0
- 优化算法——差分进化算法(DE)
- 优化算法——差分进化算法(DE)
- 差分进化算法DE
- 差分进化算法DE
- 【DE算法】差分进化算法原理及python代码
- DE(差分进化)优化算法MATLAB源码详细中文注解
- DE(差分进化)优化算法MATLAB源码详细中文注解
- 差分进化算法
- 差分进化算法
- 差分进化算法
- 差分进化算法
- 差分进化算法
- DE算法---查分进化
- 标准差分进化算法(DE)
- 一种简单的差分进化算法(DE)的R语言实现
- 智能算法之微分进化算法(差分进化算法)
- 差分进化算法(Differential Evolution)
- 差分进化算法(Differential Evolution)
- Spring使用java驱动定时调用MongoDB函数
- Go游戏服务器开发的一些思考(六):Docker Swarm Mode
- Mybatis优化
- 关于mob第三方登录的坑——微信篇
- onTouchEvent在DOWN事件里发送多条相同数据和UP里终止线程
- 优化算法——差分进化算法(DE)
- 8.4.1.6_图像与精灵的碰撞检测
- 编写Java程序,应用for循环打印菱形。
- 九度 1110:小白鼠排队
- python logging日志模块学习
- 8.4.2.2_利用最小平移向量使两个物体粘在一起
- Android基础--第一章
- 如何成为一个合格的安全工程师
- python编程中的if __name__ == 'main': 的作用和原理