一种提高电力系统状态估计计算速度的方法与流程

文档序号:13449341阅读:257来源:国知局
一种提高电力系统状态估计计算速度的方法与流程

本发明涉及一种提高电力系统状态估计计算速度的方法,属于电力自动化技术领域。



背景技术:

随着智能调度技术支持系统(d5000)国分省各级调度系统及模型数据中心的建设以及电网规模的发展,使得电力系统状态估计计算规模日益增大,目前智能调度技术支持系统中实际生产运行的状态估计,尤以模型数据中心运行的状态估计,其建模范围从特高压1000kv至10kv馈线出线,状态估计计算规模非常大,使得其计算效率难以满足实时计算分析的需求。因此,提高大规模电网状态估计计算效率成为了很多科研学者所关注的重点。

目前在电力系统状态估计计算中信息矩阵的计算以及线性方程组系数矩阵的lu因子分解占据了状态估计大部分时间,其中对于大型稀疏线性系统,因子分解计算时间占求解方程组计算总时间比例较大,提高信息矩阵和lu分解的速度对整个电力系统状态的加速起着举足轻重的作用。



技术实现要素:

为了解决上述技术问题,本发明提供了一种提高电力系统状态估计计算速度的方法。

为了达到上述目的,本发明所采用的技术方案是:

一种提高电力系统状态估计计算速度的方法,包括,

将调度控制系统中的关系型电网模型转换成层次型电网模型;

读取调度系统中scada的量测,并与层次型电网模型中的元件关联;

根据遥信以及各元件的连接关系,确定网络拓扑,即节点-支路模型;

基于节点关联的量测数目进行节点排序;

根据节点-支路模型基于openmp技术形成有功雅可比矩阵hp和无功雅可比矩阵hq;

基于稀疏矩阵技术以及openmp技术计算有功信息矩阵gp和无功信息矩阵gq,gp为(n-1)×(n-1)维矩阵,gq为n×n维矩阵,n为电网计算节点数;

对有功信息矩阵gp根据非零元符号分析方法从第1列到第n-1列依次完成下三角矩阵l和上三角矩阵u的各列非零元行号集合的分析;

对无功信息矩阵gq根据非零元符号分析方法从第1列到第n列依次完成下三角矩阵l和上三角矩阵u的各列非零元行号集合的分析;

对有功信息矩阵gp根据leftlookinglu数值分解计算分析方法,并结合所得的非零行号集合从第1列到第n-1列依次进行leftlookinglu数值分解;

对无功信息矩阵gq根据leftlookinglu数值分解计算分析方法,并结合所得的非零行号集合从第1列到第n列依次进行leftlookinglu数值分解;

在状态估计计算过程中反复迭代求解方程组gδxk=htr-1·[z-h]并修正状态量,直至δxk满足指定的收敛判据;其中,g为有功信息矩阵gp或无功信息矩阵gq,xk为第k次迭代计算时节点电压幅值或相角,即状态量,xk+1=xk+δxk,h为非线性量测矢量函数,z为量测矢量,当g为有功信息矩阵gp,则r为h为hp,当g为无功信息矩阵gq,则r为h为hq,分别为有功量测误差方差阵和无功测误差方差阵;

当δxk小于迭代门槛时,停止迭代计算。

转换成的层次型电网模型存入层次型数据库,量测也存入层次型数据库,并与层次型电网模型中的元件关联。

量测中的遥信包括断路器状态和刀闸状态;当状态估计基于新的电网模型计算时,基于全网元件进行网络拓扑分析;当本次断路器、刀闸状态较上次状态变化数目超过阈值时,基于全网元件进行网络拓扑分析;当本次断路器、刀闸状态较上次状态变化数目没超过阈值时,只对遥信状态发生变化的厂站按电压等级进行局部网络拓扑分析。

采用基于最小二乘原理的快速分解状态估计算法将有功修正方程和无功修正方程解耦,并行计算有功雅可比矩阵hp和无功雅可比矩阵hq。

根据形成的有功雅可比矩阵hp、无功雅可比矩阵hq、有功量测误差方差阵和无功测误差方差阵基于稀疏矩阵技术以及openmp技术计算有功信息矩阵和无功信息矩阵

设系数矩阵a=lu的某列向量为b,通过求解lx=b获得列向量x的非零元结构;

