GM 遗传算法 matlab程序实现及算法理解

1.遗传算法介绍

       遗传算法的基本思想是从初始种群出发,采用优胜劣汰适者生存的自然法则选择个体,并通过杂交、变异来产生新
一代种群,如此逐代进化,直到满足目标为止。

2.自己解决的问题

      自己选取了一个二维函数   “obj(i)=100*(x1*x1-x2).^2+(1-x1).^2; %目标函数 ”来进行函数优化

3.如何开始

      种群是指用遗传算法求解问题时,初始给定的多个解的集合。遗传算法的求解过程是从这个子
集开始的。初始化种群大小等于80

4.编码
         
二进制编码是将原问题的结构变换为染色体的位串结构。在二进制编码中,首先要确定二进制字符串的长度l,该长度与
变量的定义域和所求问题的计算精度有关。例 假设变量x的定义域为[4,10],要求的计算精度为10-5,则需要将[4,10]至少分为600000个等长小区间,每个小区间用一个二进制串表示。于是,串长至少等于20,原因是524288=2^19<600000<2^20=1048576,这样,对应于区间[4,10]内满足精度要求的每个值x,都可用一个20位编码的二进制串<b19,b18,…,b0>来表示。

   我用rand随机函数,来生成初始种群    :bval=round(rand(N,Dim*L));%初始种群,round函数为四舍五入

5.解码

      解码即将编码空间中的基因串翻译成解空间中的自变量的实际值的过程。对于二进制编码而言,每个二进制基因串都可以这样翻译成一个十进制实数值,clip_image017。例如基因串0000110110000101,可以翻译为clip_image019,这里二进制基因串转变成十进制是从左至右进行的。

     可以想

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值