基于改进遗传算法的梯级橡胶坝调度优化

2020-10-12 02:45邓浩郝瑞霞
人民黄河 2020年3期

邓浩 郝瑞霞

摘 要:为解决城市河道中梯级橡胶坝的优化调度问题,求解出较为合理的塌坝泄流方案,保障河道行洪安全,根据橡胶坝塌坝泄流计算原理,以限定时间范围内最小泄流量为目标函数,建立梯级橡胶坝调度优化模型,并采用线性加速选择函数与改进的自适应交叉、变异函数,改进传统遗传算法(GA),进行模拟运算,求解最优塌坝方案。改进的遗传算法(IGA)收敛速度快、稳定性强、程序运算时间短,能高效精确地计算出符合客观实际要求的梯级橡胶坝优化调度方案,具有一定的工程应用价值。

关键词:梯级橡胶坝;最优塌坝方案;调度优化;改进的遗传算法;改进自适应度

中图分类号:TV644   文献标志码:A

doi:10.3969/j.issn.1000-1379.2020.03.030

Scheduling Optimization of Cascade Rubber Dam Based on Improved Genetic Algorithm

DENG Hao, HAO Ruixia

(College of Water Resources Science and Engineering, Taiyuan University of Technology, Taiyuan 030024, China)

Abstract: In order to solve the issue of optimal scheduling of cascade rubber dams in urban rivers, a reasonable dam discharge plan was solved to ensure the safety of river flood discharge. According to the calculation principle of rubber dam collapse discharge, the minimum discharge flow within a limited time range was obtained. For the objective function, cascade rubber dams scheduling optimization model was established, and the linear acceleration selection function, the improved adaptive crossover function and variation function were used to improve the traditional genetic algorithm (GA) and simulated to solve the optimal dam collapse scheme. The improved genetic algorithm (IGA) has fast convergence speed, strong stability and short program operation time. It can efficiently and accurately calculate the optimal scheduling scheme of cascade rubber dams that can meet objective practical requirements and has certain engineering application value.

Key words: cascade rubber dams; optimal scheme of dam collapse; scheduling optimization; improved genetic algorithm; improved self adaptation

近年來,随着橡胶坝在生态水利、景观水利和水资源开发中的广泛应用,同一河道上会修建多级橡胶坝形成梯级橡胶坝群。汛期洪水来临之前梯级橡胶坝群的泄流调度非常重要,不合理的泄流方案会造成人造洪峰或洪水叠加,如何在不危及下游河道行洪安全的前提下按限定时间完成泄流迎汛任务,是一个调度策略优化问题。目前,对于梯级橡胶坝运行调度方案优化,主要有非线性规划法、动态规化法(DP)[1]和POA法[2]等,随着梯级橡胶坝级数的增加,其优化时间变长、收敛速度变慢,易陷入“维数灾”[3],并且全局搜索性能较差。遗传算法(GA)是一种模拟遗传进化机制的全局优化智能算法[4],操作简单、运行时间短,在水库调度与水资源优化配置中得到广泛运用[5]。笔者根据橡胶坝泄流运算原理,建立调度方案优化模型,并对传统遗传算法(GA)进行改进,采用改进的自适应函数[6],确定优化调度准则和目标函数,加入适应度放缩机制,克服算法的早熟性和不稳定性[7],以期迅速、稳定地得到符合约束条件的最优方案。

1 梯级橡胶坝优化调度模型

1.1 优化调度准则与目标函数

根据梯级橡胶坝汛期调度运行原则,塌坝泄流应自下而上逆序进行[8]。各级橡胶坝从上游到下游标记为D1、D2、…、Dn,各级橡胶坝自身塌坝时间分别为T1、T2、…、Tn,各级橡胶坝的塌坝开始时间分别为Tb1、Tb2、…、Tbn,在橡胶坝塌坝泄流过程中各坝段最大泄流量分别为Q1max、Q2max、…、Qnmax,完成泄流任务的总时间为TM。根据保护下游河道、不产生洪水叠加的要求,应最大限度减小塌坝泄流量Qmax。梯级橡胶坝的塌坝泄流调度在满足不大于限定泄流时间TL的情况下,以降低最下游橡胶坝断面的泄流量为目标,其目标函数为