设β={i|bi≠0},χ={j|xj≠0}分别表示b和x中非零元的节点集合,其中bi为列向量b中第i行元素,xj为列向量x中第j行元素;其中,i∈[1,n′],j∈[1,n′],当状态估计计算中系数矩阵a为有功信息矩阵gp,n′=n-1,当状态估计计算中系数矩阵a为无功信息矩阵gq,n′=n;

假设已经计算得到l的k′-1列,其对应的有向图为g(lk′-1);

l、u第k′列非零节点集合通过以下准则得到,

其中,lij≠0表示g(lk′-1)中存在从节点j到节点i的边,xi为列向量x中第i行元素;

在求解x的非零元结构时,忽略数值抵消所产生的零值,由于lij*xj的计算导致不论bi是否为0,xi非零;

a及l按列稀疏存储,检索a某列非零元的行号,并通过行号从l对应的列中检索该列非零元,通过深度搜索算法得到x的非零集合。

本发明所达到的有益效果:1、通过基于openmp共享内存编程的方式使用多线程并行算法实现有功和无功雅可比矩阵、信息矩阵的快速计算,在矩阵相乘过程中使用稀疏技术通过排零运算降低计算量,在因子分解过程中基于非零元符号分析和数值分解方法加快信息矩阵的分解速度,从而提高大规模电网状态估计的整体计算速度;2、基于局部拓扑技术可以大大降低大规模电网状态估计中在遥信预处理时的拓扑分析耗时,有效避免了遥信预处理前后基于全网模型进行拓扑分析耗时长的出现概率;3、在lu分解过程中采用符号分析和数值分解分离的方法,可以有效避免在分解过程中零元素的计算。

附图说明

图1为本发明的流程图;

图2为信息矩阵并行计算流程;

图3为非零元结构分析示意图;

图4为求解l、u第j列的示意图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

如图1所示,一种提高电力系统状态估计计算速度的方法,包括以下步骤:

步骤1,将调度控制系统中的关系型电网模型转换成层次型电网模型,并存入层次型数据库。

由于电力系统电网结构具有层次性的关系,为了分析计算的便利,在状态估计计算中采用基于层次型数据库的分析计算方法,首先根据调控控制系统中关系型的电网模型转换为层次型的电网模型并将电网模型存入层次型数据库,层次型数据库采用磁盘文件映射的方式将电网模型以二进制文件存储在状态估计应用服务器硬盘上,层次型数据库中的元件和调度控制系统中关系型数据库的元件一一对应,在计算分析计算时基于层次型数据库进行计算分析。

步骤2,读取调度系统中scada的量测,并与层次型电网模型中的元件关联。

状态估计从调度控制系统取得scada的量测,其中遥信包括断路器状态和刀闸状态,遥测包括线路有功、无功、电流,变压器有功、无功、电流、档位、负荷有功、无功、电流,发电机有功、无功、电流和母线电压,由于层次型数据库的元件和调度控制系统中关系型数据库的元件通过关键字一一对应,所以很容易将scada采集的量测关联到层次型数据库中对应的元件上。

步骤3,根据断路器状态、刀闸状态以及各元件的连接关系,确定网络拓扑,即节点-支路模型。

当状态估计基于新的电网模型计算时,基于全网元件进行网络拓扑分析;当本次断路器、刀闸状态较上次状态变化数目超过阈值时,基于全网元件进行网络拓扑分析。实际电网中,很多断路器、刀闸的状态在正常运行时很少发生改变,因此当本次断路器、刀闸状态较上次状态变化数目没超过阈值时,只对遥信状态发生变化的厂站按电压等级进行局部网络拓扑分析。基于局部拓扑技术可以大大降低大规模电网状态估计中在遥信预处理时的拓扑分析耗时,有效避免了遥信预处理前后基于全网模型进行拓扑分析耗时长的出现概率。

步骤4,基于节点关联的量测数目进行节点排序,根据节点-支路模型基于openmp(openmultiprocessing)技术形成有功雅可比矩阵hp和无功雅可比矩阵hq。

采用基于最小二乘原理的快速分解状态估计算法将有功修正方程和无功修正方程解耦,并行计算有功雅可比矩阵hp和无功雅可比矩阵hq。

步骤5,根据形成的有功雅可比矩阵hp、无功雅可比矩阵hq、有功量测误差方差阵和无功测误差方差阵基于稀疏矩阵技术以及openmp技术计算有功信息矩阵和无功信息矩阵gp为(n-1)×(n-1)维矩阵,gq为n×n维矩阵,n为电网计算节点数;

使用openmp技术实现gp、gq的快速计算,基于稀疏技术计算gp、gq某一列值,具体流程如图2所示。

