遗传算法的基本原理和matlab实现

本文介绍了遗传算法的基本原理,并展示了如何在MATLAB中实现遗传算法以解决全局优化问题。主要内容包括编码(适应度函数和初始种群)、遗传算子(选择、交叉和变异)以及参数初始化。通过轮盘赌选择、单点交叉和基本位变异算子,遗传算法能够全局搜索和局部搜索解决方案空间。
摘要由CSDN通过智能技术生成

         遗传算法解决全局优化(即为最值点如图中C,D),而局部最优解决的是极值点问题(如图中A,B

1.       遗传算法流程;

 

[plain]  view plain  copy
  1. %遗传算法的伪代码描述:  
  2. %Procedure GA  
  3. %Begin  
  4. %       T=0;  
  5. %       Initialize  p(t) ; //p(t)表示 t代种群  
  6. %       Evaluate p(t);  //评估第t代种群  
  7. %       While not finished do  
  8. %       Begin  
  9. %            T=t+1;  
  10. %            Select p(t) from p(t-1); //从上代种群众选择较优秀的个体到下代子群  
  11. %            Reproduce pairs in p(t);  
  12. %            Evaluate p(t);  
  13. %       End  
  14. %End  

生物

算法

选择、交叉、变异

者生存

适应度

 

故遗传算法主要过程及流程图如下

1)编码(适应度函数,产生初始种群)

2)遗传算子(选择、交叉、变异)

3)繁衍种群

2.       参数初始化,编码阶段

假设目标函数为 

a.      定义个体基因,基因是遗传密码,这里自变量就是基因所携带的信息,即用2进制来表示自变量的可能取值。基因序列的长度由自变量取值范围确定。

b.     定义适应度函数,目标函数是,适应度函数就定义为。

c.      由a,b可知,我们定义好了个体(基因)与适应度函数,现初始化种群,定义种群大小,及繁衍代数。

1M:种群规模

2T:遗传运算的终止进化代数

3Pc:交叉概率

4Pm:变异概率

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值