差分进化算法Differential Evolution Algorithm,DE

首席躺平官 2021-08-27 22:18:58 阅读: 2573

前言

      差分进化算法(Differential Evolution Algorithm,DE)由Storn和Price于1995年提出,最早用来解决切比雪夫多项式问题。
      DE 采用实数编码方式, 其算法原理与遗传算法十分相似, 进化流程与遗传算法相同: 变异、交叉和选择。DE 算法中的选择策略通常为锦标赛选择,而交叉操作方式与遗传算法也大体相同,但在变异操作方面使用差分策略, 即利用种群中个体间的差分向量对个体进行扰动,实现个体变异。DE 的变异方式,有效利用群体分布特性, 提高算法的搜索能力,避免遗传算法中变异方式的不足。

差分进化算法

初始化种群

在这里插入图片描述

变异操作

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

      下图为变异操作中式子(2.11)在空间的示意图。
在这里插入图片描述

交叉操作

在这里插入图片描述

选择操作

在这里插入图片描述

算法流程

  1. 初始化种群,算法参数;
  2. 变异操作;
  3. 交叉操作;
  4. 选择操作;
  5. 判断是否满足终止条件(最大迭代代数or最大函数评价次数等),若满足则输出结果,否则继续返回步骤 2 进行循环。
  6. 在这里插入图片描述

C语言伪代码

在这里插入图片描述

原文链接:https://www.pianshen.com/article/8460922856/

邀请讨论

附件

{{f.title}} 大小 {{f.file_size}} 下载 {{f.count_download}} 金币 {{f.count_gold}}
{{item.nick_name}} 受邀请回答 {{item.create_time}}
{{item.refer_comment.nick_name}} {{item.refer_comment.create_time}}

附件

{{f.title}} 大小 {{f.file_size}} 下载 {{f.count_download}} 金币 {{f.count_gold}}
切换到完整回复 发送回复
赞({{item.count_zan}}) 踩({{item.count_cai}}) 删除 回复 关闭
科研狗©2015-2024 科研好助手,京ICP备20005780号-1 建议意见

服务热线

178 0020 3020

微信服务号