步骤6,对有功信息矩阵gp根据非零元符号分析方法从第1列到第n-1列依次完成下三角矩阵l和上三角矩阵u的各列非零元行号集合的分析;对无功信息矩阵gq根据非零元符号分析方法从第1列到第n列依次完成下三角矩阵l和上三角矩阵u的各列非零元行号集合的分析。

设系数矩阵a=lu的列向量为b,通过求解lx=b获得列向量x的非零元结构;

设β={i|bi≠0},χ={j|xj≠0}分别表示b和x中非零元的节点集合,其中bi为列向量b中第i行元素,xj为列向量x中第j行元素;其中,i∈[1,n′],j∈[1,n′],当状态估计计算中系数矩阵a为有功信息矩阵gp,n′=n-1,当状态估计计算中系数矩阵a为无功信息矩阵gq,n′=n;

假设已经计算得到l的k′-1列,其对应的有向图为g(lk′-1);

l、u第k′列非零节点集合通过以下准则得到,

其中,lij≠0表示g(lk′-1)中存在从节点j到节点i的边,xi为列向量x中第i行元素;

在求解x的非零元结构时,忽略数值抵消所产生的零值,由于lij*xj的计算导致不论bi是否为0,xi非零,非零元结构分析示意图如3所示;

由于a及l按列稀疏存储,检索a某列非零元的行号,并通过行号从l对应的列中检索该列非零元,通过深度搜索算法得到x的非零集合。

步骤7,对有功信息矩阵gp根据leftlooking(向左看)lu数值分解计算分析方法,并结合所得的非零行号集合从第1列到第n-1列依次进行leftlookinglu数值分解;对无功信息矩阵gq根据leftlookinglu数值分解计算分析方法,并结合所得的非零行号集合从第1列到第n列依次进行leftlookinglu数值分解。

leftlookinglu数值分解从第1列到最后一列依次分解,即每次计算一个列向量,根据这一列的符号分析结果进行数值计算,从而获得第该列的所有非零元的数值。

求解l、u第j列的示意图如4所示,设图4中矩阵块lj、l′j、uj和向量aj、a′j、lj、uj、x′j定义如下;

aj=(a1j,…,a(j-1)j)t

a′j=(ajj,…,an′j)t

lj=(ljj,…,ln′j)t

uj=(u1j,…,u(j-1)j)t

x′j=(xjj,…,xn′j)t

其中,x′j为x的第j列第j个至第n′个元素集合,ajj为a的第j行j列元素,aj为a的第j列第1个至第j-1个元素集合,a′j为a的第j列第j个至第n′个元素集合,uj为u第j列第1个至第j-1个元素集合;

计算l、u第j列元素时,首先通过求解下三角方程组ljuj=aj(ljuj=aj为具体的求解表达式,而上面的lx=b为通用表达式)得到uj,然后求解x′j=a′j-l′juj,通过x′j选主元得到主元ujj,ujj为选定的u第j列第j个元素,并计算uj=x′j,lj=x′j/ujj,从而基于l的第1,…,j-1列求解下三角方程组ljuj=aj得到l、u的第j列值。

在lu分解过程中采用符号分析和数值分解分离的方法,可以有效避免在分解过程中零元素的计算。

步骤8,在状态估计计算过程中反复迭代求解方程组gδxk=htr-1·[z-h]并修正状态量,直至δxk满足指定的收敛判据;其中,g为有功信息矩阵gp或无功信息矩阵gq,xk为第k次迭代计算时节点电压幅值或相角,即状态量,xk+1=xk+δxk,h为非线性量测矢量函数,z为量测矢量,当g为有功信息矩阵gp,则r为h为hp,当g为无功信息矩阵gq,则r为h为hq,分别为有功量测误差方差阵和无功测误差方差阵。

步骤9,当δxk小于迭代门槛时,停止迭代计算。根据状态估计计算得到的节点电压幅值和相角计算电网中所有设备的潮流值,包括线路、变压器、负荷、发电机等设备有功、无功值,容抗器的无功值和考核指标等。

上述方法通过基于openmp共享内存编程的方式使用多线程并行算法实现有功和无功雅可比矩阵、信息矩阵的快速计算,在矩阵相乘过程中使用稀疏技术通过排零运算降低计算量,在因子分解过程中基于非零元符号分析和数值分解方法加快信息矩阵的分解速度,从而提高大规模电网状态估计的整体计算速度。

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

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