一种基于改进差分进化的水库优化调度方法和系统

文档序号:32392334发布日期:2022-11-30 08:48阅读:32来源:国知局
一种基于改进差分进化的水库优化调度方法和系统

1.本发明属于水库调度领域,更具体地,涉及一种基于改进差分进化的水库优化调度方法和系统。


背景技术:

2.水库优化调度是一个多阶段、多约束的优化问题。对于水库优化调度方法的研究,许凌杰等通过改进遗传算法的映射规则并引入自适应罚函数提出了一种改进的遗传算法,提升了遗传算法的寻优性能。bo liu等提高引入自适应惯性权重因子(aiwf)并结合混沌算法的特性提高了粒子群算法的寻优性能。陈志强针对差分进化算法易出现局部收敛的缺陷,改进了算法的贪婪搜索策略并引入基因重生策略,改进算法运用于水库实例调度的结果表明算法的寻优性能得到了提升。
3.上述学者在水库优化调度方法上已做了大量研究并取得了相应成果,但是差分进化算法及其相应改进算法的寻优性能仍然具有较大的提升空间。它们在一定程度上会因为算法参数设置、变异策略等因素选择不当而导致算法搜索陷入局部最优,影响算法求解精度和收敛速度,不仅如此,标准差分进化算法不能保证依概率收敛于全局最优解,而作为在水库优化调度中应用广泛的重要算法,提升其寻优性能迫在眉睫。
4.由此可见,现有水库优化调度方法存在精度较低、收敛速度较慢的技术问题。


技术实现要素:

