基于莱维飞行改进的粒子群求解shubert函数,MATLAB编程,测试函数shubert,混沌粒子群

基于莱维飞行的混沌粒子群求解测试测试函数shubert(十)

shubert函数属于周期性多峰函数,如图1所示拥有多个全局最优值,如图二所示在一个周期内只有一个全局最优值,局部最优解较多,适合测试算法的收敛性能,粒子群算法是一种收敛速度较快的算法,运算速度快,但是粒子群算法容易陷入局部最优,有些时候会导致收敛慢,或者不收敛,本文用标准粒子群算法进行改进,标准粒子群的随机因子是正太分布随机数,粒子群收敛比较均衡平稳,本文把随机因子改为莱特飞行随机数,莱维飞行以法国数学家保罗·莱维命名,指的是步长的概率分布为重尾分布的随机行走,也就是说在随机行走的过程中有相对较高的概率出现大跨步,应用于粒子群的随机因子,从而有利于粒子群跳出局部最优。与步长分布没有重尾的随机行走相比,莱维飞行的运动轨迹就像时不时可以飞行一样,故名。当随机行走的空间维数高于一维时,莱维飞行通常还要求步长分布是各向同性的,如有疑问,欢迎大家留言交流!

shubert函数公式如下:

基于莱维飞行改进的粒子群求解shubert函数,MATLAB编程,测试函数shubert,混沌粒子群_第1张图片

shubert函数图像如下:

基于莱维飞行改进的粒子群求解shubert函数,MATLAB编程,测试函数shubert,混沌粒子群_第2张图片

你可能感兴趣的:(#,常用测试函数及100种求解方法,matlab,算法,开发语言)