百度文库-张曦元
粒子的长度D(空间维数) :这是由优化问题决定,就是问题解的长度。粒子的坐标范围:由优化问题决定,每一维可以设定不同的范围。vmax决定粒子在一个循环中最大的移动距离,通常设为粒子的范围宽度。学习因子:c1 和c2通常等于2,不过文献中也有其它的取值,一般c1?c2,且范围在0和4之间。终止条件:按最大循环数及最小偏差要求,这个终止条件由具体问题确定。例如,最小错误可以设定为1 个错误分类,最大循环数设定为2000。惯性权值w:w 控制着速度前一变化量对当前变化量的影响,如果较w大,则影响较大,能够搜索以前所未能达到的区域,整个算法的全局搜索能力加强,有利于跳出局部极小点;而w值较小,则前一动量项的影响较小,主要是在当前解的附近搜索,局部搜索能力较强,有利于算法收敛。研究表明,让惯性权值随着叠代次数的增加在1. 4到0之间逐步减少可以取得较好的效果。
4.4 对参数的理论分析
方差分析是分析试验数据的一种方法。利用此方法亦可分析算法中同一参数的不同水平或者不同参数的各个水平对算法性能影响的差异性,从而探究不同参数设置范围与算法系统性能之间的潜在关系。单因子方差分析是通过观察一个因子的量值变化,分析这个因子变化对整个试验的影响程度。利用这种方法可考查PSO中c2和c2这两个关键的参数因子各自对算法性能的影响。在试验中影响指标的因素称为因子,因子所处的状态,所取的等级称为因子水平。本文采取相等的试验次数进行方差分析。首先,假定因子A有m个水平,在每种水平下,做k次试验,在每次试验后可得一试验值,记做xij它表示在第i个水平下的第j个试验值
i?1,2,?,m;j?1,2,?,k, 如表1 所示,在考察因子A对试验结果的影响程度时,
把因子A的m个水平A1,A2,,?,Am看成是m个正态总体,因此可设
Xij~N(ai,?2), i?1,2,?,m, j?1,2,?,k。其中, ai????i,?i是因子A的第i水平Ai所引起的差异。因此检验因子A的各水平之间是否有显著的差异,相当于判断公式(4.2):H01:a1?a2??或H01:?1??2????m?0(3)利用公式(4.1)
34
百度文库-张曦元
表述的平方和ST分解公式可将总的离差平方和进行分解,从而将因子水平不同而造成的结果差异与随机因素影响而造成的结果差异从量值上区分开来。
ST?Se?SA,ST???(xij?x)2 (4.3)
i?1j?1mk其中Se???(xij?x)?k?(xi?x)2,
2i?1j?1ki?1mkm1kSe???(xij?x),xi??xij,
kj?1i?1j?12m1m1mkx??xi???xij
mi?1mi?1j?1总离差平方和ST是所有观察值xij与其总平均值x之差的平方和,是描述全部数据离散程度的数量指标。由于xij是服从正态分布的随机量,当公式(4.2) 成立时
xij是独立同分布。同正态分布的随机变
量, 则有公式(4.3) 是服从fT?mk?1的x2分布:
ST??(x?i?1j?1mkij?xi)2?2?2 (4.4)
Se是观察值xij与组内平均值xi之差的平方和,也就是组内平均和,它反映了
组内(同一水平下) 样本的随机波动,其自由度为fe?mk?m,是组内平均值xi与总平均值之差的平方和,即组间平方和。它在一定程度上反映了因子各个水平不同而引起的差异,其自由度为fA?m?1。平方和分解公式说明观察值关于其总平均值之的差异是由组内平方和组间平方和组成的。因此,公式(4.4) 表示的SA和Se之间的比值F就是反映了两种差异所占的比重。
35
百度文库-张曦元
SAF?Sem?1 (4.5)
m(k?1)F越大说明因子各水平不同引起的差异越显著,所以统计量F可用来检验各因子的影响效应。惯性权值w、加速常数c1和c2的不同设置水平,每个设置水平进行10次测试,通过单因子方差分析,说明不同参数水平对算法速率性能—迭代次数和算法优化性能———近似最优解的影响能力,能够获得比较一致的迭代次数均值, 且在此范围内进行更细致的单因子方差分析进一步证明较小的惯性权值能够提高算法速率。在需要较高计算速率的应用中,可适当减小惯性权值。
针对本程序(适应函数
f(x)??xii?1102)令c1?c2?2,
w1?0.4,w2?0.8,w3?1.2,w4?1.4做单因子方差分析,判断因子对程序的影响。运行程序(6),在此基础作5次试验的结果。
第一组实验对应w1?0.4的迭代次数为43,适应值为0.043133738358137 第一组实验对应w1?0.8的迭代次数为20,适应值为0.978441955858031 第一组实验对应w1?1.2的迭代次数为9,适应值为1.704780367886482 第一组实验对应w1?1.4的迭代次数为7,适应值为3.165437900832790
第二组实验对应w1?0.4的迭代次数为45, 适应值为0.116223586568965 第二组实验对应w1?0.8的迭代次数为132,适应值为0.024791910872392 第二组实验对应w1?1.2的迭代次数为8, 适应值为1.434014355783529 第二组实验对应w1?1.4的迭代次数为7, 适应值为4.109304406313233
第三组实验对应w1?0.4的迭代次数为47,适应值为0.028101866552785 第三组实验对应w1?0.8的迭代次数为80,适应值为0.978441955858031
36
百度文库-张曦元
第三组实验对应w1?1.2的迭代次数为8,适应值为1.704780367886482 第三组实验对应w1?1.4的迭代次数为9,适应值为4.109304406313233
第四组实验对应w1?0.4的迭代次数为44,适应值为0.004206314348390 第四组实验对应w1?0.8的迭代次数为85,适应值为0.002833378597589 第四组实验对应w1?1.2的迭代次数为12,适应值为1.147718650602618 第四组实验对应w1?1.4的迭代次数为9, 适应值为1.225161171509811
第五组实验对应w1?0.4的迭代次数为30,适应值为0.002959199530585 第五组实验对应w1?0.8的迭代次数为120,适应值为0.003593621732353 第五组实验对应w1?1.2的迭代次数为10,适应值为2.319085675976360 第五组实验对应w1?1.4的迭代次数为25, 适应值为0.577322689031719 现在讨论单因子方差分析,设A有4水平A1,A2,A3,A4在水平AJ(J?1,2,3,4,5)下进行5次试验,检验假设(??0.05)。
H0:?1??2??3??4 H1:?1,?2,?3,?4不全相等。
解:现在s?4,n1?n2?n3?n4?5,n?20。
37
百度文库-张曦元
水平 观察结果 1 2 3 4 5 样本总和 样本均值
W1=0.4 0.04313 0.11622 3.29793 0.00420 0.00295 3.46443 0.69288 W2=0.8 0.97844 1.70478 0.97844 0.00283 0.00359 3.66804 0.73361 W3=1.2 1.70473 1.43402 1.70471 1.14774 2.31905 8.30959 1.661918 W4=1.4 4.10930 1.43400 4.10930 1.22510 0.57730 11.4550 2.29100 T2 ST???X? (4.6)
20j?1i?1452ij SE???(Xij?Xij)2 (4.7)
J?1i?155nJ SA??njX.j?nX2 (4.8)
2j?1SAF?SE(s?1)(n?s) (4.9)
F?(s?1,n?s)=6.1 (4.10) 方差来源 因素 误差 总和 平方和 0.43212 0.04734 0.47946 自由度 3 20 23 均方 0.14404 0.00236 F比 64.4418 F0.05(3,20)?6.10000?64.4418故在H0认为参数变化对程序结果有显著影响。
38