式中:Qnmax为最下游橡胶坝断面最大下泄流量。

1.2 约束条件

为了求得满足目标函数的最优解,对模型的求解条件进行约束。根据橡胶坝塌坝泄流计算的基本要求和原则[9],确定如下约束条件。

(1)水量平衡约束,表达式为

式中:Vt为t时刻的橡胶坝蓄水量;Vt-1为t-1时刻的蓄水量;Qd为t时刻的泄流量;Qt为t时刻的入流量;Δt为时段长,取值为1 min。

(2)水位与蓄水量约束,表达式为

式中:Himax为橡胶坝塌坝过程中坝前最高水位,其中i为橡胶坝编号;Hil表示坝前最高限定水位;Vimax为最大蓄水量;Vil为最大限制蓄水量。

(3)时间约束,表达式为

式中:Tbi为第i级橡胶坝开始泄流时间;Tbi+1为第i+1级橡胶坝开始泄流时间;Ti为第i级橡胶坝完全塌坝的时间;TKi为第i级橡胶坝最短塌坝时间;TM为完成塌坝泄流任务的总时间;TL为限制泄流时间,即保证在上游洪水来临之前完成橡胶坝塌坝的限制总时间。

(4)流量约束,表达式为

式中:Qmax为最大泄流量;Q河为河道行洪能力。

(5)非负约束条件,所设定参数全部不得小于0。

2 改进遗传算法

2.1 遗传算法

遗传算法(GA)是当前应用较为广泛的智能优化算法,其操作简便、全局搜索性强,通过模拟生物进化和遗传的过程,把需处理问题的控制变量编译为二进制型或浮点型编码,形成基因,若干基因排序组合形成一个染色体(个体),代表一种优化方案。多个染色体组成一个种群P(t),根据适者生存的进化规律,种群中适应度高的染色体基因有较大概率遗传至子代,并通过交叉、变异等操作生成新的个体,组成新的群体P(t+1)。经过反复迭代,逐步使群体进化至最优解状态,从而求出问题最优解。

GA算法用于梯级橡胶坝调度优化的求解步骤:以梯级橡胶坝各坝塌坝开始时间Tb1、Tb2、…、Tbn为控制条件,采用浮点型编码形成基因组;随机生成M个基因组,每组基因代表一种调度决策方案,进而形成种群规模为M的初始群体;在约束条件下进行选择、交叉和变异等操作,经过迭代不断产生新的个体和种群,直至达到收敛条件,输出最优解和非劣解。

2.2 改进遗传算法(IGA)

在基本遗传算法(GA)的运算过程中,常因算法本身的缺陷和数据误差而出现算法早熟、局部收敛、后期稳定性差等问题,为此,在GA算法的基础上,结合模型实例对遗传算法运行中的选择算子进行改进,并引入改进自适应度和惩罚因子,使算法收敛速度更快、稳定性更好。

2.2.1 改进选择算子

在 GA算法中,轮盘赌法是较为常用的遗传算子选择方法。轮盘赌法存在的问题是,进化前期适应度较为分散时,易产生超级个体,导致算法的早熟;进化后期适应度比较集中时,不易选出适应度高的基因,导致算法收敛不稳定。因此,引入线性加速选择函数式(6)、式(7),转换所求适应度值域映射尺度,改变遗传算子选择方式。

式中:f′(x)为转换后的适应度;f(x)为原适应度;a、b为系数和常数;favg为原适应度平均值;fmax为原群体最大适应度值;C为转化系数,取值范围为[1.2,2],本文取值1.2。

2.2.2 改进自适应度交叉、变异算子

在GA算法中,由于交叉率Pc和变异率Pm是初始设定固定值,导致运行时适应度高的个体基因可能被交叉和变异操作破坏,从而降低其收敛速率,因此在群体进化过程中,引入改进的自适应度函数,使交叉率Pc和变异率Pm随着个体适应度大小进行非线性调整,进而提升算法收敛速率和稳定性。当个体自身适应度大于平均值时,通过缩小个体的变异与交叉率,来保持优良基因组的稳定性;当个体自身适应度小于平均值时,通过扩大个体的交叉率与变异率,增强群体基因的多样性。交叉率Pc和变异率Pm的改进自适应度调整公式为

