您的位置:首页 > 编程语言 > MATLAB

MATLAB遗传算法工具箱的函数简介

2017-04-16 17:44 525 查看
本文简单介绍谢菲尔德大学开发的遗传算法工具箱的用法。

工具箱名字gatbx,即GA Toolbox。用help gatbx即可看到其所有函数。函数的功能分几大类:创建种群、适应度计算、选择、变异、交叉。

创建种群

crtbase 创建基向量



由图可知,产生了3个5,和4个6,5和6表示的是个体向量的范围。

crtbp 创建初始种群





Create an initial population 第一个参数表示生成的种群大小,3排5列,3表示有3个个体,5表示每个个体有5位。第二个参数表示这5位分别的范围,即基向量BaseV,比如6表示0~5, 3表示0~2,该参数可由crtbase生成。

返回值Lind表示每个个体的位数。

crtrp 创建实值种群



CReaTe an initial (Real-value) Population FieldDR表示范围,第一排表示最大值,第二排表示最小值。4表示产生的种群的个体数量。

适应度计算

ranking



基于排序的适应度分配。可以观察出,ObjV中最大的数在FitnV中最小,即反序排列。

scaling

线性适应度计算。



选择

select

SelCh = select(SEL_F,Chrom,FitnV)


SEL_F是字符串,表示选择的方法,有轮盘法rws,随机遍历抽样法sus。Chrom是多个个体组成的种群,FitnV是适应度





适应度值越大,被选中概率越大。select函数还可以加个参数表示输出个体的个数,比如1.5表示输出种群中个体的个数为原来个数的1.5倍。



reins

重插入子代到种群,插入位置是随机的,SelCh意为selected chrom被选中的个体,即子代

Chrom = reins(Chrom,SelCh)






变异

mutate

NewChrom = mutate (MUT_F,OldChrom,FieldDR,MutOpt)


MUT_F是字符串,表示变异算法,可选项mutbga或mut。mut是离散变异,mutbga是实值变异。FieldDR表示变异范围,MutOpt是变异概率。



交叉

交叉算子函数有:recdis,recint,reclin,recmut,recombin,xovdp,xovdprs,xovmp,xovsh,xovshrs,xovsp,xovsprs。

交叉是通过给定的概率重组一对个体产生后代。单点交叉、两点交叉和洗牌交叉是由xovsp、xovdp、xovsh函数分别完成的。缩小代理交叉函数分别是:xovdprs、xovshrs和xovsprs。通用的多点交叉函数是xovmp,它提供均匀交换的支持。为支持染色体实值表示,离散的、中间的和线性重组分别由函数recdis、recint、reclin完成。函数recmut提供具有突变特征的线性重组。

函数recombin是一高级入口函数,对所有交叉操作提供多子群支持入口。

recombin

NewChrom = recombin(REC_F,Chrom,RecOpt)


REC_F是字符串,表示交叉算法,RecOpt表示交叉概率。



变异发生在奇数行和偶数行之间,recdis是离散重组,一位一位地变异。此外还有中间重组,线性重组等。



以上是单点交叉,也就是奇偶两行逐点交换元素,有的交换,有的不交换,按概率。

“遗传算法工具箱文档翻译”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息