CN111062610B - 一种基于信息矩阵稀疏求解的电力***状态估计方法和*** - Google Patents
一种基于信息矩阵稀疏求解的电力***状态估计方法和*** Download PDFInfo
- Publication number
- CN111062610B CN111062610B CN201911294697.7A CN201911294697A CN111062610B CN 111062610 B CN111062610 B CN 111062610B CN 201911294697 A CN201911294697 A CN 201911294697A CN 111062610 B CN111062610 B CN 111062610B
- Authority
- CN
- China
- Prior art keywords
- node
- information matrix
- matrix
- active
- map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 273
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000009826 distribution Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 230000008030 elimination Effects 0.000 claims abstract description 27
- 238000003379 elimination reaction Methods 0.000 claims abstract description 27
- 238000005457 optimization Methods 0.000 claims abstract description 12
- 230000011664 signaling Effects 0.000 claims abstract description 12
- 238000003860 storage Methods 0.000 claims description 21
- 238000005259 measurement Methods 0.000 claims description 17
- 238000012163 sequencing technique Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 9
- 238000002347 injection Methods 0.000 claims description 8
- 239000007924 injection Substances 0.000 claims description 8
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 abstract description 25
- 239000013598 vector Substances 0.000 description 26
- 238000000354 decomposition reaction Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- VZSRBBMJRBPUNF-UHFFFAOYSA-N 2-(2,3-dihydro-1H-inden-2-ylamino)-N-[3-oxo-3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propyl]pyrimidine-5-carboxamide Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C(=O)NCCC(N1CC2=C(CC1)NN=N2)=O VZSRBBMJRBPUNF-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 102000002274 Matrix Metalloproteinases Human genes 0.000 description 1
- 108010000684 Matrix Metalloproteinases Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Marketing (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Mathematical Analysis (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Water Supply & Treatment (AREA)
- Algebra (AREA)
- Public Health (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明公开本发明提出一种电力***状态估计方法和***,方法包括:实时获取电力***一次设备遥测遥信数据;构建电力***节点支路模型;根据节点支路模型确定有功雅可比矩阵的非零元分布,确定有功信息矩阵的非零元分布;基于有功信息矩阵非零元分布进行节点优化编号;根据新的节点顺序计算有功雅可比矩阵和无功雅可比矩阵,得到新的有功信息矩阵和无功信息矩阵,并采用高斯消元法进行因子分解,得到的有功信息矩阵因子表和无功信息矩阵因子表;基于有功信息矩阵因子表和无功信息矩阵因子表进行电力***状态估计。利用本发明进行信息矩阵的求解以及电力***状态估计,可减少求解过程中的内存操作,减小计算负荷,提升电网状态估计的计算效率。
Description
技术领域
本发明涉及电力***调度自动化技术领域,特别是一种对状态估计信息矩阵的求解过程进行优化的电力***状态估计方法和***。
背景技术
目前调度控制***中实际生产运行***的状态估计程序大部分都是基于最小二乘原理的快速分解状态估计算法(Fast Decoupled State Estimation,FDSE),其迭代计算公式如下式所示。
式中:z为量测矢量(m维),为状态量(n维),R为量测误差方差阵,h为非线性量测矢量函数,为雅可比矩阵,G=HTR-1H为信息矩阵,z一般包括支路功率、节点注入功率和节点电压幅值等量测,为状态量修正量。
计算信息矩阵G=HTR-1H可描述为稀疏矩阵相乘问题(Sparse MatrixMultiplication,SPMM);式(1-a)为线性方程组求解问题,数学上普遍基于三角分解法进行求解,由于G为对称实矩阵,一般将其分解为LDU,其中L=UT,为单位下三角阵,D为对角阵。
随着调控云实时数据平台的建设,电力***状态估计计算规模日益增大,对于国分和省地实时数据平台,状态估计计算节点数目达到1万~2万节点,量测数目达到5万~7万个,使得已有状态计算程序在效率上难以满足实时计算分析的需求。在FDSE中信息矩阵的计算以及迭代公式线性方程组系数矩阵的LU因子分解占据了状态估计大部分时间,提高状态估计信息矩阵和LU分解的计算速度对整个电力***状态的加速起着举足轻重的作用。
传统状态估计程序中对信息矩阵的求解虽然采用稀疏存储,但在矩阵乘法、因子分解过程中仍按稠密向量进行运算,从而导致计算效率的降低。在状态估计中,信息矩阵的计算可以用式C=AB表示,其中,A、B是实数稀疏矩阵。设稀疏矩阵A、B的维数分别为m1*n1和m2*n2,且n1=m2,A、B均以CSR(Compressed Sparse Row)格式进行存储,ai_nz,bi_nz分别为A、B第i行非零元数目。设C(i)为C第i行向量,C(i,j)为C(i)第j列非零元值,采用逐行乘积累积求和的方式求解C=AB,有矩阵C一般也为稀疏矩阵。由于不能预先知道稀疏向量C(i)/矩阵C采用CSR格式存储占用的空间大小,传统的实现方法一般采用稠密向量C(i),维数定义为n2,在计算C(i,j)前对C(i)进行初始化或者预先虚拟计算得到C(i)需要的存储空间,但这样会消耗很长时间,影响计算效率。例如,采用稠密向量C(i),由于预先未知C(i)的非零元分布,采用逐行乘积累积求和前需要将C(i)中所有元素初始化为零,C(i)运算结束后再采用稀疏压缩存储从而实现C的CSR格式存储,这样操作存在的主要问题是稀疏矩阵C中原本不需要存储的零元在稠密向量C(i)中需要初始化为零。
在状态估计问题求解中,当计算节点数目n较大时,需要做大量的内存初始化(或者内存分配释放)工作,从而会降低计算效率,对3万节点规模的电网在计算信息矩阵时,采用单精度浮点float类型、非零索引采用4字节整型时,求解C(i)需要初始化的内存达到0.228MB,求解C需要初始化的内存达到68.66MB,当节点规模更大或者采用双精度时需要初始化的内存更大,会大大增加高速缓存与内存之间的数据传递量,导致高速缓存命中率较低,严重影响了信息矩阵的计算效率。
在稀疏矩阵因子分解过程中会产生非零注入元,在按行/列消去运算前无法确定因子表非零元的分布,常规的按行/列分解方法是将系数矩阵行稀疏向量展开为稠密向量,并基于稠密向量进行消去运算,每行/列运算结束后再采用稀疏压缩存储从而实现因子表的CSR/CSC格式存储。类似于SPMM问题,这种实现方法存在的主要问题是基于稀疏向量展开为稠密向量时原本不需要存储的零元在稠密向量中进行了存储,当计算节点数目n较大时,即使程序能够利用空间局部性提高命中率,但大量的数据仍需要在缓存和主存之间进行传送,影响了三角分解的效率。
发明内容
本发明的目的是,提供一种电力***状态估计方法和***,可减少求解过程中的内存操作,减小计算负荷,提升电网状态估计的计算效率。
本发明采取的技术方案如下:
一方面,本发明提出一种电力***状态估计方法,包括:
实时获取电力***一次设备遥测遥信数据;
基于获取到的数据构建电力***节点支路模型;
根据节点支路模型确定有功雅可比矩阵的非零元分布;
根据有功雅可比矩阵的非零元分布,确定有功信息矩阵的非零元分布;
基于有功信息矩阵非零元分布结构进行节点优化编号;
根据新的节点顺序计算有功雅可比矩阵和无功雅可比矩阵,进而得到新的有功信息矩阵和无功信息矩阵;
对新的有功信息矩阵和无功信息矩阵分别进行因子分解,得到有功信息矩阵因子表和无功信息矩阵因子表;
基于有功信息矩阵因子表和无功信息矩阵因子表进行电力***状态估计。
本发明通过基于有功信息矩阵非零元分布进行节点优化编号,而非基于节点出线度和节点量测数进行节点优化编号,可减少后续信息矩阵因子分解过程中非零元产生的数目;在此基础上,本发明对新的有功信息矩阵和无功信息矩阵分别进行因子分解,避免了将稀疏向量展开为稠密向量的工作,以及分解过程中需要频繁初始化数组内存并运算引起的效率低下,可有效提高高维度稀疏矩阵三角分解的计算效率,也即减少了求解过程中的内存操作,减小了计算负荷,提升电网状态估计的计算效率。
可选的,所述有功雅可比矩阵非零元分布和有功信息矩阵非零元分布,以及节点优化编号后的有功信息矩阵和无功信息矩阵,分别采用C++标准模板库关联容器定义结构进行稀疏存储;有功信息矩阵因子表和无功信息矩阵因子表存入采用C++标准模板库关联容器定义的数据结构,或者转换为按行/按列稀疏储存。基于STL关联容器实现稀疏矩阵的存储和运算,降低了SPMM、节点优化编号和三角分解等三个过程中不必要的内存操作,可有效降低内存和高速缓存之间数据传递量,显著提高了状态估计的计算效率。
可选的,各电力***一次设备遥测遥信数据,并行从调度自动化***中分别针对各一次设备类型设置的实时库单表中获取。
稀疏矩阵Hp、Gp非零元分布采用C++STL提供的关联容器map和set定义结构进行存储,包括:定义一结构:typedef std::set<int>SparseRowNzSet用于存储某一行非零元列号集合,列号由set中int型(整型变量)的索引值表示;定义一结构typedef std::map<int,SparseRowNzSet>SparseMatrixNzMap用于存储稀疏矩阵Hp、Gp非零元的分布,行号由int型的键索引表示。
由于Hp中各元素直接完全相互独立,因此可通过并行方式形成有功雅可比矩阵Hp非零元分布。
可选的,定义有功信息矩阵Gp的非零元分布为g_nz_map,其存储于SparseMatrixNzMap结构中,基于有功信息矩阵非零元分布结构进行节点优化编号包括:
基于g_nz_map获得初始系数矩阵各出线度的节点组合,定义为d_bus_map,存储于基于C++STL关联容器预先定义的typedef std::map<int,std::set<int>>DegreeBusMap结构中;
采用模拟高斯消元法和半动态最小度算法对有功信息矩阵Gp的节点进行排序,将排序过程中各出线度的节点集合分别存储至DegreeBusMap结构中;
DegreeBusMap结构中的各元素以出线度值作为键值,实际值为出线度等于键值的节点set集合。节点优化编号过程中只进行网络结构变化的处理,不进行实际的数值运算。
可选的,对有功信息矩阵Gp的节点进行排序的过程中,使用C++STL提供的insert、erase操作实现对set集合中新增注入元的***和已消去节点的删除。可避免自行设计复杂数据结构及其排序、增加、删除等算法操作,提高开发编程效率。
可选的,采用模拟高斯消元法和半动态最小度算法对有功信息矩阵Gp的节点进行排序包括:
S1,确定当前g_nz_map和d_bus_map中的节点元素;
S2,从当前d_bus_map中选取节点出线度最小的节点作为当前次消去节点,记为k;
S3,根据g_nz_map修正与节点k及其关联节点的关联节点集合set,记为Link_set;
S4,根据节点k的键值,从g_nz_map中删除节点k,并对当前删除的节点k进行编号;
S5,根据节点删除后的g_nz_map修正d_bus_map,作为更新后的当前d_bus_map;
S6,重复步骤S1至S6,直至初始d_bus_map中的所有节点排序完成,结束排序操作。
半动态最小度排序算法的核心思想是在分解的过程中将非零元最少的节点优先编号,在消去节点时修改剩余节点所在行的非零元数目,已编号的节点及其出发的边不再参与后面的模拟消去运算。
将Hp、Hq、Gp和Gq采用C++STL提供的关联容器定义结构进行稀疏矩阵的存储,矩阵中的零元素不进行存储。
可选的,对于节点优化编号后采用SparseRowMap结构存储的Gp和Gq,并行采用高斯消元法进行因子分解,新产生的非零注入元调用关联容器的insert操作,或者将map作为关联式数组进行非零元的***。在基于SparseRowMap进行消去运算后,因子表非零元的列号索引将自动进行排序。
本发明还提供一种电力***状态估计***,包括:
数据获取模块,用于实时获取电力***一次设备遥测遥信数据;
节点支路模型构建模块,用于基于获取到的数据构建电力***节点支路模型;
有功雅克比矩阵确定模块,用于根据节点支路模型确定有功雅可比矩阵的非零元分布;
有功信息矩阵确定模块,根据有功雅可比矩阵的非零元分布,确定有功信息矩阵的非零元分布;
节点排序模块,用于基于有功信息矩阵非零元分布结构进行节点优化编号;
信息矩阵确定模块,用于根据新的节点顺序计算有功雅可比矩阵和无功雅可比矩阵,进而得到新的有功信息矩阵和无功信息矩阵;
因子分解模块,用于对新的有功信息矩阵和无功信息矩阵分别进行因子分解,得到有功信息矩阵因子表和无功信息矩阵因子表;
以及后续处理模块,用于基于有功信息矩阵因子表和无功信息矩阵因子表进行电力***状态估计。
有益效果
与现有技术相比,本发明具有以下进步:
(1)通过基于有功信息矩阵非零元分布进行节点优化编号,并对节点排序后的有功信息矩阵和无功信息矩阵采用高斯消元法进行因子分解,可减少信息矩阵因子分解过程中非零元产生的数目,避免了将稀疏向量展开为稠密向量的工作,以及分解过程中需要频繁初始化数组内存并运算引起的效率低下,提高高维度稀疏矩阵三角分解的计算效率;
(2)通过基于STL关联容器实现稀疏矩阵的存储和运算,降低了SPMM、节点优化编号和三角分解等三个过程中不必要的内存操作,可有效降低内存和高速缓存之间数据传递量,显著提高了状态估计的计算效率;
(3)基于STL关联容器编程可有效利用STL先进高效的算法实现内存数据的管理,避免了自行编写复杂的数据结构及算法,降低了编程的复杂度,有效提升了编程效率和程序品质;
(4)本发明方法能够有效兼容目前调度控制***中已有的软硬件平台,不改变状态估计应用的部署架构和总体流程,可以复用已有的程序功能。
附图说明
图1所示为本发明状态估计方法中信息矩阵求解流程示意图;
图2所示为雅可比矩阵非零元分布示意图;
图3所示为信息矩阵求解示意图;
图4所示为基于STL关联容器的快速节点排序流程示意图。
具体实施方式
以下结合附图和具体实施例进一步描述。
传统状态估计程序中对信息矩阵的求解虽然采用稀疏存储,但在矩阵乘法、因子分解过程中仍按稠密向量进行运算,从而导致计算效率的降低。而本发明的发明构思为:通过在对信息矩阵的求解和矩阵乘法、因子分解过程中皆采用稀疏算法,提高状态估计的计算效率。
实施例1
本实施例为一种电力***状态估计方法,参考图1所示,方法包括:
实时获取电力***一次设备遥测遥信数据;
基于获取到的数据构建电力***节点支路模型;
根据节点支路模型确定有功雅可比矩阵的非零元分布;
根据有功雅可比矩阵的非零元分布,确定有功信息矩阵的非零元分布;
基于有功信息矩阵非零元分布结构进行节点优化编号;
根据新的节点顺序计算有功雅可比矩阵和无功雅可比矩阵,进而得到新的有功信息矩阵和无功信息矩阵;
对新的有功信息矩阵和无功信息矩阵分别进行因子分解,得到有功信息矩阵因子表和无功信息矩阵因子表;
基于有功信息矩阵因子表和无功信息矩阵因子表进行电力***状态估计。
通过基于有功信息矩阵非零元分布进行节点优化编号,而非基于节点出线度和节点量测数进行节点优化编号,可减少后续信息矩阵因子分解过程中非零元产生的数目;在此基础上,本发明对新的有功信息矩阵和无功信息矩阵分别进行因子分解,可采用高斯消元法,能够避免将稀疏向量展开为稠密向量的工作,以及分解过程中需要频繁初始化数组内存并运算引起的效率低下,可有效提高高维度稀疏矩阵三角分解的计算效率,也即减少了求解过程中的内存操作,减小了计算负荷,提升电网状态估计的计算效率。
在上述基础上,本实施例中,对于有功雅可比矩阵非零元分布和有功信息矩阵非零元分布,以及节点优化编号后的有功信息矩阵和无功信息矩阵,分别采用C++标准模板库关联容器定义结构进行稀疏存储;有功信息矩阵因子表和无功信息矩阵因子表存入采用C++标准模板库关联容器定义的数据结构,或者转换为按行/按列稀疏储存。基于STL关联容器实现稀疏矩阵的存储和运算,降低了SPMM、节点优化编号和三角分解等三个过程中不必要的内存操作,可有效降低内存和高速缓存之间数据传递量,显著提高了状态估计的计算效率。
实施例1-1
基于实施例1的基本流程,本实施例对电力***状态估计方法的流程进行具体描述。
一、电力***一次设备遥信遥测数据获取
各电力***一次设备遥测遥信数据,并行从调度自动化***中分别针对各一次设备类型设置的实时库单表中读取。电力***一次设备包括发电机、变压器、线路、负荷、容抗器、断路器、隔离开关等。
二、节点支路模型构建
根据调度自动化***中的关系型电网模型,包含一次设备的连接关系、设备参数等数据,进行拓扑分析,进而形成节点支路模型,具体可参考现有技术。
三、雅可比矩阵形成
稀疏矩阵Hp、Gp非零元分布采用C++STL提供的关联容器map和set定义结构进行存储,包括:定义一结构:typedef std::set<int>SparseRowNzSet用于存储某一行非零元列号集合,列号由set中int型的索引值表示;定义一结构:typedef std::map<int,SparseRowNzSet>SparseMatrixNzMap用于存储稀疏矩阵Hp、Gp非零元的分布,行号由int型的键索引表示;
由于Hp中各元素直接完全相互独立,因此可通过并行方式形成有功雅可比矩阵Hp非零元分布。
三、快速节点最小度节点优化编号
在快速分解状态估计中,传统方法是基于节点出线度(基于节点导纳矩阵Y)、节点量测数(雅可比矩阵H)进行节点优化编号,这种编号方法虽然简单,但Y、H非零元分布和FDSE迭代方程中线性方程组系数G的非零元分布并不一致。为了减少信息矩阵因子分解过程中非零元产生的数目,本发明基于有功信息矩阵非零元结构进行节点排序。
在排序过程中,基于C++STL关联容器定义结构typedef std::map<int,std::set<int>>DegreeBusMap用于记录排序过程中各出线度的节点集合,键值为出线度值,实际值为出线度等于键值的节点set集合。半动态最小度排序算法的核心思想是在分解的过程中将非零元最少的节点优先编号,在消去节点时修改剩余节点所在行的非零元数目,已编号的节点及其出发的边不再参与后面的模拟消去运算。在节点排序过程中使用C++标准模板库提供的insert、erase操作实现对set集合中新增注入元的***和已消去节点的删除,避免了自行设计复杂数据结构及其排序、增加、删除等算法操作。在节点优化编号过程中只进行网络结构变化的处理,不进行实际的数值运算。
具体的,节点优化排序流程参考图4所示,定义有功信息矩阵Gp的非零元分布为g_nz_map,其存储于SparseMatrixNzMap结构中,基于有功信息矩阵非零元分布结构进行节点优化编号包括:
基于g_nz_map获得初始系数矩阵各出线度的节点组合,定义为d_bus_map,存储于基于C++STL关联容器预先定义的typedef std::map<int,std::set<int>>DegreeBusMap结构中;
采用模拟高斯消元法和半动态最小度算法对有功信息矩阵Gp的节点进行排序,将排序过程中各出线度的节点集合分别存储至DegreeBusMap结构中;
DegreeBusMap结构中的各元素以出线度值作为键值,实际值为出线度等于键值的节点set集合。
其中,采用模拟高斯消元法和半动态最小度算法对有功信息矩阵Gp的节点进行排序包括:
S1,确定当前g_nz_map和d_bus_map中的节点元素;
S2,从当前d_bus_map中选取节点出线度最小的节点作为当前次消去节点,记为k;
S3,根据g_nz_map修正与节点k及其关联节点的关联节点集合set,记为Link_set;
S4,根据节点k的键值,从g_nz_map中删除节点k,并对当前删除的节点k进行编号;
S5,根据节点删除后的g_nz_map修正d_bus_map,作为更新后的当前d_bus_map;
S6,重复步骤S1至S6,直至初始d_bus_map中的所有节点排序完成,结束排序操作。
四、有功和无功雅可比矩阵以及信息矩阵形成
将Hp、Hq、Gp和Gq采用C++STL提供的关联容器定义结构进行稀疏矩阵的存储,矩阵中的零元素不进行存储。Gp和Gq采用C++STL提供的关联容器map和set定义结构进行稀疏存储。定义结构:typedef std::map<int,float>SparseRowMap用于存储稀疏矩阵行非零元,列号由int型的键索引表示,稀疏矩阵非零元由float型的关联值表示;定义结构typedef std::map<int,SparseRowMap>SparseMatrixMap用于存储稀疏矩阵,行号由int型的键索引表示。
在快速解耦状态估计中有功雅可比矩阵Hp和无功雅可比矩阵Hq相互独立,采用并行计算方法实现Hp和Hq的并行计算。
五、信息矩阵因子分解
由于有功信息矩阵Gp和Gq的因子表相互独立,因此对于节点优化编号后采用SparseRowMap结构存储的Gp和Gq,可并行采用高斯消元法进行因子分解,得到相应的因子表。
由于消去运算前无法确定因子表非零元的分布,传统的方法是按行将系数矩阵行稀疏向量展开为稠密向量,并基于稠密向量进行消去运算,每行运算结束后再采用稀疏压缩存储从而实现因子表的稀疏格式存储。
本实施例对采用SparseRowMap结构的信息矩阵Gp和Gq采用高斯消元法按行进行直接分解,新产生的非零注入元调用关联容器的insert操作或者将map作为关联式数组实现非零元的高效***,并且基于SparseRowMap进行消去运算后,因子表非零元的列号索引自动进行了排序。这样避免了将稀疏向量展开为稠密向量的工作以及按行分解需要频繁初始化数组内存及其运算引起的效率低下,有效提高了高维度稀疏矩阵三角分解的计算效率。
六、信息矩阵因子表的存储
本实施例将有功信息矩阵因子表和无功信息矩阵因子表存入采用C++STL关联容器定义的数据结构或者转换为按行/按列稀疏储存以备后续程序使用。
七、后续状态估计计算
后续状态估计计算基于步骤六存储的信息矩阵因子表进行,包括迭代计算节点电压等,可采用现有技术,不作为本发明的研究内容,不予赘述。
实施例2
与实施例1基于相同的发明构思,本实施例为一种电力***状态估计***,包括:
数据获取模块,用于实时获取电力***一次设备遥测遥信数据;
节点支路模型构建模块,用于基于获取到的数据构建电力***节点支路模型;
有功雅克比矩阵确定模块,用于根据节点支路模型确定有功雅可比矩阵的非零元分布;
有功信息矩阵确定模块,根据有功雅可比矩阵的非零元分布,确定有功信息矩阵的非零元分布;
节点排序模块,用于基于有功信息矩阵非零元分布结构进行节点优化编号;
信息矩阵确定模块,用于根据新的节点顺序计算有功雅可比矩阵和无功雅可比矩阵,进而得到新的有功信息矩阵和无功信息矩阵;
因子分解模块,用于对新的有功信息矩阵和无功信息矩阵分别采用高斯消元法进行因子分解,并存储分解得到的有功信息矩阵因子表和无功信息矩阵因子表;
以及后续处理模块,用于基于有功信息矩阵因子表和无功信息矩阵因子表进行电力***状态估计。
上述各模块的具体功能实现参考实施例1-1中的具体实施方式。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的***。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令***的制造品,该指令***实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (9)
1.一种电力***状态估计方法,其特征是,包括:
实时获取电力***一次设备遥测遥信数据;
基于获取到的数据构建电力***节点支路模型;
根据节点支路模型确定有功雅可比矩阵的非零元分布;
根据有功雅可比矩阵的非零元分布,确定有功信息矩阵的非零元分布;
基于有功信息矩阵非零元分布结构进行节点优化编号;
根据新的节点顺序计算有功雅可比矩阵和无功雅可比矩阵,进而得到新的有功信息矩阵和无功信息矩阵;
对新的有功信息矩阵和无功信息矩阵分别进行因子分解,得到有功信息矩阵因子表和无功信息矩阵因子表;
基于有功信息矩阵因子表和无功信息矩阵因子表进行电力***状态估计
其中,所述基于有功信息矩阵非零元分布结构进行节点优化编号包括:
基于有功信息矩阵Gp的非零元分布g_nz_map,获得初始系数矩阵各出线度的节点组合d_bus_map;
采用模拟高斯消元法和半动态最小度算法对有功信息矩阵Gp的节点进行排序,包括:
S1,确定当前g_nz_map和d_bus_map中的节点元素;
S2,从当前d_bus_map中选取节点出线度最小的节点作为当前次消去节点,记为k;
S3,根据g_nz_map修正与节点k及其关联节点的关联节点集合set,记为Link_set;
S4,根据节点k的键值,从g_nz_map中删除节点k,并对当前删除的节点k进行编号;
S5,根据节点删除后的g_nz_map修正d_bus_map,作为更新后的当前d_bus_map;
S6,重复步骤S1至S6,直至初始d_bus_map中的所有节点排序完成,结束排序操作;
将排序过程中每次更新后的出线度的节点组合分别存储。
2.根据权利要求1所述的方法,其特征是,所述有功雅可比矩阵非零元分布和有功信息矩阵非零元分布,以及节点优化编号后的有功信息矩阵和无功信息矩阵,分别采用C++标准模板库关联容器定义结构进行稀疏存储;有功信息矩阵因子表和无功信息矩阵因子表存入采用C++标准模板库关联容器定义的数据结构,或者转换为按行/按列稀疏储存。
3.根据权利要求1或2所述的方法,其特征是,各电力***一次设备遥测遥信数据,并行从调度自动化***中分别针对各一次设备类型设置的实时库单表中获取。
稀疏矩阵Hp、Gp非零元分布采用C++STL提供的关联容器map和set定义结构进行存储,包括:定义一结构:typedef std::set<int>SparseRowNzSet用于存储某一行非零元列号集合,列号由set中int型的索引值表示;定义一结构typedef std::map<int,SparseRowNzSet>SparseMatrixNzMap用于存储稀疏矩阵Hp、Gp非零元的分布,行号由int型的键索引表示。
5.根据权利要求4所述的方法,其特征是,有功信息矩阵Gp的非零元分布g_nz_map存储于SparseMatrixNzMap结构中出线度的节点组合d_bus_map存储于基于C++STL关联容器预先定义的typedef std::map<int,std::set<int>>DegreeBusMap结构中;
采用模拟高斯消元法和半动态最小度算法对有功信息矩阵Gp的节点进行排序的过程中得到的出线度的节点组合分别存储至DegreeBusMap结构中;
DegreeBusMap结构中的各元素以出线度值作为键值,实际值为出线度等于键值的节点set集合。
6.根据权利要求5所述的方法,其特征是,对有功信息矩阵Gp的节点进行排序的过程中,使用C++STL提供的insert、erase操作实现对set集合中新增注入元的***和已消去节点的删除。
8.根据权利要求7所述的方法,其特征是,对于节点优化编号后采用SparseRowMap结构存储的Gp和Gq,并行采用高斯消元法进行因子分解,新产生的非零注入元调用关联容器的insert操作,或者将map作为关联式数组进行非零元的***。
9.一种电力***状态估计***,其特征是,包括:
数据获取模块,用于实时获取电力***一次设备遥测遥信数据;
节点支路模型构建模块,用于基于获取到的数据构建电力***节点支路模型;
有功雅克比矩阵确定模块,用于根据节点支路模型确定有功雅可比矩阵的非零元分布;
有功信息矩阵确定模块,根据有功雅可比矩阵的非零元分布,确定有功信息矩阵的非零元分布;
节点排序模块,用于基于有功信息矩阵非零元分布结构进行节点优化编号;
信息矩阵确定模块,用于根据新的节点顺序计算有功雅可比矩阵和无功雅可比矩阵,进而得到新的有功信息矩阵和无功信息矩阵;
因子分解模块,用于对新的有功信息矩阵和无功信息矩阵分别进行因子分解,得到有功信息矩阵因子表和无功信息矩阵因子表;
以及后续处理模块,用于基于有功信息矩阵因子表和无功信息矩阵因子表进行电力***状态估计;
其中,所述节点排序模块基于有功信息矩阵非零元分布结构进行节点优化编号包括:
基于有功信息矩阵Gp的非零元分布g_nz_map,获得初始系数矩阵各出线度的节点组合d_bus_map;
采用模拟高斯消元法和半动态最小度算法对有功信息矩阵Gp的节点进行排序,包括:
S1,确定当前g_nz_map和d_bus_map中的节点元素;
S2,从当前d_bus_map中选取节点出线度最小的节点作为当前次消去节点,记为k;
S3,根据g_nz_map修正与节点k及其关联节点的关联节点集合set,记为Link_set;
S4,根据节点k的键值,从g_nz_map中删除节点k,并对当前删除的节点k进行编号;
S5,根据节点删除后的g_nz_map修正d_bus_map,作为更新后的当前d_bus_map;
S6,重复步骤S1至S6,直至初始d_bus_map中的所有节点排序完成,结束排序操作;
将排序过程中每次更新后的出线度的节点组合分别存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911294697.7A CN111062610B (zh) | 2019-12-16 | 2019-12-16 | 一种基于信息矩阵稀疏求解的电力***状态估计方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911294697.7A CN111062610B (zh) | 2019-12-16 | 2019-12-16 | 一种基于信息矩阵稀疏求解的电力***状态估计方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062610A CN111062610A (zh) | 2020-04-24 |
CN111062610B true CN111062610B (zh) | 2022-07-29 |
Family
ID=70301898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911294697.7A Active CN111062610B (zh) | 2019-12-16 | 2019-12-16 | 一种基于信息矩阵稀疏求解的电力***状态估计方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111062610B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084198B (zh) * | 2020-09-16 | 2022-09-16 | 云南电网有限责任公司 | 一种压缩存储形式的节点导纳矩阵直接列写方法及装置 |
CN113095668B (zh) * | 2021-04-07 | 2023-05-05 | 国网山东省电力公司电力科学研究院 | 基于厂站的电力***状态估计边缘服务器配置方法及*** |
CN113139718B (zh) * | 2021-04-07 | 2023-04-25 | 国网山东省电力公司电力科学研究院 | 一种电力***状态并行估计方法及*** |
CN113326474B (zh) * | 2021-05-31 | 2022-05-31 | 山东大学 | 互联大电网雅可比矩阵元素调控灵敏度优化计算方法及*** |
CN113886765B (zh) * | 2021-09-30 | 2023-09-29 | 广东电网有限责任公司 | 错误数据注入攻击的检测方法及装置 |
CN117290653B (zh) * | 2023-11-24 | 2024-02-20 | 巨霖科技(上海)有限公司 | 一种基于eda***的矩阵求解方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102836A (zh) * | 2014-07-14 | 2014-10-15 | 国家电网公司 | 一种电力***快速抗差状态估计方法 |
CN104184144A (zh) * | 2014-09-05 | 2014-12-03 | 国家电网公司 | 一种用于多电压等级电网模型的抗差状态估计方法 |
CN107579516A (zh) * | 2017-09-13 | 2018-01-12 | 国电南瑞科技股份有限公司 | 一种提高电力***状态估计计算速度的方法 |
CN109255541A (zh) * | 2018-09-20 | 2019-01-22 | 华北电力大学 | 一种基于最小二乘和一乘之和的配电网抗差状态估计方法 |
CN109840651A (zh) * | 2017-11-28 | 2019-06-04 | 国家电网公司 | 一种考虑零注入约束的双线性wlav状态估计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2611259C1 (ru) * | 2016-01-29 | 2017-02-21 | Открытое Акционерное Общество "Системный Оператор Единой Энергетической Системы" | Автоматизированное устройство определения предельных режимов электрических систем |
-
2019
- 2019-12-16 CN CN201911294697.7A patent/CN111062610B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102836A (zh) * | 2014-07-14 | 2014-10-15 | 国家电网公司 | 一种电力***快速抗差状态估计方法 |
CN104184144A (zh) * | 2014-09-05 | 2014-12-03 | 国家电网公司 | 一种用于多电压等级电网模型的抗差状态估计方法 |
CN107579516A (zh) * | 2017-09-13 | 2018-01-12 | 国电南瑞科技股份有限公司 | 一种提高电力***状态估计计算速度的方法 |
CN109840651A (zh) * | 2017-11-28 | 2019-06-04 | 国家电网公司 | 一种考虑零注入约束的双线性wlav状态估计方法 |
CN109255541A (zh) * | 2018-09-20 | 2019-01-22 | 华北电力大学 | 一种基于最小二乘和一乘之和的配电网抗差状态估计方法 |
Non-Patent Citations (1)
Title |
---|
KLU稀疏直接求解器在状态估计中的应用;罗玉春等;《中国电力》;20181208(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111062610A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111062610B (zh) | 一种基于信息矩阵稀疏求解的电力***状态估计方法和*** | |
CN111242282A (zh) | 基于端边云协同的深度学习模型训练加速方法 | |
CN108897716B (zh) | 通过存储器读写操作来缩减计算量的数据处理装置及方法 | |
CN103793590A (zh) | 一种基于gpu的快速求解配电网潮流的计算方法 | |
CN107133190A (zh) | 一种机器学习***的训练方法和训练*** | |
US20230068450A1 (en) | Method and apparatus for processing sparse data | |
CN111682530B (zh) | 一种配电网电压越限概率的确定方法、装置、设备及介质 | |
CN114492814A (zh) | 基于量子计算模拟目标体系能量的方法、装置及介质 | |
CN107579516B (zh) | 一种提高电力***状态估计计算速度的方法 | |
CN108879691B (zh) | 一种大规模连续潮流计算的方法及装置 | |
CN113094899A (zh) | 一种随机潮流计算方法、装置、电子设备及存储介质 | |
CN110428164A (zh) | 一种电网运行状态监测方法、装置、设备及可读存储介质 | |
Zhang et al. | Almost periodic solutions of nonautonomous linear difference equations | |
CN110489798B (zh) | 面向有源配电网实时仿真的解算器细粒度高效设计方法 | |
CN114970165A (zh) | 一种桥架内电缆的数字化实体自动建模方法、***及设备 | |
CN113947237A (zh) | 一种基于ams-tcn的风电功率误差修正方法 | |
CN111797564A (zh) | 一种高维分布式光伏出力的相关性样本获取方法及*** | |
Pan et al. | Compact multigrid | |
Lawrance et al. | Generation of some first-order autoregressive Markovian sequences of positive random variables with given marginal distributions | |
CN114336793B (zh) | 交直流混合配电网灵活性确定方法 | |
CN114880620B (zh) | 一种有向树组的聚集生成方法 | |
CN113836481B (zh) | 矩阵计算电路、方法、电子设备及计算机可读存储介质 | |
CN112952843B (zh) | 一种基于Copula理论的配电网分布式光伏概率潮流计算方法 | |
CN117290653B (zh) | 一种基于eda***的矩阵求解方法及*** | |
CN110086209B (zh) | 电力***运行状态的确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |