APP下载

改进的多目标差分进化算法在水库优化调度中的应用

2021-06-25孙秋戎吴绍飞

人民珠江 2021年6期
关键词:用水量精英种群

孙秋戎,李 勇*,唐 歉,吴绍飞

(1.昆明市滇池水生态管理中心,云南 昆明 650228;2.南昌工程学院鄱阳湖流域水工程安全与资源高效利用国家地方联合工程实验室,江西 南昌 330099)

多目标水库优化调度问题在目前水库优化调度中非常常见,一般较大型水库都兼具多目标属性如供水、发电、防洪等,而这些目标一般又属于不相容的,单一目标优化问题一般取得一个目标值的最大化或最小化,而多目标优化问题由于两个目标之间存在竞争关系,一个目标取得较优的值势必将使另一个目标的值下降,最终得到的解集是一个非劣解集。非劣解集是从集合论的观点出发探讨多目标问题的解,对于多个目标它指不存在使一个目标更好而其他目标不劣的解。

近些年,智能算法在水库优化调度中得到广泛应用,如2003年,游进军等[1]将一种多目标遗传算法应用到该模型的求解中。2006年,M.Janga Reddy等[2]将多目标遗传算法应用到水库优化调度中。2007年,Reddy M J等[3]将多目标差分进化(MODE)算法应用到水库优化调度问题中。2008年,刘涛等[4]应用多目标交叉微粒群算法来求解水库调度中的多目标优化问题。周建中等[5]将混合蛙跳算法引入到粒子群算法中,提出一种混合粒子群算法并将其应用到多目标优化调度的求解中。2011年,卢有麟等[6]引入多目标混沌搜索策略用以加强差分进化算法的局部搜索能力,并将改进后的算法应用到多目标生态优化调度中。2018年,贾一飞等[7]利用改进的快速非劣排序遗传算法(NSGA-Ⅱ)对黄河上游水库群的多目标优化调度模型进行求解。马志鹏等[8]提出一种混合粒子群算法(HPSO)求解水库优化调度问题。2019年,郭荣等[9]将一种新型群智能仿生算法——飞蛾火焰优化(MFO)算法应用到梯级水库群丰、平、枯优化调度问题中。2020年,罗德河等[10]将模拟退火算法应用于水库优化调度图绘制中。刘东等[11]提出一种更好保护优秀个体的择优方法——雄狮选择法,并将该法用来改进NSGA-Ⅱ算法,应用于水库双目标调度问题中。邓志诚等[12]提出基于聚集度自适应反向学习粒子群算法并应用于水库优化问题。张佳丹等[13]将自适应权重以及连续禁忌搜索算法引入标准蝙蝠算法,改善标准蝙蝠算法在水库优化调度应用中。史利杰等[14]将改进的多目标蝙蝠算法(IMOBA)用于求解水库多目标优化调度模型。智能算法在水库多目标优化调度应用中主要存在早熟收敛、非劣解集少、分布不均匀等问题,上述研究对方法进行改进以使其更好的应用于多目标水库优化调度中。本文为避免上述问题提出一种新思路,即采用外部精英集策略,并用拥挤距离维护外部精英集来改进传统多目标差分进化算法,使其更好的应用在水库优化调度中。

1 多目标差分进化算法及其改进

1.1 多目标差分进化算法简介

第一代广义差分进化算法(GDE)仅对标准差分进化的选择操作进行了改进,采用约束支配准则进行选择,其选择原理为:若试验个体在约束支配关系上优于目标个体,则用试验个体取代该目标个体;若试验个体在约束支配关系差于目标个体,则不改变。这种改进使得其能够处理带约束的多目标优化问题,但该方法在应用中有明显的不足,如没有对种群中的非劣个体进行排序,不能得到分布均匀且较多的非劣解,算法的两个控制参数对非劣解的影响较大。第二代广义差分进化算法(GDE2)引入拥挤距离来处理当试验个体和目标个体互不占优的情况,该算法提高了GDE的非劣解分布均匀性,但降低了种群的聚集度,该算法仍需对控制参数进行优选。经过前两代GDE的发展,为解决前两代算法存在的不足S.Kukkonen和Jouni Lampinen[15]提出了第三代通用差分进化算法(GDE3),本文即以该方法为基础对水库多目标优化调度问题进行优化求解。GDE3算法的求解步骤如下。

