MATLAB遗传算法工具箱的函数简介
2017-04-16 17:44
525 查看
本文简单介绍谢菲尔德大学开发的遗传算法工具箱的用法。
工具箱名字gatbx,即GA Toolbox。用help gatbx即可看到其所有函数。函数的功能分几大类:创建种群、适应度计算、选择、变异、交叉。
由图可知,产生了3个5,和4个6,5和6表示的是个体向量的范围。
Create an initial population 第一个参数表示生成的种群大小,3排5列,3表示有3个个体,5表示每个个体有5位。第二个参数表示这5位分别的范围,即基向量BaseV,比如6表示0~5, 3表示0~2,该参数可由crtbase生成。
返回值Lind表示每个个体的位数。
CReaTe an initial (Real-value) Population FieldDR表示范围,第一排表示最大值,第二排表示最小值。4表示产生的种群的个体数量。
基于排序的适应度分配。可以观察出,ObjV中最大的数在FitnV中最小,即反序排列。
SEL_F是字符串,表示选择的方法,有轮盘法rws,随机遍历抽样法sus。Chrom是多个个体组成的种群,FitnV是适应度
适应度值越大,被选中概率越大。select函数还可以加个参数表示输出个体的个数,比如1.5表示输出种群中个体的个数为原来个数的1.5倍。
MUT_F是字符串,表示变异算法,可选项mutbga或mut。mut是离散变异,mutbga是实值变异。FieldDR表示变异范围,MutOpt是变异概率。
交叉是通过给定的概率重组一对个体产生后代。单点交叉、两点交叉和洗牌交叉是由xovsp、xovdp、xovsh函数分别完成的。缩小代理交叉函数分别是:xovdprs、xovshrs和xovsprs。通用的多点交叉函数是xovmp,它提供均匀交换的支持。为支持染色体实值表示,离散的、中间的和线性重组分别由函数recdis、recint、reclin完成。函数recmut提供具有突变特征的线性重组。
函数recombin是一高级入口函数,对所有交叉操作提供多子群支持入口。
REC_F是字符串,表示交叉算法,RecOpt表示交叉概率。
变异发生在奇数行和偶数行之间,recdis是离散重组,一位一位地变异。此外还有中间重组,线性重组等。
以上是单点交叉,也就是奇偶两行逐点交换元素,有的交换,有的不交换,按概率。
“遗传算法工具箱文档翻译”
工具箱名字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是离散重组,一位一位地变异。此外还有中间重组,线性重组等。
以上是单点交叉,也就是奇偶两行逐点交换元素,有的交换,有的不交换,按概率。
“遗传算法工具箱文档翻译”
相关文章推荐
- 遗传算法各Matlab工具箱简介
- matlab遗传算法工具箱函数及实例讲解(转引)
- matlab遗传算法工具箱函数及实例讲解 zz
- matlab遗传算法工具箱函数及…
- matlab遗传算法工具箱函数及实例讲解(转引)[
- Matlab的曲线拟合工具箱CFtool使用简介及一种非线性函数的曲线拟合方法(函数公式: k = A*(T^a)*exp(E/T) )
- matlab遗传算法工具箱函数及实例讲解
- 遗传算法工具箱求函数极值
- matlab通信工具箱函数
- MATLAB BP网络工具箱中不同学习函数,训练函数和性能函数时的学习效率和精度
- MATLAB通信工具箱函数
- MATLAB BP网络工具箱中不同学习函数,训练函数和性能函数时的学习效率和精度
- 图像处理matlab工具箱常用函数
- Matlab的曲线拟合工具箱CFtool使用简介
- Matlab数理统计工具箱应用简介(转)
- 遗传算法与直接搜索工具箱学习笔记 五-----使用GPS算法寻找一个函数的最小值
- 数据拟合---使用自定义函数进行非线性拟合 -在Origin。matlab拟合工具箱cftool
- 关于matlab的SVM工具箱的几个函数
- Matlab遗传算法工具箱(Sheffield大学版)
- matlab工具箱函数汇总