用于结构健康监测传感器优化布设的离散鸽群方法转让专利

申请号 : CN201610261698.1

文献号 : CN105976018B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 伊廷华温凯方李宏男

申请人 : 大连理工大学

摘要 :

本发明属于土木工程结构健康监测领域中的传感器优化布设,提出一种用于结构健康监测传感器优化布设的离散鸽群方法。本发明包括编码及初始化、起飞、飞行和归巢四大过程:编码及初始化过程应用双重编码方式,用于离散化连续变量,并初始化鸽群位置和速度向量;起飞过程包括腾空和上升两个子过程,用于均匀化鸽群位置向量和寻找最优解的方向;飞行过程包括平飞、转弯和追逐三个子过程,用于寻找局部最优解、全局最优解和改善全局最差解;归巢过程则避免算法陷入局部最优解。本发明算法可高效求解离散优化问题,具有较好的全局收敛性、较少的循环次数、较强的稳定性。

权利要求 :

1.一种用于结构健康监测传感器优化布设的离散鸽群方法,其特征在于如下步骤:(一)编码及初始化

利用有序对(x,c)表示鸽子个体,对应传感器布设位置的可行解;其中,x是鸽子的位置向量,c为二进制向量,用于表示传感器的安放位置;编码和初始化过程如下:步骤1:将结构模态振型中含有的所有节点作为传感器布置的候选位置,假设待布设传感器的编号为1~sum的整数;

步骤2:以鸽群中的第i只鸽子作为节点,i=1,2,…,N,N为鸽群中鸽子数量,其对应解为Xi=X(xi,ci)={(xi,1,ci,1),(xi,2,ci,2),…,(xi,sum,ci,sum)},位置向量xi是从区间[xdown,xup]之间随机产生的实数数组,Xi即为每只鸽子当前位置;其中每一维的分量表示为:xi,j=rand×(xup-xdown)+xdown   (1)式中:rand为[0,1]内的随机数;Yi=Y(yi,ci)={(yi,1,ci,1),(yi,2,ci,2),…,(yi,sum,ci,sum)}是每只鸽子i的当前最优位置;Pb=P(pb,cb)={(pb,1,cb,1),(pb,2,cb,2),…,(pb,sum,cb,sum)}为鸽群当前最优位置;Pw=P(pw,cw)={(pw,1,cw,1),(pw,2,cw,2),…,(pw,sum,cw,sum)}为鸽群当前最差位置;

ci,j为xi,j通过sig函数转换而得到的二进制编码向量:采用基于概率法判定阈值ε的方法提高鸽群初始化的产生效率;假设欲布置的传感器数目为sp,在算法的操作过程中,由于鸽群个体的初始化是随机的,在布设传感器时可能会出现不等于sp的情况,不满足传感器布设数目的要求,则需要重复步骤2,重新进行鸽群个体的初始化,直到满足传感器布设数目sp为止;

以鸽群个体pi的第j维分量pi,j为例,ci,j=1的概率为sp/sum,使得ci,j=0的概率为1-sp/sum,使得鸽群个体初始化满足编码要求;设定xw,当xi,j∈[xdown,-xw]时,ci,j=0,并且xi,j在该区间的概率为1-sp/sum;当xi,j∈(-xw,xup]时,ci,j=1,并且xi,j在该区间的概率为sp/sum;那么xw的取值为:xw=(sp/sum)×(xup-xdown)-xup   (3)即通过xw将区间[xdown,xup]进行分割,因此ε的取值为步骤3:鸽群敏感度初始化

将鸽群引入时需要初始化每只鸽子的敏感度系数αi,αi从[0,1]中随机产生;

步骤4:鸽群速度初始化

向量Vi=(vi,1,vi,2,…,vi,j,…vi,sum)为鸽子i的飞行速度,[-Vmax,Vmax]为飞行速度的范围,vij从中随机产生,其表达式为:vi,j=δVmax   (4)

式中:δ为[-1,1]内的随机数;

(二)起飞

(1)腾空

