随机惯性权重
随机惯性权重通过随机分布的方式获取惯性权重,这样既可以避免在迭代前期局部搜索能力的不足; 也可以避免在迭代后期全局搜索能力的不足,其在收敛速度和全局收敛性方面相比基本粒子群算法有明显提高。
随机惯性权重公式
vid = wvid-1 + c1r1(pbestid-xid) + c2r2(gbestd-xid)
w = μmin + (μmax - μmin) · rand() + σ · randn()
μmin是随机惯性权重的最小值;
μmax是随机惯性权重的最大值;
rand()为[0,1]均匀分布的随机数;
randn()为正态分布的随机数;
σ(标准差)用来度量随机惯性权重w与其数学期望之间的偏离程度(一般取0.2~0.5之间的一个数),该项是为了控制取值中的权重误差,使权重w有利于向期望权重方向进化(一般情况下实验误差服从正态分布)。
范例代码
求解函数y = 7cos(5x) + 4*