进化计算(二)——简单的遗传算法编程(Matlab)

遗传算法编程

 解决如下问题:
             m a x F ( x ) = x ⋅ sin ⁡ ( 3 π x ) max\quad F(x)= x\cdot \sin (3\pi x) maxF(x)=xsin(3πx)
             s . t .   x ∈ [ − 1 , 2 ] s.t. \ x\in \left [-1,2 \right ] s.t. x[1,2]

前言

 一个手动计算的遗传算法示例用以理解遗传算法全过程:手动模拟计算二元函数最大值

 遗传算法的基本步骤:在开始进行遗传算法之前需要定义编码方式、种群规模、迭代次数、选择策略、变异概率、交叉概率以及适应度函数等基本参数。实际编程过程中按步骤分多个子函数展开,大致流程为:定义基本参数—>基因编码——>种群初始化——>选择——>复制——>交叉重组——>变异——>解码—>更新种群—>选择——>···—>满足迭代次数—>得到最终结果。

Main

在这里插入图片描述

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

Initialization

在这里插入图片描述

Selection

在这里插入图片描述

Code

在这里插入图片描述

Crossover

在这里插入图片描述

Mutation

在这里插入图片描述

Decode

在这里插入图片描述

Result

 选择基本参数不同优化结果不同;每次的优化结果都不同。

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

代码流程图

 仅展示了核心代码的流程,对于输入输出及图形展示等部分未显示在此图中。

在这里插入图片描述

本文参考链接

github⭐
在Latex数学公式插入空格
link
进化计算(一)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值