鸽群在起飞时,蹬地的高度有所不同;根据这一特性,均匀化初始值,定义[down,up]为鸽群的腾空区间;

步骤1:设ΔXi=(Δxi,1,Δxi,2,…,Δxi,j,…,Δxi,sum)为鸽子i的腾空高度,ΔXi中的每一维分量从腾空范围中随机产生,其表达式:Δxi,j=κ(up-down)+down   (5)

式中:κ为[0,1]内的随机数;

步骤2:更新每只鸽子的当前位置X(xi,ci),其表达式X(xi,ci)=Y(yi,ci)+αi*ΔXi   (6)若X(xi,ci)优于当前最优位置Y(yi,ci),则将当前位置X(xi,ci)赋给当前最优位置Y(yi,ci),即Y(yi,ci)=X(xi,ci),若Xi优于鸽群当前最优位置P(pb,cb),则令P(pb,cb)=X(xi,ci);

在步骤2中,在Y(yi,ci)+αi*ΔXi时,由于Y(yi,ci)={(yi,1,ci,1),(yi,2,ci,2),…,(yi,sum,ci,sum)},ΔXi=(Δxi,1,Δxi,2,…,Δxi,j,…,Δxi,sum),实际上,在具体相加时,是每一维分量yi,j+αi*Δxi,j相加,而相加后新的分量cNewi,j依然为新的分量yi,j通过sig函数转换而得到的二进制编码向量,在后续步骤中遇到位置向量的相加相减情况时,都先单独对位置向量进行加减,通过每个维度的位置向量来计算二进制向量cNewi,j;但是在计算每一维分量yi,j+αi*Δxi,j时,得到的新分量可能产生超出区间[xdown,xup]的情况,规定若超出上限xup,则取值为xup;若小于下限xdown,则取值为xdown;在飞行过程和归巢过程中,若遇到类似情况,均采用同样的方式处理;

为提高算法后期收敛的精确度和速度;腾空区间[down,up]随着鸽群当前最优位置P(pb,cb)的变化而变化,其精确度与P(pb,cb)中的最大值相同;P(pb,cb)={(pb,1,cb,1),(pb,2,cb,2),…,(pb,sum,cb,sum)},当pb,1,pb,2,…,pb,sum中的最大值为0.1时,腾空区间保持相同的精确度:(2)上升

鸽群腾空后有上升过程,使鸽群朝更优的方向飞行;模拟这一特性,用伪梯度方法,寻找最优解的方向,称为上升方向fi,′j(X(xi,ci));

步骤1:通过式(8),随机产生向量ΔCi=(Δci,1,Δci,2,…,Δci,j,…,Δci,sum)式中:ri为上升高度;

步骤2:计算鸽子i在每一维度j的上升方向fi,′j(Xi),其表达式:步骤3:更新每只鸽子的当前位置X(xi,ci),其表达式:xi,j=yi,j+ri*sign(fi,′j(X(xi,ci)))   (10)式中:sign(x)为符号函数,当x>0时sign(x)=1;当x=0时sign(x)=0;当x<0时sign(x)=-1;若X(xi,ci)优于当前最优位置Y(yi,ci),则将当前位置X(xi,ci)赋给当前最优位置Y(yi,ci),即Y(yi,ci)=X(xi,ci),若Xi优于鸽群当前最优位置P(pb,cb),则令P(pb,cb)=X(xi,ci);

步骤4:再循环一次步骤1至步骤3;

(三)飞行

(1)平飞与转弯

定义鸽子i的邻居范围为M,即鸽子周围的M只鸽子作为自身的邻居;Avei为邻居鸽群的平均位置;平飞次数为F1;变量r,取值范围为[1,F1],每平飞一次加1;

步骤1:计算鸽子i的平均位置avei,其表达式:

在公式(11)中,M是一个非常重要的参数,它影响局部最优值的寻优;当M的取值过大时,Avei的值趋近于全局最优,影响算法的收敛速度;当M的取值过小时,算法容易早熟收敛,影响算法的精度;在该公式中 是向下取整函数;

