一种基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数识别方法
【专利摘要】本发明属于非线性阻尼系统的参数识别、信号处理、群智能算法领域,具体涉及一种基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数识别方法。本发明包括为减震阻尼器安装位移传感器、加速度传感器,设定激振频率,加载正弦激励载荷;设置数据采样率,通过传感器接收位移和加速度数据并进行滤波处理;初始化人工蜂群算法参数,利用细菌的趋药性产生领域解,进行局部搜索等。本发明具有实施参数少,具有参数设置简单、全局收敛讯速,鲁棒性强,识别结果精度高等的特点,针对最小二乘估计算法对非线性阻尼系统参数识别的算法过程较为复杂,识别精度不高等问题能够较为充分的解决非线性阻尼系统的参数识别速度和精度的问题。
【专利说明】
-种基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数 识别方法
技术领域:
[0001] 本发明属于非线性阻尼系统的参数识别、信号处理、群智能算法领域,具体设及一 种基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数识别方法。
【背景技术】
[0002] 对于非线性系统的参数辨识,分为已知基的非线性系统参数辨识和硬非线性系统 的参数辨识。国内外提出诸多非线性系统的参数辨识模型,如Hammerstein模型,Wiener模 型和化mmerstein-Wiener模型等;针对相应的非线性系统模型,又提出许多参数识别方法 如最小二乘算法、随机梯度算法、迭代算法、极大似然估计算法、牛顿算法、粒子群算法等来 辨识非线性系统的参数。针对已知基的非线性系统参数的识别,多采用过参数化方法结合 线性系统进行系统的参数识别,但是利用过参数化方法会导致系统待辨识参数维数的增大 和算法的参数设置繁琐,从而导致算法的复杂度提升带来的收敛速度慢,鲁棒性能不强,并 影响系统的辨识精度等问题。
[0003] 而在群智能算法是一种新型的仿生类进化算法,包括蚁群,粒子群,人工蜂群,人 工鱼群和小生境算法等,在求解大规模旅行商问题,连续性优化问题,约束优化问题,无线 传感器路由优化问题上应用较广。针对不同应用背景进行有针对性的算法改进可W使得群 智能算法在全局收敛速度,鲁棒性能和解的精度方面等获得不同程度的性能提升。
[0004] 本发明针对已知基的非线性系统下,诸多最小二乘估计算法普遍存在的由于辨识 维度增大导致的收敛速度慢,辨识精度不高,鲁棒性不强和算法参数设置复杂等问题,引入 了基于混合人工蜂群算法的非线性阻尼系统参数识别方法,较好的解决了上述问题。
【发明内容】
[0005] 为了克服上述现有方法的不足,本发明的目的在于提供一种鲁棒性强,全局收敛 速度快,捜索解精度高的基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数识别方 法。
[0006] 本发明的目的是运样实现的:
[0007] 基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数识别方法,包括如下步 骤:
[000引(1)为减震阻尼器安装位移传感器、加速度传感器,设定激振频率,加载正弦激励 载荷;
[0009] (2)设置数据采样率,通过传感器接收位移和加速度数据并进行滤波处理;
[0010] (3)初始化人工蜂群算法参数,利用细菌的趋药性产生领域解,进行局部捜索;
[0011] (4)使用Boltzmann概率替换轮盘赌概率,并控制蜜蜂的捜索速度;
[0012] (5)读取的位移,加速度值,并得到速度值,计算捜索的解的适应度值,当算法达到 迭代次数则退出;
[0013] (6)当蜜蜂捜索达到局部捜索的次数限制时,保存当前解,并进入混浊捜索状态, 当在规定混浊捜索次数范围内混浊捜索结果好于当前解时,更新当前解,否则当前解列入 禁忌列表,重新初始化蜜蜂,进入下一轮捜索;
[0014] (7)当捜索达到终止条件时,输出参数识别结果,并通过识别结果拟合运动方程曲 线,算法结束,卸载正弦载荷。
[0015] 所述减震阻尼器的待识别参数由迟滞阻尼器减振模型来获得:
[0016] W迟滞阻尼器减振模型建立一个典型的非线性阻尼系统模型,建立系统的运动微 分方程:
[0017]
[0018] 上式中X0是减振器的静变形,r是减振器变形后的恢复力,g是重力加速度;
[0019] 减振器的非线性恢复力分解为有记忆部分和无记忆部分的并联:
[0023] 其中S即是符号函数;
[0024] 其中η是等待识别的减振器的物理参数向量:
[0025] ri=[ao,ai,. . .,ani,bo,bi,. .,bn2]
[0026] 因此待识别的方程矩阵形式为:
[0027] Χη = ρ
[0028] 所述步骤(5)中,根据识别方程计算捜索的解的适应度值,
[0029] 根据得到的识别方程,获得相干系数:
[0030]
[0031] 其中ε代表最小二乘估计的残差向量,由于Ρ2是滑移极限ysys的函数G(ys),引入公 式:
[0032] f it = -l/lnG(ys)
[0033] 其中:
[0034] 作为判定识别参数是否已经达到识别要求的适应度函数值。
[0035] 所述步骤(6)中的混浊捜索:
[0036] 根据 X(n+l),d = yXn,d(l-Xn,d)
[0037] 产生混浊序列,通过载波方式将混浊变量的值映射到优化变量的取值范围,
[003引 ne[l,Nmax],de[l,D],y是混浊状态的控制参数,μ取4时Logistic方程完全进入 混浊状态。
[0039] 本发明的有益效果在于:
[0040] 本发明具有实施参数少,具有参数设置简单、全局收敛讯速,鲁棒性强,识别结果 精度高等的特点,针对最小二乘估计算法对非线性阻尼系统参数识别的算法过程较为复 杂,识别精度不高等问题能够较为充分的解决非线性阻尼系统的参数识别速度和精度的问 题。
【附图说明】
[0041 ]图1为本发明的算法流程图。
[0042] 图2迟滞阻尼减振器的力学模型。
[0043] 图3双折线本构关系示意图。
[0044] 图4Ξ种算法对比实验结果。
[0045] 具体实施措施
[0046] 下面结合附图对本发明做进一步描述。
[0047] 本发明公开了基于混合人工蜂群算法的非线性阻尼系统参数识别方法,建立了非 线性阻尼系统参数模型,并提出了一种新的基于细菌觅食的混合人工蜂群算法对非线性阻 尼系统参数进行识别的流程。本发明包括:建立识别模型,获得识别方程,给出识别参数,加 载正弦激励载荷;初始化人工蜂群算法参数,利用细菌的趋药性产生领域解,进行局部捜 索;使用Boltzmann概率替换轮盘赌概率,并控制蜜蜂的捜索速度;根据识别方程计算捜索 的解的适应度值,当算法达到迭代次数则退出;当蜜蜂捜索达到局部捜索的次数限制而未 更新食物源时时,保存当前解,并进入混浊捜索状态,当在规定混浊捜索次数范围内混浊捜 索结果好于当前解时,更新当前解,否则当前解列入禁忌列表,重新初始化蜜蜂,进入下一 轮捜索;当捜索达到终止条件时,输出参数识别结果,算法结束。本发明具有实施参数少,具 有参数设置简单、全局收敛讯速,鲁棒性强,识别结果精度高等的特点,针对最小二乘估计 算法对非线性阻尼系统参数识别的算法过程较为复杂,识别精度不高等问题能够较为充分 的解决非线性阻尼系统的参数识别速度和精度的问题。
[0048] 首先对非线性阻尼系统进行建模,得到阻尼系统的系统运动微分方程。针对运动 方程建议识别方程,获得相应的识别参数和方程解。实际工程的解由位移传感器和加速度 传感器采集获得,而仿真实验的解由龙格库塔算法得到。获得质量块质量,设定采样率,设 定正弦激振频率,初始化混合人工蜂群算法,蜜蜂通过细菌觅食行为产生领域解进行局部 捜索;当蜜蜂在局部多次未更新食物源时,进入混浊捜索,防止局部最优;当进入混浊捜索 亦没有得到新的食物源时,将此时的捜索解列入禁忌列表,
[0049] 该方法的具体步骤是:
[0050] (1)减震阻尼器的待识别参数主要由迟滞阻尼器减振模型来获得,本方法根据模 型得到的识别参数,作为仿真实验和实际工程测量的依据。
[0051] 建立非线性阻尼模型,将非线性阻尼系统分解为记忆力部分和非记忆力部分,记 忆力部分采用双折线模型;
[0052] 迟滞阻尼减振器是一个典型的非线性系统,本文对该系统进行建模。迟滞阻尼减 振器配置一额定质量m后形成的振动系统如图2所示,取质量m的静平衡位置为坐标原点,贝U 系统的运动微分方程为公式(1):
[005:3 ] 纖惠 C婷'f' )"(:% -4'.戈《線凌C線每? /(每H' *巧落(0
[0054]上式中X0是减振器的静变形,r是减振器变形后的恢复力,g是重力加速度。减振器 的非线性恢复力可分解为有记忆部分和无记忆部分的并联。因此有公式(2):
[0化5]
[0056]其中无记忆恢复力可取为线性参数模型,即得公式(3)
[0化7]
[005引其中S即是符号函数。
[0059] 具有记忆特性的非线性恢复力z(t)可采用双折线模型来描述。双折线模型的本构 关系见图3。
[0060] 其中ys是减振器产生宏观滑移时的位移极限,Zs是滑移后的记忆恢复力。由图3可 写出有记忆恢复力Z(t)的方程如下:
[0061] z(t) =Zsh(ys)
[0062]
[006;3]式中蘇|j:F總碱纔ml均表示系统位移响应的峰值,由图3和方程(4)可知有 记忆恢复力z(t)是关于位移响应y(t)多值的。
[0064] (2)建立识别方程,并采用龙格库塔算法获得非线性阻尼模型的解
[00化]测取减振器的静变形X0及激励、响应的采样信号fk,餐,,化,k= 1,2,…,N(N〉ni+ Π 2+1)后,如给定ys的一个值,则由方程巧)可形成减振器如下的线性参数识别问题:
[0066]
[0067]其中η是等待识别的减振器的物理参数向量公式(6)所示:
[006引 n=[a0,ai,. . .,ani,b0,bi,. .,bn2](6)
[0069] W上问题简记为矩阵形式:
[0070] Xn=F(7)
[0071] X及F是相应的观察矩阵和向量。由方程(7)可求出待识别参数向量的最小二乘估 计为:
[0072] η=(χΤχ)-ι(χ 中)(8)
[0073] 最小二乘估计的残差向量为:
[0074] ε=Χη-Ρ(9)
[00巧]则相干系数为:
[0076]
[0077] pe[0越接近于1,表明识别结果越正确。由上面的识别过程可知,相干系数实际上 是滑移极限的函数,即2 = G.对于真实的ysreal,函数G(ysreal)将给出最大值.因此通过求函数 G的最大值即可求得减振器的真实参数。
[0078] 由于本文采用模拟仿真的方式进行实验,因此,在进行算法识别之前,需要获得非 线性系统的采集数据,而得到相应数据的需要使用到等式(11)所示的四阶龙格库塔算法公 式:
[0079]
[0080] 公式11给出了四阶龙格库塔算法的通用公式,Kl,K2,K3,K4为f函数的l阶,2阶,3 阶和4阶导数,h为计算的位移步长,为点出的值;
[0081] 进行实际工程测量时由位移传感器和加速度传感器采集并滤波获得实际位移值 和加速度值,并由加速度的积分运算得到速度值,代替龙格库塔算法的得到的解即可。
[0082] (3)获得质量块的质量,设定数据采集的速率,设定正弦载荷激振的频率,初始化 人工蜂群算法参数,利用细菌的趋药性产生领域解,进行局部捜索。
[0083] 假定细菌的总数为Sn,每个细菌的位置代表问题的一个可能解,可表示为D维空间 中的一个向量屯二/^,拭如义片表''·,&。若用符号xi(j)表示第i个细菌经过第j次趋药 行为后的位置,那么下一次趋药性步骤之后,所处的位置可表示为:
[0084]
[0085] 其中C(i)为正常数,表示细菌i向前每次游动的步长单位;孩锭I则表示细菌翻滚后 随机选中的另一个前进方向。
[0086] 基于W上的分析,若将细菌趋药性行为作为新的局部捜索策略,替换掉ABC算法中 的"邻近解产生一一贪婪选择"策略,从而可W提高捜索性能。为此,ABC算法的邻近解产生 公式可替换为
[0087] Vi = Xi+Ai
[008引
[0089] 其中的参数MD为一个不大于维数D的正整数,代表蜜蜂每一步可同时在MD个维数 上改变其坐标值,其中MD的数值可取为MD= [0.1*D],符号[]在此表示取整,MD太小对适应 度值的调整能力有限,{ jl,. . .,jMD}为一个有MD个值的集合,其中的每一项值jdEj为从[1, D]范围产生的随机维数序号,且相互间不重复;4£{1,2,...,116}为随机产生的索引值,且 必须满足k辛i,ne为食物源的总数。
[0090] (4)使用Boltzmann概率替换轮盘赌概率,并控制蜜蜂的捜索速度
[0091] Boltzmann轮盘赌的概率公式可用公式表示如下
[0092]
[0093] (5)根据识别方程计算捜索的解的适应度值,当算法达到迭代次数则退出
[0094] fit = -l/lnG(ys)(15)
[00M] (6)当蜜蜂捜索达到局部捜索的次数限制时,保存当前解,并进入混浊捜索状态, 当在规定混浊捜索次数范围内混浊捜索结果好于当前解时,更新当前解,否则当前解列入 禁忌列表,重新初始化蜜蜂,进入下一轮捜索
[0096]设置算法参数值:化,1山1*,10,化,了〇,曰,6,1^3、。混浊捜索的主要思想,是根据下 式:
[0097] 又(。+1)'(1 =帖。'(1(1-又。'(1)(16)
[0098] 产生混浊序列,然后通过载波方式将混浊变量的值映射到优化变量的取值范围. 式中:ne [1,Nmax],de [1,D] .μ是混浊状态的控制参数,μ取4时Logistic方程完全进入混浊 状态.
[0099] (7)当捜索达到终止条件时,输出参数识别结果,,拟合运动方程曲线,算法结束, 卸载载荷。
[0100] 基于混合人工蜂群算法的非线性阻尼系统参数识别方法,其具体步骤如下:
[0101 ]步骤1:安装位移传感器和加速度传感器,获得质量块质量,设定数据采样率,设定 载荷激振的频率,设置算法参数值:化,1 imi t,MD,化,To,a,G,Nmax
[0102] 步骤2 :使用式(11)随机初始化种群中化/2个雇佣蜂的位置,并初始化各计数器 failurei = 0;计算适应度值fiti = -l/lnG(ys)用式(14)计算各自的Boltzmann概率Pi;。
[0103] 步骤3:对每一个雇佣蜂,用式(13)产生新位置XI并计算适应度值fiti'。若 fiti;则令failurei = failurei+l进行下一步骤;否则令failurei = 0并记忆新位置即xi = Vi;重复执行同样的趋药动作,当对蜜蜂对食物源已经超过Ns次未对食物源进行改善时进 入下一步骤。
[0104] 步骤4:对每一个观察蜂,根据各自的Bol tzmann概率Pi值轮盘赌选择一个食物源。 然后与步骤3中的雇佣蜂一样,开采一次所选的食物源。
[0105] 步骤5:检查所有的雇佣蜂。如果failureiMimit,开始进行混浊捜索,按照公式 (16)连续产生Nmax次迭代,并通过式(13)产生Nmax个领域解,此时捜索所有的领域解,通过领 域解来更新当前食物源。若经过混浊捜索之后,未更新食物源,则第i个雇佣蜂抛弃对应食 物源位置,并使用式(13)随机分布到捜索空间。
[0106] 步骤6:检查当前代数g,若未超过最大循环次数G,且最优解精度未达到要求,转到 步骤3执行下一轮循环。否则执行下一步骤。
[0107] 步骤7:输出识别结果,算法退出。
[0108] 本发明的效果可通过W下仿真进一步说明:
[0109] 1.仿真条件和参数设置
[0110] 实验条件:
[0111] AMDAthlon(tm)64Processor3000 + 2 . OOGHz , 2.OOGBMicrosoftWindows7ultimate6.1.7600Release7600
[0112] MATLABversion7.11.0.584(R2010b)32-bit(win32)Augustl6,2010
[0113] 通过上述给出的识别步骤,设置采样率为30KHz,质量块重量lOOOKg,激励载荷频 率50化,设置蜜蜂种群数量化=60;局部迭代限制次数limit = 200;食物源变化的维数MD = 3;食物源维数D = 6;细菌摆动次数化=3; Bo 1 tzmann概率的压力因子To = 100,a = 0.995;迭 代次数G = 2000;混浊迭代次数Nmax = 30,混浊控制参数μ = 4;算法重复次数runtime = 30; 参与测试的对比算法有ABC算法和HABC算法W及本文提出的针对非线性系统参数识别改进 的HABC-CS算法。
[0114] 2.仿真实验结果
[0115] 图4给出了在相同实验环境下,Ξ种算法在算法重复运算30次后得到的平均迭代 收敛曲线。从图中可w看出本文的算法无论是在收敛速度还是解的精度和鲁棒性方面都能 达到较高的水平,有效解决非线性系统参数辨识碰到的收敛速度和解的精度W及算法复杂 度问题。
【主权项】
1. 一种基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数识别方法,其特征在 于,包括如下步骤: (1) 为减震阻尼器安装位移传感器、加速度传感器,设定激振频率,加载正弦激励载荷; (2) 设置数据采样率,通过传感器接收位移和加速度数据并进行滤波处理; (3) 初始化人工蜂群算法参数,利用细菌的趋药性产生领域解,进行局部搜索; (4) 使用Boltzmann概率替换轮盘赌概率,并控制蜜蜂的搜索速度; (5) 读取的位移,加速度值,并得到速度值,计算搜索的解的适应度值,当算法达到迭代 次数则退出; (6) 当蜜蜂搜索达到局部搜索的次数限制时,保存当前解,并进入混沌搜索状态,当在 规定混沌搜索次数范围内混沌搜索结果好于当前解时,更新当前解,否则当前解列入禁忌 列表,重新初始化蜜蜂,进入下一轮搜索; (7) 当搜索达到终止条件时,输出参数识别结果,并通过识别结果拟合运动方程曲线, 算法结束,卸载正弦载荷。2. 根据权利要求1所述的一种基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数 识别方法,其特征在于:所述减震阻尼器的待识别参数由迟滞阻尼器减振模型来获得: 以迟滞阻尼器减振模型建立一个典型的非线性阻尼系统模型,建立系统的运动微分方上式中xo是减振器的静变形,r是减振器变形后的恢复力,g是重力加速度; 减振器的非线性恢复力分解为有记忆部分和无记忆部分的并联:其中无记忆恢复力可取为线性参数模型,,即其中sgn是符号函数; 其中η是等待识别的减振器的物理参数向量: Π - [ ao,ai,· · ·,ε?η?,bo,bi,· ·,bn2 ] 因此待识别的方程矩阵形式为: Xn=F 〇3. 根据权利要求1所述的一种基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数 识别方法,其特征在于:所述步骤(5)中,根据识别方程计算搜索的解的适应度值,根据得到 的识别方程,获得相干系数:其中ε代表最小二乘估计的残差向量,由于P2是滑移极限ysys的函数G(ys),引入公式: f it = -l/lnG(ys)作为判定识别参数是否已经达到识别要求的适应度函数值。4.根据权利要求1所述的一种基于细菌觅食的混合蜂群算法的非线性阻尼系统的参数 识别方法,其特征在于:所述步骤(6)中的混沌搜索: 根据X(n+1),d - 14Χη, d ( 1-Xn, d) 产生混沌序列,通过载波方式将混沌变量的值映射到优化变量的取值范围, ne [1,Nmax],de [1,D],μ是混沌状态的控制参数,μ取4时Logistic方程完全进入混沌 状态。
【文档编号】G06F17/13GK105824783SQ201610157504
【公开日】2016年8月3日
【申请日】2016年3月18日
【发明人】康维新, 叶友道
【申请人】哈尔滨工程大学