王 芳,杨虎山
(忻州师范学院数学系,山西忻州 034000)
基于混合DE-PSO算法的水库优化调度模型及其应用
王 芳,杨虎山
(忻州师范学院数学系,山西忻州 034000)
水库优化调度实质上是一个非线性的不等式约束优化问题,在现行的求解方法中,对计算精度和复杂约束处理这两个问题一直考虑不足,相关方面的研究也较少.将粒子群算法和差分进化算法引入到水资源系统工程中,建立了水库调度的DE-PSO优化模型,避免了寻优瓶颈;针对复杂约束问题,提出退火罚函数法,有效地解决了水库调度问题.通过实例分析,验证了所给方法的可靠性.
差分进化算法;粒子群算法;水库优化调度
水库优化调度属于动态多维的非线性函数优化问题,在求解过程中,通常把水库的泄量作为决策变量,而把水库的库水位(或蓄水量)作为状态变量进行寻优.寻找优化方法,既要考虑到计算时间,又要兼顾计算精度,因此是具有十分重要学术意义和实用价值的科研课题.目前,解决水库优化调度问题主要采用线性规划(LP)、非线性规划(NLP)、动态规划(DP)、模拟技术、控制方法、神经网络方法(ANN)、遗传算法(GA)、多目标决策技术、大系统理论与方法、随机优化方法、模糊优化方法等,但至今这几种方法在解决水库优化问题时仍存在缺陷.鉴于此,本文提出了一种基于粒子群优化算法(Particle Swarm Optimization,PSO)和差分进化算法(Differential Evolution,DE)的融合算法,该算法可以大大减小粒子陷入局部最优的概率,有效提升求解效率.
1.1 粒子群优化算法
粒子群优化算法是一种通用的启发式搜索技术,其基本思想是通过群体中个体之间的协作和信息共享来寻求最优解[1].粒子群优化算法的搜索过程是:首先初始化一群随机粒子,每个粒子都有自己的位置和初速度(决定飞行的方向和距离),假设在一个D维的目标搜索空间,随机生成m个粒子组成一个群落,则第i个粒子在D维搜索空间中的位置用向量
表示,t为迭代次数,其个体极值记为 Pi=[pi1,…, piD]T,全局极值记为 Pg=[pg1,…, pgD]T.
在接待过程中,第i个粒子以速度 Vi=[vi1,…,viD]T在搜索空间飞行,每个粒子的飞行速度及位置按如下公式进行修正:
式中, vt表示第t次迭代后的速度,c1和c2是两个常数,r1和r2是[0, 1]之间的随机数,ω是惯性因子,一般取0.1到0.9之间的数.
1.2 差分进化算法
差分进化算法是一种随机的并行直接搜索算法[1-2],其基本思想是:从某一随机产生的初始群体开始,通过利用当前种群个体的差来重组得到中间种群,然后直接运用父子混合个体适应度值竞争来获得一代的种群,从而实现对求解空间的全局搜索.有三种运算贯穿着整个算法的执行过程,即变异、交叉和选择.
1)变异.差分变异操作可以通过如下公式从父代种群中生成新个体进入中间代:
其中,下标i代表第i个个体,下标t代表进化的代数.xr1,xr2,xr3是从进化群体中随机选取的互不相同的3个个体,F为缩放比例因子,用于控制差向量的影响大小 F∈ [0,1].
2)交叉.差分交叉操作是为了增加新种群的多样性,方法是按照交叉策略使新旧个体互相交换部分代码,从而形成新的个体.通常有两种交叉算子,第一是二项式交叉算子,第二是指数交叉算子.本文选用的是二项式交叉算子.交叉策略可用如下公式表示:
式中,下标i代表第i个个体,下标j代表中间代矢量v(或种群个体矢量x)的第j维,r andm( j)∈[0,1]为均匀分布随机数,r andn( i)∈ [0,D](其中D为矢量的维数)是随机选择指数,它确保ui能从vi中得到至少一个参数, Cr∈ [0,1]为交叉概率.
3)选择.在基本差分进化算法中,选择操作采取贪婪策略,即只有当产生的子代个体优于父代个体时才被保留, 否则父代个体将保留至下一代.
1.3 基于粒子群算法和差分算法的融合算法
混合算法的本质是基于一种双种群策略[3],其中一个种群中的个体按照粒子群优化算法操作进化,另一个种群中的个体按照差分进化算法操作进化,在进化过程中通过引入一种信息交流机制,使信息能够在两个种群中传递,以避免个体因错误的信息判断而陷入局部最优点.按粒子搜索方式的不同将整个粒子群体分为两分群,分别命名为PSO种群和DE种群.种群粒子规模的大小对算法优化性能会产生影响,实验表明,规模越大,优化算法的达优率越高,平均收敛步数越少,算法的优化性能也越好,不足的是计算量也越大.通常情况下群体规模设置为10 - 200.
算法的具体步骤如下:
步骤1
初始化,包括群体规模,最大进化代数,惯性权重,学习因子,缩放因子,交叉概率等基本参数的设置,并保存整群最好适应值及其位置.
步骤2
1)将群体等分成两个种群,分别进行PSO种群进化和DE种群进化.
2)分别找出PSO种群和DE种群中的最优个体并进行比较,确定整个种群的最优个体.
3)更新PSO种群的最优值和DE种群的最优值,即用整个种群的最优个体替代PSO种群中的最优个体,引导PSO进化,用整个种群的最优个体替代DE种群中的任意一个个体.
4)计算进化因子,判断PSO种群是否陷入局部最优.
重复1)- 4),满足精度要求或达到最大迭代次数则转步骤4,若判断PSO种群粒子陷入局部最优,进入步骤3.
步骤3
1)在以整个种群的最优个体位置为中心,以R为半径的邻域内产生N个随机粒子xi,更新DE种群中所有粒子后继续迭代.
2)计算两群各个粒子的适应值并更新PSO种群的最优位置和DE种群的最优位值及其适应值,将两种群粒子按适应值优劣排序,用DE种群中适应值较好的粒子取代PSO种群中相同数量的适应值的较差粒子.
3)对PSO种群和DE种群适应值的大小进行比较,保存整个种群的最优个体位置及适应值,转步骤2.
步骤4
算法终止,保存全群历史最优位置和最优适应值.
由于水库地形的影响,不同初始水位条件下,相同的水位变化时,引用流量相差极大,这样,在高水位时,水位的微小变化即可导致引用流量的较大变化,这必然影响算法的寻优过程,同时也会影响计算结果的精度.因此,本文结合DE-PSO的寻优原理,采用水库库容与DE-PSO中的粒子相对应,水库的调度期(12个月)与DE-PSO的空间维数相对应,水库的发电目标与DE-PSO的适应度值相对应,进而构造水库优化调度模型.假设我们研究的对象是以发电为主,兼顾其它综合利用要求的水库,将水库调度年划分成12个时段(即12个月),以年发电量最大为目标函数,数学模型如下:
前面式子中, Pi表示第i个粒子,m表示粒子群大小,即群中粒子的个数,V( t)表示第t个调度期的库容值,t为解向量的维数即调度期(12个月),N表示电站出力,A表示电站的出力系数,Q( t)表示第t个调度期的发电流量,H( t)表示第t个调度期的发电水头,q( t)表示第t个调度期的弃水流量,S( t)表示第t个调度期的水库水位,F( t)、Q( t)、 S( t)分别表示第t时段的入库、出库水量和水量损失;Q( t)表示第t个调度期水库的下泄流量,Vmin(t)、Vmax(t)、Qmin(t)、Qmax(t)、Nmin(t)、Nmax(t)分别表示第t个调度期水库的库容、下泄流量、出力的下上限.
3.1 问题描述
为了验证上述算法的可行性与有效性,并考虑比较方便,引用文献[4]中的水库基本资料和运行数据进行计算.已知水电站水库的水位与库容关系曲线、下游水位与流量的关系曲线,设计中水年流量过程线,水库正常蓄水位704 m,死水位685 m,电站出力系数8.5,保证出力7.8万kW,装机容量30万kW,要求水库在洪水期 6、7、8三个月水位不超过695 m,按年发电量最大求水库的优化.
3.2 算法设计
1)设定算法参数
取6、7、8三个月为水库洪水期,按年发电量最大推求水库优化调度过程.选择水平年,确定来水过程,并根据选定的水平年和来水情况,结合水库特性参数,构造相关约束条件.确定粒子群规模N、空间维数D、最大迭代数gsize、优化精度及PSO和DE算法的相关初始参数.
2)生成初始粒子群
为保证缩短算法的寻优时间,选择在约束条件内随机产生初始粒子.对于水量平衡约束的实现,可由每一维(即每月)的来水计算水库的可增水量,该维粒子可在死库容和(上一维库容加上可增水量)之间随机选取,以保证水库库容变化的连续性.限制水位约束(可蓄水量约束)、最大、最小发电流量约束和出力约束采取不满足即重新生成的方式进行处理.然后计算初始粒子的适应度,并从中找出全局最优粒子.在解空间内初始化所有粒子的位置,计算粒子初始适应值并保存整群最好适应值及其位置.
3)位置和速度的更新
利用粒子群算法和差分算法的融合算法步骤2、3对粒子进行位置和速度的更新迭代.
4)约束处理
在水库调度优化中,对于多约束问题通常采用罚函数的方法来处理,本文采用了一种新的退火精确罚函数法[5],罚函数的选取为如下形式:
其中,罚因子σk=1T ,T=α·T,α ∈ [0,1], ei( x)表示等式约束条件违反程度, ui( x)表示不等式约束条件违反程度,me表示等式约束的个数,mu表示不等式约束的个数.在水库调度中,约束条件主要包括水量平衡约束,限制水位约束(可蓄水量约束),最大、最小发电流量约束和出力约束.其中,水量平衡约束是等式约束,表征水量变化的连续性,当约束破坏时,其明显的标志是发电流量出现负值,这里可通过最小发电流量约束实现对水量平衡限制,因此等式约束可不考虑,即 me=0.不等式约束的类型主要包括两种,一种是限制水位约束和最大发电流量约束这一类,其特点是可采取赋临界值的方法来解决;另一类是最小流量约束和保证出力约束,对这一类必需考虑采取罚函数来处理.因此这里可取m=2来表征上述两个约束.
判断更新后的粒子是否满足约束条件(如最大最小出流限制、水量平衡、保证出力等),不满足则分别采取赋极限值和计算约束破坏程度构造退火罚函数进行惩罚的方法进行处理.处理后重新计算适应度,评价个体极值和全局极值.
5)判别条件
判断找到的最优解是否达到了收敛条件或最大迭代次数,如果满足条件,则退出,否则就返回3).
3.3 调度结果及分析
取算法的种群规模为40,PSO算法中惯性权重因子ω采用线性递减策略[6],从0.9递减到0.4,c1= c2= 2;DE算法中,交叉因子CR = 0.7,缩放因子F = 0.5,进化代数为100,采用实数编码方式,利用上述步骤计算,水库优化调度结果见表1.
为了进行比较,本文不改变原问题的目标函数和约束条件,以水位作为状态变量,将相同的基本资料带入离散寻优的动态规划(DP)、遗传算法(GA)进行计算,其中DP法和GA法的水位离散点为20.计算结果见表2.
由表2可知,DE-POS算法随机地继承了POS算法和DE算法中收敛速度更快的一方的信息,并能充分利用POS种群和DE种群进化不同步的反馈信息,有效地跳出局部最优,更有利于寻找全局最优解,因此,计算得到的发电量较GA算法更优.
由于DE-PSO算法简单有效,并采用自适应惯性因子和退火罚函数法,极大地提高了DE-PSO的收敛性.由表2可知,DE-PSO算法的收敛速度相当于GA算法的3倍,DP法的36倍.
1)PSO算法和DE算法作为两种比较新的群体智能算法,在实际工程领域得到了广泛应用.PSO算法和DE算法在某类问题的求解中性能会有差异,但对于所有问题集,两种算法的平均性能应该是相同的.本文将PSO算法与DE算法有机地结合了起来,平衡提取两种算法的优势信息,使得提出的DE-PSO算法表现出更好的寻优性能,在解决像水库优化调度这样复杂的非线性的问题时,DE-PSO算法依旧显示出明显的优势.
表1 水库调度DE-PSO优化模型的求解结果
表2 不同求解方法对水库优化调度的结果
2)对于水库调度中的复杂约束处理问题,则采用退火罚函数法,在不牺牲粒子先前记忆轨迹的前提下,从可行域内和可行域外双边逼近最优解,加快了寻优收敛的速度.
3)采用DE-PSO算法求解水库优化调度问题,能很好地兼顾计算速度与计算精度,与其它算法相比,该算法有明显优势.
[1] Michalewicz Z, Janikow C Z, Krawcazyk J B. A modified genetic algorithm for optimal control problems [J]. Comp Math Appli, 1992, 23(12): 83-94.
[2] 刘波, 王凌, 金以慧. 差分进化算法研究进展[J]. 控制与决策, 2007, 22(7): 890-898.
[3] 栾丽君, 谭立静, 牛奔. 一种基于粒子群优化算法和差分进化算法的新型混合全局优化算法[J]. 信息与控制, 2007, 36(6): 708-714.
[4] 畅建霞, 黄强, 王义民. 基于改进遗传算法的水电站水库优化调度[J]. 水力发电学报, 2001, 74(3): 85-89.
[5] 吴志远, 邵惠鹤, 吴新余. 基于遗传算法的退火精确罚函数非线性约束优化方法[J]. 控制与决策, 1998, 13(2): 136-140.
[6] 胡建秀, 曾建潮. 微粒群算法中惯性权重的调整策略[J].计算机工程, 2007, 33(11): 193-195.
The Reservoir’s Optimal Operation Modeling Based on Mixed DE-PSO Algorithm
WANG Fang, YANG Hushan
(Department of Mathematics, Xinzhou Teachers College, Xinzhou, China 034000)
The calculation of reservoir’s optimal operation is discussed in the paper as a problem of a nonlinear inequation’s constraint and optimization. After some comparison and analysis, it is found out that accuracy and constraint disposal have always been given scant attention in the extant calculating methods, and that the related research is sparse as well. In order to overcome these defects, the particle swarm optimization and differential evolution algorithms are proposed to build an optimal DE-PSO model for reservoir’s operation avoiding the bottleneck in the optimizing process. To solve the problems of complex constraints existing in the the particle swarm and differential evolution algorithms, this paper puts forward an annealing penalty function to effectively overcome the above shortcomings in reservoir optimal operation. Through the computation and analysis, the availability and feasibility of the DE-PSO algorithm are verified by its application to reservoir’s optimal operation.
Differential Evolution Algorithm; Particle Swarm Algorithm; Reservoir’s Optimal Operation
O241.82
A
1674-3563(2014)01-0001-07
10.3875/j.issn.1674-3563.2014.01.001 本文的PDF文件可以从xuebao.wzu.edu.cn获得
(编辑:王一芳)
2013-09-05
王芳(1978- ),女,河南焦作人,讲师,硕士,研究方向:应用数学