APP下载

基于网格搜索和交叉验证的支持向量机在梯级水电系统隐随机调度中的应用

2014-10-18纪昌明向腾飞黄海涛

电力自动化设备 2014年3期
关键词:梯级出力时段

纪昌明 ,周 婷 ,向腾飞 ,黄海涛

(1.华北电力大学 经济与管理学院,北京 102206;2.华北电力大学 可再生能源学院,北京 102206)

0 引言

水电作为开发技术成熟、运行成本低廉、负荷响应快速的可再生能源,在我国能源格局中发挥着重要作用。随着“十二五”规划对我国水电开发积极有序的推动,在大规模水电系统建成后,如何在实际运行中挖掘水库水电站的发电效益空间、提高水电站实际调度水平,是一项兼具理论意义和实践价值的研究课题。

近年来,基于优化调度成果和规则提取的隐随机优化调度理论被越来越多地用于水库水电站实际运行研究中。从传统的线性回归[1],到神经网络[2]、遗传算法[3-4]、蚁群算法[5]等智能算法,以及贝叶斯网络理论[6]等,均在隐随机优化调度中有所应用。但上述方法大多以训练误差最小为目标对调度规则进行提取,容易导致模型过度追求训练精度,用复杂的表达式去拟合有限的样本,而模型的复杂度与其推广能力往往成反比,致使模型的预测能力降低[7]。

支持向量机 SVM(Support Vector Machine)以系统结构风险最小化为优化目标,利用惩罚参数平衡模型的学习能力和推广能力,将回归问题转化为二次规划问题,克服了局部最优的弊端,尤其适用于小样本回归问题。但另一方面,模型中惩罚参数及核函数参数的率定,以及小容量样本所带来的训练偏差是SVM在实际应用中的难点。

本文将SVM应用于梯级水电站群隐随机优化调度中,结合网格搜索对模型参数进行优化,并利用K-fold交叉验证方法评价模型的训练性能,降低了抽样随机性所带来的预测误差,提高了模型的推广能力。为提高成果的实用性,设计了基于VC_和MATLAB混合编程的仿真平台,实现SVM指导梯级水电系统实际优化运行仿真,并对仿真结果进行了全面的评价。

1 梯级水电系统隐随机优化调度

水库水电站隐随机优化思想由美国学者Young提出[8],其基本原理是:基于长系列已知径流过程,运用确定性优化方法得到调度期内最优调度过程,以此作为样本制定优化调度策略,指导径流未知条件下的实际运行。隐随机优化理论将随机优化问题分解为确定性优化调度和规则提取2步,避免了随机优化“维数灾”问题,因此在大型水电站群实际优化调度研究中得到了广泛的应用。

1.1 基于逐步优化算法的确定性优化调度模型

对于以发电功能为主的梯级水电系统,优化调度目标函数为调度期内发电量最大:

其中,Ni,j为电站 j在时段 i的发电出力;ki为发电系数;Qi,j为发电流量;Hi,j为发电水头;Δt为时段长度;T为调度期总时段数;J为梯级系统中水电站个数。

约束条件如下。

a.水库库容约束:

b.下泄流量约束:

c.电站预想出力约束:

d.系统保证出力约束:

其中,Vi,jmin和 Vi,jmax为水库 j在时段 i的最小及最大库容限制;Qjmin和Qjmax为水库j在时段i的最小及最大下泄流量约束;Njmin和Njmax为电站j的最小和最大出力约束;Nfirm,j为电站 j的保证出力为 Nfirm,j对应的保证率;prob(Nj≥Nfirm,j)代表调度期内 Nj≥Nfirm,j的频率。式(5)的含义是系统时段出力大于保证出力的频率必须满足设计保证率要求。

考虑到梯级水电站群变量众多并且可行域广阔,采用逐步优化算法POA(Progressive Optimization Algorithm)对模型进行求解:首先根据常规方法生成可行调度过程作为初始解,再从中选取两阶段,并固定其他阶段变量,对所选两阶段变量在发电量最大目标下进行优化。各时段依次逐步循环,直至达到目标函数不再增加为止。POA将多阶段决策问题分解为一系列的二阶段决策问题,并已证明可收敛至全局最优[9],极大提高了梯级电站优化问题的求解效率。

1.2 调度规则变量选取

调度规则变量包括输出变量(因变量)和输入变量(自变量),变量选取不但影响隐随机模型性能,也反映了调度规则的直观性和可解释性。一般而言,输出变量应取物理意义明确、易于操作的指标,如时段出力、下泄流量等。输入变量则要求能够准确反映水库水电站的运行状态和特征,同时应考虑调度实际,确保指标的可获取性。例如实际运行中径流预报预见期仅为当前时段,则未来时段的径流信息不可纳入输入变量中。

考虑到下泄流量较时段出力更为直观,且贴近水电站运行操作,本文选取时段下泄流量为输出变量。输入变量的选择面较宽,时段初水位和面临时段入库流量是与调度决策相关性最强的2个指标;入能和蓄能反映了水库的能量状态,与发电关系较为密切,因此也将其纳入;考虑水文过程的连续性,相近时段的调度决策往往互相影响,因此将上一时段的下泄流量也纳入输入变量。综上,输入变量包括时段初水位、入库流量、入能、蓄能、上一时段的下泄流量。

2 基于网格搜索和交叉验证的SVM回归模型

调度规则中的输出变量和输入变量构成了SVM回归的训练样本集(x1,y1)、(x2,y2)、…、(xn,yn),SVM通过一个非线性映射φ将原始自变量投影到高维空间,将非线性回归转化为高维空间内的线性回归,求解过程不存在局部最优问题,具有坚实的理论基础[10-12]。

目前常用的SVM参数优化方法包括梯度法[13]、遗传算法[14]、粒子群算法[15]等。这些方法具有收敛速度快的优点,但是在对2个以上参数进行优化时,参数之间互相影响,往往不能保证结果最优。本文选择网格搜索法对参数组合(C,g)同时进行寻优,规避了局部最优,并且便于并行计算,结合指数网格划分,提高了整体效率。

交叉验证(cross validation)是一种消除取样随机性所带来的训练偏差的统计学方法。常用的交叉验证方法有重复随机抽样法、K-fold交叉验证法、留一法等。考虑样本容量及计算效率,本文引入K-fold交叉验证法对模型的训练性能进行评价,结合参数优化,提高模型的稳定性和泛化能力。

2.1 SVM回归基本原理

SVM回归的目标函数为高维空间线性回归函数f(x)=w·φ(x)+b 的复杂度和拟合误差之和最小。假设所有样本均可以在不敏感度为ε,正、负松弛度分别为ξ、ξ*水平下进行无误差拟合,则优化模型可表达为:

其中,n为测试样本个数。

目标函数的前半部分代表回归函数f(x)的复杂度,即泛化(推广)能力,后半部分代表拟合误差。常数C>0为非负惩罚因子,起到平衡模型的泛化能力和拟合能力的作用。

模型式(6)是典型的凸二次规划问题,引入Lagrange函数:

其中,αi、α′i为 Lagrange 因子。根据 Kuhn-Tucker定理,式(7)的最优解在w和b方向上的梯度均应为0:

将式(8)代回式(7),消去 w 和 b,经整理可得原最优化问题的对偶问题:

其中,k(xi,xj)=φ(xi)·φ(xj)为核函数,代表将 xi与 xj向高维空间投影后再进行内积运算。由此得到回归函数为:

式(10)表明,只有 αi-α′i≠0 所对应的样本对回归起到了实质性作用,这些样本因此被称为支持向量(SV)。常用的核函数如下。

a.多项式核函数:

b.径向基(RBF)核函数:

c.sigmoid核函数:

其中,d、g、c均为核算函数参数。

2.2 基于网格搜索和交叉验证的参数优化

由SVM原理可知,非负惩罚因子C和核函数参数g对模型的效果起着重要的作用。网格搜索法的优点是可以保证所得的搜索解是划定网格中的全局最优解,避免重大误差。一般而言,为便于计算和成果显示,网格的划分多采用等距划分法,但是在SVM模型中,根据经验,C和g一方面取值范围较广,另一方面最优值落入[0,1]区间的概率又较大。若网格步长太小,会导致计算量过大;若步长过大,则容易遗漏最优值。为此,本文引入指数函数对网格进行划分。

另一方面,由于对参数组合的性能评价受到训练数据的影响,对于同一组(C,g),当训练数据发生变化时,拟合性能往往随之改变,尤其对于小样本训练,参数优选受到样本随机性的影响较大,不利于模型的泛化和推广。鉴于此,本文在网格搜索中应用K-fold交叉验证法对每组(C,g)的性能进行综合评价。基于网格搜索和K-fold交叉验证的参数优化步骤如下。

a.建立网格坐标。令 a=[-5,5]、b=[-5,5],步长均为 1,取模型参数的网格点为 C=ea、g=eb,根据指数函数性质,C和g的取值可以保证非负,且参数取值越小网格越密集,参数越大取值越稀疏,符合(C,g)的最优取值分布。网格点分布如图1所示。

b.将训练数据等分为K个子集,K一般取值为4~10,以确保训练样本容量远大于测试样本容量。

c.对于网格中每一组(C,g),以任意一个子集作为测试集,其余K-1个子集作为训练集,训练模型后对测试集进行预测,统计测试结果的均方误差:

图1 基于自然指数函数的参数网格划分Fig.1 Parameter grid division based on natural exponential function