5.针对现有技术的以上缺陷或改进需求,本发明提供了一种基于改进差分进化的水库优化调度方法和系统,由此解决现有水库优化调度方法存在精度较低、收敛速度较慢的技术问题。
6.为实现上述目的,按照本发明的一个方面,提供了一种基于改进差分进化的水库优化调度方法,包括如下步骤:
7.(1)以水库调度期所有时段的水位为变量,以水库调度期总发电量为目标,建立适应度值函数,设置水库调度期水位约束;
8.(2)以水库调度期所有时段的水位为个体,在满足水库调度期水位约束的情况下,对个体进行立方混沌映射,得到包含多个个体的初始化种群;
9.(3)对初始化种群进行变异,将变异后的种群与初始化种群交叉,得到实验种群;
10.(4)通过适应度值函数分别计算初始化种群和实验种群中每个个体的适应度值,保留适应度值较大的个体,生成待更新种群;
11.(5)对待更新种群中的每个个体进行折射更新,得到折射种群,分别计算待更新种群和折射种群中每个个体的适应度值,保留适应度值较大的个体,生成新种群;
12.(6)将新种群作为初始化种群,重复步骤(3)-(5),直至达到最大迭代次数,得到最终的新种群,计算最终的新种群中每个个体的适应度值,将适应度值最大的个体作为最终水库优化调度方案。
13.进一步地,所述步骤(2)包括:
14.从水库调度期初水位直至水库调度期倒数第二个时段水位通过立方混沌映射初始化生成,然后判断水库调度期倒数第二个时段水位和水库调度期末水位是否满足水库调度期水位约束,若满足,则进入步骤(3),若不满足,则从水库调度期末水位开始,根据水库调度期水位约束对水位进行反向修正至水库调度期第二个时段水位,再进入步骤(3)。
15.进一步地,所述折射的具体方式为:
16.通过变量η对待更新种群中的每个个体进行折射更新,其中,n为折射率,iter为种群代数,a和b分别为水库调度期水位约束的上限和下限。
17.进一步地,所述折射率为:n=k
·
(iter-1)+0.85,其中,k=-0.20/(iteration-1),k为折射率n的变化系数,iteration为总迭代次数。
18.进一步地,所述立方混沌映射的具体方式为:
19.按照公式y(n+1)=4y(n)
3-3y(n)产生j维空间中的n个个体,其中,y(n)为第n个个体的混沌值,y(n)∈[-1,1],再将每个个体的每一维迭代n次,产生n个元个体,在水库调度期水位约束之下将元个体映射到解空间之中,得到种群初始解,作为初始化种群。
[0020]
进一步地,所述变异为从种群中随机挑选个体进行差分进化或者挑选当前种群中适应度值最优的个体差分进化。
[0021]
进一步地,所述交叉为二项式交叉或指数交叉。
[0022]
按照本发明的另一方面,提供了一种基于改进差分进化的水库优化调度系统,包括:
[0023]
预处理模块,用于以水库调度期所有时段的水位为变量,以水库调度期总发电量为目标,建立适应度值函数,设置水库调度期水位约束;
[0024]
初始化模块,用于以水库调度期所有时段的水位为个体,在满足水库调度期水位约束的情况下,对个体进行立方混沌映射,得到包含多个个体的初始化种群;
[0025]
变异模块,用于对初始化种群进行变异,将变异后的种群与初始化种群交叉,得到实验种群;
[0026]
对比判定模块,用于通过适应度值函数分别计算初始化种群和实验种群中每个个体的适应度值,保留适应度值较大的个体,生成待更新种群;
[0027]
折射更新模块,用于对待更新种群中的每个个体进行折射更新,得到折射种群,分别计算待更新种群和折射种群中每个个体的适应度值,保留适应度值较大的个体,生成新种群;
[0028]
迭代优化模块,将新种群作为初始化种群,重复执行变异模块、对比判定模块和折射更新模块,直至达到最大迭代次数,得到最终的新种群,计算最终的新种群中每个个体的适应度值,将适应度值最大的个体作为最终水库优化调度方案。
[0029]
进一步地,所述初始化模块,用于从水库调度期初水位直至水库调度期倒数第二个时段水位通过立方混沌映射初始化生成,然后判断水库调度期倒数第二个时段水位和水库调度期末水位是否满足水库调度期水位约束,若满足,则执行变异模块,若不满足,则从水库调度期末水位开始,根据水库调度期水位约束对水位进行反向修正至水库调度期第二个时段水位,再执行变异模块。
[0030]
进一步地,所述折射更新模块,用于通过变量η对待更新种群中的每个个体进行折射更新,其中,n为折射率,iter为种群代数,a和b分别为水库调度期水位约束的上限和下限。
[0031]
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0032]
(1)本发明基于混沌立方映射和光折射原理改进标准差分进化算法,获得了在水库优化调度领域更加高效的算法。本发明采用立方混沌映射对种群进行初始化,使得初始化产生的种群位置更加均匀。通过变异和交叉得到更加丰富的种群,然后以发电量最大为目标找到优选的种群。通过折射引入扰动,使得算法可以继续寻优,最终本发明可以快速得到准确的水库优化调度方案。
[0033]
(2)混沌映射的方式有很多种,如chebyshev混沌映射、圆周混沌映射、高斯混沌映射、阵发混沌映射、logistic混沌映射、立方混沌映射。本发明将立方混沌映射应用于水库优化调度中,使得初始化产生的种群位置更加均匀,有助于加快寻优效率,提高寻优准确率。
[0034]
(3)光的折射是指光从一种介质以一定的角度斜射入另一种介质时,其传播路径在两种介质的交界面处发生偏折的现象。当个体移动到约束对应的上下边界的中间点时,根据光折射原理可知此时折射光线与法线重合,从而折射后的点与个体重合,导致不能对个体进行更新,针对此问题,本发明将光的折射原理引入到差分进化算法中,通过引入了一个变量,给约束对应的上下边界的中间点加上了一个扰动,使得算法可以继续寻优。
[0035]
(4)本发明设计的折射率n是一个自适应变化,根据表达式可以发现它随着迭代过程的继续而逐渐减小,从而扰动值逐渐变大,加快了算法后期的寻优速度。折射率通过本发明设计方式变化,避免算法寻优过程中停留在约束对应的上下边界的中间点,可以保证顺利更新个体。
附图说明
[0036]
图1是本发明实施例提供的一种基于改进差分进化的水库优化调度方法的流程图;
[0037]
图2是本发明实施例提供的光折射原理的应用图;
[0038]
图3是本发明实施例提供的2020(丰水年)三种算法进化过程对比图;
[0039]
图4是本发明实施例提供的2015(平水年)三种算法进化过程对比图;
[0040]
图5是本发明实施例提供的2017(枯水年)三种算法进化过程对比图。
具体实施方式
[0041]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0042]
如图1所示,一种基于改进差分进化的水库优化调度方法,包括:
[0043]
(1)以水库调度期所有时段的水位为变量,以水库调度期总发电量为目标,建立适应度值函数,设置水库调度期水位约束;
[0044]
(2)以水库调度期所有时段的水位为个体,在满足水库调度期水位约束的情况下,对个体进行立方混沌映射,得到包含多个个体的初始化种群;
[0045]
(3)对初始化种群进行变异,将变异后的种群与初始化种群交叉,得到实验种群;
[0046]
(4)通过适应度值函数分别计算初始化种群和实验种群中每个个体的适应度值,保留适应度值较大的个体,生成待更新种群;
[0047]
(5)对待更新种群中的每个个体进行折射更新,得到折射种群,分别计算待更新种群和折射种群中每个个体的适应度值,保留适应度值较大的个体,生成新种群;
[0048]
(6)将新种群作为初始化种群,重复步骤(3)-(5),直至达到最大迭代次数,得到最终的新种群,计算最终的新种群中每个个体的适应度值,将适应度值最大的个体作为最终水库优化调度方案。
[0049]
目标函数(即适应度值函数)及约束条件如下:
[0050]
(1)目标函数
[0051]
本发明中梯级水库群优化调度模型以发电量最大为目标函数,公式如下:
[0052][0053]
式中:水电站自上游向下游依次编号1,2,3
……
,i为水电站编号;t为第t个时段,t为调度期总时段数;ai为水电站i的综合出力系数;q
i,t
和h
i,t
分别为水电站i在第t个时段的发电流量和对应的水头,水头为上下游水位的差值;δt为调度期每个时段的长度。
[0054]
(2)约束条件
[0055]
1)水位约束
[0056][0057]
式中:z
i,t
、分别为水电站i在时段t的水位及其允许的最大最小值。
[0058]
2)出力约束
[0059]ni,t
=9.81aiq
i,thi,t
[0060][0061]
式中:n
i,t
、分别为水电站i在时段t的出力及其允许的最大最小值。
[0062]
3)水量平衡约束
[0063]vi,t+1
=v
i,t
+(i
i,t-q
i,t-s
i,t
)
·
δt
[0064]
式中:v
i,t
、v
i,t+1
分别为水电站i在时段t的初、末库容;i
i,t
、q
i,t
、s
i,t
分别为水电站i在时段t的入库流量、发电流量和弃水流量;δt为时段时长。
[0065]
4)水力约束
[0066]ii,t
=q
i-1,t-τ
+q
i,t
[0067]
式中:i
i,t
为时段t水电站i的入库流量;q
i-1,t-τ
为时段t-τ水电站i-1的出库流量;q
i,t
为水电站i在时段t的区间入流;τ为水流滞时。
[0068]
5)下泄流量约束
[0069][0070]
式中:分别为水电站i在第t个时段的发电流量及其允许的最大最小值。
[0071]
6)水位变幅约束
[0072][0073]
式中:δz
i,t
、分别为水电站i在时段t的水位变化值及其允许的最大最小值。
[0074]
7)始末水位控制
[0075]zi,0
=z
i,start
[0076]zi,t
=z
i,end
[0077]
式中:z
i,start
、z
i,end
分别为水电站i对应调度规程要求其在调度期的始末水位。
[0078]
一种应用于水库优化调度的混沌折射差分进化算法(crde),包括:
[0079]
(1)标准差分进化算法简介
[0080]
de算法采用浮点矢量进行编码的方式生成种群个体,该算法主要包括种群初始化、差分变异、个体交叉、选择等主要操作步骤,通过随机初始化过程产生一定数量规模的个体组成初始化种群,在该种群中随机挑选两不同的个体进行向量差分并按照一定的比例进行缩放,所得结果与种群中异于前两个个体的一个随机个体求和从而产生变异个体,根据一定的交叉规则将变异个体与父代个体进行交叉产生实验个体,保留实验个体与父代个体中适应度值较大者作为第一代个体,一定数量规模的第一代个体组成第一代种群,将得到的第一代种群作为上述的初始化种群重复上述操作直至达到最大迭代次数,在最后一次迭代结束后得到的那一代种群中选择适应度值最大的个体作为最终的结果。de算法的主要流程和原理如下:
[0081]
a.个体初始化
[0082]
按照浮点矢量进行编码的方式随机生成一个个体维度为d,种群大小为np的种群,种群中第i个个体用公式表示为:
[0083]
xi={x
i,1
,x
i,2


,x
i,j


,x
i,d
},i=1,2,

,np,j=1,2,

,d
[0084]
式中,xi表示种群中第i个个体,x
i,j
表示第i个体的第j维值,x
i,j
∈[aj,bj],aj和bj分别为算法决策变量的上下界,x
i,j
在[aj,bj]内按公式进行初始化:
[0085]
x
i,j
=rand(0,1)
·
(a
j-bj)+bj,i=1,2,

,np,j=1,2,

,d
[0086]
式中,rand(0,1)表示在区间[0,1]上随机分布的一个随机数。
[0087]
b.差分变异
[0088]
de算法的变异过程模仿生物基因突变的过程,该算法目前主要有五种变异方式,通常用“de/a/b”简化表示,其中,“de”表示差分进化算法;“a”代表选择被变异个体的方式,主要有rand(从种群中随机地挑选个体)和best(挑选当前种群中适应度值最优的个体)两种方式;“b”代表参与变异的个体数。常用变异策略如下所示:
[0089]“de/rand/1”:
[0090]
[0091]“de/best/1”:
[0092][0093]“de/rand/2”:
[0094][0095]“de/best/2”:
[0096][0097]“de/current-to-best/1”:
[0098][0099]
式中,r1,r2,r3,r4和r5为{1,

,np}中随机选择的5个互不相同的整数,x
best,g
为第g代种群中适应度值最优的个体,f为变异操作的缩放因子,取值区间为[0,1]上的随机数。
[0100]
在变异操作过程中,当变异操作产生的新个体不在搜索空间内时,通常使用如下公式进行处理:
[0101][0102][0103]
式中,v
ji,g
表示第g代中对应的第i个变异个体的第j个维度的数值。
[0104]
c.交叉操作
[0105]
常用的交叉方式主要有二项式交叉和指数交叉,二项式交叉如公下所示:
[0106][0107]
式中,u
ji,g
表示第g代第i个试验个体的第j维的值,j
rand
表示从{1,2,

,d}中随机挑选的一个数,cr表示交叉概率。
[0108]
指数交叉如下式所示:
[0109][0110]
指数交叉过程中,首先在[1,d]上通过随机的方式选取整数n作为交叉操作的起点,再在[1,d]上随机选取另一个整数l作为变异个体占目标个体位置对应的个数,然后进行指数交叉操作产生一系列试验个体u
ji,g
,式中《
·
》d指的是对d取模函数。
[0111]
d.选择操作
[0112]
比较试验个体与目标个体的适应度值,当试验个体的适应度值大于或等于目标个体的适应度值,使用试验个体替代相应的目标个体,加入下一代种群,反之,目标个体加入下一代种群,选择操作如下式所示:
[0113]
[0114]
式中,表示第g代目标个体x
i,g
的适应度值,表示第g代试验个体u
i,g
的适应度值。
[0115]
(2)基于混沌立方映射和光折射原理的改进
[0116]
a.混沌初始化
[0117]
混沌映射的方式有很多种,如chebyshev混沌映射、圆周混沌映射、高斯混沌映射、阵发混沌映射、logistic混沌映射、立方混沌映射等,在众多混沌映射方式中,立方混沌映射的性能较优,本发明采用立方混沌映射对种群进行初始化,使得初始化产生的种群位置更加均匀。立方混沌映射首先根据下式产生混沌序列:
[0118]
y(n+1)=4y(n)
3-3y(n),(n=0,1
……
)
[0119]
其中,y(n)∈[-1,1]。然后将混沌序列映射到优化变量的取值空间内,具体步骤如下:
[0120]
1)按照立方混沌映射公式产生j维空间中的n个个体,y=(y1,y2,y3,

,yj),yi∈[-1,1],(i=1,2,

,j),再将每个个体的每一维迭代n次,产生n个元个体;
[0121]
2)按照下列公式将元个体映射到解空间之中,得到种群初始解。
[0122][0123]
其中:aj、bj分别为搜索空间的下界和上界;y
i,j
是按公式产生的第i个元个体的第j维坐标;x
i,j
是第i个初始解的第j维坐标。
[0124]
b.光的折射原理
[0125]
光的折射是指光从一种介质以一定的角度斜射入另一种介质时,其传播路径在两种介质的交界面处发生偏折的现象。如图2所示,光线从介质1以入射角α经过介质交界面以折射角β进入介质2,称sinα/sinβ为介质2相对于介质1的折射率n。本发明将光的折射原理引入到差分进化算法中,应用原理如图2所示,横轴x为其他介质与空气的交界面,横轴上变量的取值范围为算法搜索区域的上下边界[a,b],点m为[a,b]的中间点,x
best
为当前最优个体所对应的x轴坐标,由x
best
沿法线方向向上方作入射点x
origin
,mx
origin
为固定值l,点y
origin
为x
origin
经过中间点m的折射点,my
origin
为固定值l,y
origin
在x轴上的投影点所对应的横坐标为y1。特殊地,若x
best
移动到中间点m,根据光折射原理可知此时折射光线与法线重合,从而折射后的点y1与x
best
重合,导致不能对x
best
进行更新,针对此问题,本发明采取变量η对y1进行扰动以继续更新x
best

[0126]
由图可知:
[0127]
sinα=((a+b)/2-x
best
)/l
[0128]
sinβ=(y
1-(a+b)/2))/l
[0129][0130]
由上式可知:
[0131]
y1=(a+b)/2+((a+b)/2-x
best
)/n
[0132]
折射率n的变化方式如下式所示:
[0133]
k=-0.20/(iteration-1)
[0134]
n=k
·
(iter-1)+0.85
[0135]
式中:k为折射率n的变化系数,iteration为总迭代次数,iter为种群代数。
[0136][0137][0138]
n是一个自适应变化,根据表达式可以发现它随着迭代过程的继续而逐渐减小,从而扰动值逐渐变大,加快了算法后期的寻优速度。折射率通过本发明设计方式变化,避免算法寻优过程中停留在中心点m,这里引入了一个变量,给m加上了一个扰动,使得算法可以继续寻优。
[0139]
(3)模型求解流程
[0140]
crde算法求解水库发电优化调度模型的具体步骤如下:
[0141]
step1:设定crde算法的各项参数:种群大小n、个体维度d、交叉概率cr、最大迭代次数iteration。读取水库数据信息:正常蓄水位、调度期及调度期内各日入库流量、水位库容曲线等。输入发电调度模型中的目标以及约束条件,目标为发电量最大,设定适应度函数为目标函数,适应度函数值即为梯级水库群调度期的总发电量。
[0142]
step2:在满足约束条件的情况下运用立方混沌映射初始化生成一个包含n个水位过程的种群(每个个体即为一个水位过程),每个个体包含d个水位。从调度期初水位直至调度期倒数第二个时段水位通过立方混沌映射初始化生成,然后判断倒数第二个时段水位和调度期末水位是否满足所有step1设定的约束条件,若满足,则进入step3,若不满足,则从调度期末水位开始,根据约束条件对水位进行反向修正至调度期第二个水位,再进入step3。
[0143]
step3:在初始化种群的基础上,通过设定的变异策略对种群进行变异,将变异后的种群与原始种群按照二项式交叉规则进行交叉得到实验种群。
[0144]
step4:运用的适应度求解函数分别计算原始种群和实验种群对应序号的每一个个体的适应度值,保留两者中适应度值较大的个体,最后生成待更新种群。
[0145]
step5:按照光的折射原理对待更新种群中的每一个个体进行折射更新,得到折射种群,然后与step4类似,运用适应度求解函数分别计算待更新种群和折射种群对应序号的每一个个体的适应度值,保留两者中适应度值较大的个体,最后生成新种群。
[0146]
step6:将得到的新种群作为初始化种群重复step3、step4、step5,直至达到最大迭代次数,运用适应度求解函数计算新种群中每个个体的适应度值,选取适应度值最大的个体作为最终水库优化调度方案。
[0147]
实施例1
[0148]
选取溪洛渡、向家坝、三峡水库为实例对象,以三峡水库蓄水期(9月1日至10月31日)为调度期,建立以总发电量最大为目标的单库优化调度模型,选取2020、2015、2016作为丰平枯三个典型年,再分别运用crde、de、pso三种当前较流行的智能优化算法对模型进行500次求解,统计对比分析求解结果,检验crde算法在求解水库优化调度模型中的寻优性能。pso为粒子群优化算法。
[0149]
参与实验的crde、de、pso三种智能优化算法中,取种群大小n=50,迭代次数iter
=500。其中,crde算法和de算法采取“de/best/1”变异方式,采用二项式交叉,取交叉概率cr=0.5,pso算法中粒子加速常数c1=c2=2,惯性权重ω=0.85,粒子最大速度v
max
=2。以溪洛渡、向家坝、三峡水库为实例对象,分别运用crde、de、pso三种智能优化算法对发电优化调度模型分别进行500次求解,统计500次求解结果的平均值、标准差、计算时间等指标如表1、表2、表3所示,绘制三种算法的进化过程如图3、图4、图5所示。
[0150]
表1 2020(丰水年)三种算法单库调度结果对比
[0151][0152]
表2 2015(平水年)三种算法单库调度结果对比
[0153][0154]
表3 2016(枯水年)三种算法单库调度结果对比
[0155][0156]
求解结果中平均值反映了结果的优劣性,标准差反映了算法的稳定性,计算时间反映算法的求解速度,算法寻优性能的一个重要指标为收敛性,能够快速收敛并且收敛到较优值是一个优秀算法所必须具备的性能。
[0157]
对于丰水年(2020年),crde算法求解得到的三个水库总发电量明显高于de和sfs算法,总发电量标准差低于另外两者,crde算法求解模型所需平均计算时间均低于de和pso
算法。对于平水年(2016年)和枯水年(2015年)crde算法求解得到的三个水库总发电量均高于de和pso算法,总发电量标准差低于另外两者,crde算法求解模型所需平均计算时间均低于de和pso算法。如图3、图4、图5所示可知,在三种典型年情况下,相较于de和pso算法,crde算法能够以更快的速度收敛,且收敛结果更优。
[0158]
综上所述,crde算法的稳定性、求解速度、收敛速度以及求解结果的优劣性均高于de和pso算法,从而crde算法相比于de和pso算法具有更好的寻优性能,验证了crde算法在单库优化调度中具有较高的寻优性能。
[0159]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1