步骤一初始化种群及算法的控制参数,并计算各个目标的适应度。

步骤二对每个个体进行变异、交叉、选择操作,在选择操作时,根据约束支配关系进行操作,如果试验个体和目标个体互不支配则将该试验个体放在一个独立的临时集合中,如果试验个体支配目标个体则试验个体代替目标个体。直到种群中每个个体都操作一遍,这时原有种群个体与临时集合之和的种群大小介于NP(种群大小)和2NP之间,对临时集合中的每一个个体根据约束支配关系和拥挤距离的计算进行选择,直到种群大小回到NP为止。

步骤三判断是否满足收敛条件或是否达到最大迭代次数,若是则输出结果,若不是则继续进行下一次迭代。

1.2 GDE3算法的改进

GDE3算法每次循环一代后的种群大小介于NP和2NP之间,然后采用非支配排序和拥挤距离方法将种群重新降到NP。这使得在种群中搜索到的非劣解较少,本文采取一个外部精英集来维持种群的多样性和大小。在选择操作时,如果试验个体与目标个体互不支配,则直接将试验个体放入外部精英集中进行更新操作,如果试验个体支配目标个体则首先将试验个体代替目标个体并将试验个体放进外部精英集进行更新操作。本文加入外部精英集并用拥挤距离来维持算法在进化过程中得到的非劣解,改进后算法的具体计算步骤如下。

步骤一初始化算法的控制参数(种群大小、交叉概率因子、缩放系数、精英集大小、最大迭代次数等),初始化种群并计算各个目标的适应度。

步骤二将种群个体按精英集维持策略加入外部精英集中。

步骤三对每个种群个体进行DE算法的变异、交叉、选择操作,具体操作如下:变异操作同标准的DE算法,但加入边界约束,若超过边界约束则在边界范围内随机生成该维数据;交叉操作与标准的DE算法相同均是根据交叉概率因子进行选择,同时为了避免出现不进化现象发生随机选择一维数据进行变异操作;进行选择操作时,首先对目标函数进行求解得出各个目标的适应度,判断实验个体与目标个体的支配关系,如果目标个体支配试验个体则进行下个循环;若试验个体支配目标个体则将实验个体存为目标个体,并将实验个体加入精英集更新操作中;若实验个体与目标个体互不支配,则直接将试验个体加入精英集更新操作中。判断种群中的每个个体是否都操作一遍,更新种群。判断收敛条件或是否达到预设的最大迭代次数,若是则输出结果,不是则继续迭代。改进的GDE3算法流程见图1。

图1 改进的GDE3算法流程

2 多目标差分进化算法在水库优化调度中的应用

中型及以上水库通常为综合利用水库,其各方面用水量存在一定矛盾,如供水量(包括城乡生活或农田灌溉)与发电用水量是竞争关系,为提高水库的综合利用效益,有必要对供水量与发电量之间的关系进行探讨。

2.1 多目标水库优化调度模型

2.1.1目标函数

a)供水量最大

(1)

式中T——时段总数;Vid(t)——t时段供水量,m3;Virr(t)——t时段水库提供的供水量,m3。

b)调度期内发电量最大

(2)

式中K——出力系数;H(t)——t时段平均发电水头,m;Qfd(t)——t时段平均发电引用流量,m3/s;ΔT(t)——t时段时段长。

2.1.2约束条件

a)水量平衡约束:

V(t+1)=V(t)+Vin(t)-Virr(t)-Vfd(t)-Vgs-ΔV(t)