步骤2:计算鸽子i的飞行速度Vi;公式如下

Vi=w*Vi+c1*(Avei-X(xi,ci))   (12)其中,c1表示局部飞行系数;

w的取值如下:

在计算得到的新速度向量时会产生超出区间[-Vmax,Vmax]的情况,因此规定,若超出上限Vmax,则取值为Vmax;若小于下限-Vmax,则取值为-Vmax;

步骤3:更新每只鸽子的当前位置,其表达式如下:

Xr+1(xi,ci)=Xr(xi,ci)+Vi   (14)步骤4:重复步骤1至步骤3,直至达到平飞循环次数F1;

(2)转弯

步骤1:定义转弯次数为F2;计算鸽子i的飞行速度Vi;

Vi=c2*(P(pb,cb)-Y(yi,ci))   (15)式中:c2是全局飞行因子;

步骤2:更新每只鸽子的当前位置,其表达式同式(14);

若Xr+1(xi,ci)优于当前最优位置Y(yi,ci),则令Y(yi,ci)=Xr+1(xi,ci),若X(xi,ci)优于鸽群当前最优位置P(pb,cb),则令P(pb,cb)=Xr+1(xi,ci);

步骤3:重复步骤1至步骤2,直至达到转弯循环次数F2;

(3)追逐

步骤1:在n维空间向量的[n/2]~n维度之间随机产生一个整数位cp,作为位置替代点:cp=[n/2]+[φ(n/2)]   (16)

式中:φ为[0,1]内的随机数;

步骤2:将Pb=P(pb,cb)={(pb,1,cb,1),(pb,2,cb,2),…,(pb,cp,cb,cp),…,(pb,sum,cb,sum)}中从cp~sum的值复制到Pw=P(pw,cw)={(pw,1,cw,1),(pw,2,cw,2),…,(pw,cp,cw,cp),…,(pw,sum,cw,sum)}中cp~sum相应位置,如果更新后的群体最差位置Pw优于之前的最差位置,则保留更新,否则不进行更新;此外,由于需要满足传感器布设的数目,所以如果更新后的Pw不能满足传感器布设的数目要求,则也不进行更新;

(四)归巢

步骤1:对于鸽子i,在[-rg,rg]中随机产生一个归巢系数ri;

步骤2:根据每只鸽子的当前最优位置,判断个体位置与其他鸽子平均位置的差距;

步骤3:更新鸽子i的当前位置;

X(xi,ci)=Y(yi,ci)+ΔHi   (18)若X(xi,ci)优于当前最优位置Y(yi,ci),则令Y(yi,ci)=X(xi,ci),若X(xi,ci)优于鸽群当前最优位置P(pb,cb),则令P(pb,cb)=X(xi,ci);

完整的一次算法流程即:编码及初始化、起飞、飞行、归巢四大过程;反复迭代此过程,直到找到全局最优解或满足终止条件。

说明书 :

用于结构健康监测传感器优化布设的离散鸽群方法

技术领域

[0001] 本发明属于土木工程结构健康监测领域中的传感器优化布设,提出一种传感器优化布设的离散鸽群方法。

背景技术

[0002] 传感器优化布设是结构健康监测中的首要环节。传感器优化布设就是在众多的待测节点中,布设一定数量的传感器,来优化某种目标函数或者优化准则,使得函数最优。目前用于传感器优化布设的优化算法主要有三类:一类是传统的优化算法,如有效独立法、最大化Fisher信息阵的行列式和基于简化模型的传感器优化布设算法等。第二类则是序列法,如逐步消去法和逐步累积法,其目标就是让MAC的最大非对角元最小。第三类是基于生物学、物理学和人工智能发展的群智能优化算法,如遗传算法、粒子群算法、蚁群算法、和声算法、鱼群算法和猴群算法等。该类方法能较好地解决组合优化问题中约束条件的限制,并不易陷入局部最优解,可很好地用于传感器优化布设中对目标函数进行寻优。
[0003] 目前应用于传感器优化布设的群智能优化算法主要有模拟退火算法、遗传算法、神经网络算法、粒子群算法、猴群算法和狼群算法等。这些算法在对具体模型算例中都有十分优秀的表现,有的已经应用到实际工程中,使用新的群智能算法已经成为趋势,并有巨大的研究前景和工程价值。

