CN105045767A - 一种快速存贮及读取电力系统稀疏矩阵数据的方法 - Google Patents

一种快速存贮及读取电力系统稀疏矩阵数据的方法 Download PDF

Info

Publication number
CN105045767A
CN105045767A CN201510364827.5A CN201510364827A CN105045767A CN 105045767 A CN105045767 A CN 105045767A CN 201510364827 A CN201510364827 A CN 201510364827A CN 105045767 A CN105045767 A CN 105045767A
Authority
CN
China
Prior art keywords
node
row
host node
data
reading
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.)
Granted
Application number
CN201510364827.5A
Other languages
English (en)
Other versions
CN105045767B (zh
Inventor
陈恳
万新儒
邵尉哲
席小青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanchang University
Original Assignee
Nanchang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanchang University filed Critical Nanchang University
Priority to CN201510364827.5A priority Critical patent/CN105045767B/zh
Publication of CN105045767A publication Critical patent/CN105045767A/zh
Application granted granted Critical
Publication of CN105045767B publication Critical patent/CN105045767B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

一种快速存贮及读取电力系统稀疏矩阵数据的方法,属于电力系统分析计算领域。本发明对导纳矩阵Y仅存贮主节点的行号、与主节点连接的子节点数S、主节点和子节点非零元素的列号和参数,大大减少了存贮单元和数据文件的读取时间,对Y阵数据的检索、修改、应用及对形成雅克比矩阵、计算节点电流、功率等较为简单直观、方便快捷。本发明对IEEE-57~-300节点系统进行验算完全可行,对IEEE-300节点系统与传统方法中不考虑稀疏性时对Y阵元素的存贮方式相比,存贮单元仅为传统方法的4.33%,写入或读取数据文件的时间分别为传统方法的6.55%和6.39%,且节点数越多,优势越明显。本发明可用于各工程领域中对称或不对称稀疏矩阵数据的快速存贮及读取。

Description

一种快速存贮及读取电力系统稀疏矩阵数据的方法
技术领域
本发明属于电力系统分析计算领域。
背景技术
电力系统分析计算中涉及到许多对称或不对称的极度稀疏矩阵。这些稀疏矩阵数据在存贮、读取及计算过程中,若不考虑稀疏性,会导致大量零元素的存贮、读取及计算,从而造成存贮空间的极大浪费、读写数据文件及计算过程时间较长。因此,考虑对称或不对称稀疏矩阵元素的存贮方式不但可大幅节省存贮单元,而且可大大减少数据文件的存贮、读取及计算过程的时间。
传统的不考虑元素稀疏性的Y阵数组形式为Y(n,2n),存贮Y阵全部元素的数值,元素的行、列下标直接由元素在Y阵中的位置确定。这种数组形式简单直观,方便对Y阵数据的处理,但大量零元素的存贮导致存贮空间的极大浪费。且在对如节点电流等连续求和计算过程中,如不引入非零判断语句,其计算效率较低;如引入非零判断语句,则计算速度将受到影响。
电力系统计算中稀疏矩阵技术运用很广,矩阵的存贮方案也很多,如按坐标存贮、按顺序存贮、按链表存贮等等。尽管这些存贮方式虽可节省不少存贮单元,但由于存贮方式和结构复杂,对角元与非对角元分开存贮使得数据的读取过程繁琐,不利于数据的计算处理,计算过程达不到最优效果。
虽然对称的Y阵可以按一定方式仅存贮其上三角的非零元素,根据对称性获得下三角的非零元素,但这种计算方式在程序计算中,角标的变换、元素之间的赋值其实也占用很多时间,而且有时也并不方便。
发明内容
为了克服上述现有技术的不足,本发明提出一种快速存贮及读取电力系统稀疏矩阵数据的方法。
本发明将Y阵中的节点分为主节点和子节点。仅存贮主节点的行号、与主节点连接的子节点数S(包括主节点)、主节点以及具有非零元素子节点的列号和参数(自导纳和互导纳)。这种存贮方式不但大大减少了Y阵的存贮空间,且简单明了,易于数据的检索、修改和计算应用,还大大减少了Y阵数据的存贮单元,以及Y阵数据文件的存贮和读取时间。
本发明是通过以下技术方案实现的。
本发明所述的一种快速存贮及读取电力系统稀疏矩阵数据的方法包括以下步骤:
步骤1:定义Y阵数组Y(n,26)。
本发明先确定相应系统中连接子节点数最多的主节点,假设为7个,加主节点共8个,即Smax=8。因此,一行中主节点和子节点的列号及参数(实部、虚部)需24个单元,加行号和节点数二个存贮单元,共需26个存贮单元。因此,定义Y阵数组为Y(n,26),将其每行分为3组,分别存贮该行的行号、与行号对应的节点数、主节点和所有非零元素子节点的列号及参数,具体方式如下。
第1组:“主节点行号i”,位于第1列,为主节点对应的行号,为检验数据之用;
第2组:“节点数Si”,位于第2列,为主节点及与该主节点连接的子节点数之和,S值由程序自动累加以保证快速读取对应主节点和子节点的参数;
第3组:“主节点、子节点列号j及参数”,位于第3~26列;按递增顺序存贮主节点及与该主节点连接的子节点的列号j,分别位于第3*k列;相应主节点或子节点的自导纳和互导纳(均分实部、虚部)分别位于3*k+1、3*k+2列,k的取值为:1~Si
本发明方法Y阵元素的存贮方式如下表所示。
步骤2:从数据文件中读取全部支路数据;
步骤3:计算各节点的自导纳和互导纳;
步骤4:形成Y(n,26)形式的Y阵;
步骤5:将Y(n,26)写入数据文件以备后续程序使用。
考虑到程序的模块化,形成Y阵程序到此结束,而Y阵数据文件的调用则由下一个程序执行。
在新的计算程序中打开按上述方式存贮的Y(n,26)数据文件,将数据文件数据根据需要直接读入Y(n,2n)数组(如用于消元计算等)或Y(n,26)数组(如形成J阵或计算功率等),以便后续应用。读入Y(n,26)数据文件的数据比读入Y(n,2n)数据文件的数据所需时间要少得多。
本发明方法可用于对称或不对称稀疏矩阵数据的存贮。与传统的不考虑元素稀疏性的Y阵元素存贮形式相比,不但大大减少了大量零元素存贮空间,且大大提高了Y阵数据的读写速度。与按坐标存贮、按顺序存贮、按链表存贮等等方案相比,仍较多地减少了存贮空间,提高了数据的读写速度,且后续数据的计算处理等更为方便。与仅存贮上三角非零元素的方式相比,几乎不需增加任何存贮单元,且在形成J阵、计算Ii、Pi、Qi时,同时使用上下三角的非零元素,比根据上三角的非零元素按对称性获得下三角的非零元素更方便、也更快捷。而且本发明方法存贮方式简单直观,数据文件的存贮及读取速度快,可直接用于相应的后续计算。
附图说明
图1为本发明方法的流程图。
具体实施方式
本发明将通过以下实施例作进一步说明。
本发明方法对于对称及不对称稀疏矩阵都具有同样的计算效率。为举例方便,以对称的节点导纳矩阵Y为例。
实施例1。对IEEE-300节点系统分别比较传统的不考虑元素稀疏性时Y阵元素的存贮方式和本发明方法对Y阵元素的存贮方式。
(1)传统的不考虑元素稀疏性时Y阵元素的存贮方式如表1。
表1不考虑元素稀疏性时IEEE-300节点系统Y阵元素的存贮方式
g11 b11 g12 b12 g1,299 b1,299 g1,300 b1,300
g21 b21 g22 b22 g2,299 b2,299 g2,300 b2,300
g299,1 b299,1 g299,2 b299,2 g299,299 b299,299 g299,300 b299,300
g300,1 b300,1 g300,2 b300,2 g300,299 b300,299 g300,300 b300,300
根据表1可以看出,不考虑稀疏性时IEEE-300节点系统Y阵元素的存贮单元数为300*600个。
(2)本发明方法对IEEE-300节点系统Y阵元素的存贮形式
对IEEE-300节点系统,主节点连接子节点数最多为7个,加主节点共8个,因此定义Y阵数组为Y(n,26),本发明方法对Y阵元素的存贮方式如表2。
表2本发明方法对IEEE-300节点系统Y阵元素的存贮方式
根据表2可以看出,本发明方法对Y阵的存贮单元数为300*26个,仅为不考虑元素稀疏性时Y阵元素存贮单元的4.3%。且节点数越大,节省的单元数越多。
由于本发明只存贮Y阵上下三角的非零元素,大大减少了Y阵零元素的存贮单元,并大大加快了Y阵数据文件的存贮和读取速度,且用Y(n,26)数组比Y(n,2n)在形成J阵、计算Ii、Pi、Qi时计算效率更高。本发明方法与仅存贮Y阵上三角非零元素的方法相比,存贮单元也并未增加,且在形成J阵、计算Ii、Pi、Qi时,由于无需考虑对称性进行赋值,计算速度反而略有增加。
实施例2。分别用传统的不考虑稀疏性时Y阵的存贮方法以及本发明方法对IEEE-57、-118、-300节点系统的Y阵进行存贮,比较其数据文件读写过程的平均迭代时间及所需的存贮单元数。
表3给出了用传统方法与本发明方法对上述系统Y阵读写数据过程的平均时间及存贮单元数的比较。
表3传统方法与本方法对IEEE系统Y阵数据文件读写时间及存贮单元数的比较
T1、T11、U1:传统方法对Y阵数据文件的平均读写时间、所需的存贮单元数;
T2、T21、U2:本发明方法对Y阵数据文件的平均读写时间、所需的存贮单元数;
T2/T1、T21/T11、U2/U1:本发明方法与传统方法的平均读写时间、所需存贮单元数的百分比。
可以看出:
1.无论读或写数据文件,本发明方法的存贮单元数和速度大大优于传统方法。
以IEEE-300节点系统为例,本发明方法写数据文件的时间仅为传统方法的6.55%;本发明方法读数据文件的时间仅为传统方法的6.39%;本发明方法所需存贮单元仅为传统方法的4.33%。
2.电力系统节点数越多,本发明方法数据存贮和读取过程的优势越大。
由于电力系统中每个节点与其它不接地节点相连的数量一般不超过10个,因此本发明方法随着系统节点数的增加存贮单元并不会显著增加,写数据文件和读数据文件的时间也不会显著增加。而传统方法则会显著增加。
3.由于同时存贮对称矩阵Y上下三角的非零元素,因此在形成J阵、计算Ii、Pi、Qi时将极为方便,而数据读写时间或存贮单元数与仅存贮上三角非零元素的方式相比几乎没有差别。
4.对于非对称矩阵数据的读写和应用,本发明方法具有更大的优势。
本方法可以采用任何一种编程语言和编程环境实现,这里采用C++编程语言,开发环境是VisualC++。

Claims (1)

1.一种快速存贮及读取电力系统稀疏矩阵数据的方法,其特征包括以下步骤:
步骤1:定义Y阵数组Y(n,26);
定义Y阵数组为Y(n,26),将其每行分为3组,分别存贮该行的行号、与行号对应的节点数、主节点和所有非零元素子节点的列号及参数,具体方式如下:
第1组:“主节点行号i”,位于第1列,为主节点对应的行号,为检验数据之用;
第2组:“节点数Si”,位于第2列,为主节点及与该主节点连接的子节点数之和,S值由程序自动累加以保证快速读取对应主节点和子节点的参数;
第3组:“主节点、子节点列号j及参数”,位于第3~26列;按递增顺序存贮主节点及与该主节点连接的子节点的列号j,分别位于第3*k列;相应主节点或子节点的自导纳和互导纳分别位于3*k+1、3*k+2列,k的取值为:1~Si
步骤2:从数据文件中读取全部支路数据;
步骤3:计算各节点的自导纳和互导纳;
步骤4:形成Y(n,26)形式的Y阵;
步骤5:将Y(n,26)写入数据文件以备后续程序使用。
CN201510364827.5A 2015-06-24 2015-06-24 一种快速存贮及读取电力系统稀疏矩阵数据的方法 Expired - Fee Related CN105045767B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510364827.5A CN105045767B (zh) 2015-06-24 2015-06-24 一种快速存贮及读取电力系统稀疏矩阵数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510364827.5A CN105045767B (zh) 2015-06-24 2015-06-24 一种快速存贮及读取电力系统稀疏矩阵数据的方法

Publications (2)

Publication Number Publication Date
CN105045767A true CN105045767A (zh) 2015-11-11
CN105045767B CN105045767B (zh) 2017-11-17

Family

ID=54452325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510364827.5A Expired - Fee Related CN105045767B (zh) 2015-06-24 2015-06-24 一种快速存贮及读取电力系统稀疏矩阵数据的方法

Country Status (1)

Country Link
CN (1) CN105045767B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354422A (zh) * 2015-11-12 2016-02-24 南昌大学 一种基于对称稀疏矩阵技术快速求取极坐标牛顿-拉夫逊法潮流的方法
CN105591388A (zh) * 2016-03-08 2016-05-18 南昌大学 一种基于稀疏技术的电力系统直角坐标pq分解法潮流数据存贮方法
CN105703359A (zh) * 2016-03-08 2016-06-22 南昌大学 一种对称稀疏因子表法在直角坐标pq分解法潮流计算中的应用

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110079B (zh) * 2011-03-07 2012-09-05 杭州电子科技大学 一种基于mpi的分布式共轭梯度法的调优计算方法
CN103336758A (zh) * 2013-06-29 2013-10-02 中国科学院软件研究所 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法
US20130282522A1 (en) * 2012-04-20 2013-10-24 University Of Florida Research Foundation, Inc. Real-time digital inventory systems and methods
US20140324398A1 (en) * 2013-04-30 2014-10-30 Freescale Semiconductor, Inc. Method and apparatus for accelerating sparse matrix operations in full accuracy circuit simulation
CN104317776A (zh) * 2014-09-24 2015-01-28 南昌大学 一种基于稀疏矩阵技术求解电力系统节点阻抗矩阵的方法
CN104317553A (zh) * 2014-10-13 2015-01-28 南昌大学 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法
CN104391823A (zh) * 2014-11-10 2015-03-04 南昌大学 一种基于a=ldu三角分解法求解电力系统节点阻抗矩阵的方法
CN104657337A (zh) * 2014-11-27 2015-05-27 南昌大学 一种基于cu三角分解求取电力系统节点阻抗矩阵的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110079B (zh) * 2011-03-07 2012-09-05 杭州电子科技大学 一种基于mpi的分布式共轭梯度法的调优计算方法
US20130282522A1 (en) * 2012-04-20 2013-10-24 University Of Florida Research Foundation, Inc. Real-time digital inventory systems and methods
US20140324398A1 (en) * 2013-04-30 2014-10-30 Freescale Semiconductor, Inc. Method and apparatus for accelerating sparse matrix operations in full accuracy circuit simulation
CN103336758A (zh) * 2013-06-29 2013-10-02 中国科学院软件研究所 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法
CN104317776A (zh) * 2014-09-24 2015-01-28 南昌大学 一种基于稀疏矩阵技术求解电力系统节点阻抗矩阵的方法
CN104317553A (zh) * 2014-10-13 2015-01-28 南昌大学 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法
CN104391823A (zh) * 2014-11-10 2015-03-04 南昌大学 一种基于a=ldu三角分解法求解电力系统节点阻抗矩阵的方法
CN104657337A (zh) * 2014-11-27 2015-05-27 南昌大学 一种基于cu三角分解求取电力系统节点阻抗矩阵的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354422A (zh) * 2015-11-12 2016-02-24 南昌大学 一种基于对称稀疏矩阵技术快速求取极坐标牛顿-拉夫逊法潮流的方法
CN105354422B (zh) * 2015-11-12 2018-07-20 南昌大学 一种基于对称稀疏矩阵技术快速求取极坐标牛顿-拉夫逊法潮流的方法
CN105591388A (zh) * 2016-03-08 2016-05-18 南昌大学 一种基于稀疏技术的电力系统直角坐标pq分解法潮流数据存贮方法
CN105703359A (zh) * 2016-03-08 2016-06-22 南昌大学 一种对称稀疏因子表法在直角坐标pq分解法潮流计算中的应用
CN105591388B (zh) * 2016-03-08 2018-08-03 南昌大学 一种基于稀疏技术的电力系统直角坐标pq分解法潮流数据存贮方法

Also Published As

Publication number Publication date
CN105045767B (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
CN104317553A (zh) 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法
CN104933528A (zh) 一种基于稀疏矩阵技术快速形成电力系统潮流计算中雅可比矩阵的方法
CN105045767A (zh) 一种快速存贮及读取电力系统稀疏矩阵数据的方法
CN105354422A (zh) 一种基于对称稀疏矩阵技术快速求取极坐标牛顿-拉夫逊法潮流的方法
CN104714928A (zh) 一种基于对称稀疏矩阵技术的高斯消元法求取电力系统节点阻抗矩阵的方法
WO2022247880A1 (zh) 一种对神经网络的算子进行融合的方法和相关产品
Wu et al. Novel parallel algorithm for constructing Delaunay triangulation based on a twofold-divide-and-conquer scheme
CN117234720A (zh) 动态可配置的存算融合数据缓存结构、处理器及电子设备
CN108052778B (zh) 用于无网格粒子模拟技术的邻近粒子高效双重搜索方法
CN105591388B (zh) 一种基于稀疏技术的电力系统直角坐标pq分解法潮流数据存贮方法
CN116191404A (zh) 分布式电源发电预测方法、装置、电子设备及存储介质
CN105375468B (zh) 一种基于对称稀疏矩阵技术快速求取直角坐标牛顿‑拉夫逊法潮流的方法
CN112817982B (zh) 一种基于lsm树的动态幂律图存储方法
CN109344361B (zh) 一种电力系统潮流计算中雅可比矩阵快速形成的方法
Zhang et al. Incremental subspace clustering over multiple data streams
CN103346802B (zh) Qc-ldpc码的构造方法
Sun et al. Algorithm based on partition for outlier detection.
CN117252145B (zh) 用于芯片仿真中大规模结构线性方程组的并行求解方法
TWI515560B (zh) 記憶體控制器及其存取系統
Hsiao et al. ReSpar: Reordering Algorithm for ReRAM-based Sparse Matrix-Vector Multiplication Accelerator
CN105703359A (zh) 一种对称稀疏因子表法在直角坐标pq分解法潮流计算中的应用
CN109887534B (zh) 闪存器件及其边界字线配置方法/系统、存储介质/控制器
CN112559435A (zh) 基于片上分块的大规模三维矩阵转置的众核并行优化方法
Uddin et al. Finding, Counting, and Highlighting all Triangles in Large Graphs
Hasan et al. Chunking implementation of extendible array to handle address space overflow for large multidimensional data sets

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171117

Termination date: 20210624