CSDN博客

img yuanqingfei

贴个俺的成果,嘿嘿

发表于2004/7/7 17:19:00  1246人阅读

分类: ★My Study★

今天用刚出炉的GA,做了个小测试,呵呵,还不错,把结果总结了一下:

 

被测函数:(《演化程序-遗传算法和数据编码的结合》 科学出版社,2000 P26

 F(x1,x2)=21.5+x1*sin(4*pi*x1)+x2*sin(20*pi*x2)  的最大值

其中 3.0<=x1<=12.1以及4.1<=x2<=5.8,函数的图形在【相册-资源】中(等俺会贴图了,再贴回来,呵呵)

 

 

现在我有5个选择算子,其中15是同样的,但是实现方法不同(可以同等看待,这里只不过多测试了一次而已,呵呵)

54)个算子都包含了最优保存,它们分别是

1,  转盘式选择算子(最常见的,也就是比例算子):selection1, selection5

2,  具有排名的转盘式选择算子:selection2

3,  随机一致算子:selection3

4,  锦标赛选择算子: selection4

 

现在我有两个算法性能评估指标(《演化计算》 潘正君等,清华大学出版社,1998P66

一个是平均性能值(在线性能),具体什么情况我就不说了:AVE

一个是最优性能值(离线性能),同上,呵呵:MAX

 

下面这个表格就是测试结果,敲数字可真不是个好活:)

 

selection1

selection2

selection3

selection4

selection5

AVE

38.8503

38.3226

38.4503

38.1489

38.8503

33.5902

22.7836

33.6016

36.5246

34.1255

11.6255

11.6333

11.6255

11.1268

11.6256

5.725

5.6309

5.325

5.5251

5.725

MAX

38.8474

36.3799

38.8502

38.8503

38.8493

38.1199

36.259

38.1921

38.5717

38.6797

11.6257

11.1469

11.6254

11.6255

11.6255

5.7256

4.6323

5.7251

5.725

5.7253

 

注:以上结果所用参数:

popsize=80,群中个体的数量

gen=300,代数

minvar=[-3.0 4.1],由于这是一个双变量函数,所以minvar是二个,分别代表x1,x2的最小值,这个程序可以处理多变量的情况

maxvar=[12.1 5.8],同上,只不过代表的是最大值,这样,每个变量就有了一个范围

scalevar=0.0001,求解精度,表格中凡是小数点后面是三位的表示第四位是0

pc=0.25,交叉概率

pm=0.01,变异概率

解释一下:从上到下的四个数字分别代表:最上面的一个是代表到第300代所找到的最优结果,第二个就是本次计算的AVE(或者MAX),第三个和第四个分别是取得最优结果时所对应的自变量值,这里有两个。

 

还有,AVE的大小说明算法的收敛性,而MAX则代表算法的趋向(on-going)性能

附录:各个结果所得到的图:

ave1:

 

max1

ave2

max2

ave3

max3

ave4

max4

ave5

max5

 

 

算了,我也不会贴图,大家到 相册-资源 中去看吧,嘿嘿

0 0

相关博文

我的热门文章

img
取 消
img