发明内容

[0004] 本发明提出一种传感器优化布设的离散鸽群方法,可有效解决传感器优化布设这种整数规划问题。离散鸽群算法在处理高维、多峰值、复杂问题时具有较强的全局收敛性、较少的循环次数以及较高的稳定性,可以在大型多节点的传感器布设中对优化准则进行全局寻优。
[0005] 一、编码及初始化
[0006] 利用有序对(x,c)来表示鸽子个体,对应传感器布置的可行解。其中,x是鸽子的位置向量,c为二进制向量,用于表示传感器的布置位置。则用于结构健康监测传感器优化布设的离散鸽群算法的编码和初始化过程如下:
[0007] 步骤1:将结构各阶振型含有的所有测点位置作为优化布置的候选资源,假设所有候选的传感器进行编号为1~sum的整数。
[0008] 步骤2:以鸽群中的第i(i=1,2,…,N,N为鸽群中鸽子数量)只鸽子为例,其对应的解可以表示为Xi=X(xi,ci)={(xi,1,ci,1),(xi,2,ci,2),…,(xi,sum,ci,sum)},位置向量xi是从区间[xdown,xup]之间随机产生的实数数组,Xi即为每只鸽子的当前位置。其中,每一维的分量可以表示为:
[0009] xi,j=rand×(xup-xdown)+xdown   (1)
[0010] 式中:rand为[0,1]内的随机数。Yi=Y(yi,ci)={(yi,1,ci,1),(yi,2,ci,2),…,(yi,sum,ci,sum)}是每只鸽子i的当前最优位置;Pb=P(pb,cb)={(pb,1,cb,1),(pb,2,cb,2),…,(pb,sum,cb,sum)}为鸽群当前最优位置;Pw=P(pw,cw)={(pw,1,cw,1),(pw,2,cw,2),…,(pw,sum,cw,sum)}为鸽群当前最差位置。
[0011] ci,j为xi,j通过sig函数转换而得到的二进制编码向量:
[0012]
[0013] 采用上式时,需要判断阈值ε和区间[xdown,xup],若sig(xi,j)>ε,则相应的ci,j取1,表示在该位置处布设传感器;若sig(xi,j)≤ε,则该分量的取值为0,表明在该节点的位置上不布设传感器。在本文中,取ε=0.5,通过计算发现,当xi,j取值在[-5,5]之间时,0.0067≤sig(xi,j)≤0.9933,可以看出,这种取值方法是较为合理的。
[0014] 假设欲布置的传感器数目为sp,在算法的操作过程中,由于鸽群个体的初始化是随机的,在布设传感器时可能会出现不等于sp的情况,不满足传感器布设数目的要求。则需要重复步骤2,重新进行鸽群个体的初始化,直到满足传感器布设数目sp为止,在本文后面的过程中如遇到相似情况均做同样的处理。
[0015] 由于鸽群个体都是随机初始化的,整个鸽群个体的初始化要满足布设的传感器数量sp,因此,鸽群个体的产生并不都是有效的。本文将引入一种基于概率法判定阈值ε的方法来提高鸽群初始化的产生效率。以鸽群个体pi的第j维分量pi,j为例,si,j=1的概率为sp/sum,使得si,j=0的概率为1-sp/sum,这样可以使得鸽群个体初始化在统计上能够满足编码要求。因此,可以设定一个值xw,当xi,j∈[xdown,-xw]时,si,j=0,并且xi,j在该区间的概率为1-sp/sum;当xi,j∈(-xw,xup]时,si,j=1,并且xi,j在该区间的概率为sp/sum。那么xw的取值可以为:
[0016] xw=(sp/num)×(xup-xdown)-xup   (3)
[0017] 即通过xw将区间[xdown,xup]进行分割,因此ε的取值应该为 阈值ε按照这种取值方法可以在保证了鸽群个体各个维度分量的均匀性的基础上,加快了初始鸽群的产生速度。
[0018] 步骤3:鸽群敏感度初始化
[0019] 同样的,将鸽群引入时需要初始化每只鸽子的敏感度系数αi,αi从[0,1]中随机产生。
[0020] 步骤4:鸽群速度初始化
[0021] 向量Vi=(vi,1,vi,2,…,vi,j,…vi,sum)为鸽子i的飞行速度,[-Vmax,Vmax]为飞行速度的范围,vij从中随机产生,其表达式为:
[0022] vi,j=δVmax   (4)
[0023] 式中:δ为[-1,1]内的随机数。
[0024] 二、起飞
[0025] (1)腾空
[0026] 鸽群在起飞时,蹬地的高度有所不同。根据这一特性,均匀化初始值,定义[down,up]为鸽群的腾空区间。
[0027] 步骤1:设ΔXi=(Δxi,1,Δxi,2,…,Δxi,j,…,Δxi,sum)为鸽子i的腾空高度,ΔXi中的每一维分量从腾空范围中随机产生,其表达式:
[0028] Δxi,j=κ(up-down)+down   (5)
[0029] 式中:κ为[0,1]内的随机数。
[0030] 步骤2:更新每只鸽子的当前位置X(xi,ci),其表达式
[0031] X(xi,ci)=Y(yi,ci)+αi*ΔXi   (6)
[0032] 若X(xi,ci)优于当前最优位置Y(yi,ci),则将当前位置X(xi,ci)赋给当前最优位置Y(yi,ci),即Y(yi,ci)=X(xi,ci),若Xi优于鸽群当前最优位置P(pb,cb),则令P(pb,cb)=X(xi,ci)。
[0033] 注1:在步骤2中,在Y(yi,ci)+αi*ΔXi时,由于Y(yi,ci)={(yi,1,ci,1),(yi,2,ci,2),…,(yi,sum,ci,sum)},ΔXi=(Δxi,1,Δxi,2,…,Δxi,j,…,Δxi,sum),实际上,在具体相加时,是每一维分量yi,j+αi*Δxi,j相加,而相加后新的分量cNewi,j依然为新的分量yi,j通过sig函数转换而得到的二进制编码向量,在本文的以后步骤中如遇到相位置向量的相加相减情况时,都先单独对位置向量进行加减,通过每个维度的位置向量来计算二进制向量cNewi,j。但是在计算每一维分量yi,j+αi*Δxi,j时,得到的新分量会产生“溢出”的情况,即超出区间[xdown,xup],因此规定,若超出上限xup,则取值为xup;若小于下限xdown,则取值为xdown。在本文之后的飞行过程和归巢过程中,若遇到类似情况,都需做相同处理。
[0034] 注2:为提高算法后期收敛的精确度和速度。腾空区间[down,up]会随着鸽群当前最优位置P(pb,cb)的变化而变化,其精确度与P(pb,cb)中的最大值相同。例如,P(pb,cb)={(pb,1,cb,1),(pb,2,cb,2),…,(pb,sum,cb,sum)},当pb,1,pb,2,…,pb,sum中的最大值的精确度为0.1时,腾空区间保持相同的精确度:
[0035]
[0036] (2)上升
[0037] 鸽群腾空后有上升过程,使鸽群朝更优的方向飞行。模拟这一特性,用伪梯度方法,寻找最优解的方向,称为上升方向f′i,j(X(xi,ci))。
[0038] 步骤1:通过式(8),随机产生向量ΔCi=(Δci,1,Δci,2,…,Δci,j,…,Δci,sum)[0039]
[0040] 式中:ri为上升高度。
[0041] 步骤2:计算鸽子i在每一维度j的上升方向f′i,j(Xi),其表达式:
[0042]
[0043] 步骤3:更新每只鸽子的当前位置X(xi,ci),其表达式:
[0044] xi,j=yi,j+ri*sign(f′i,j(X(xi,ci)))   (10)
[0045] 式中:sign(x)为符号函数,当x>0时sign(x)=1;当x=0时sign(x)=0;当x<0时sign(x)=-1。若X(xi,ci)优于当前最优位置Y(yi,ci),则将当前位置X(xi,ci)赋给当前最优位置Y(yi,ci),即Y(yi,ci)=X(xi,ci),若Xi优于鸽群当前最优位置P(pb,cb),则令P(pb,cb)=X(xi,ci)。
[0046] 步骤4:再循环一次步骤1至步骤3。
[0047] 注:步骤1-4只进行两次,因为鸽群不会一直处于上升阶段,该阶段只是用来寻找更优的飞行方向。上生高度ri越小则后期收敛精度越高,但前期收敛速度会变慢。为进一步提高算法后期收敛的精确度和速度。上升高度ri要比腾空范围[down,up]的精确度多一位,例如当[down,up]的精确度为0.1时,ri的精确度为0.01,即ri=ri*0.01。
[0048] 三、飞行
[0049] (1)平飞与转弯
[0050] 定义鸽子i的邻居范围为M,即鸽子周围的M只鸽子作为自身的邻居;Avei为邻居鸽群的平均位置。平飞次数为F1;变量r,取值范围为[1,F1],每平飞一次加1。
[0051] 步骤1:计算鸽子i的平均位置avei,其表达式:
[0052]
[0053] 在该公式中,M是一个非常重要的参数,它会影响局部最优值的寻优。当M的取值过大时,Avei的值会趋近于全局最优,这会影响算法的收敛速度;当M的取值过小时,算法容易早熟收敛,影响算法的精度。在该公式中 是向下取整函数。
[0054] 步骤2:计算鸽子i的飞行速度Vi。同公式如下
[0055] Vi=w*Vi+c1*(Avei-X(xi,ci))   (12)
[0056] w的取值如下:
[0057]
[0058] 在计算得到的新速度向量时会产生“溢出”的情况,即超出区间[-Vmax,Vmax],因此规定,若超出上限Vmax,则取值为Vmax;若小于下限-Vmax,则取值为-Vmax。
[0059] 步骤3:更新每只鸽子的当前位置,其表达式如下:
[0060] Xr+1(xi,ci)=Xr(xi,ci)+Vi   (14)
[0061] 步骤4:重复步骤1至步骤3,直至达到平飞循环次数F1。
[0062] (2)转弯
[0063] 步骤1:定义转弯次数为F2。计算鸽子i的飞行速度Vi。
[0064] Vi=c2*(P(pb,cb)-Y(yi,ci))   (15)
[0065] 式中:c2是全局飞行因子。
[0066] 步骤2:更新每只鸽子的当前位置,其表达式同式(14)。
[0067] 若Xr+1(xi,ci)优于当前最优位置Y(yi,ci),则令Y(yi,ci)=Xr+1(xi,ci),若X(xi,ci)优于鸽群当前最优位置P(pb,cb),则令P(pb,cb)=Xr+1(xi,ci)。
[0068] 步骤3:重复步骤1至步骤2,直至达到转弯循环次数F2。
[0069] 注:由于每只鸽子的传感器布设分量ci,j是通过位置分量xi,j确定的,所以在转弯过程之前P(pb,cb)和Y(yi,ci)的值都已分别确定了,并对应满足传感器数目的二进制编码ci,两者计算后的值也是定值,但是使用新的位置向量计算的二进制编码不一定满足传感器的布置数目要求,所以在这里需要进一步对鸽群算法进行改进,在平飞过程中不进行位置向量到二进制编码sig(xi,j)的转换,而是在平飞和转弯过程共同结束后,进行sig(xi,j)的转换,若不满足传感器布设的编码要求,若不满足布设数量sp的要求,则重复平飞过程的步骤2,直到满足布设数目为止。
[0070] (3)追逐
[0071] 步骤1:在n维空间向量的[n/2]~n维度之间随机产生一个整数位cp,作为位置替代点:
[0072] cp=[n/2]+[φ(n/2)]   (16)
[0073] 式中:φ为[0,1]内的随机数。
[0074] 步骤2:将Pb=P(pb,cb)={(pb,1,cb,1),(pb,2,cb,2),…,(pb,cp,cb,cp),…,(pb,sum,cb,sum)}中从cp~sum的值直接复制到Pw=P(pw,cw)={(pw,1,cw,1),(pw,2,cw,2),…,(pw,cp,cw,cp),…,(pw,sum,cw,sum)}中cp~sum相应位置,如果更新后的群体最差位置Pw优于之前的最差位置,则保留更新,否则不进行更新。此外,由于需要满足传感器布设的数目,所以如果更新后的Pw不能满足传感器布设的数目要求,则也不进行更新。
[0075] 四、归巢
[0076] 步骤1:对于鸽子i,在[-rg,rg]中随机产生一个归巢系数ri。
[0077] 步骤2:根据每只鸽子的当前最优位置,判断个体位置与其他鸽子平均位置的差距。
[0078]
[0079] 步骤3:更新鸽子i的当前位置。
[0080] X(xi,ci)=Y(yi,ci)+ΔHi   (18)
[0081] 若X(xi,ci)优于当前最优位置Y(yi,ci),则令Y(yi,ci)=X(xi,ci),若X(xi,ci)优于鸽群当前最优位置P(pb,cb),则令P(pb,cb)=X(xi,ci)。
[0082] 完整的一次算法流程即:编码及初始化、起飞、飞行、归巢四大过程。反复迭代此过程,直到找到全局最优解或满足终止条件。
[0083] 本发明的有益效果:
[0084] 离散鸽群算法在高维、多峰值复杂函数情况下,具有较好的全局收敛性,算法循环次数较少和较强的稳定性,可有效解决传感器优化布设这种大空间搜索问题。

