遗传算法理解

遗传算法是一种全局寻优方法,灵感来源于生物进化论,包括选择、交叉、变异和重组四个步骤。适应度函数设计、种群规模和染色体长度设置是关键因素。通过实例分析,使用MATLAB实现了一个函数最大值的求解问题,个体编码为6位二进制,种群初始化借助gatbx工具箱。
摘要由CSDN通过智能技术生成

遗传算法在全局寻优过程中具有独特的优势而受到各领域研究者的广泛关注。遗传算法受达尔文生物进化论启发而产生,其过程主要包括:选择、交叉、变异、重组四个过程。整个遗传算法思想简单,但是在实际应用中需要注意以下几个方面:

1、适应度函数的设计。由于选择过程中一般都是以各染色体的适应度在整个种群中的比例来进行选择,适应度越高表示越能适应环境、其被选择繁殖到下一代的概率就越大。因此,适应度函数设计的好坏直接影响遗传算法的性能。

2、种群规模的设计。种群规模表示是初始解集的大小,太少容易丢失种群多样性,导致无法寻找到最优解;太多则会增加计算量,因此,需要对二者进行一个平衡。

3、染色体长度设置。在遗传算法中,一般将变量编译成0、1二进制的染色体。

本文以http://blog.csdn.net/b2b160/article/details/4680853/ 这篇博文的例子来加深对遗传算法的理解。根据其例子编写对应的MATLAB代码,其描述如下:

例子:

求下述函数最大值

第一步、个体编码

由于x1,x2都属于[1,7],因此可以分别采用3个无符号的二进制来表示,将它们连接在一起形成6位二进制数,如001100。

第二步、初始化种群

根据个体编码规则和种群大小,利用谢菲尔德大学的遗传算法工具箱 gatbx来初始化种群,其MATLAB代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值