robfitsumfit计算各个体相对适应度01r
qmaxselectprob选择最优的概率r
xzerosm2r
x1m11r
yx2sortselectprobr
rq11qm标准分布基值r
ewfitx2r1qx11生成选择概率r
ewfitcumsum
ewfit计算各选择概率之和r
rNumssortra
dm1r
fitI
1
ewI
1r
while
ewI
mr
ifrNums
ewI
ewfitfitI
r
selectpop
ewI
popfitI
r
ewI
ewI
1r
elser
fitI
fitI
1r
e
dr
e
dr
r
r
r
r
交叉操作r
fu
ctio
NewPopCrossOverOldPoppCrossoptsr
OldPop为父代种群,pcross为交叉概率r
globalm
NewPopr
rra
d1mr
y1fi
drpCrossr
y2fi
drpCrossr
le
le
gthy1r
ifle
2modle
21如果用来进行交叉的染色体的条数为奇数,将其调整为偶数r
y2le
gthy21y1le
r
y1le
r
e
dr
ifle
gthy12r
fori02le
gthy12r
ifopts0r
NewPopy1i1NewPopy1i2EqualCrossOverOldPopy1i1OldPopy1i2r
elser
NewPopy1i1NewPopy1i2MultiPoi
tCrossOldPopy1i1OldPopy1i2r
e
dr
e
dr
e
dr
NewPopy2OldPopy2r
r
采用均匀交叉r
fu
ctio
childre
1childre
2EqualCrossOverpare
t1pare
t2r
r
global
childre
1childre
2r
hidecoderou
dra
d1
随机生成掩码r
crosspositio
fi
dhidecode1r
holdpositio
fi
dhidecode0r
childre
1crosspositio
pare
t1crosspositio
掩码为1,父1为子1提供基因r
childre
1holdpositio
pare
t2holdpositio
掩码为0,父2为子1提供基因r
childre
2crosspositio
pare
t2crosspositio
掩码为1,父2为子2提供基因r
childre
2holdpositio
pare
t1holdpositio
掩码为0,父1为子2提供基因r
r
采用多点交叉,交叉点数由变量数决定r
r
fu
ctio
Childre
1Childre
2MultiPoi
tCrossPare
t1Pare
t2r
r
global
Childre
1Childre
2VarNumr
Childre
1Pare
t1r
Childre
2Pare
t2r
Poi
tssortu
idr
d
12VarNumr
fori1VarNumr
Childre
1Poi
ts2i1Poi
ts2iPare
t2Poi
ts2i1Poi
ts2ir
Childre
2Poi
ts2i1Poi
ts2iPare
t1Poi
ts2i1Poi
ts2ir
e
dr
r
r
r
r
变异操作r
fu
ctio
NewPopMutatio
OldPoppMutatio
VarNumr
r
globalm
NewPopr
rra
d1mr
positio
fi
drpMutatio
r
le
le
gthpositio
r
ifle
1r
fori1le
r
ku
idr
d
1VarNum设置变异点数,一般设置1点r
forj1le
gthkr
ifOldPoppositio
ikj1r
OldPoppositio
ikj0r
elser
OldPoppositio
ikj1r
e
dr
e
dr
e
dr
e
dr
NewPopOldPopr
r
r
r
r
倒位操作r
r
fu
ctio
NewPopI
versio
OldPoppI
versio
r
r
globalm
NewPopr
NewPopOldPopr
rra
d1mr
PopI
fi
drpI
versio
r
le
le
gthPopI
r
ifle
1r
fori1le
r
dsortu
idr
d
12r
ifd11d2
r
NewPopPopI
i1d1r