附图说明

[0085] 图1是桥梁基准模型。
[0086] 图2是使离散的鸽群算法对考虑冗余的三维模态置信准则优化布设结果图。
[0087] 图3是根据布设节点位置拟合的模型5阶z方向的振型拟合比较图。

具体实施方式

[0088] 以下结合附图和技术方案,进一步说明本发明的具体实施方式。
[0089] 桥梁模型共两跨,长5.4864米,宽1.8288米。桥梁模型采用SAP2000建模,该模型已经导入到了MTLAB当中。共有177个节点,每个节点有3个自由度即x、y和z三个方向。该模型的有限元模型如附图1所示。
[0090] 优化准则选取考虑冗余度的三维模态置信准则,公式:f=max(TMAC-I)+ωg(R)。式中:TMAC为三维模态置信准则矩阵,I是单位阵,ω是权重系数(调节TMAC和R优化的先后顺序),g(R)是冗余度函数。TMAC公式为: 式中:Fi,j为待布设传感器位置所
对应节点的Fisher信息阵中的第i行第j列元素。TMACi,j∈[0,1],TMACi,j为TMAC中的第i行第j列元素。
[0091] 通过模型的质量矩阵和刚度矩阵,对模型进行模态分析可以得到模态振型矩阵,就可以进行三维模态置信准则的计算,并用本发明的方法来对目标函数寻优。参数选取按照鸽群算法给出的参考范围进行选取,鸽群的鸽子数量为N=60,腾空范围[down,up]为[-1,1],上升高度ri取0.1,邻居范围M=5,最大飞行速度Vmax=1,归巢范围[-rg,rg]为[-5,
5],平飞次数与转弯次数相等F1=F2=5,局部飞行系数c1=1和全局飞行系数c2=1。算法的终止条件为循环迭代200次。实验结果的节点布设位置如附图2所示。传感器节点相邻的情况较少,布设较为均匀,可视性较好。所以测得的振动信息也就越多。图3是根据布设的节点用三次样条插值拟合的5阶z方向阵型拟合图。拟合效果较好。