式中:A为变换常数值9.903 438 [10];Pcmax、Pcmin分别为交叉率的最大和最小值;Pmmax、Pmmin分别为变异率的最大和最小值;f′为两个交叉个体适应度中的较大值;f为变异个体适应度值。

2.3 基于IGA算法的橡胶坝调度优化运算步骤

结合优化调度模型,以各级橡胶坝塌坝开始时间Tb1、Tb2、…、Tbn为基因,随机生成拥有M个个体的初始种群,在适应度函数和各约束条件的限制下,通过选择、交叉和变异等操作,不断向适应度高的目标进化,直至达到收敛条件,输出优化调度运行方案, 算法流程见图1。

图1 IGA算法流程

(1)编码及初始化种群。在梯级橡胶坝优化调度运行中,结合实际需要,采用浮点型编码,在约束条件中上一級橡胶坝塌坝开始时间Tbi不早于下一级橡胶坝塌坝开始时间Tbi+1,所以编码时Tbi在区间[Tbi+1,Tbi+1+N]内随机生成(其中N为区间范围值),并以此规则随机生成M组方案,生成初始调度方案种群。

(2)计算适应度。利用差值法将已知最小值问题转化成计算个体最大适应度值问题,其中适应度函数为

式中:g(x)为目标函数值;Cmax为目标函数能取得的最大值。

在计算适应度时,并不是所有方案都能满足约束条件,故引入线性惩罚函数τ(x),对超出限制的个体适应度进行处理,即f′(x)=τ(x)f(x),在保持基因多样性的同时,对超过约束条件的适应度进行调整。惩罚函数τ(x)公式为

式中:K为最大超限值,取值为主要目标函数值的5%;L为超出约束条件限度值。

(3)选择。依据初始计算的各个体适应度,通过改进的轮盘赌法,利用线性加速函数计算选择个体的概率。在算法早期,降低超级个体适应度值,以防止出现早熟。在选择操作过程中,采取保留精英策略,避免最优个体在选择过程中因概率事件未被选入下一代种群,克服样本的随机误差。

(4)交叉与变异。在进行交叉操作时,采用错位交叉原则,对随机选择产生的两个父代进行配对,取父代Jti的偶数位基因与父代Jtk的奇数位基因,组合形成新的基因组Jt+1i和子代群体。在进行变异操作时,考虑到编码类型为浮点型,对变异的基因范围进行控制,即各有50%的概率,在原浮点型基因基础上形成新的个体。其中交叉率Pc与变异率Pm通过改进的自适应度函数来确定。

(5)终止条件。以种群平均适应度和最大适应度的差值小于0.01且持续超过10代为收敛的判断标准,以子代平均适应度与父代平均适应度差值小于0.01且持续超过10代为辅助判断标准,直至达到收敛条件,终止算法,输出最优调度运行方案。

3 应用实例

以汾河太原段已建多级橡胶坝为例进行调度方案优化。汾河太原段已建成7座橡胶坝,北起柴村桥、南到祥云桥下游500 m处,总长度约15.6 km,蓄水量达1 000万m3,一期治理河段设计河道比降为0.078 3%,二期治理河段设计河道比降为0.1%,梯级橡胶坝示意见图2。汾河太原城区段河道限制流量Q河为2 250 m3/s。

汾河二庫距太原市中心约30 km,是以防洪、供水为主的大(2)型水利枢纽工程,设计洪水(100 a一遇)最大泄流量为3 450 m3/s,选取汾河二库2016年7月19日6—24时实测下泄流量过程(见图3)进行梯级橡胶坝运行调度方案优化。

根据处于上游的汾河寨上站和兰村站水文资料分析,两站之间洪水平均流速为3.11 m/s。汾河二库到1#橡胶坝约33 km,洪水传播时间即限定泄流时间TL为2.95 h,梯级橡胶坝须在洪水来临之前完成塌坝泄流任务。根据现有资料查得各坝的自身塌坝时间T1、T2、…、T7及相关信息,见表1。

以各级橡胶坝的塌坝开始时间为基因,随机生成100个初始个体,组成初始种群,进化代数设为300代,交叉率Pc的取值范围为0.2~0.9,变异率Pm的取值范围为0.01~0.1,即Pcmin=0.2,Pcmax=0.9,Pmmin=0.01,Pmmax=0.1。