(3)

式中V(t+1)——t时段末水库库容,m3;V(t)——t时段初水库库容,m3;Vin(t)——t时段水库入库径流量,m3;Vgs(t)——t时段水库城镇工业、生活供水量,m3;ΔV(t)——t时段水库弃水及其它渗漏等损失水量,m3。

b)水位约束:

Zmin(t+1)≤Z(t+1)≤Zmax(t+1) ∀t∈T

(4)

式中Zmin(t+1)——t时段末水库允许运行的最低水位(死水位),m;Zmax(t+1)——t时段末水库允许运行的最高水位(汛期为汛限水位,非汛期为正常高水位),m。

c)水电站预想出力约束:

N(t)≤Nmax(t) ∀t∈T

(5)

式中Nmax(t)——t时段某水位下水电站预想出力,kW。

d)水电站发电流量约束:

(6)

e)供水量约束:

Virr(t)≤Vid(t) ∀t∈T

(7)

f)城镇工业、生活需水约束:

(8)

g)非负约束。上述各式中所有的变量均为非负值。

2.2 改进的GDE3对水库优化调度模型的求解

采用改进的GDE3进行求解,设置种群大小NP,精英集个数,最大迭代次数,缩放因子F,概率选择因子CR等算法参数。当各目标供水过程生成后,用动态规划法求解确定性优化调度过程,具体求解步骤如下。

a)种群初始化。本文采取初始化供水量策略,因为如果供用水过程及其他用水过程已知(除发电用水过程外)就可以根据动态规划法求出相应的最优发电量。为保证供水量在各月的一定需求,需设定一定的破坏深度。在供水量与供水量下限之间随机生成各时段的实际供水量,求和即得出目标f1总供水量,考虑城市生活和工业用水及蒸发渗漏损失,在供水量确定的情况下,可以采用确定性动态规划法对模型进行优化调度,求出目标f2总发电量。然后对种群进行非支配排序,并将非支配解加入外部精英集中。

b)变异、交叉、选择。对每个个体进行变异操作,在变异操作中考虑灌溉用水量的上下限约束,对违反灌溉用水量限制约束的时段,在该时段灌溉需水量与灌溉用水量下限之间重新生成该时段灌溉用水量。然后进行交叉、选择操作,如果试验个体支配目标个体则将实验个体代替目标个体并更新外部精英集;若目标个体支配试验个体则直接进行下一个循环;若试验个体与目标个体互不支配则将实验个体进行更新外部精英集操作。直到迭代至最大进化代数,输出外部精英集中的非劣解集。

3 多目标差分进化算法在漳河水库中的应用

3.1 漳河水库基本情况

漳河水库是以灌溉为主,兼顾防洪、发电、城市生活工业用水、水产、旅游、航运等用途的多年调节综合利用的大(1)型水库,由观音寺水库和鸡公尖水库经明渠串联而成,总集水面积为2 212 km2。目前,漳河水库实际运行时电站总装机为8 720 kW。年均发电量4 200万kW·h,年发电用水量达4.2亿m3。

目前漳河水库调度原则是在确保工程安全的前提下,其优先级依次为:防洪、城市生活工业用水、灌溉用水、发电用水。水库泄洪与下游河道防洪发生矛盾时,下游河道行洪服从于水库安全度汛的要求。漳河水库4月15日至6月20日为前汛期,7月1日至8月20日为主汛期,9月1—30日为后汛期,主汛期前后10 d为过渡期,前、后汛期汛限水位122.6 m,主汛期汛限水位122.0 m,汛后按正常高水位123.5 m蓄水运用。实际运行中视上游来水量与预报情况,汛限水位允许在±0.5 m内调节,尽可能地发挥水库调蓄作用,减少下泄流量,延长下泄时间,满足下游防洪要求。主要的用水有城镇生活和工业用水、灌溉用水、发电用水。各用水项中除对城镇生活、工业用水予以优先照顾外,其他用水均应服从灌溉用水需求。

