Lorenz混沌系统是E.N.Lorenz于1963年在解释流体中的湍流现象的过程中所提出的一个表现“蝴蝶”奇异吸引子的动力系统,即
其中,当参数a=10,b=8/3,c=28时,式(8.3)所示的系统是混沌的。图8.1为Lorenz系统的演化过程。设Lorenz系统参数a,b,c未知,利用BFO算法进行参数辨识。
图8.1 Lorenz混沌吸引子相图
1.算法参数设置
所有算法的迭代次数设为50次,运行次数设为30次,变量范围a∈[5,15],b∈[0,3],c∈[10,40]。
BFO算法设置:细菌数为30,趋向次数Nc=40,复制次数Nre=4,迁徙次数Ned=2,游动次数Ns=3,游动步长C=0.001R(R为优化区间的宽度),迁徙概率Ped=0.25;(与第3章相同)
PSO算法设置:粒子数为30,惯性权重w=0.729,学习因子c1=c2=1.49,vmax=[10,30,1];
GA算法设置:个体总数为30,交叉概率pc=0.8,变异概率pm随着种群向前进化,从0.01逐步增大至0.6,采取最优策略:将最优值直接传到下一代。(www.xing528.com)
2.数值仿真及结果分析
表8.1列出了三种算法对Lorenz系统参数辨识的结果。从表8.1中可以看出BFO算法得到的最优解是最好的,基本上已经接近实际参数值。而且BFO算法的误差平均值和标准差远远小于另外两个算法,这也说明算法得到的参数精度非常高。图8.2是三种算法的收敛曲线,可以看出BFO算法收敛速度和精度是三个算法中最好的。为了更好对比三个辨识参数的结果,图8.3给出了不同参数和相应的实际值之间的相对误差。从图8.3可以看出,利用BFO算法辨识得到三个参数的相对误差都是最小的。
表8.1 三种算法的误差分析及最优解
图8.2 三种算法收敛速度比较
图8.3 Lorenz系统辨识参数与实际值的相对误差
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。