MATLAB遗传算法函数总结

种群表示和初始化函数 bs2rv:
二进制串到实值的转换
 
Phen=bs2rv(Chrom,FieldD)
               FieldD=[len, lb, ub, code, scale, lbin, ubin] 
code(i)=1为标准的二进制编码,code(i)=0为格雷编码 
scale(i)=0为算术刻度,scale(i)=1为对数刻度 
函数 crtbp:
创建初始种群 
[Chrom,Lind,BaseV]=crtbp(Nind,Lind)

[Chrom,Lind,BaseV]=crtbp(Nind,BaseV) 
[Chrom,Lind,BaseV]=crtbp(Nind,Lind,BaseV) 

Nind指定种群中个体的数量,Lind指定个体的长度 
函数 crtrp:
创建实值原始种群 
Chrom=crtrp(Nind,FieldDR) 

适应度计算函数 ranking:
基于排序的适应度分配(此函数是从最小化方向对个体进行排序的) 
FitV=ranking(ObjV) 
FitV=ranking(ObjV, RFun) 
FitV=ranking(ObjV, RFun, SUBPOP) 
Rfun(1)线性排序标量在[1 2]间为,非线性排序在[1 length(ObjV)-2] 
Rfun(2)指定排序方法,0为线性排序,1为非线性排序 
SUBPOP指明ObjV中子种群的数量,默认为

选择高级函数 select:
从种群中选择个体 
SelCh=select(SEL_F, Chrom, FitnV) 
SelCh=select(SEL_F, Chrom, FitnV, GGAP) 
SelCh=select(SEL_F, Chrom, FitnV, GGAP, SUBPOP) 

SEL_F是一字符串,为一低级选择函数名,如rwssus 
GGAP指出了代沟,默认为1;也可大于1,允许子代数多于父代的数量 
rws: 轮盘赌选择 
NewChrIx=rws(FitnV, Nsel) 使用轮盘赌选择从一个种群中选择Nsel个个体 
NewChrIx 是为育种选择的个体的索引值 
sus:
随机遍历抽样 
NewChrIx=sus(FitnV, Nsel) 

交叉高级函数 recombin:
重组个体 
NewChrom=recombin(REC_F, Chrom) 
NewChrom=recombin(REC_F, Chrom, RecOpt) 
NewChrom=recombin(REC_F, Chrom, RecOpt, SUBPOP) 
REC_F是包含低级重组函数名的字符串,例如recdis,recint,reclin,xovdp, xovdprs, xovmp, xovsh, xovshrs, xovsp, xovsprs 
recdis:
离散重组 
NewChrom=recdis(OldChorm) 
recint:
中间重组 
NewChrom=recint(OldChorm) 
reclin:
线性重组 
NewChrom=reclin(OldChorm) 
xovdp:

两点交叉 

NewChrom=xovdp(OldChrom, XOVR) 

XOVR为交叉概率, 默认为0.7 
Xovdprs:
减少代理的两点交叉 
NewChrom=xovdprs(OldChrom, XOVR) 
Xovmp:

多点交叉 

NewChrom=xovmp(OldChrom, XOVR, Npt, Rs) 

Npt指明交叉点数, 0 洗牌交叉;单点交叉;两点交叉;
默认为

Rs指明使用减少代理, 0 不减少代理;减少代理;
默认为
Xovsh:

洗牌交叉 

NewChrom=xovsh(OldChrom, XOVR) 
Xovshrs:
减少代理的洗牌交叉 
NewChrom=xovshrs(OldChrom, XOVR) 
Xovsp:
单点交叉 
NewChrom=xovsp(OldChrom, XOVR) 
Xovsprs:
减少代理的单点交叉 
NewChrom=xovsprs(OldChrom, XOVR) 

变异高级函数 mutate:
个体的变异 
NewChorm=mutate(MUT_F, OldChorm, FieldDR) NewChorm=mutate(MUT_F, OldChorm, FieldDR, MutOpt) NewChorm=mutate(MUT_F, OldChorm, FieldDR, MutOpt, SUBPOP) MUT_F为包含低级变异函数的字符串,例如mut, mutbga, recmut 
mut:
离散变异算子 
NewChrom=mut(OldChorm, Pm) NewChrom=mut(OldChorm, Pm, BaseV) 
Pm为变异概率,默认为Pm=0.7/Lind 
mutbga:
实值种群的变异(遗传算法育种器的变异算子) NewChrom=mutbga(OldChorm, FieldDR) 
NewChrom=mubga(OldChorm, FieidDR, MutOpt) 
MutOpt(1)是在[ 0 1]间的重组概率的标量,默认为
MutOpt(2)是在[0 1]间的压缩重组范围的标量,默认为1(不压缩) 
recmut:
具有突变特征的线性重组 
NewChrom=recmut(OldChorm, FieldDR) 
NewChrom=recmut(OldChorm, FieidDR, MutOpt) 

重插入函数 reins:
重插入子群到种群 
Chorm=reins(Chorm, SelCh) 
Chorm=reins(Chorm, SelCh, SUBPOP) 
Chorm=reins(Chorm, SelCh, SUBPOP, InsOpt, ObjVch) 
[Chorm, ObjVch]=reins(Chorm, SelCh, SUBPOP, InsOpt, ObjVch, ObjVSel) 
InsOpt(1)指明用子代代替父代的选择方法,0为均匀选择,1为基于适应度的选择,默认为
InsOpt(2)指明在[0 1]间每个子种群中重插入的子代个体在整个子种群的中个体的比率,默认为

ObjVch包含Chorm中个体的目标值,对基于适应度的重插入是必需的 
ObjVSel包含Selch中个体的目标值,如子代数量大于重插入种群的子代数量是必需的 

其他函数矩阵复试函数 rep:
MatOut=rep(MatIn, REPN)
REPN为复制次数

————————————————————————————
注:本总结来自网络,只为学习经验交流。
摘自:http://zdisheng.spaces.live.com/Blog/cns!B5BC47573DD7AA9B!395.entry

    原文作者:遗传算法
    原文地址: https://blog.csdn.net/drrlalala/article/details/14068301
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