1.一种基于约束机制粒子群算法的水库库容曲线修正方法,其特征在于:包括下述步骤:
步骤1,构建决策变量内部约束机制:通过分析水库库区地形的一般变化规律,根据水库水位~面积函数的微分特性及实际应用时水库水位~面积~库容关系为离散形式,以不同水位对应的水面面积作为决策变量,构建符合变量内部相邻成员间变化规律的约束机制;
步骤2,水库运行资料预处理:为便于分析和比较求解成果与运行资料的匹配程度,根据目标水库的运行资料、气象资料、库区地质资料以及近期库容曲线,由水量平衡原理,逐时段计算初、末水位
步骤3,目标函数设计:针对某一备选库容曲线,在曲线上逐时段查得运行资料中的初、末水位
步骤4,基于约束机制的改进粒子群算法求解目标函数,步骤如下:
子步骤4.1,设定算法基本参数,初始粒子数量m、粒子维度n、更新迭代周期上限s,学习因子c1、c2均取2,速度限制常数vmax取值为1/(2n),惯性权重w采用线性递减自适应调整策略;
子步骤4.2,建立粒子与面积函数决策变量的映射关系;
子步骤4.3,基于步骤1中相关的约束机制,随机生成满足要求的初始粒子群体;
子步骤4.4,对第s迭代周期,逐个粒子i计算相应的适应度值
子步骤4.5,根据改进粒子群算法,粒子更新方式及步骤1中提出的变量约束机制更新粒子速度和位置;
子步骤4.6,重复子步骤4.4、4.5,直至粒子群更新迭代周期上限s时,输出群体最好位置,经换算后即为求解结果;
步骤5,输出条件判别:设定允许距离阈值为δ*,计算步骤4中求解的库容曲线结果与步骤2中水库运行资料中库容曲线的欧氏距离δ,若δ≤δ*,则输出步骤4计算的库容曲线结果;反之,用步骤4的库容曲线替代步骤2中近期库容曲线,并重复步骤2、3、4,直至满足输出条件为止。
2.根据权利要求1所述基于约束机制粒子群算法的水库库容曲线修正方法,其特征在于:所述步骤1中,构建符合变量内部相邻成员间变化规律的约束机制步骤为:
子步骤1.1,通过分析水库库区地形的变化规律,提出水库水位~面积函数的微分特性为:
设水库水位变量z,对应水面面积函数a=f(z),根据库区地形的一般变化规律可知,随着水库水位的抬高,相应水面面积越大,即面积函数的一阶导数大于零,有:
a′=f′(z)=da/dz>0式(1)
另外,根据水位越高水面面积增长率也越来越大,即面积函数的二阶导数也大于零,因此有:
a″=f″(z)=d2a/dz2>0式(2)
式2可以看出,面积函数为严格凹函数,由其性质可知,对于x1<x2,存在0<α<1,有:
f(αx1+(1-α)x2)<αf(x1)+(1-α)f(x2)式(3)
子步骤1.2,基于子步骤1.1的面积函数微分特性,等差水位相邻离散点距的相互制约关系为:
设库容曲线中离散水位值为zj,(j=0,1,2,……,n),从小到大排列的序列,对应水面面积系列为aj=f(zj),由式(1)有:
(aj-aj-1)/(zj-zj-1)>0,
因zj>zj-1,有aj-aj-1>0,即:
0≤aj-1<aj(j=1,2,……,n)式(4)
由式(2)有:
对等差水位序列,简化为:
子步骤1.3,针对某些库区的水位~面积曲线存在面积函数局部区间为非凹函数时,约束条件变更判别式及非凹函数情况下的制约关系为:
对于遵循凹函数规律的水位~面积曲线而言,式(5)是严格成立的,有(2×aj-1-aj-2)<(aj+1+aj-1)/2,整理得:
aj+1>(3×aj-1-2×aj-2)(j=2,3,......,n-1)式(6)
因此,式(6)是判别aj有无满足凹函数性质解的条件;对于部分特殊位置的地形,存在不满足凹函数的情况,即式(5)无解或式(6)不成立;
所以式(6)也是约束条件变更的判别式,若式(6)不成立,说明在该库区高程范围对应的面积增长率非正值,此时的面积函数应变更为非凹函数约束,即:
(aj+1+aj-1)/2≤aj<aj+1(j=1,2,......,n-1)式(7)
子步骤1.4,初始化水位~面积曲线时,由于aj+1未知,无法利用式(5)~式(7)来约束aj,根据式(3),其离散表达形式为:
aj<a0+(an-a0)×(zj-z0)/(zn-z0)式(8)
对等差水位序列,进一步简化为:
aj<a0+(an-a0)×j/n(j=1,2,......,n-1)式(9)
由此,在初始化水位~面积曲线时,利用式(8)或式(9)来代替式5中的约束条件上边界。
3.根据权利要求1所述基于约束机制粒子群算法的水库库容曲线修正方法,其特征在于:所述步骤2中,所述目标水库的运行资料包括库水位、入库流量、出库流量;所述气象资料包括库区降雨量、蒸发量。