3.2 典型水文资料的选取

本文选取漳河水库2006年4月至2007年3月这一典型枯水年为调度期,其径流过程见表1。由于城市生活工业用水量在漳河水库日常运行中是必须要满足的,而水库蒸发渗漏损失也是不可避免的,本文根据实际情况统计出这两项的各月用水量见表2。根据灌溉用水实际运行情况其需水量主要集中在5—8 4个月,本文也仅考虑这4个月的灌溉用水情况,其具体分配情况见表3。

表1 漳河水库2006年4月至2007年3月典型径流过程

表2 漳河水库2006年4月至2007年3月水文年各月城市工业生活及损失水量

表3 各月灌溉需水量分配

3.3 计算结果

由于漳河水库为多年调节水库,根据其实际运行情况取起调水位和调度期末水位均为118 m,电站平均出力系数7.7。采用改进的多目标差分进化算法进行求解,算法参数设置如下:种群大小NP为100,精英集个数为100,最大迭代次数为300,缩放因子F取为0.4,概率选择因子CR为0.25。当灌溉用水过程生成后,用动态规划法求解确定性优化调度过程。为保证灌溉用水量在各月的一定需求,本文取各月的灌溉需水量的0.7倍为灌溉用水量的下限,而不是直接取0为下限值。在灌溉需水量与灌溉用水量下限之间随机生成各时段的实际灌溉用水量,求和即得出目标f1灌溉总用水量,考虑城市生活和工业用水及蒸发渗漏损失,在灌溉用水量确定的情况下可以采用确定性动态规划法对模型进行优化调度求出目标f2总发电量。经种群初始化、变异、交叉、选择等操作,得到非劣解集。

通过计算得出近似非劣解集,灌溉用水量与发电量非劣关系(图2),其中灌溉用水量,单位为万m3,发电量指调度期内总发电量,单位万kW·h。

图2 灌溉用水量与发电量关系

从图2可以看出,在灌溉需水范围内灌溉用水量越大,发电量则越小,这是与漳河水库灌溉用水与发电用水互相竞争的实际情况相符合的。图中点距分部比较均匀说明算法加入精英集维持策略并用拥挤距离来维持精英集是可行的,可以得到较好的非劣解前端。图中每一个点代表在灌溉用水量一定情况下,从不同灌溉用水量月内供水分配组合下优选出的最大发电量。从图中可以看出:①水库发电量与灌溉用水量近似成反比线性关系,其线性相关方程为y=-0.0981x+5489.5,说明在上述条件下灌溉用水量每减少10 m3,最多可增发电量约1 kW·h;②由于图2中所取坐标变化范围较大,因此图形近似呈直线,从局部放大图来看,非劣解前端并非完全是线性变化的。

4 结语

本文将多目标差分进化算法进行了改进,加入精英保留机制并用拥挤距离来维持精英集,改善了多目标优化中存在早熟、收敛问题,使其更好的处理多目标水库优化调度问题。采用改进的GDE3求解水库多目标优化调度模型,并以综合利用水库漳河水库为例,以在灌溉需水范围内灌溉用水量最大和调度期发电量最大为目标,用改进的GDE3进行优化求解,得到了分布较均匀的非劣解集,验证了算法的可行性,为更好的求解多目标水库优化调度问题提供了新思路。

猜你喜欢

用水量精英种群
山西省发现刺五加种群分布
新疆生产建设兵团某师用水水平分析与评价
你的用水量是多少?
你的用水量是多少?
基于双种群CSO算法重构的含DG配网故障恢复
澳大利亚研发出新型农业传感器可预测农作物用水量
它们都是“精英”
中华蜂种群急剧萎缩的生态人类学探讨
精英2018赛季最佳阵容出炉
当英国精英私立学校不再只属于精英