重新写一下,就是我想用遗传算法计算这个函数的最小值,我也是在网上搜的,他第一行的代码省略掉了,我不会写,原题如下:
题目1:设fx=(x1-5)^2 + (x2-55)^2 +(x3-555)^2 +(x4-5555)^2 +(x5-55555)^2,计算fx的最小值,其中x1,x2,x3,x4,x5为5个不同的变量。
从直观上看,如果想得到fx的最小值,其实当x1=5,x2=55,x3=555,x4=5555,x5=55555时,fx=0为最小值。如果使用穷举法,通过循环的方法找到这5个变量,估计会很费时的,我就不做测试了。下面我们看一下遗传算法的运行情况。
# 定义适应度函数
> f<-function(x){} # 代码省略
# 运行遗传算法
> m <- mcga( popsize=200,
+ chsize=5,
+ minval=0.0,
+ maxval=999999,
+ maxiter=2500,
+ crossprob=1.0,
+ mutateprob=0.01,
+ evalFunc=f)