遗传算法总结

一、综述

  遗传算法是一种基于生物自然选择与遗传机理的随机搜索与优化方法,核心思想与达尔文的进化论思想一致:“物竞天择,适者生存”。通过不断地交叉,突变及迭代最终得到最优解。

二、遗传算法原理及步骤

1.编码

  首先,在遗传算法里,个体通常为问题的一个解编码是将解的空间表示成染色体的基因组成的序列。常见的编码格式有两种:二进制编码和浮点型编码。

2.种群初始化

  生成一个初始化种群,以供后面的交叉,突变及筛选。

3.计算种群的适应度函数值并筛选

  根据目标函数,计算出初始种群中个体的适应度。普遍来说,个体不同适应度也不同,根据个体的适应度,确定个体被选择的概率,适应度越大,被选择的概率越大,之后采用轮盘赌的方式进行选择(注意,并非只是单一地按照适应度从大到小选择个体,这样容易陷入局部最优解,而非全局最优解)。

4.个体染色体的交叉及突变

  通过筛选我们保留了相对适应环境的个体,但是这并不是最优的,因此我们需要个体之间进行交叉和突变来产生新的个体,进而继续筛选,不断迭代进化,直至选出最优个体。

  交叉就是两两个体的一部分进行交换,从而创造出新的解。变异就是取个体的某一部分进行随机变化,进而产生新的个体,利于特殊解的产生,提高算法跳出局部最优解的能力。

  在进行交叉和突变的时候,我们需要保留本代最优个体(一般取总群体的10%),让其不再交叉和突变,防止优秀个体的流失和被破坏,从而避免迭代次数的无意义增加。

5.解码

  由于我们通过编码将解的空间表示成染色体的基因组成的序列,并将染色体不断地交叉,变异及选择,最终选择出了最优个体。之后,我们需要用解码将编码后的染色体还原成解,由此得到最优解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值