调用格式
Chrom=reins(Chrom,Selch)
Chrom=reins(Chrom,Selch,SUBPOP)
Chrom=reins(Chrom,Selch,SUBPOP,InsOpt,ObjVch)
Chrom=reins(Chrom,Selch,SUBPOP,InsOpt,ObjVch,ObjVSel)
参数含义
Chrom:种群
Selch:经选择后的种群
SUBPOP:可选参数,指明Chrom和SelCh中子群体的个数,默认为1,则两个种群里每个子种群具有相同大小。
InsOpt:是一个最多两个参数的向量
InsOpt(1):说明子代替代父代的方法,0为均匀随机选择。1为基于适应度的选择,子代替代父代中适应度最小的个体。默认为0
InsOpt(2):是一个在【0,1】区间的标量,表示每个子群体中重插入的子代个体在整个子种群中个体的比率。默认为1
ObjVch是一个可选列向量,包含Chrom个体的目标值。对于基于适应度的重新插入这个是必须。
ObjVSel是一个可选参数,包含SelCh中个体的目标值。如果子代的数量大于重插入种群中的子代数量,则该参数是必须的。这种情况子代将按照他们的适应度大小选择插入。
代码举例
%% 重插入函数——reins
chrom=crtbp(5,10)
selch=crtbp(2,10)
chrom=reins(chrom,selch)
结果:
chrom =
1 0 0 0 1 0 0 1 0 1
1 0 0 0 0 0 0 0 0 0
0 1 0 0 1 0 0 0 0 1
0 0 0 0 0 0 1 0 0 1
0 0 0 0 0 0 1 1 0 0
selch =
1 1 0 0 1 0 1 1 0 0
1 1 1 0 1 0 1 1 1 1
chrom =
1 1 0 0 1 0 1 1 0 0
1 0 0 0 0 0 0 0 0 0
0 1 0 0 1 0 0 0 0 1
1 1 1 0 1 0 1 1 1 1
0 0 0 0 0 0 1 1 0 0