遗传算法(GA)

本文详细介绍了遗传算法的编码方法,如二进制编码,以及适应度函数的标定技巧,包括线性尺度变换、σ截断和幂律变换。选择策略部分涵盖了轮盘赌、分级选择、锦标赛选择和Boltzmann选择。深入探讨了如何在遗传优化中平衡群体多样性和选择压力。
摘要由CSDN通过智能技术生成

遗传算法(genetic algorithm)模型

遗传算法需要通过编码实现对个体的表示,并利用适应度函数对个体优劣进行评价,通过选择、交叉和变异等进化操作实现优化搜索。

编码方法
遗传算法的编码方式有:二进制编码、自然数编码、实数编码和树形编码等。其中最常见的就是二进制编码。例如:一个长度为5的二进制串10100就可以表示为一个个体;三个二进制串010、110、111就可以表示为规模为3的群体。
解码 :将二进制串10100表示成问题的解为20,就是解码。(解码的原因:对个体的评价需要在问题的解空间中进行)
实际上交替进行编码和解码时遗传算法的必备组成部分,实现了问题的解空间对算法搜索空间的相互转换。

适应度函数
每一个个体都有一个适应度函数相对应。其优劣需要通过适应度函数值大小进行定量评价。个体越优越,其适应度函数值越大。适应度函数直接决定搜索群体的进化行为。
适应度函数标定
令F和H分别表示变换前和变换后的适应度函数,以下给出对适应度值进行尺度变换的常用方法:
1)线性尺度变换法
H=aF+b
其中,参数a和b要根据具体问题设置
2)σ截断法
H=F+( ̅F -cσ)
其中 ̅F表示变换前的适应度函数值的平均值,参数c需要根据具体问题设置
3)幂律尺度变换
H=Fα(α在右上角)
当参数α>1时,选择压力增加;当参数α<1时,选择压力减小
选择策略
在遗传算法中,一方面要保持搜索群体的多样性,设置低选择压力可选择多种类型的个体,加强对未知解区域的搜索,避免算法陷入局部极值,但算法优化速度会变得缓慢;另一方面要设置高选择压力可选择优良个体,实现优胜劣汰,可以加快优化速度但群体多样性会下降,会减小搜索到全局最优值概率。目前,可以通过选择策略调节选择压力和群体多样性之间的矛盾。
1)轮盘赌算法
实现选择操作的方法有很多,最基本的是霍兰德推荐的轮盘赌算法。计算每个个体被选择进入到下一代群体的概率,即
在这里插入图片描述
其中,P;表示第i个个体被选择的概率;F;表示第i个个体的适应度函数值;N表示群体规模。
2)分级选择法
在这里插入图片描述
3)锦标赛选择法
这种选择策略与基于排名的思想,但不显示排名,在当前群体中,每次随机选择K个个体,然后从这k个个体中选出适应度值最大的个体到下一代群体中。被选择的个体仍然返回到当前群体中,参加下一次k个个体的随机选择。重复上述过程N次,就可以产生N个个体,达到群体规模的要求。
4)Boltzmann选择法
在这里插入图片描述

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值