一种基于深度学习的快速安全约束经济调度方法与流程

文档序号:17728573发布日期:2019-05-22 02:41阅读:176来源:国知局
一种基于深度学习的快速安全约束经济调度方法与流程
本发明涉及电力系统及其自动化领域,具体是一种基于深度学习的快速安全约束经济调度方法。
背景技术
:安全约束经济调度是电网安全经济运行的重要工具。但考虑n-1故障的线路约束会极大地增加安全约束经济调度模型的规模,使其成为一个大规模的数学规划问题。这将给安全约束经济调度的求解带来扩展性问题,即使利用商业lp求解器也难以解决。然而,根据工程经验所有约束中只有一小部分是起作用约束,其它都是冗余约束。因此,目前工业界普遍进行无约束的经济调度优化问题进行求解,再迭代地增加约束到模型中进行求解,该方法一般能够获得最后最优解且不需要太多迭代次数。此外,在国外某些电力结构中,也常根据人工经验提前将一些最有可能起作用的约束加入到模型中。而目前在学术界已有大量学者提出场景筛选方法以减少冗余约束而加快安全约束经济调度的求解,该类方法主要通过求解多个小规模优化问题或建立求解另一个复杂凸规划优化问题来减少安全约束数目,其模型求解精度与冗余约束删减个数之间的平衡仍然还有提升的空间。技术实现要素:本发明的目的是解决现有技术中存在的问题。为实现本发明目的而采用的技术方案是这样的,一种基于深度学习的快速安全约束经济调度方法,主要包括以下步骤:1)确定适用于安全约束经济调度模型的深度神经网络,即堆栈降噪自动编码器sdae。确定适用于安全约束经济调度的深度神经网络的主要步骤如下:1.1)建立堆栈降噪自动编码器sdae。所述堆栈降噪自动编码器sdae由n个降噪自动编码器dae逐层堆栈而成。其中,第l个降噪自动编码器dae的输入层记为yl-1,中间层记为yl,输出层记为zl。中间层yl如下所示:式中,表示编码函数。r为激活函数。θ为编码参数。wl为第l个降噪自动编码器dae的编码函数的权重。bl为第l个降噪自动编码器dae的编码函数的偏置。其中,激活函数r如下所示:式中,x为神经元的输入。输出层zl如下所示:式中,表示解码函数。θ'为解码参数。wl'为第l个降噪自动编码器dae的解码函数的权重。bl'为第l个降噪自动编码器dae的解码函数的偏置。1.2)获取电力系统运行条件,电力系统运行条件包括负荷功率pd和系统拓扑结构。1.3)利用公式4,对样本进行预处理。其中,vmean和vstd分别是向量v的均值和标准差。v是需要进行归一化处理的数据,包括训练样本、检验样本以及测试样本的输入和输出。1.4)将预处理后的负荷功率pd输入立堆栈降噪自动编码器sdae中,从而输出发电机出力pg。发电机出力pg如下所示:式中,为第n个降噪自动编码器dae的编码函数。2)确定适用于安全约束经济调度的深度学习策略,从而对堆栈降噪自动编码器sdae进行训练。对堆栈降噪自动编码器sdae进行训练的主要步骤如下:2.1)对堆栈降噪自动编码器sdae进行无监督预训练,选择一组编码参数θ和解码参数θ′,使计算参数m达到最小。计算参数m如下所示:2.2)对堆栈降噪自动编码器sdae进行有监督微调,即选择编码参数θ,使计算参数l达到最小。计算参数l如下所示:2.3)利用rmsprop学习算法对编码参数θ进行更新,即:其中,为目标函数o对变量θ0在第tth的更新。⊙为hadamard乘子。ρ为梯度累积指数。为目标函数o对变量θ的更新。为变量θo在第t-1次的迭代。r为梯度。rt为前tth次迭代积累的梯度。rt-1为前t-1次迭代积累的梯度。ε为常数。3)基于训练好后的深度神经网络,建立基于深度学习的安全约束经济调度模型。基于深度学习的安全约束经济调度模型如下所示:h1和h2为系数矩阵。基于深度学习的安全约束经济调度模型的约束分别如公式10至公式12所示。egpg=edpd。(10)式中,eg和ed表示全为1的向量。式中,为在第c条线路故障时支路ij的支路功率,其中c=0表示无线路故障。为在第c条线路故障时支路ij的支路功率下限。为在第c条线路故障时支路ij的支路功率上限。pg∈χg(12)式中,χg为发电机出力集合。4)令k=1,将电力系统运行条件输入到深度神经网络中,得到基于深度学习的安全约束经济调度模型的起作用约束集j(1)。5)将约束集j(1)。输入到基于深度学习的安全约束经济调度模型中,得到安全约束经济调度方案。6)对安全约束经济调度方案进行n-1检验,若有新约束j(new),则令k=k+1,约束集更新为j(k)=j(k)∪j(new),并返回步骤5。若无新约束,则输出安全约束经济调度方案。本发明的技术效果是毋庸置疑的。本发明基于历史运行数据,利用堆栈降噪自动编码器(sdae)来提取这种非线性关系,对新的系统运行条件进行起作用约束集的“预测”。本发明将深度学习技术嵌入到现有调度框架中,将计算负担转移到离线训练,在线能够直接由系统运行条件有效地映射所有起作用约束集,提高安全约束经济调度求解效率。本发明提出的基于sdae深度神经网络的起作用约束辨识方法,能够快速准确地由系统运行条件得到安全约束经济调度模型的起作用约束集,体现了sdae模型对系统运行条件与发电机出力间非线性关系的强大逼近能力。本发明提出的基于深度学习的快速安全约束经济调度方法,在传统优化计算框架下嵌入深度学习技术,所提方法在不影响计算精度和收敛性的情况下,能够有效地提高计算速度。为解决安全约束经济调度问题提供了一种新视角。本发明可广泛应用于电力系统各个行业的安全约束经济调度分析。附图说明图1为基于深度学习的安全约束经济调度模型;图2为深度神经网络dnn结构图。具体实施方式下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。实施例1:参见图1和图2,一种基于深度学习的快速安全约束经济调度方法,主要包括以下步骤:1)确定适用于安全约束经济调度模型的深度神经网络(dnn),即堆栈降噪自动编码器sdae。确定适用于安全约束经济调度的深度神经网络的主要步骤如下:1.1)建立堆栈降噪自动编码器sdae(stackeddenoisingautoencoders)。所述堆栈降噪自动编码器sdae由n个降噪自动编码器dae逐层堆栈而成。其中,第l个降噪自动编码器dae的输入层记为yl-1,中间层记为yl,输出层记为zl。中间层yl如下所示:式中,表示编码函数。r为激活函数。θ为编码参数,θ={w,b}。wl为第l个降噪自动编码器dae的编码函数的权重。bl为第l个降噪自动编码器dae的编码函数的偏置。w为编码函数的权重。b为编码函数的偏置。其中,激活函数r如下所示:式中,x表示降噪自动编码器dae的输入层、中间层或输出层的神经元的输入。relu(rectifiedlinearunit)激活函数的分段线性形式如公式所示,relu激活函数能够有效避免梯度消失现象。因此,relu函数在本发明中被选作为sdae的激活函数。输出层的输出zl如下所示:式中,表示解码函数。θ'为解码参数。θ'={w',b'}。wl'为第l个降噪自动编码器dae的解码函数的权重。bl'为第l个降噪自动编码器dae的解码函数的偏置。w'为解码函数的权重。b'为解码函数的偏置。1.2)获取电力系统运行条件,包括负荷功率pd、系统拓扑结构等。1.3)利用公式4,对样本进行预处理。其中,vmean和vstd分别是向量v的均值和标准差。v是需要进行归一化处理的数据,包括训练样本、检验样本以及测试样本的输入和输出。本实施例中,训练样本为用于堆栈降噪自动编码器sdae训练的负荷功率,检验样本为用于堆栈降噪自动编码器sdae检验的负荷功率,测试样本为用于堆栈降噪自动编码器sdae测试的负荷功率。1.4)将预处理后的负荷功率pd输入立堆栈降噪自动编码器sdae中,从而输出发电机出力pg。发电机出力pg如下所示:式中,为第n个降噪自动编码器dae的编码函数。为第1个降噪自动编码器dae的编码函数。2)确定适用于安全约束经济调度的深度学习策略,从而对堆栈降噪自动编码器sdae进行训练。深度神经网络学习的目标是为了获得最优编码参数θ以提取数据间的非线性特征。对堆栈降噪自动编码器sdae进行训练的主要步骤如下:2.1)对堆栈降噪自动编码器sdae进行无监督预训练,选择一组编码参数θ和解码参数θ′,使计算参数m达到最小。计算参数m如下所示:2.2)对堆栈降噪自动编码器sdae进行有监督微调,即选择编码参数θ,使计算参数l达到最小。计算参数l如下所示:2.3)利用rmsprop学习算法对编码参数θ进行更新,即:其中,为目标函数o对变量θ0在第tth的更新。⊙为hadamard乘子。η为学习率。ρ为梯度累积指数。为目标函数o对变量θ的更新。为变量θo在第t-1次的迭代。r为梯度。rt为前tth次迭代积累的梯度。rt-1为前t-1次迭代积累的梯度。ε为常数。在本实施例中,ε=10-8。本实施例采用rmsprop(rootmeansquarepropagation)作为深度学习算法。rmsprop学习算法将训练样本分成多个批量进行学习。每个批量依次进行训练并更新深度神经网络中的参数。此外,rmsprop学习算法通过利用梯度平方的移动平均使得每个参数对应的学习率不一样。该算法能够减少训练压力以及避免局部最小。3)基于训练好后的深度神经网络,建立基于深度学习的安全约束经济调度模型。基于深度学习的安全约束经济调度模型如下所示:h1和h2为系数矩阵。系数矩阵主要由约束j(k)决定。基于深度学习的安全约束经济调度模型的约束分别如公式10至公式12所示。egpg=edpd。(10)式中,eg和ed表示全为1的向量,即单位向量。式中,为在第c条线路故障时支路ij的支路功率,其中c=0表示无线路故障。j(k)表示约束集。为在第c条线路故障时支路ij的支路功率下限。为在第c条线路故障时支路ij的支路功率上限。pg∈χg(12)式中,χg为发电机出力集合。4)令k=1,将电力系统运行条件输入到深度神经网络中,得到基于深度学习的安全约束经济调度模型的起作用约束集j(1)。运行条件包括负荷功率和拓扑结构等。本实施例仅以负荷功率代表运行条件。5)将约束集j(1)。输入到基于深度学习的安全约束经济调度模型中,得到安全约束经济调度方案,即满足约束集j(k)的6)对安全约束经济调度方案进行n-1检验,若有新约束j(new),则令k=k+1,约束集更新为j(k)=j(k)∪j(new),并返回步骤5。若无新约束,则输出安全约束经济调度方案。n-1检验原则是判定电力系统安全性的一种准则,又称单一故障安全准则。按照这一准则,电力系统的n个元件中的任一独立元件(发电机、输电线路、变压器等)发生故障而被切除后,应不造成因其他线路过负荷跳闸而导致用户停电,不破坏系统的稳定性,不出现电压崩溃等事故。实施例2:一种验证基于深度学习的快速安全约束经济调度方法的实验,主要包括以下步骤:1)训练样本获取以及预处理本实施例中采用ieee-118-washington系统进行仿真。对负荷有功功率pd按正态分布进行抽样以代表不同运行条件,其中,负荷均值为ieee118标准系统中的值,标准差为均值的10%。由大规模优化器——gurobi求解器对每个抽样状态对应的安全约束经济调度模型进行求解得到最优发电机出力pg。然后,将所有抽样状态的负荷节点的有功功率作为训练样本输入x,发电机出力作为训练样本输出y。最后,通过公式(4)对训练样本进行预处理。(2)适用于安全约束经济调度的深度神经网络初始化根据训练样本容量,将训练样本分成100个批量;根据待求解的电力系统规模和复杂程度,设定sdae最优潮流模型的层数l为6、每层神经元个数分别为118、200、200、200、200、19,其它超参数如表1所示。表1深度神经网络超参数(3)适用于安全约束经济调度的深度神经网络无监督预训练首先,利用训练样本输入pd,根据公式(6),构建第一层dae训练的目标函数m(z1,pd);然后根据公式(2)、公式(8),使用rmsprop学习算法迭代求解第一层dae的最优参数w1、b1、w′1、b′1。之后,由公式(1)和公式(3)得到第一层dae的中间层输出,作为第二层dae的输入,以相同的方法构建第二层dae的损失函数m(z2,z1),并以相同的方法更新参数,以此类推,自底至顶逐层求解每层dae的最优编码参数θ={w,b},并将该最优编码参数作为下阶段有监督微调的初始值。(4)适用于安全约束经济调度的深度神经网络有监督微调首先,利用训练样本输入pd和输出pg,根据式(6),构建sdae有监督训练过程的目标函数l(pg,pd);然后依然根据式(2)、(8),使用rmsprop学习算法迭代求解sdae所有最优编码参数θ={w,b};至此,完成了适用于安全约束经济调度的深度神经网络训练。(5)安全约束经济调度快速计算将测试样本输入步骤(4)中训练完成的sdae最优模型中,该模型可由式(5)直接映射出所有测试样本在考虑n-1安全的最优发电出力;根据发电机出力进行n-1检验确定起作用约束集;将起作用约束集加入到安全约束经济调度模型中,如公式(9)-(12)所示进行优化计算;将优化结果再次代入n-1检验中查看是否有新增约束,如果没有则计算结束,否则这些新的约束将被加入安全约束经济调度模型中重新进行优化。具体仿真结果如下:i)安全约束经济调度计算对比方法仿真中安全约束经济调度对比方法包括m0-m1:m0:工业界方法。m1:基于深度学习的快速安全约束经济调度方法。本实施例的仿真结果皆在intel(r)core(tm)i5-7200ucpu@2.50ghz2.71ghz、16gbram的硬件环境下测试。ii)深度学习起作用约束辨识精度分析本实施例为了验证深度神经网络辨识起作用约束的总体精度,由算例随机抽取2000个测试样本,经测试,2000个样本中总共有64,356,000条约束,其中起作用约束集为112,498,本发明所提方法约束集是否起作用的判断准确率达到96.6%。可见,sdae凭借其深层堆栈结构与编码解码过程,有效地提取了系统运行条件与最优发电出力间的非线性特征,实现了由系统运行条件到起作用约束集的高精度快速映射。因此,本发明提出的深度神经网络起作用约束预辨识方法具有较高精度。iii)概率最优潮流在线算法计算性能分析表2列出了m0与m1方法计算安全约束经济调度的循环次数,由于深度神经网络对起作用的约束的高精度的辨识,本发明方法在2000个测试样本中95.3%一次性收敛。表3列出了由m1法在m0求解安全约束经济调度问题四次循环迭代的某场景下的计算的时间。由表3可见,由m0法计算安全约束经济调度问题耗时13.2秒,而m1法仅需4.0秒,计算速度是m0方法的3.3倍。可见,采用本发明方法计算安全约束经济调度问题可有效提高计算速度,并且其计算精度与收敛性不受影响。另外值得注意的是,本发明算例考虑了单时刻,如果对于大规模的实际系统以及考虑24时刻联合调度的场景,基于深度学习的快速安全约束经济调度方法方法的优势将更加明显。表2m0-m1计算安全约束经济调度的循环迭代次数表3m0-m1计算安全约束经济调度的时间对比方法m0m1时间(秒)13.24.0从实验结果可知:本发明所提出的基于深度学习的快速安全约束经济调度方法,能够以非常高的精度逼近系统运行条件与发电机最优出力间的复杂非线性关系,从而实现了系统运行条件到起作用约束的高效辨识,具有精度不受损失速度有效提升的特点。此外,对于大规模系统和多时段调度问题,本发明的适用性将更加显著。综上所述,本发明提出了一种基于深度学习的快速安全约束经济调度方法,可依托现有计算资源以及历史运行数据,将安全约束经济调度问题的计算压力转移至线性训练。通过将深度神经网络嵌入现有安全约束经济调度问题的计算框架中,其能够不损失计算精度和收敛性,同时有效地缩减迭代次数,提高计算效率。通过算例仿真分析,验证了本发明所提方法的有效性。因此,本发明可为电力系统安全约束经济调度的高效优化提供技术支撑。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1