原标题:
基于聚集度自适应反向学习粒子群算法在水库优化调度中的应用
摘 要:
为高效、快速求解水库优化调度问题,提出基于聚集度自适应反向学习粒子群算法。此算法首先采用聚集度策略分析种群的聚散状态,并在此基础上,提出自适应反向学习策略,生成种群中心 的反向解参与进化,引导种群改变聚散状态,进一步平衡算法的勘探与开发能力。将基于聚集度自适应反向学习粒子群算法与经典的和最新的高水平粒子群算法进行比较,在所测的基准函数中,本算法在 5 个基准函数上都取得最优解,验证了其对连续变量函数的优化能力强于所对比算法。在求解水布垭、隔河岩和高坝洲梯级水库优化调度问题上,本算法求得总发电量为86. 335 71 ×108 kW·h,求解所需时 间为721 ms,相较所对比算法的调度结果,总发电量最大提高了 11. 860 2 ×108 kW·h,所需计算时间 最大降低了21 380 ms,由此验证了基于聚集度自适应反向学习粒子群算法对水库优化问题的可行性。 关键词:
水库优化调度; 粒子群算法; 聚集度; 反向学习;
作者简介:
邓志诚(1995—),男,硕士研究生,主要研究方向为智能计算。E-mail:deng_zc215@163.com;
孙辉(1959 —),男,二级教授,硕士研究生导师,博士,主要研究方向为智能计算、Rough集与粒计算、变分不等原理及在塑性成型上 的应用。Email:sun_hui2006@163.com;
基金:
国家自然科学基金资助项目(61663029,51669014,61663028);
江西省杰出青年基金(2018ACB21029);
江西 省杰出青年人才资助计划(20171BCB23075);
江西省自然科学基金(20171BAB202035);
江西省教育厅落地计划资质 项目(KJLD13096);
江西省2018年度研究生创新专项资金项目(YC2018-S422);
南昌工程学院2018年大学生创新创业 训练计划;
引用:
邓志诚,孙辉,赵嘉,等. 基于聚集度自适应反向学习粒子群算法在水库优化调度中的应用[ J] . 水利水电技术,2020,51( 4) : 166-174.
DENG Zhicheng,SUN Hui,ZHAO Jia,et al. Application of aggregation degree-based self-adaptive reverse learning particle swarm optimization algorithm tooptimal operation of reservoir[ J] . Water Resources and Hydropower Engineering,2020,51( 4) : 166-174.
0 引 言
水库优化调度问题是一类复杂的多维非线性全局组合优化问题。为解决这一问题,提出过线性规划 、动态规划 和逐步优化算法 等方法。上述方法虽切实解决了水库优化调度的一些问题,但是,存在维数灾等问题是上述方法的 缺陷。随着现代智能启发式算法的兴起,如人工蜂群算法 、遗传算法和粒子群算法等已成功引入水库优化调度领 域。
粒子群算法(Particle Swarm Optimization, PSO) 在1995年提出后,以高效、实现简单等优点被广泛接受,并成 功应用于许多现实优化任务 。但存在多样性差、易早熟收敛等问题,制约了粒子群算法的发展。为克服上述问 题,众多学者做了大量研究。徐利锋等 提出,将带有惯性权重和收缩因子的两种经典改进算法结合,并引入多级扰动策 略,提升算法逃离局部最优的能力。ZHAO等 提出将种群分为正常和早熟两种状态,当种群在正常状态,按标准PSO 公式进化;在早熟状态则引入矢量高斯学习策略,以增强种群多样性。HAKH等 采用列维飞行作为随机扰动步长,当 种群更新停滞次数达到预设值,则使粒子绕最优值做列维飞行;否则,按标准PSO公式更新种群。LI等 提出由粒子适 应值动态调整参数的策略,算法根据种群最差和最好粒子适应值,评价每个粒子的当前状态,以此分配对应的参数。
LIN等 采用环形拓扑结构增加种群多样性和勘探能力,并使用具有线性调整参数的全局学习项提高算法的适应 性。YAN等 结合随机学习和列维飞行策略,在标准速度更新公式中增加向随机粒子学习项,当随机参数达到预设值, 则按改进速度公式更新,否则按标准速度公式。CHEN等 提出先随机初始化种群,再对粒子进行反向学习,取最优粒 子作为初始种群,并使惯性权重、加速因子服从正余弦函数变化,以此提高收敛速度。上述研究采用随机扰动策略或反 向学习策略来提高种群逃离局部最优的能力,并取得一定效果,但没能更好地平衡种群的勘探与开发能力。
本文提出基于聚集度自适应反向学习粒子群算法(Adaptive Opposition-Based Learning Particle Swarm Optimi zation Algorithm Based on Aggregation, AOPSO),通过计算各粒子到种群中心的距离,分析种群粒子的聚散状态,采 用动态阈值策略,当种群连续收缩的次数达到阈值时,对种群中心进行反向学习,生成的反向解参与种群进化,进一步平 衡种群勘探与开发能力。在基准测试函数上,将AOPSO与新近改进的高水平粒子群算法对比,验证了算法具有更好的 优化性能。同时,将其应用于梯级水库优化调度问题,验证了该算法的实用性。
1 标准PSO算法
粒子群优化算法将所求解空间位置,类比鸟群运动时栖息地。鸟群抽象为粒子群,鸟群间信息传递类比各粒子间相 互学习和信息共享的过程。种群运动过程中的状态信息对运动速度产生影响,其实质为个体最优(pbest)和全局最优(gb est)位置控制运动速度和方向的过程,用数学形式实现该算法的过程如下
式中,i为粒子的个数,有i=1,2,…,N;j为解空间维度,有j=1,2,…,D;t为种群进化的迭代次数,有t=1,2,…,Max_t;w为惯 性权重;c 和c 为加速因子;r 和r 为(0, 1)间的随机数;v 为第t代时,第i个粒子在第j维的速度;x 为第t代时,第i个粒子在 第j维的位置。
2 AOPSO算法
2.1 反向学习策略
反向学习(Opposition-Based Learning, OBL)策略已成功应用于多种优化算法 ,其实质为产生反向候选解, 扩大种群搜索范围。假设搜索空间存在可行解x,对其求反向解OBL_x,可表示如下
式中,x 为第i个粒子x在第t次迭代时第j维的位置信息;r 为(0,1)间的随机数,t=1, …, Max_t;a 为第i个粒子x经历t 次迭代时,在第j维的历史最小值;b 为第j维历史最大值。
2.2 算法原理
由粒子群算法进化特性可知,种群粒子的进化过程具体为进化前期对搜索空间进行全局勘探,进化后期进行局部开 发,最终收敛到种群当前全局最优位置的过程。从种群粒子分布状态分析,所有粒子在进化过程中,呈现分散和聚集两种 状态。理论上,种群粒子分散时,可探索到更多搜索区域;种群粒子聚集时,可对当前搜索空间进行精细搜索。因此,适时 引导粒子改变聚散状态,可更好地平衡种群的勘探与开发能力。
为进一步分析种群进化过程中各粒子的分布变化,引入“聚集度”来分析各粒子的聚散状态,聚集度定义如下
式(5)表示种群中心center在第t代的第j维,等于遍历种群所有粒子对应维度的平均值;式(6)表示种群进化到第t代 时,所有粒子到中心center的距离。联合式(5)和式(6)可知,算法首先构造种群的中心位置,通过计算所有粒子到种群中 心的距离,分析种群的聚散状态。
通过比较Aggregation 和Aggregation 的大小,判断种群的聚散状态。当Aggregation <Aggregation 时,可认 为种群进化到第t+1代时,各粒子到中心的距离相比第t代时缩小,粒子向种群中心聚集。尽管单次距离缩小不能严格表 示种群处于聚集状态,但当各粒子到种群中心距离连续多次缩小时,可认定种群处于聚集状态。因此,经过多次试验后, 已测试出判定种群处于聚集状态的最佳阈值。该阈值随种群进化过程动态变化,具体可表示如下
If t<in×Max_t)
threshold=10 (7)
Else
threshold=int(100×(t/Max_t)) (8)
式中,t为当前迭代次数;Max_t为最大迭代次数;int为取整函数;threshold表示测定的阈值。
联合式(7)和式(8)可知,当种群进化到0.1×Max_t代时,threshold固定为10;此后,随迭代次数的增加,threshold线性 递增。
当种群各粒子向中心聚集时,若种群所在区域为非最优解区域,则种群易陷入局部最优;当种群处于最优解区域,若 未对所在区域进行精细搜索,则种群无法收敛到高质量解。针对上述问题,采用反向学习策略,当各粒子向种群中心连续 收缩的次数超过上文的阈值时,对种群中心进行自适应反向学习,提高种群逃离局部最优的能力,具体实现过程如下
式(9)中,OBL_center 表示第t代时,对中心位置center反向学习所得反向解的第j维。式(10)分别表示center经历t 次迭代后在第j维的最大值和最小值。当各粒子向种群中心连续收缩的次数超过threshold时,表明种群各粒子距离种群 中心更近,此时对种群中心进行反向学习,则生成的反向解距各粒子存在较大距离,可为粒子逃离局部最优提供更多步 长。因此,提出的自适应反向学习策略,既可有效改变粒子的聚集状态,又节省了评估次数,生成的反向解与当前全局最 优粒子(gbest)竞争,择优作为新的全局最优粒子,再由其引导种群进化。新的更新公式如下
式(11)中,new_gbest表示从种群中心反向解与当前全局最优中,择优选出的新全局最优粒子,式(12)为算法采取的 新速度更新公式,其表示种群各粒子的速度增量,取决于新的全局最优粒子。
本文提出聚集度策略,通过比较前一代与当前代各粒子到中心的距离,分析种群的聚散状态。在此基础上,提出自适 应反向学习策略,当各粒子到种群中心距离连续缩小的次数,超过设立的动态变化阈值时,则判定种群处于聚集状态,此时,对种群中心进行反向学习,生成的反向解参与种群进化,并仅用当前全局最优粒子引导种群进化。上述改进策略,具 有以下优势:设置动态变化的阈值,在进化前期种群稍成聚集趋势时,即对种群中心进行反向学习,可扩大种群粒子的搜 索空间;进化后期则加大种群对所在区域精细搜索的力度。因此,设置动态变化的阈值,可更好地平衡种群勘探与开发能 力。文献[18]指出,自我认知项可能导致粒子过度徘徊。采用仅有全局最优粒子引导的社会认知项作为速度更新公式, 可有效控制粒子聚散状态,加快种群收敛速度。
2.3 算法流程 AOPSO算法的运行流程如下:
Beginning
Step1,设置粒子数目、空间维度、评估次数和动态阈值等参数。
Step2,初始化种群各粒子的位置和速度等。
Step3,首先使用式(5)和式(6)计算各粒子到种群中心的距离,再根据种群连续收缩的次数是否达到动态阈值,使用 式(9)和式(10)对种群中心进行反向学习。
Step4,使用式(2)、式(11)和式(12)更新种群各粒子的位置和速度。
Step5,当达到最大评估次数时,输出最优解,否则返回Step3。
Ending
2.4 基准函数测试与分析 选取12个经典的测试函数对算法优化性能进行测试,各函数的具体信息如表1所列,表1中f ~f 和f 、f 为单峰函数, f ~f 为多峰函数,f 在低维时为单峰函数,在高维时多峰函数。本次实验中,各算法的种群规模设为N=40,测试函数的 维度为D=30,最大迭代次数为Max_t=1 000代。各算法其余参数都参照各自原文献设置。
表1 基准测试函数
将AOPSO与6种高水平改进粒子群算法比较,这6种算法分别为HPSO-TVAC 、DMS-PSO 、CLPSO 、 LFPSO 、RPSOLF 和H-PSO-SCAC ,各算法独立运行30次,最终结果取30次的平均值(见表2)。
分析表1中所得各算法数据,得出以下结论:
AOPSO在f 1、f 3、f 6、f 8和f 10共5个函数上取得最优解,在函数f2 、f4 和f 9上同样取得比其他算法更高精度的解。
HPSO-TVAC在函数f 6上取得最优解,在函数f 和f 上取得较有优势的解;DMS-PSO在函数f 11上取得最优解,在函 数f 12上的解优势较大;CLPSO在函数f 上取得最优解;LFPSO同样在函数f 上取得最优解,在函数f 和f 所得解优势明 显;RPSOLF在函数f 、f 和f 函数上取得最优解;H-PSO-SCAC在函数f 、f 、和f 函数上取得最优解,在函数f 、f 、f 、f 和f 取得解优势明显。
为进一步评价各算法的综合优化性能,采用Frideman检验对各算法所得数据进行分析,所得秩均值越小,则表明算法的综合优化性能更好。表3为各算法所得秩均值,其中AOPSO的秩均值最小),表明该算法的综合优化性能更 好。
表2 七种算法实验结果对比
表3 Friedman检验结果
3 梯级水库优化调度
3.1 目标函数
在梯级水库调度模型中,以各水库每月末水位为决策变量,建立各水库总发电量最大的目标函数,具体如下
式中,t为总时段数,有t=1,2,…,T;i为电站数量,有i=1,2,…N;N 为第i个电站在t时段的出力;Δt为单个时段;η为第i个 电站的综合出力系数; Q 和H 分别为第i个电站在t时段的平均发电流量和发电水头;E为梯级电站的总发电量。
同时,式(13)也应满足水量平衡约束、水库水位约束、出力约束和出库流量约束。各约束具体如下
式中, I 和Q 分别为第i个水库第t时段的平均入流量和平均出库量; V 和V 分别为第i个水库第t时段末和t-1时 段末的库容。Z 和Z 分别为第i个水库第t时段的最低限制水位和最高限制水位,其中Z 通常取死水位,Z 通常取正常水位;N 为第i个水库的装机容量;N 为第i个水库t时段的保证出力;Q 和Q 分别为第i个水库 第t时段的最小出库流量和最大入库流量。同时,上述各类变量应均满足非负约束。
3.2 约束处理与求解步骤 上文中提及四个主要约束条件:水量平衡约束、水库水位约束、出力约束和出库流量约束。其中,水量平衡约束实 质为各水库的水量联系,在函数中起连接各变量的作用。水库水位约束中,水位即为算法中粒子的维度值,当超出约束 时,则重新生成可行水位。因此,水量平衡约束与水库水位约束无需处理。但是,出力与电站的电量有关,电量即为算法 中每个粒子对应的适应值,对出力处理将直接影响适应值函数。同时,流量约束不仅要考虑机组的过流能力,也要综合考 虑下游灌溉和航运需求。针对上述问题,采取罚函数的方式对出力约束和出库流量约束进行处理,具体如下
式中,L 记录了第i个水库第t时段出力的违约情况;N 为原出力计算值。同理,出库流量约束同样采用罚函数处理方法。加入罚函数后的总电量为
式中,E 为原总电量计算值;u 为对出力约束的惩罚系数。
式(16)表示,当违约的次数越多时,惩罚的力度越大。
在建立梯级水库优化调度模型后,使用AOPSO对其进行求解,主要求解步骤如下:
Beginning
Step1,以各月末水位为决策变量,总维度数为水库数与时段数的乘积,对种群中所有粒子初始化。
Step2,由水位与各中间变量的关系,计算发电量即粒子的适应值。
Step3,按粒子群算法的运行步骤,更新各粒子的位置、速度和适应值,得出发电量最大时的最优水位。。
Step4,当达到最大评估次数时,输出最优解,否则返回Step3。
Ending
3.3 实例计算 为验证AOPSO对梯级水库优化调度的可行性,采用清江梯级水库作为计算实例,以年为调度周期,对各级水库进行 月调度,各水库的特征参数如表4所列。调度周期为1月初至12月末,假设各水库调度开始和结束水位分别为:水布垭370 m、隔河岩170 m和高坝洲79 m。6月和7月为汛期,最高限制水位为汛期水位 。
表4 水电站特征参数
表5 六种算法所得发电量结果比较
表6 各算法的弃水量
图1 发电量与评估次数收敛图
图2 各水库水位变化曲线
将AOPSO与六种改进的粒子群算法:HPSO-TVAC、LFPSO、RPSOLF、H-PSO-SCAC、CLPSO和DMS-PSO 进行比较,种群规模设为10,求解的维度为36,最大评估次数为10万次,所得结果如表5所列。
由表5可知,在水布垭水电站中,AOPSO所得电量最高 63×10 kW·h),隔河岩和高坝洲水电站中,RPSOLF 所得电量最大 47×10 kW ·h,12.132 24×10 kW·h),但从总的发电量分析,AOPSO所得发电量最大 7 1×10 kW·h)。同时,各算法评估次数与发电量的收敛曲线如图1所示,从图1中可看出,在前1万评估次数期间,AOPSO 的收敛速度显著快于其他算法,并在约4万次时,取得的发电量已达到85×10 kW·h,并在10万次前就收敛到最大发电 量。若以发电量为终止条件,则AOPSO收敛速度明显快于其他算法。
弃水量反应了水资源的利用情况,弃水量越小,表明算法在水库优化调度时,对水资源的利用越高,各算法的弃水情 况如表6所列。由表6可知,在水布垭和隔河岩水电站中,各算法的弃水量都为0,在隔河岩水电站中,H-PSO-SCAC的弃 水量最大,HPSO-TVAC和AOPSO的弃水量都为0,其余算法都存在不同程度的弃水量。综合发电量与弃水量分析,AO PSO的发电量高于HPSO-TVAC算法。因此,相比其余6中改进粒子群算法,AOPSO对梯级水库优化调度问题适用性更 强。
为方便观察水布垭、隔河岩和高坝洲水库的水位随时间变化走势,采用各算法计算所得到水位变化曲线如图2所 示。
在水布垭水位变化曲线中,各算法所得水位变化较大,AOPSO水位变化虽大,但整体走势平滑,没有突兀的变化,利于 开展水库调度。在隔河岩水位变化曲线中,CLPSO和DMS-PSO的水位变化较大,AOPSO算法所得水位变化走势平缓, 无明显波峰波谷现象。在高坝洲水位变化曲线中,各算法所得水位变化跨度较小,无明显变化规律。总体而言,AOPSO 算法所得水位变化曲线波动较小,适用于清江水库群优化调度的需求。
4 结 语
本文从种群各粒子的聚散状态入手,去除原速度更新公式的先前速度项和自我认知项的干扰,仅采用社会认知项作 为粒子的速度,可有效控制粒子的聚散状态。同时采用反向学习策略,在种群收缩次数达到预设的阈值时,对种群中心进 行反向学习,增强种群粒子逃离局部最优的能力。将AOPSO与其他改进的粒子群算法在12个基准测试函数上比较,试 验结果表明,AOPSO在5个函数上求得最优解。同时,在求解梯级水库优化调度问题上,所求得发电量为86.335 71×108 kW·h,耗时721 ms。综合总发电量和计算时间考虑,AOPSO相比其他算法具有明显优势。在下一步的研究中,将探索 新策略,进一步提升种群粒子逃离局部最优的能力。
水利水电技术
水利部《水利水电技术》杂志是中国水利水电行业的综合性技术期刊(月刊),为全国中文核心期刊,面向国内外公开发行。本刊以介绍我国水资源的开发、利用、治理、配置、节约和保护,以及水利水电工程的勘测、设计、施工、运行管理和科学研究等方面的技术经验为主,同时也报道国外的先进技术。期刊主要栏目有:水文水资源、水工建筑、工程施工、工程基础、水力学、机电技术、泥沙研究、水环境与水生态、运行管理、试验研究、工程地质、金属结构、水利经济、水利规划、防汛抗旱、建设管理、新能源、城市水利、农村水利、水土保持、水库移民、水利现代化、国际水利等。