[发明专利]用于结构健康监测传感器优化布设的离散鸽群方法有效
申请号: | 201610261698.1 | 申请日: | 2016-04-22 |
公开(公告)号: | CN105976018B | 公开(公告)日: | 2018-12-18 |
发明(设计)人: | 伊廷华;温凯方;李宏男 | 申请(专利权)人: | 大连理工大学 |
主分类号: | G06N3/00 | 分类号: | G06N3/00 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 温福雪;李宝元 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于土木工程结构健康监测领域中的传感器优化布设,提出一种用于结构健康监测传感器优化布设的离散鸽群方法。本发明包括编码及初始化、起飞、飞行和归巢四大过程:编码及初始化过程应用双重编码方式,用于离散化连续变量,并初始化鸽群位置和速度向量;起飞过程包括腾空和上升两个子过程,用于均匀化鸽群位置向量和寻找最优解的方向;飞行过程包括平飞、转弯和追逐三个子过程,用于寻找局部最优解、全局最优解和改善全局最差解;归巢过程则避免算法陷入局部最优解。本发明算法可高效求解离散优化问题,具有较好的全局收敛性、较少的循环次数、较强的稳定性。 | ||
搜索关键词: | 用于 结构 健康 监测 传感器 优化 布设 离散 鸽群 算法 | ||
【主权项】:
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);完整的一次算法流程即:编码及初始化、起飞、飞行、归巢四大过程;反复迭代此过程,直到找到全局最优解或满足终止条件。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610261698.1/,转载请声明来源钻瓜专利网。