根据收集的资料和相关水力学计算原理,在坝袋充胀时按曲线型实用堰计算泄流过程,在坝袋塌平时按宽顶堰计算泄流过程,在此基础上以单个橡胶坝的塌坝泄流计算过程为参照,综合分析梯级橡胶坝的塌坝泄流过程。利用改进的遗传算法(IGA),在C/C++平台上进行编译运算,通过多次试算,均能快速收敛,并求得5组近似最优方案(见表2),并画出5种方案最下游梯级橡胶坝泄流过程线(见图4)。5种方案虽然控制条件不同,但模拟计算结果却十分接近,其最下游梯级橡胶坝泄流量过程线相似,都是满足限制条件的优化调度方案,都能在上游洪水来临之前完成塌坝泄流任务、保证河道安全。

假设汾河二库保持流量为700 m3/s下泄,选取调度方案1进行模拟计算,分析是否会产生洪水叠加、危及河道安全,结果显示,优化调度方案1完成塌坝泄流任务需200 min,而汾河二库泄流洪水抵达最下游橡胶坝的时间为250 min左右,此时橡胶坝已基本排空蓄水量,因而不会产生洪水叠加,最下游橡胶坝流量过程线见图5。

为了便于比较分析,在相同的目标函数和约束条件下,也采用传统遗传算法(GA)对本算例进行了模拟计算,两种方法的每代目标函数值、平均适应度见图6、图7,可以看出:IGA算法每代平均目标函数值跌落显明,在模拟过程中有较快的收敛速度,表明IGA算法在加入改进的自适应度函数后能更快地收敛至目标解,引入选择算子调整函数能增强算法的稳定性;适应度值相同时,IGA算法优化代数明显少于GA算法的,表明IGA算法收敛性好,可以迅速求得最佳调度优化方案。

4 结 语

引入自适应选择函数和改进自适应度函数对遗传算法进行改进,改进的遗传算法(IGA)收敛速度加快,稳定性增强,程序运算时间缩短,不易陷入“维数灾”。在优化调度模型基础上,采用IGA算法得到的梯级橡胶坝优化调度方案符合客观实际,能保证在限定的时间内以较小的下泄流量完成橡胶坝塌坝泄流任务,具有一定的工程应用价值。本文提出的IGA算法只能解决梯级橡胶坝优化的单目标函数问题,对多目标函数问题还需进一步研究。

参考文献:

[1] 畅建霞,黄强,王义民.水电站水库优化调度几种方法的探讨[J].水电能源科学,2000,18(3):19-22.

[2] 宗航,李承军,周建中,等. POA算法在梯级水电站短期优化调度中的应用[J].水电能源科学,2003, 21(1):46-48.

[3] 马静.梯级橡胶坝塌坝泄流计算与塌坝方案优化方法研究[D].泰安:山东农业大学,2012:18-21.

[4] 王小平,曹立明.遗传算法:理论、应用与软件实现[M].西安:西安交通大学出版社,2002:25-28.

[5] 黄伟.基于自适应遗传算法的水资源优化配置研究[J].人民黄河,2010,32(8):63-64.

[6] WANG Guangmin,WAN Zhongping. An Adaptive Genetic Algorithm for Solving Bilevel Linear Programming Problem[J]. Applied Mathematics and Mechanics(English Edition),2007(12):1605-1612.

[7] 葛继科,邱玉辉,吴春明,等.遗传算法研究综述[J].计算机应用研究,2008,25(10):2911-2916.

[8] 徐智廷,孙廷玺,张世功,等.沂河梯级橡胶坝汛期调度运用原则探讨[J].中国水利,2008(19):61-62.

[9] 张庆华,刁艳芳,程传民,等.梯级橡胶坝塌坝泄流计算仿真系统[J].水利水电科技进展,2014,34(4):53-56.

[10] 金晶,苏勇.一种改进的自适应遗传算法[J].计算机工程与应用,2005,41(18):64-69.

【责任编辑 张智民】

收稿日期:2017-09-21

作者简介:邓浩(1989—),男,山东菏泽人,硕士研究生,研究方向为水力学及河流动力学

通信作者:郝瑞霞(1965—),女,山西太原人,教授,博士,硕士研究生导师,研究方向为水力学及河流动力学

E-mail:366557098@qq.com