服务热线
178 0020 3020
mcga包主要包含两个函数 mcga, multi_mcga,其中mcga适用于单目标函数的最小化问题,
multi_mcga 可以使用mcga的逻辑实现多目标的优化。
library("mcga")
#定义适应度函数
f<-function(x){
return ((x[1]-7)^2 + (x[2]-77)^2 +(x[3]-777)^2 +(x[4]-7777)^2 +(x[5]-77777)^2)
}
m <- mcga( popsize=200, #种群规模,即染色体数量或个体数目
chsize=5, #参数数量
minval=0.0, #随机生成初始种群的下限
maxval=999999999.9, #随机生成初始种群的上线
maxiter=2500, #最大世代数,即繁殖次数,默认为10
crossprob=1.0, #交叉概率
mutateprob=0.01, #变异概率
evalFunc=f)
cat("Best chromosome:\n")
print(m$population[1,])
str(m)
m$population
> cat("Best chromosome:\n")
Best chromosome:
> print(m$population[1,])
[1] 2.151489e-01 7.811483e+01 7.769824e+02 7.776895e+03
[5] 7.777596e+04
> str(m)
List of 10
$ population: num [1:200, 1:5] 0.215 0.215 0.215 0.215 0.215 ...
$ costs : num [1:200] 48.4 48.4 48.4 48.4 48.4 ...
$ popsize : num 200
$ chsize : num 5
$ crossprob : num 1
$ mutateprob: num 0.01
$ elitism : num 1
$ minval : num 0
$ maxval : num 1e+09
$ maxiter : num 2500
> m$population
[,1] [,2] [,3] [,4]
[1,] 2.151489e-01 7.811483e+01 7.769824e+02 7776.8949432
[2,] 2.151489e-01 7.811477e+01 7.769819e+02 7776.8988647
附件