差分进化算法(Differential Evolution,DE)流程和思维导图

avatar 2024年05月21日14:29:04 0 494 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此

一、经典流程

  1. 初始化种群:

    • 随机生成初始种群,种群中的每个个体表示一个候选解。
    • 种群大小为 NP,每个个体为一个 D 维向量。
  2. 适应度评估:

    • 计算初始种群中每个个体的适应度值。
  3. 变异操作:

    • 对每个个体Xi(目标向量),选择三个不同的个体 Xr1, Xr2, Xr3
    • 生成变异向量 Vi:
      其中,F是缩放因子(常取值在 [0,2] 之间)。
  4. 交叉操作:

    • 将目标向量 Xi 与变异向量 Vi 进行交叉,生成试验向量 Ui
    • 采用均匀交叉策略:对于每个维度 j,随机数 r 小于交叉概率 CR 时从 Vi选取,否则从 Xi选取。
      其中,jrand 是一个随机选择的维度,确保 Ui至少有一个维度来源于 Vi
  5. 选择操作:

    • 比较目标向量 Xi 和试验向量 Ui 的适应度值,选择适应度较优的个体进入下一代:
  6. 终止条件检查:

    • 检查是否满足终止条件(如达到最大迭代次数或适应度达到某个阈值),如果不满足,返回步骤3,继续迭代。

二、思维导图

这里主要介绍变异、交叉和选择操作。其他操作参考上篇文章 遗传算法(Genetic Algorithm, GA)流程和思维导图

 

 

  • 微信
  • 交流学习,资料分享
  • weinxin
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0