一种基于潮流嵌入技术的潮流计算方法与流程

文档序号:23268430发布日期:2020-12-11 18:59阅读:126来源:国知局
一种基于潮流嵌入技术的潮流计算方法与流程

本发明涉及电力系统技术领域,具体涉及一种基于潮流嵌入技术的潮流计算方法。



背景技术:

随着新能源技术不断发展,出现了能源互联网这一新型能源利用体系。能源互联网的作用在于在大数据、机器学习等人工智能技术的支持下,整合一系列电网运行数据来进行各种情况的预测,并最终使所有机器、设备、系统可以进行实时动态调整,提高电网的整体运作效率。

随着大数据时代的到来和计算机技术的提升,神经网络,尤其是深度学习,在人工智能领域的表现大大超过了其它机器学习模型,并在语音识别、图像分类、自然语言处理等领域均得到了广泛的应用以及瞩目的成就。

将深度学习技术应用于潮流计算,是对潮流计算的新探索,旨在扩展深度学习在电力系统中的应用,潮流计算是电力系统非常重要的分析计算,对电网的潮流值进行精准快速的估计是电力系统中各个计算环节的基础,也是对电力系统进行稳定性与可靠性分析的前提。

将深度学习技术应用于潮流计算,是对现有传统潮流计算方法的补充,在能源互联网的新形势下,潮流计算所涉及的电网结构变得越来越复杂,对算法在快速性、收敛性方面的要求更为严苛,高斯赛德尔迭代法原理简单,占用计算机内存少,但将其应用于大规模电力系统时会出现迭代次数增加以及不收敛的情况;牛顿拉夫逊法收敛快、精度高,但在每次迭代过程中都需重新计算雅各比矩阵,从而造成占用计算机内存过多以及计算速度过慢等问题;快速解耦法在计算速度和占用内存上有所改进,但当出现某些病态条件时可能会导致不收敛的情况。

潮流计算从本质上来说就是一组非线性方程组的求解,而深度学习在一定程度上就是一种有着强大的非线性拟合能力的工具,因此,使用深度学习来求解潮流具有一定的可行性,为此,我们提出一种基于潮流嵌入技术的潮流计算方法。



技术实现要素:

本发明的主要目的在于提供一种基于潮流嵌入技术的潮流计算方法,该方法简单方便、计算速度较快,可用于在线潮流计算,且不存在收敛问题,可以计算n个节点内任意拓扑结构电网的潮流值。

为实现上述目的,本发明采取的技术方案为:

本发明公开了一种基于潮流嵌入技术的潮流计算方法,包括如下步骤:

1)确定最大节点数n以及最大pv节点数k,构造训练集k、验证集v、测试集t;

2)对于步骤1)中的训练数据,构造相应的正样本k+及负样本k-

3)基于步骤2)中的训练样本k、正样本k+、负样本k-,使用基于三元组的孪生神经网络,充分训练后,得到潮流嵌入层p;

4)将步骤3)中的潮流嵌入层作为深度神经网络的第一层隐层,在此基础上训练该深度神经网络,保留训练完毕的深度神经网络参数;

5)对于任意一个需要进行潮流计算的电网,使用步骤4)中训练完毕的深度神经网络,通过前向计算,得到相应潮流解。

作为优选,所述步骤1)进一步包括:

1-1)确定数据集大小,对于每个数据,执行如下步骤:

①以随机数形式确定其节点个数n以及pv节点数k,并对每个节点进行随机编号;

②根据图论以及深度优先搜索算法生成一个n节点连通图,随机生成每条连边的阻抗,得到并保存导纳矩阵;

③将节点1定义为平衡节点,节点2~(k-1)为pv节点,剩余节点未pq节点,随机生成每个节点的电压幅值v与相角θ;

④按照潮流方程计算每个节点的有功功率p和无功功率q,其中潮流方程的描述如下:

其中,pi、qi分别表示节点i的有功及无功功率,vi表示节点i的电压幅值,gij、bij分别表示节点导纳矩阵中位于第i行第j列的元素的实部与虚部,θij=θi-θj,表示的是节点i与节点j之间的电压相位差,符号j∈i意味着节点i与节点j是相连的,包括i=j的情况;