d.将测试集更换为另一子集,再取剩余K-1个子集作为训练集,再次统计均方误差,直至对K个子集都进行一次预测后,取K组均方误差的平均值δMSE作为该组(C,g)的预测误差。

e.更换参数组合(C,g),重复步骤 b—d,顺序算出网格中各参数组合下训练模型的δMSE并逐一比较,平均误差最小的参数组合即为网格区间内的最佳参数组合。

将交叉验证与网格搜索相结合,以参数平均误差最小化为参数优选的目标,提高了参数优选的效率和准确性,同时极大规避了训练样本的抽样随机性对模型性能的影响。在结果展示方面,将(C,g)网格转换为对数坐标,即对应(lg C,lg g),则可呈现等间距的网格搜索结果。

3 基于混合编程的梯级水电系统跨平台仿真

基于SVM的梯级水电系统的运行仿真具有一定的特殊性。在大多数预测案例应用中,各预测值之间是相互独立的,例如径流预报、金融指数预测以及医学案例预测等,因此预测部分与仿真部分也是互相独立的。而对于梯级水电运行而言,一个时段的预测下泄流量(因变量)不但影响该电站下一时段的状态(自变量),并且影响同时段下游电站的状态(自变量)。因此在梯级水电系统运行仿真中,需要在每一时段基于当前的实际水库电站状态对调度决策进行预测,再根据调度决策进行水电站状态转移,实现滚动模拟。

梯级水电系统调度运行具有约束条件众多、电站间水力联系密切、状态变量相互影响的特点。VC_语言功能全面、逻辑预算效率高,适合复杂系统设计,是水库群调度仿真的经典平台。SVM模型的特点是计算重复性较大,输入输出频繁,且主要以数据运算为主。MATLAB语言具有良好的矩阵运算及数据处理能力,输出形式直观多样化,因此适合SVM模型训练及参数优化。为充分发挥2种语言的优势,本文基于混合编程技术将VC_与MATLAB模块进行整合,以实现水库水电站群仿真运行,仿真设计框架如图2所示。

图2 VC_与MATLAB混合编程仿真平台框架Fig.2 Simulation framework of hybrid VC_and MATLAB programming

VC_与MATLAB混合编程的实现方法是将MATLAB中SVM模型训练及预测模块(.m文件)编译为能够被VC_调用的动态库(.dll文件),再将动态库按照一定格式添加到VC_工程中,最后配置VC_和MATLAB中对应的数据接口,以实现变量传输。文献[16]对混合编程的实现步骤进行了详细说明。

采用VC_与MATLAB混合编程的仿真平台,能够充分发挥不同语言的优势,将基于SVM的调度规则制定部分和基于物理背景的仿真部分区分开来,使模型的结构更加清晰。另一方面,当需要调整调度规则制定方法时,只需对MATLAB模块进行修改;而当需要修改水电站调度物理背景时,只需改动VC_部分,体现了良好的兼容性和可扩展性。

4 案例应用及结果评价

4.1 案例应用

某梯级水电系统由12座水电站组成,其中月调节性能以上电站4座,自上而下分别为第1级(年调节)、第9级(季调节)、第10级(季调节)和第11级(季调节)。其余电站为径流式电站,按照设计水位指导运行。系统调度期长度为48 a,调度时段为月。

首先采用POA对调度期进行确定性优化调度,并取前36 a的确定性优化调度成果作为训练样本,运用SVM理论制定4座电站的月度调度规则,并采用网格参数优化及4-fold交叉验证对SVM性能进行优化。限于篇幅,以电站1的6月份为例,网格参数优化过程如图3所示,最优参数组合对应的拟合均方误差为 0.058。

对4座电站的各月参数优化结果进行统计,如图4所示。从图中参数取值分布可见,落入(0,1]区间的最优参数为19个,占优化参数总数的50%,同时参数在[e-5,e5]区间内分布较广,参数优化结果验证了基于指数函数网格搜索设计的合理性。

图3 网格参数优化过程(以电站1的6月为例)Fig.3 Process of grid parameter optimization(June,power station No.1)

图4 最优参数分布图Fig.4 Distribution of optimal parameters

4.2 仿真运行及结果评价

基于VC_和MATLAB混合编程平台,结合调度规则与水库水电站运行约束(式(2)—(5)),对调度期后12 a梯级水电系统运行进行仿真,并将仿真结果与同期确定性优化调度结果进行对比分析。为进一步检验参数优化的效果,另取默认参数C=1,g=1,即认为模型中C和g参数均不起调节作用,以此SVM模型制定调度规则,并采用同样方法中对梯级运行进行仿真,作为结果评价的对照组方案。

a.年均发电量分析。经统计,确定性优化调度、参数优化SVM仿真和默认参数SVM仿真3种方案下的梯级系统年平均发电量分别为295.73 TW·h、288.75 TW·h 和 280.89 TW·h。基于参数优化的 SVM仿真较确定性优化调度年均发电量减小2.3%,高出无参数优化仿真结果2.8%,说明基于SVM的隐随机调度在发电总量方面与确定性优化调度整体差距较小,而参数优化使年发电量效益得到了一定程度的提高。

b.水库运行过程分析。将4座月调节以上电站在上述3种方案下的水库运行过程进行对比,如图5—8所示。

采用标准均方根误 NRMSD(Normalized Root Mean Square Deviation)对图5—8中2组仿真水位过程与确定性优化调度水位过程分别进行差异度分析:

图5 水库1运行过程对比Fig.5 Comparison of operation process of reservoir No.1

图6 水库9运行过程对比Fig.6 Comparison of operation process of reservoir No.9

图7 水库10运行过程对比Fig.7 Comparison of operation process of reservoir No.10

图8 水库11运行过程对比Fig.8 Comparison of operation process of reservoir No.11

其中,δRMSD为均方根误差;ymax和ymin分别为确定性优化运行水位最大、最小值;yi和分别为优化和仿真水位。

由表1可见,基于参数优化的仿真δNRMSD整体小于基于默认参数的仿真方案,尤其对于具有年调节性能的水库1。这说明基于参数优化的仿真过程更为接近确定优化调度过程,在实际运行中具有更高的可控性。

表1 不同仿真方案下各水库标准均方根误差Tab.1 NRMSD of reservoirs for different simulation scenarios

c.系统保证出力评价。图9展示了梯级系统在3种方案下的出力过程。在确定性优化调度中,系统保证出力(25.22 GW)仅在第6年发生了4个时段破坏,破坏深度为20%。在参数优化仿真运行的过程中,梯级系统保证出力得到了较好的保障,破坏时段数为7,较确定性优化调度增加了3个时段,历时保证率为95%。其中第6年破坏深度与优化调度相比较严重,这是由于第6年为特枯年份,在仿真运行中,调度规则未能利用径流预报进行水库预蓄等减小破坏手段,导致供水后期发生集中破坏,这一点在图5—8中各水库第6年相应的仿真运行中也有所反映,水库1在该年份汛期蓄水明显不足。而在采用默认参数组合的仿真过程中,系统保证出力破坏时段数增加至18,历时保证率为88%,且破坏深度明显加大。

图9 优化和仿真运行梯级系统出力对比Fig.9 Comparison of system output between optimal and simulative operations

上述分析表明,基于参数优化的SVM隐随机优化调度能够较好地实现确定性优化调度在发电量、发电过程等方面的成果,并且随着评价标准的深入,参数优化所带来的仿真性能改进也逐步明显,可以看出,参数优化后的仿真出力过程更为可靠,电能质量更高,更有利于电力系统的整体运行。

5 结论

本文将SVM优化理论应用于梯级水电系统隐随机优化调度中,结合指数网格搜索和K-fold交叉验证手段,降低了模型预测误差,提高了模型的泛化能力。建立基于VC_和MATLAB混合编程的仿真平台,实现了梯级水电系统的实际优化运行,具有较好的可操作性和兼容性。对梯级水电系统进行隐随机调度仿真,结果表明,基于SVM的隐随即优化调度运行基本能够实现确定性优化调度的各方面效益,参数优化机制显著提高了实际调度效益,为提高水电站实际运行水平提供了有效的技术支撑。

该方法应用于水库水电站实际运行中可能存在的挑战有以下2点。

a.梯级电站之间的调度决策信息共享问题。由于上级电站的下泄流量是下级电站入库流量的一部分,而入库流量是SVM模型输入变量之一,因此下级电站在制定调度决策时须基于上级电站的决策信息,这对于隶属不同发电主体的电站之间或有难度。

b.系统保证出力的协调问题。系统在枯期保证出力的维持需各电站(尤其是调节性电站)互相协调,而当电站间发电效益存在冲突,以及特枯年份面临破坏时,不同电站及其与系统之间的协调机制需要进一步完善。此外,鉴于当前中长期径流预报水平的提高,今后可尝试将预报径流信息作为输入变量纳入隐随机优化模型,进一步提高水电站群中长期调度水平。

猜你喜欢

梯级出力时段
自动扶梯梯级翻转处异响的分析及改进措施
自动扶梯的梯级斜行原因分析及调整方法
养阳的黄金时段到了
四个养生黄金时段,你抓住了吗
梯级水电站多目标联合经济运行初探
梯级先导电场变化特征分析
风电场有功出力的EEMD特性分析
要争做出力出彩的党员干部
分时段预约在PICC门诊维护中的应用与探讨
汽车内饰件用塑料挂钩安装力及脱出力研究