动态调整视野和步长的改进人工鱼群算法

人工鱼群算法一种模拟动物行为的群体智能优化算法,目前在许多方面的的优化问题中有较好的表现,但存在后期搜索精度较低的缺陷,针对这一问题,不少学者进行了相关研究,研究结果表明,视野对人工鱼群算法中各种行为和收敛性能有较大影响。若视野Visual范围较大,则人工鱼的全局搜索能力强并能快速收敛;若视野范围较小,则人工鱼的局部搜索能力强。步长Step越大,收敛速度越快,但有时会出现振荡现象;步长越小,收敛速度越慢,但求解精度越高。

根据上述分析,越难优化的函数越需要加强全局搜索能力,定位到最优解的大致位置后,需要加强局部搜索能力。因此,在算法运行前期,为了增强算法的全局搜索能力和收敛速度,采用较大的视野和步长,使人工鱼在更大范围内进行粗搜索,随着搜索的进行,视野和步长逐渐减小,算法逐步演化为局部搜索,定位在最优解附近区域并进行精细搜索,从而提高算法的局部搜索能力和寻优结果的精度。视野Visual和步长Step可按下式动态调整
Visual’ = Visual*alpha + Visual_min
Step’ = Step*alpha + Step_min
alpha = exp( -30*(iGen/nGen)^s )
其中,
Step=Visual/8; Visual_min=0.001; Step_min=0.0002;
iGen为当前迭代次数;
nGen为最大迭代次数。

一般情况下,Visual的初值为XRange/4(XRange为搜索范围的最大值)。该视野Visual和步长Step函数由3段构成,算法运行初期保持最大值,然后逐渐由大变小,最后保持最小。函数alpha的值由大到小的变化速率s为大于1的整数,s可取值范围为[1,30]。



发表评论

You must be logged in to post a comment.