R中的遗传算法

2011-06-08 15:27 · friendpine

在R中我发现了四个软件包使用遗传算法进行参数选择和目标函数优化,如下所示:

在R中我发现了四个软件包使用遗传算法进行参数选择和目标函数优化,如下所示:

1 GALGO

2 genalg

rbga(stringMin=c(), stringMax=c(),

suggestions=NULL,

popSize=200, iters=100,

mutationChance=NA,

elitism=NA,

monitorFunc=NULL, evalFunc=NULL,

showSettings=FALSE, verbose=FALSE)

3 mcga

mcga(popsize, chsize, elitism = 1, minval, maxval, maxiter = 10, evalFunc)

4 rgenoud

genoud(fn, nvars, max=FALSE, pop.size=1000, max.generations=100, wait.generations=10,

hard.generation.limit=TRUE, starting.values=NULL, MemoryMatrix=TRUE,

Domains=NULL, default.domains=10, solution.tolerance=0.001,

gr=NULL, boundary.enforcement=0, lexical=FALSE, gradient.check=TRUE, data.type.int=FALSE, hessian=FALSE, unif.seed=812821, int.seed=53058,print.level=2, share.type=0, instance.number=0,

output.path="stdout", output.append=FALSE, project.path=NULL,

P1=50, P2=50, P3=50, P4=50, P5=50, P6=50, P7=50, P8=50, P9=0,

P9mix=NULL, BFGSburnin=0, BFGSfn=NULL, BFGShelp=NULL,

control=list(), optim.method=ifelse(boundary.enforcement < 2, "BFGS", transform=FALSE, debug=FALSE, cluster=FALSE, balance=FALSE, ...)

上面几个包都是使用遗传算法进行优化,第2个和第3个的使用比较简单,参数也少,第1个和第4个的参数较多。不论哪个,基本的参数都有下面几个:

1 目标函数,这是至关重要的,而且与具体问题联系起来,需要自己定义。

2 变量个数,变量初始值及其值的范围

3 群体大小

4 突变率

5 迭代次数

。。。

这些参数都是最基本的,也是需要自己根据问题慢慢调试的。

关键词: