刘 宇,许新宇,李晓澜,薛凯竟,张 宇
(1.中国电建集团华东勘测设计研究院有限公司,浙江杭州311122;2.南京水利科学研究院,江苏南京210029)
水库优化调度是一个复杂的高维非线性模型,调度期内水库呈现出多阶段、多状态,每阶段各个状态的组合数目随着调度期的增长呈指数关系增加。水库入流作为人类不可控因素,其不确定性进一步增加了水库调度的风险。以上种种因素都增加了水库发电优化调度的难度。早期研究人员采用动态规划等数学规划方法求解水电站优化调度模型[1-2],对于确定型水库优化调度模型取得了一定的成果,但“维数灾”问题导致的计算量及计算时间问题一直没有解决[3]。相较于遗传算法、神经网络、蚁群算法等经典算法[4],粒子群算法在20世纪90年代后期才被提出,虽然出现的时间较晚,但因其较为完备的理论结构,高效的全局寻优性能以及易于实现、可移植性强等特点在工程计算及科学研究的各个领域得到广泛的应用[5-6]。本文为研究水库发电中长期确定型优化问题,应用粒子群算法建立水库发电优化调度模型,并从初始种群生成、寻优模式、更新策略等方面对算法进行了改进,并与标准粒子群算法以及传统的动态规划进行了对比,为水库发电优化调度相关研究提供算法支持与参考。
由于工程问题的复杂性,根据应用问题的实际背景,水库中长期发电优化调度模型采用发电效益(发电量)最大,即
(1)
式中,T为优化模型计算时段数;Δt为每个阶段调度时段长度;βt为水库第t时段相应的上网电价;Nt(·)为第t时段的平均出力函数,与水库时段平均发电流量qt、水库平均水头Ht呈非线性关系;B为发电期内水库所获得发电效益。
本模型的约束条件主要包括:水量平衡约束、水位上下限约束、流量约束、出力约束、调度期期初末水位约束。
粒子群基本原理来源于对鸟类群觅食行为的模仿。将优化问题的某一具体解模拟为高维无限空间内的可以进行自由飞行的鸟类,即一个基本粒子。设粒子群在一个n维空间中自由移动,由N个粒子组成种群X={X1,X2,…,XN},其中每个粒子所处的位置Xi={xi1,xi2,…,xin}表示问题一个完整的解。粒子通过不断变化自己所处的位置xid来产生新的解。每个粒子都记录下自己曾经寻找到过的最优的解,记为pid,所有粒子寻优过程中得到的最优解记为pgd,粒子一直处于运动状态,其速度记作Vi={vi1,vi2,…,vin}。当pid、pgd记录完毕后,依照下式更新粒子的速度为
vid(t+1)=ωvid(t)+η1rand()(pid-xid(t))+η2rand()(pgd-xid(t))
(2)
xid(t+1)=xid(t)+vid(t+1)
(3)
式中,vid(t+1)为第i个粒子在t+1次迭代中第d维上的速度分量;ω为惯性权重;η1、η2为加速常数;rand()为0~1之间的随机数[7]。
惯性权重ω代表着粒子群迭代寻优过程中,上一代的速度在寻优过程中的保留程度。ω的取值影响着粒子群算法的全局寻优能力与局部收敛能力,ω为固定值时,算法很难兼顾全局寻优能力与局部收敛能力,使得种群收敛速度过慢或者陷入局部最优解。一般认为寻优前期惯性权重ω应较大,迭代后期逐渐减小,但关于寻优前期与寻优后期的定义尚不明确,关于ω值的确定亦没有确定性的数学推导或理论依据。
本文针对水库优化调度粒子群算法寻优过程的特点,根据寻优过程中适应度值变化速度对惯性权重ω进行调整,设计了一种非线性的惯性权重调整量计算方法,使得惯性权重ω具有非线性的自适应能力。
规定ω变化的上限值为ωmax,下限值为ωmin,第i个粒子迭代至第k代时惯性权重为
(4)
式中,参数A=0.01;参数C=0.2rand();参数B由该粒子适应度值的变化程度决定,记i粒子在第k代的适应度值为Particle(i).fitnessk,则B由下式确定
(5)
(6)
标准粒子群算法中初始种群随机生成,其随机性有可能造成初始解过度集中于解空间的某一位置,最终导致算法收敛于局部最优解,引入均匀设计的思想可以较好地解决这一问题[8]。均匀设计基于均匀表Jn(qs)安排实验,J表示均匀设计,n为试验次数,q表示试验中每个因素有q个水平,s说明该表有s列。一般情况下设计均匀表时,n=q。Jn(ns)表的生成规则可参考文献[9],其中均匀设计表中元素Ji,j均满足1≤Ji,j≤n[10]。
将均匀设计的思想引入粒子群算法求解水库调度模型,粒子作为实验因素,将水位取值范围离散作为因子水平,种群规模psize对应于试验次数,调度时段t对应于因素个数,因此初始种群中粒子i的各时段水位分量可由下式变换得到
(7)
混沌是宇宙间恒定存在的非线性现象,它主要表现为确定性系统中的外在表现出的随机不规则运动。一个确定性理论描述的系统,其外在表现却没有明显规律可遵循,难以对其进行预测。混沌现象外在呈现出混乱的状态,但它本身却具有极其丰富的内涵,其主要特质如下[11]:
(1)内在随机性。产生混沌现象的系统本身是确定性的,没有任何随机量的影响,但系统本身能够持续地呈现出与随机性高度相似的动作与外在表现。
(2)分形性质。混沌现象具有分形结构,即对于维数连续变化的空间,混沌现象能够以非整数维形式对其进行填充及分割。
(3)标度不变性。混沌现象在保持随机的同时表现出一种非周期性的有序,变化过程中一定程度上遵循从Feigenbaum常数系。
(4)敏感依赖性。混沌现象的演变结果不可预测,初始条件有极小的改变或扰动都会使得事物最终表现产生巨大的变化。混沌可以对一定维度的空间按照自身固有规律不重复地遍历所有状态,从而被研究者引入优化计算中。Logistic映射是一个典型的混沌信号发生器,其迭代公式为
xi+1=λxi(1-xi)
(8)
式中,xi为变量x在第i次的迭代值;xi+1为变量x在第i+1次的迭代值;λ为控制参量,当λ=4,0≤x0≤1时,Logistic完全处于混沌状态。
将混沌引入水库优化调度粒子群算法寻优过程,即在粒子更新自己的位置后,根据Logistic映射产生随机扰动,将扰动分量载波分解成位置变幅再次更新粒子位置,以增加粒子群算法的局部寻优能力,避免陷入局部最优解。
令调度模型调度期为T,则在算法开始时生成位数为T维,每个分量数值在(0,1)之间的随机向量U0=(u01,u02,…,u0j,…,u0T),迭代至第i代时应用Logistic映射得到混沌向量Ui=(ui1,ui2,…,uij,…,uiT),uij=4ui-1(1-ui-1,j)。
将uij的各个分量根据下式载波到给定的扰动区间[-α,α],得到水位混沌扰动量
ΔZi=(Δzi1,Δzi2,…,Δzij,…,ΔziT)
(9)
Δzij=-α+2αuij
(10)
将水位混沌扰动量加载至该代粒子群所得到的水位过程,选取其中适应度值(即发电量)较大的水位过程进入下一代进化[12]。
以我国某水库为例开展实例研究。该水库兴利库容165亿m3,库容系数约为4%,具有不完全年调节能力。水库运行约束条件如表1所示。
表1 水库运行约束条件
以该水库入流作为模型输入进行计算,逐月流量如表2所示。
表2 水库逐月入库径流
4.2.1 算法比较方案设计
为了验证改进粒子群算法的在水库发电优化调度问题求解中的性能,本文分别采用基本粒子群算法、改进粒子群算法求解模型,并与动态规划DP所得到的最优解进行对比。
由于群体智能进化算法对种群规模等参数初始值设置不同对其性能影响较大,因此设计了种群规模Np分别为40、80、120、160的4组由小到大的方案;各方案最大允许进化代数150代;权重ω采用非线性变权处理,允许变化范围[0.2,0.9];学习因子采用c1=2、c2=2。考虑到智能进化算法计算结果由参数初值随机生成导致的结果的随机性,每组方案进行20次独立计算后以输出的均值为最终结果与其他方法进行对比。
4.2.2 算法的优劣评价指标
除DP外,各算法的每组方案均需进行20次独立实验,统计算法20次运行结果的最优解、平均解、解的均方差、解的均值与最优值(DP计算结果)的相对误差、迭代计算机耗时。
应用基本粒子群算法、改进粒子群算法、动态规划求解某水库发电优化调度模型,所得各算法评价指标计算结果如表3所示。
表3 各算法评价指标计算结果
以各个算法多次运算所得结果中电能最接近各次结果中值时的解为代表解,对各个水位过程线以及适应度进化过程进行比较。图1、2分别为种群规模为40、160时,不同算法所得到的水位过程线。图3、4分别为种群规模为40、160时,不同算法所得到的适应度进化过程线。
图1 各算法水位过程线(种群规模40)
图2 各算法水位过程线(种群规模160)
图3 各算法进化过程线(种群规模40)
图4 各算法进化过程线(种群规模160)
分析以上图表,可以得出如下结论:
(1)以0.01 m为水位离散网格精度的动态规划所求解必定为全局最优解。虽然以年为调度期、月为调度时段,已经极大地精简了系统的状态数目,但维数灾的问题仍使得计算时间高达2 231.25 s。粒子群及改进粒子群算法虽然具有随机性以及陷入局部最优解等缺陷,但本问题中各算法收敛结果与动态规划得到的全局最优解相差不大,水位过程线整体相似,并随着种群规模的增大不断趋近于最优过程线,而其计算时间均低于动态规划计算时间长度的二十分之一。因此研究水库发电优化调度粒子群算法具有一定的应用价值。
(2)基本粒子群算法经过多次寻优能够较接近最优解,但算法收敛性仍不够稳定。初始种群规模从40增长至160的过程中算法最优解与模型理论最优解差异程度逐渐减小,但解的标准差仍大于1亿kW·h,最劣解与目标解差值超过3亿kW·h;由适应度进化过程线可以看出,算法在迭代中期适应度值便收敛于某一局部最优解不再增加,在进化代数足够多的情况下仍无法跳出局部最优解,这种缺陷限制了基本粒子群模型的进一步推广应用。
(3)改进粒子群算法所得电能与理论最优值差异较小,寻优能力明显强于基本粒子群算法,且多次寻优计算电能方差较小,说明算法寻优效果稳定,收敛性较好;对比分析适应度进化过程线可得,改进粒子群算法的适应度值在迭代过程前期便已迅速超过基本粒子群算法,并一直保持至寻优过程结束得到全局最优解,说明改进粒子群算法全局收敛及局部寻优能力均高于基本粒子群算法。主要原因在于基于均匀设计的初始种群基本覆盖了整个解空间的各个区域,避免了在解空间某一局部地区过度集中的风险,因此对于初始种群数目的敏感度较低,初始种群数目较少时全局寻优性能良好;非线性惯性权重的变化方式以及混沌扰动都使得算法能够及时跳出局部最优解。
(4)改进粒子群算法在粒子群规模大于120时,多次寻优所得结果均值与动态规划所得的最优值的相对误差计算值为0.00%,一般情况下改进粒子群算法均可以收敛至最优解;初始种群规模160时计算平均耗时76 s,不对实际应用产生负面影响。
综上所述,粒子群及其改进算法在水库发电优化调度中应用效果良好,综合考虑算法收敛能力、稳定性及计算耗时等指标,改进粒子群算法具有较高的实用价值。
本文将粒子群极其改进算法引入水库确定型优化调度模型求解问题,主要结论如下:
(1)研究了水库发电调度模型粒子群算法设计,针对算法自身的缺陷以及水库调度问题求解中可能暴露出来的问题,将均匀设计理念和混沌理念分别引入粒子群算法并对惯性权重进行了非线性自适应设计,建立了改进粒子群算法。
(2)以我国某水库为例建立了水库发电优化调度模型并采用动态规划方法、标准粒子群算法、改进粒子群算法进行求解。
(3)与动态规划方法相比较,粒子群及改进粒子群算法较好地克服了维数灾的问题,计算时间大幅度减小;改进的粒子群算法相比于标准粒子群算法极大地提高了算法的寻优能力和稳定性。