fu
ctio
BestPopTracefmaxgaFUNLBUBera
umpopsizepcrosspmutatio
optio
sr
BestPopTracefmaxgaFUNLBUBera
umpopsizepcrosspmutatio
r
Fi
dsamaximumofafu
ctio
ofseveralvariablesr
fmaxgasolvesproblemsoftheformr
maxFXsubjecttoLBXUBr
BestPop最优的群体即为最优的染色体群r
Trace最佳染色体所对应的目标函数值r
FUN目标函数r
LB自变量下限r
UB自变量上限r
era
um种群的代数取1001000默认1000r
popsize每一代种群的规模;此可取50100默认50r
pcross交叉的概率此概率一般取05085之间较好默认08r
pmutatio
变异的概率该概率一般取00502左右较好默认01r
optio
s1×2矩阵optio
s10二进制编码默认0optio
10十进制编码optio
2设定求解精度默认1e4r
r
如测试Shaffersf05si
sqrtx12x2220510001x12x222函数自变量下限100100上限100100当x00时取得理想最优MaxF61r
运行得到相当好的结果自变量为00003337947684e005时最优值1000000r
对应染色体是:100000000000000000011011111111111111111111r
r
T1clockr
if
argi
3errorFMAXGArequiresatleastthreei
putargume
tse
dr
if
argi
3era
um1000popsize50pcross08pmutatio
01optio
s01e4e
dr
if
argi
4popsize50pcross08pmutatio
01optio
s01e4e
dr
if
argi
5pcross08pmutatio
01optio
s01e4e
dr
if
argi
6pmutatio
01optio
s01e4e
dr
if
argi
7optio
s01e4e
dr
iffi
dLBUB0r
error数据输入错误请重新输入LBUBr
e
dr
sspri
tf程序运行需要约4f秒钟时间请稍等era
umpopsize40100050r
dispsr
bou
dsLBUBbitsr
precisio
optio
s2由求解精度确定二进制编码长度r
bitsceillog2bou
ds2bou
ds1precisio
r
Popi
itpoppopsizebits初始化种群r
m
sizePopr
pm0pmutatio
r
BestPopzerosera
um
Tracezerosera
umle
gthbits1分配初始解空间r
i1r
whileiera
umr
forj1mr
valuejfevalFUN1b2fPopjbou
dsbits计算适应度r
e
dr
MaxValueI
dexmaxvaluer
BestPopiPopI
dexr
Tracei1MaxValuer
Tracei2le
gthbits1b2fBestPopibou
dsbitsr
selectpopselectchromFUNPopbou
dsbits选择r
CrossOverPopCrossOverselectpoppcross交叉r
NewPopMutatio
CrossOverPoppmutatio
变异r
PopNewPop更新r
pmutatio
pm0i406pm0era
um4随着种群向前进化,逐步增大变异率r
pipmutatio
r
ii1r
e
dr
t1era
umr
plottTrace1r
title函数优化的遗传算法xlabel进化世代数era
umylabel每一代最优适应度maxfit
essr
MaxFvalImaxTrace1r
XTraceI2le
gthbits1r