⑤将pq节点的有功功率p和无功功率q、pv节点的有功功率p和电压幅值v、平衡节点的电压幅值v和电压相角θ、导纳矩阵的实部上三角矩阵g和虚部上三角矩阵b作为数据集中的输入部分,将其作为输入矩阵中的某一行;

⑥将所有节点的电压幅值v和电压相角θ作为标签矩阵的某一行;

1-2)将生成的数据集分为训练集k、验证集v、测试集t。

作为优选,所述步骤2)进一步包括:

2-1)对于每个训练集中的数据(xi,ti),执行如下步骤:

⑴对ti施加一个小扰动得到保留原始导纳矩阵,根据潮流方程计算每个节点的有功功率和无功功率

⑵对ti施加一个大扰动得到保留原始导纳矩阵,根据潮流方程计算每个节点的有功功率和无功功率

⑶输出相应正样本以及负样本

2-2)将作为正样本集中输入矩阵以及标签矩阵的某一行,作为负样本集中输入矩阵以及标签矩阵的某一行,输出训练集的正样本集k+与负样本集k-

作为优选,所述步骤3)进一步包括:

3-1)基于如附图一所示的三元组损失函数的孪生神经网络模型,将训练集k中的xi、正样本集k+中的负样本集k-的作为孪生神经网络的输入,如附图1所示的基于三元组损失函数的孪生神经网络模型可描述为:

y1=wxi+b,

d1=||y1-y2||,

d2=||y1-y3||,

其中,嵌入层系数p由最终的(w,b)组成;

3-2)采用adam算法充分训练后输出嵌入层参数p,采用adam算法更新参数x的规则如下:

mn=β1·mn-1+(1-β1)·gn,

其中,下标n表示正处于第n次迭代过程中,gn表示f(x)在xn处的梯度,mn和分别表示梯度的一阶矩估计以及修正后的一阶矩估计,vn和分别表示梯度的二阶矩估计以及修正后的二阶矩估计。

作为优选,所述步骤4)进一步包括:

4-1)选择一种深度神经网络,将训练集样本k中的xi作为其输入,k中的ti作为标签,将网络第一层隐层的参数初始化为嵌入层参数p,其他层的参数根据所选深度神经网络选择初始化方式,网络的前向计算过程可描述为:

oi=f(p,w1,b1,w2,b2,…,wn,bn,xi),

4-2)采用adam优化方法最小化loss损失函数,充分训练后输出并保留每一层的参数(w1,b1,w2,b2,…,wn,bn)。

作为优选,所述步骤5)进一步包括:

5-1)对于任意一个电网,将pq节点的有功功率及无功功率、pv节点的有功功率及电压幅值、平衡节点的电压幅值及电压相角、导纳矩阵实部与虚部上神经网络的输入xi,带入oi=f(p,w1,b1,w2,b2,…,wn,bn,xi)中,输出oi,即所有节点的电压幅值与电压角度。

与现有技术相比,本发明具有如下有益效果:

本发明的计算方法是一种直接法,在最终使用时,只需要将已知参数按规则进行排列后,作为深度神经网络的输入,通过几个矩阵的相乘以及神经元的非线性运算,即可得到最终的潮流值,因此该方法较为简单、计算速度较快,可用于在线潮流计算,且不存在收敛性问题;本发明的计算方法不仅可以用于固定拓扑结构的电网,还可以用于求解任意节点数不大于n的可变拓扑电网的潮流。

附图说明

图1是本发明一种基于潮流嵌入技术的潮流计算方法中基于三元组损失函数的孪生神经网络模型。

图2是本发明一种基于潮流嵌入技术的潮流计算方法中所涉及的十四节点电网。

图3是本发明一种基于潮流嵌入技术的潮流计算方法中电网拓扑生成流程图。

图4是本发明一种基于潮流嵌入技术的潮流计算方法中所涉及的五节点电网。

