1.一种基于狼群算法的河道洪水流量演进规律模拟方法,其特征在于,包括以下步骤,步骤1:以与河道洪水实际流量过程误差最小为目标建立马斯京根模型;
步骤2:通过狼群算法对步骤1中马斯京根模型的参数进行率定,得到河道洪水流量模拟过程和实际流量过程误差最小时的流量演算系数;
步骤3:根据步骤2中得到的流量演算系数代入步骤1中的马斯京根模型中,得到率定后的马斯京根模型目标函数。
2.如权利要求1所述的一种基于狼群算法的河道洪水流量演进规律模拟方法,其特征在于,步骤1具体包括以下步骤,步骤1.1:建立目标函数1:
s.t.:C0∈[-1,1]
C1∈[-1,1]
1-C0-C1∈[-1,1]
式中:M为洪水历时总时段数;Im为时段末上游断面入流;Im-1为时段初上游断面入流;Qm为时段末下游断面出流;Qm-1为时段初下游断面出流;Qm'为实际出流量;C0、C1、C2为流量演算系数;
目标函数1将模拟和实测的离差值乘以相应的权重,权重取自同一时刻实测流量值;
步骤1.2:建立目标函数2:
f2=maxDc (2)
式中:Dc为确定性系数;
其中:
式中:Sc为预报误差值的均方差;σy为预报要素值的均方差; 为实际出流量的均值;
步骤1.3:选取马斯京根模型目标函数:
在[0,1]范围内选取多组权重值 和 分别计算每一组权重下模拟结果,依照模拟洪峰离差值和洪水过程绝对离差和整体越小权重值越合理的原则,选取最优权重 和
3.如权利要求2所述的一种基于狼群算法的河道洪水流量演进规律模拟方法,其特征在于,步骤2具体包括以下步骤,步骤2.1:变量初始化,初步确定算法的种群大小n,迭代次数gen,探狼比例因子为a,种群更新因子为b,步长因子为S,距离判定因子为W,游走计算变量T,游走最大次数为Tmax,搜索方向数h,设置迭代计数变量t=0;将步骤1中的流量演算系数C0,C1视为人工狼位置变量,变量维数D=2,在C0,C1取值范围[-1,1]内,生成n个人工狼位置,如公式(4):xi,j=2×rand-1 i=1,2,...,n j=1,2 (4)步骤2.2:狼群划分,计算所有人工狼所在位置处的猎物气味浓度Yt(i)(i=1,2,…,n),采用马斯京根模型目标函数f作为猎物气味浓度Yt(i),如公式(5):按照猎物气味浓度Yt(i)对所有人工狼位置降序排序,然后选取排序后种群中第1匹人工狼为头狼,对应的位置记为xlead,猎物气味浓度记为Ylead,选取第2到第S+1共S=Round(a*n)匹人工狼为探狼,Round为四舍五入算子,剩余n-S-1匹人工狼为猛狼,设置探狼游走次数T=1;
步骤2.3:探狼游走,通过式(6)计算每匹探狼每个游走方向p对应的潜在新位置x'i,j(p),并通过式(5)计算其对应的猎物气味浓度Ytp(i),然后通过式(7)确定每匹探狼最优潜在游走方向p,及其对应的猎物气味浓度Yt'(i);若Yt'(i)>Yt(i),则替换旧气味浓度Yt(i)=Yt'(i),并用潜在移动方向p对应的潜在位置更新旧位置xi,j=x'i,j(p),反之不更新位置;所有探狼完成本次游走后,通过式(8)确定猎物气味浓度最大的探狼i,令T=T+1,进入步骤2.4;
[Yt'(i),p]=φ(Ytp(i))p=1,2.,..,h (7)[Ytmax,i]=φ(Yt(i))(i=2,3,...,S+1) (8)式中:φ为最大值选择函数,返回最大值及其对应的下标;
步骤2.4:若Ytmax>Ylead,则更新头狼位置xlead=xi,j和猎物气味浓度Ylead=Yt(i);判断若T>Tmax,则进入步骤2.5,反之,返回步骤2.3;
步骤2.5:召唤奔袭,通过式(9)计算猛狼与头狼欧式空间距离dis(i)(i=S+2,S+3,...,n),若dis(i)<W,则进入步骤2.6;反之,依次通过式(10)和式(11)计算猛狼新位置x”i,j和dis(i),并重复这一过程,直至所有猛狼与头狼距离dis(i)小于距离判定值W,然后进入步骤
2.6;
x”i,j=xi,j+rand(x_lead(j)-xi,j)·2S i=S+2,S+3,...,n j=1,2 (10)步骤2.6:围攻猎物,除头狼以外的所有人工狼按式(11)计算新位置x'i,j,并更新替换旧位置xi,j=x'i,j,然后通过式(5)计算更新后位置所对应的猎物气味浓度Yt(i);
x'i,j=xi,j+rand(xlead(j)-xi,j)·S/2i=2,3,...,n j=1,2 (11)步骤2.7:竞争更新,按照猎物气味浓度Yt(i)对所有人工狼位置降序排序,选取排序后种群中第1匹人工狼为头狼,对应的位置记为xlead,猎物气味浓度记为Ylead;根据种群更新因子b,通过式(12)计算种群更新数量R,重新生成R匹人工狼x”'i,j=2×rand-1(i=1,2,...,R j=1,2),并替换最后R匹人工狼xi,j=x”'i,j(i=1,2,...,R j=1,2);
R=rand(n/b-n/2b)+n/2b (12)
步骤2.8:判断t是否大于gen,若满足,则输出全局最优解xlead,即流量演算系数C0,C1;
反之,令t=t+1,返回步骤2.2。