图5是本发明一种基于潮流嵌入技术的潮流计算方法中带嵌入层的残差网络模型。

具体实施方式

下面结合附图,对本发明的实施例作进一步详细的描述。

下面将以n为14为例,结合本发明实施例中的相关附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种基于深度学习的n节点内可变拓扑电网的潮流计算方法,该方法简单方便,计算速度较快,可用于在线潮流计算,且不存在收敛性问题。所述方法主要包括以下步骤:

确定最大节点数n=14,最大pv节点数k=1,构造训练集、验证集、测试集,对于每个数据,执行以下步骤:

1-1)在3~n(在本例中,此处n取14)之间取随机整数,以该随机整数作为该电网节点个数n,在0~k(在本例中,k取1)之间取随机整数,以该随机整数作为该电网pv节点个数k,并对每个节点进行随机编号,以下步骤以n=5,k=1为例;

1-2)根据图论以及深度优先搜索算法生成一个n节点连通图,随机生成每条连边的阻抗,以导纳矩阵的形式保存,以步骤1-1)中所述电网为例,该网络的拓扑结构可根据如附图3所示的算法得到,网络的导纳矩阵可表示为:

其中,yij=yji,最终的导纳矩阵可表示为:

1-3)将节点1定义为平衡节点,节点2~(k+1)为pv节点,剩余节点未pq节点,生成每个节点的电压幅值v与相角θ,以步骤1-1)~1-2)中所述电网为例,定义该网络的节点1为平衡节点,节点2为pv节点,节点3~5为pq节点,随机生成每个节点的电压幅值v和相角θ,v和θ的取值如下:

v=[v1v2v3v4v5],

θ=[θ1θ2θ3θ4θ5],

1-4)按照潮流方程计算每个节点的有功功率p和无功功率q,其中潮流方程的描述如下:

以步骤1-1)~1-3)中所述电网为例,将步骤1-3)中每个节点的v和θ代入潮流方程中,得到的有功功率p和无功功率q取值如下:

p=[p1p2p3p4p5],

q=[q1q2q3q4q5],

1-5)将pq节点的有功功率p和无功功率q、pv节点的有功功率p和电压幅值v、平衡节点的电压幅值v和电压相角θ、导纳矩阵的实部上三角矩阵g和虚部上三角矩阵b作为数据集中的输入部分,将其作为输入矩阵中的某一行。需要注意的有两点:

导纳矩阵是对称的,且对角线上的元素可以由该行或该列的其他元素求得,因此只需取导纳矩阵的上三角元素即可;

由于所采用的深度学习模型是一种全连接式的模型,要求输入的维度需保持一致,而在训练数据中会包含不同节点数、不同拓扑结构的电网,电网节点数量的不同以及pv节点个数的不同会导致每一个数据的维度不一致,对于不同节点数的电网,我们通过将未知的潮流状态置为零来处理,对于不同pv节点数的电网,我们通过k个三元组来处理,每个三元组包括(p,q,v)三个量,对于一个有k个pv节点的电网,取其中k个三元组为(p,0,v),其余取(p,q,0),以步骤1-1)~1-4)所述电网为例,其节点2为pv节点,输入矩阵的该行可表示为:

input_14=[v1θ1p20v2p3p4p5000000000q3q4q5000000000g12~g1(14)g23~g2(14)g34~g3(14)g45~g4(14)g56~g5(14)g67~g6(14)g78~g7(14)g89~g8(14)g9(10)~g9(14)g(10)(11)~g(10)(14)g(11)(12)~g(11)(14)g(12)(13)~g(12)(14)g(13)(14)~g(13)(14)b12~b1(14)b23~b2(14)b34~b3(14)b45~b4(14)b56~b5(14)b67~b6(14)b78~b7(14)b89~b8(14)b9(10)~b9(14)b(10)(11)~b(10)(14)b(11)(12)~b(11)(14)b(12)(13)~b(12)(14)b(13)(14)~b(13)(14)」

当在步骤1-1)中取k=0时,即节点2为pq节点时,输入矩阵的该行可表示为:

input_14=[v1θ1p2q20p3p4p5000000000q3q4q5000000000g12~g1(14)g23~g2(14)g34~g3(14)g45~g4(14)g56~g5(14)g67~g6(14)g78~g7(14)g89~g8(14)g9(10)~g9(14)g(10)(11)~g(10)(14)g(11)(12)~g(11)(14)g(12)(13)~g(12)(14)g(13)(14)~g(13)(14)b12~b1(14)b23~b2(14)b34~b3(14)b45~b4(14)b56~b5(14)b67~b6(14)b78~b7(14)b89~b8(14)b9(10)~b9(14)b(10)(11)~b(10)(14)b(11)(12)~b(11)(14)b(12)(13)~b(12)(14)b(13)(14)~b(13)(14)」,

1-6)将所有节点的电压幅值v和电压相角θ作为标签矩阵的某一行。标签

矩阵的该行可表示为:

target_14=[v1v2v3v4v5v6v7v8v9v(10)v(11)v(12)v(13)v(14)θ1θ2θ3θ4θ5θ6θ7θ8θ9θ(10)θ(11)θ(12)θ(13)θ(14)],

以步骤1-1)~1-4)所述电网为例,标签矩阵的该行可表示为:

target_5=[v1v2v3v4v5000000000θ1θ2θ3θ4θ5000000000],

将生成的数据集分为训练集、验证集、测试集。在本实施例中,取训练集、验证集、测试集分别为400000、60000、40000;

对于步骤2)中的每个训练数据(xi,ti),执行如下步骤:

3-1)对ti施加一个小扰动得到保留原始导纳矩阵,根据潮流方程计算每个节点的有功功率和无功功率经小扰动后得到的有功功率和无功功率可表示为:

3-2)对ti施加一个大扰动得到保留原始导纳矩阵,根据潮流方程计算每个节点的有功功率和无功功率经大扰动后得到的有功功率和无功功率可表示为:

3-3)将分别作为正样本集中输入矩阵以及标签矩阵的某一行,分别作为负样本集中输入矩阵以及标签矩阵的某一行;

基于三元组损失函数的孪生神经网络模型,以tensorflow作为平台,python作为编程语言、随机梯度算法作为优化方法,充分训练后得到嵌入层系数p,如附图1所示的基于三元组损失函数的孪生神经网络模型可描述为:

y1=wxi+b,

d1=||y1-y2||,

d2=||y1-y3||,

其中,嵌入层系数p由最终的(w,b)组成;

将步骤2)中的潮流嵌入层作为深度神经网络的第一层隐层,在此基础上训练一个深度神经网络用于计算节点数不大于n的可变拓扑电网。以残差网络为例,最终的带嵌入层的残差网络模型结构如附图5所示;

对于任意一个需要进行潮流计算的电网,使用步骤5)中训练完毕的深度神经网络得到相应潮流解。以如附图4所示的五节点电网为例,执行以下步骤:

6-1)将网络进行抽样后,得到相关参数,该五节点电网的节点参数如表1所示,线路参数如表2所示;

表1:五节点电网节点参数

表2:五节点电网线路参数

6-2)根据表1-表2,得到其导纳矩阵y的实部g、虚部b以及深度神经网络的输入input:

input=[1.0501.050523.71.60000000001.01.30.80000000000000000000000000000000000-0.8299-0.6240000000000-0.75470000000000000000000000000000000000000000000000000000000033.3333000000000066.6667000000000003.11203.90020000000002.6415000000000000000000000000000000000000000000000000000000],

6-3)将输入作为深度神经网络的输入,进行前向计算后得到相应的输出即可。

以下通过数据说明本发明的可行性。表3展示了几种取n=50、k=3的不带嵌入层的栈式自编码器的在训练集上以及测试集上的误差。

表3:基于栈式自编码器的潮流计算结果

根据表格3,可以发现隐含层神经元数量多、隐含层数目多的网络往往有着更好的训练和测试结果。例如,通过比较我们能够发现表3中网络结构为2554-2000-1000-500-100的栈式自编码器,同时也能够发现网络结构为2554-5000-1000-500-100的栈式自编码器,后者在训练集与测试集上均有更好的效果;通过比较表3中网络结构为2554-5000-100的栈式自编码网络以及表3中网络结构为2554-2000-1000-100的栈式自编码网络,后者在训练误差与测试误差上均略低于前者,但是后者所需训练的参数远远小于前者。

表4:栈式自编码器训练以及测试时间

表4展示了三隐层栈式自编码器两种不同结构的训练及测试时间,其中测试时间为计算附图2所示的十四节点电网的潮流值所需的时间,如附图2所示的十四节点电网,电网节点参数如表5所示,电网线路参数如表6所示;

表5:十四节点电网节点参数

表6:十四节点电网线路参数

对于如附图2所示的十四节点电网,采用牛顿-拉夫逊法所需时间约为0.113314s,根据表4所示结果,使用栈式自编码器可以更快的得到结果。对于如附图2所示的十四节点电网,将电阻值增大100倍时,采用牛顿-拉夫逊法时,雅各比矩阵会出现奇点,从而导致其误差上下震荡,不能收敛。当使用表3中网络结构为2554-2000-1000-500-100的栈式自编码器来计算这一网络的潮流值并将计算得到的结果重新带入潮流方程时,可得到有功功率的最大误差为0.03(kva),无功功率的最大误差为0.02(kva),可见本发明在一定程度上可以给出病态潮流的参考值。

通过这一实施例,一方面证明了深度神经网络有解决潮流计算这一问题的能力,另一方面通过与牛顿法的对比,说明了本发明在计算快速性以及收敛性上的优势。为了进一步说明本发明所提到的嵌入层的能力,我们将以n=14、k=1为例,训练4个带嵌入层的不同的深度神经网络,即浅层bp神经网络、深度bp神经网络与深度relu神经网络以及残差网络,并将其应用于如附图4所示的五节点电网中。

表7-表10分别展示了带嵌入层的浅层bp神经网络、深度bp神经网络与深度relu神经网络以及残差网络的仿真结果。表中电压幅值以及电压幅值误差的单位为p.u.,电压角度以及电压角度误差的单位为度。

表7:带嵌入层的浅层bp神经网络潮流计算实验结果

表8:带嵌入层的深度bp神经网络潮流计算实验结果

表9:带嵌入层的深度relu神经网络潮流计算实验结果

表10:带嵌入层的残差网络潮流计算实验结果

表7展示了将一个训练完的带嵌入层的浅层bp神经网络应用于如附图4所示的五节点电网的实验结果。根据电压幅值误差以及电压角度误差,可以认为浅层神经网络能在一定程度上用于电网的潮流计算,但精确性较差;

表8展示了将一个训练完的带嵌入层的深度bp神经网络(十层)应用于如附图4所示的五节点电网的实验结果。通过比较表7与表8之间的结果,深度bp神经网络的仿真效果远不如浅层bp神经网络,这是因为深度bp神经网络会出现梯度消失的问题。同时也说明了潮流嵌入技术无法解决梯度消失问题;

表9展示了将一个训练完的带嵌入层的深度relu神经网络(十层)应用于如附图4所示的五节点电网的实验结果。通过比较表8与表9,可以发现深度relu神经网络的误差要远小于相同结构的深度bp神经网络;

表10展示了将一个训练完的带嵌入层的深度残差网络(十层)应用于如附图4所示的五节点电网的实验结果。通过比较表7~表10,残差网络在性能上是最好的。

表11:不带嵌入层的各网络仿真结果

表11展示了不带嵌入层的各个网络的仿真结果。通过比较表7-表11,在潮流嵌入技术的支持下,除深度bp神经网络外的各个网络,其性能均得到了一定的提高,即使是使用最简单的浅层bp神经网络,也可以得到相对较好的实验结果,这说明了潮流嵌入技术在一定程度上可以挖掘电网输入数据的潜在特征,从而进一步提高模型的表现力。

以上所述仅是本发明优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1