CN104317553B - 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法 - Google Patents

一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法 Download PDF

Info

Publication number
CN104317553B
CN104317553B CN201410539178.3A CN201410539178A CN104317553B CN 104317553 B CN104317553 B CN 104317553B CN 201410539178 A CN201410539178 A CN 201410539178A CN 104317553 B CN104317553 B CN 104317553B
Authority
CN
China
Prior art keywords
row
node
battle array
matrix
data
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.)
Expired - Fee Related
Application number
CN201410539178.3A
Other languages
English (en)
Other versions
CN104317553A (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 CN201410539178.3A priority Critical patent/CN104317553B/zh
Publication of CN104317553A publication Critical patent/CN104317553A/zh
Application granted granted Critical
Publication of CN104317553B publication Critical patent/CN104317553B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Multi Processors (AREA)

Abstract

一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法,包括以下步骤:构建节点导纳矩阵Y阵的数组Y(n,22);形成并读取系统各线路支路数据;计算各节点的自导纳Yii、Yjj和上三角中i‑j节点间非零元素的互导纳Yij,形成仅含对角元素和上三角非零元素的Y阵;将Y阵写入数据文件。本发明按规定方式形成、写入或读取、计算和存贮Y阵上三角中对角元素的行下标、非零的非对角元素的列下标以及相应的自导纳和互导纳值,不但大大减少了大量零元素和下三角元素的存贮空间,因而大大提高了Y阵的形成及Y阵数据的读写速度,而且存贮方式简单明了,非常易于后续程序对Y阵存贮数据的计算及应用。

Description

一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩 阵数据的方法
技术领域
本发明属于电力系统分析计算领域,涉及一种快速形成及读写电力系统节点导纳矩阵数据的方法。
背景技术
在大型电力系统节点导纳矩阵的形成、存贮及读入过程中,如不考虑节点导纳矩阵Y阵元素的稀疏性和对称性,会导致大量零元素和对称元素的存贮以及对称元素的计算,从而造成形成Y阵所需时间较长、所需存贮空间极大、读写相应Y阵的数据文件耗费时间较长。
传统的不考虑元素稀疏性的Y阵数组形式为Y(n,2n),可存贮Y阵全部元素的数值,元素的行、列下标直接由元素在Y阵中的位置确定。这种数组形式简单直观,方便对Y阵数据的处理,但由于大量零元素的存贮而占据极大的存贮空间。
传统的考虑元素稀疏性Y阵的数组形式多样,可以省略大量零元素的存贮单元,但Y阵元素的存贮方式及存贮结构复杂,有时也未利用Y阵的对称性,尽管元素存贮效力较高,但对Y阵数据的处理并不方便。
因此考虑元素稀疏性及对称性的存贮方式不但可大幅节省存贮单元,而且可减少形成Y阵所需时间、以及对Y阵数据文件的读写时间。目前,电力系统计算中稀疏矩阵技术运用很广,矩阵的存贮方案也很多,如按坐标存贮、按顺序存贮、按链表存贮等等。尽管这些存贮方式可以省去不少存贮单元,但还没有达到最优效果,而且这些存贮方式结构复杂,且对角元素与非对角元素分开存贮也使得存取过程繁琐,不利于对Y阵的数据处理。
发明内容
本发明的目的是克服现有技术的不足,提供一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法。
本发明是通过以下技术方案实现的。
本发明包括以下步骤:
步骤1:构建节点导纳矩阵Y阵的数组Y(n,22)。
本发明根据电力系统每个节点一般最多和6条支路相连的原则,同时考虑Y阵数组元素的对称性,定义Y阵数组为Y(n,22),并按规定方式计算和存贮Y阵上三角中对角元素的行下标、非零的非对角元素的列下标、以及相应的自导纳和互导纳值、各节点连接的支路数三组数据,不但省去了大量非零元素和下三角元素的存贮,并且存贮方式简单直观,所建立的数据文件的读写速度极快,也可直接写入传统的不考虑元素稀疏性的Y阵数组进行后续消元等计算。
定义Y阵数组为Y(n,22),主要是考虑任一节点可能最多与6条支路相连,将其列数分为3组。
第1组:“支路累加计数列S”,提供与相应节点连接的支路数,位于第1列,其数值Si由程序自动累加,以保证准确读取与相应节点连接的支路数,进一步节省存贮空间;
第2组:“父节点组”,提供与相应节点对应的自导纳的行号i和参数,共3列,位于第2~4列;
第3组:“子节点组”,提供与相应父节点连接的i<j的互导纳的列号j和参数,最多提供6条与“父节点”相连的“子节点”的列号和参数,共3*6=18列,位于第5~22列,其中第5、8、11、14、17、20列存放与“父节点组”节点相连接的子节点的列号,其余存放相应的互导纳参数。
“父节点”有几条支路与“子节点”相连则,则“子节点组”就有几组数据。如“子节点组”有3条支路,则“子节点组”就只有3*3=9列数据。所以“子节点组”的数据一般未存满18列,而“支路累加计数列S”的作用就是帮助提高对数据的读取效率。
步骤2:按规定方式形成并读取系统各线路支路数据;
形成和读取支路数据I、J、R、X、K时要求按i<j以及j1<j2<j3<j4<j5<j6的方式,以便确保仅形成Y阵的对角元素和上三角元素。
步骤3:计算各节点的自导纳Yii、Yjj和上三角中i-j对应节点间的非零元素的互导纳Yij,形成仅含对角元素和上三角非零元素的Y阵;
步骤3中具体实施过程如下:
(1)Y阵中第1列、“支路累加计数列S”的S值帮助确定第i行对应的节点有几条支路相连,以便准确读写与第i行对应的节点有关的互导纳Yij,但不包括Yji
(2)根据1条i-j对应节点间的支路数据求取i、j对应节点的自导纳Yii、Yjj,对角元的行下标i、j作为“父节点”始终存放在Y阵第i、j行的第2列,相应的电导gii、gjj及电纳bii、bjj存放在第3~4列;如果在第i、j行的第2列上已经存有i、j值,则相应的电导gii、gjj及电纳bii、bjj要与原来存放在第3~4列的电导g′ii、g′jj及电纳b′ii、b′jj进行累加。
(3)根据该支路数据求取i-j对应节点间的互导纳Yij,第1次出现的j1对应节点下标存放在Y阵第i行的第5列,相应的电导gi,j1、电纳bi,j1存放在第6~7列;第2次出现的j2对应节点下标存放在第8列,相应的电导gi,j2、电纳bi,j2存放在第9~10列;依此类推。
(4)计算完成Y阵中所有对角元素和上三角的非零元素,得到仅含对角元素和上三角非零元素的Y阵。
表1为本发明考虑元素稀疏性时Y阵元素的形成及存贮形式。
表1 本发明考虑元素稀疏性时Y阵元素的形成及存贮形式
步骤4:将Y阵写入数据文件。
考虑到程序的结构化,形成Y阵程序到此结束,而所形成的Y阵数据文件的调用则由下一个程序执行。在新的计算程序中打开按上述方式形成并存储的Y阵数据文件,可将Y阵数据文件数据根据需要直接读入Y(n,2n)或Y(n,22)数组,以便进行后续计算。
在新的计算程序中读入Y(n,22)数据文件数据比读入Y(n,2n)数据文件数据所需时间要少得多,且可直接将Y(n,22)数据文件的数据写入Y(n,22)数组或Y(n,2n)数组以便后续程序计算。
本发明按规定方式形成、写入或读取、计算和存贮Y阵上三角中对角元的行下标、非零的非对角元的列下标以及相应的自导纳和互导纳值以及1列“支路累加计数列S”的数据。这种存贮方式不但大大减少了Y阵的存贮空间,并且简单明了,易于数据的检索、修改和应用,且大大降低了Y阵的形成及数据文件的读取时间。本发明与传统的不考虑元素稀疏性的Y阵元素存贮形式相比,不但大大减少了大量零元素和下三角元素的存贮空间,因而大大提高了Y阵的形成及Y阵数据的读写速度。本发明与各种传统的、考虑元素稀疏性的Y阵元素存贮方案,如按坐标存贮、按顺序存贮、按链表存贮等等方案相比,还可进一步减少存贮空间、提高存贮Y阵数据的读写速度,而且存贮方式简单明了,非常易于后续程序对Y阵存贮数据的计算及应用。
附图说明
图1为本发明的流程图。
图2为不考虑元素稀疏性及对称性时形成Y阵的流程图。
图3为本发明考虑元素稀疏性及对称性时形成Y阵的流程图。
具体实施方式
本发明将通过以下实施举例作进一步说明。
实施例1。以IEEE-300节点系统为例,分别比较传统的不考虑元素稀疏性时Y阵元素的存贮形式和本发明Y阵元素的存贮形式。
(1)传统的不考虑元素稀疏性时Y阵元素的存贮形式
传统的不考虑元素稀疏性时Y阵元素的存贮包括了所有的非零元素和下三角元素,其Y阵元素的存贮形式如表2。
表2 不考虑元素稀疏性时IEEE-300节点系统Y阵元素的存贮形式
根据表2可以看出,不考虑稀疏性时IEEE-300节点系统Y阵实部、虚部元素的存贮需300*600个单元。
(2)本发明对IEEE-300节点系统Y阵元素的存贮形式
根据每个节点一般最多和6条支路相连的原则,且仅存贮Y阵的对角元素和上三角的非零元素,此时Y阵元素的存贮形式如表3。
表3 本发明对IEEE-300节点系统Y阵元素的存贮形式
根据表3可以看出,由于需满足i<j的支路条件、与298号节点相连的支路最多只有2条,与299号节点相连的支路最多只有1条,而与300号节点相连的支路没有,因此其相应的S数值分别为2、1、0。
按本发明对Y阵实部、虚部元素的存贮最多需300*22个单元,一般仅需用到上述存贮单元的一半左右。因此本发明Y阵元素的存贮单元在全部存满的情况下也仅为不考虑元素稀疏性时Y阵元素存贮单元的3.67%。而且节点数越大,节省的单元数越多。
相对不考虑稀疏性时Y阵元素的存贮方法,本发明只存贮Y阵的对角元素及上三角中的非零元素,因此大大减少了Y阵零元素和下三角元素的存贮,提高了形成Y阵的速度,且大大加快了Y阵数据文件的读写速度。
实施例2。分别用传统的不考虑稀疏性时Y阵的存贮方法(图2)以及本方法(图3)形成IEEE-57、-118、-300节点系统的Y阵,比较其数据文件读写过程的平均迭代时间及所需的存贮单元。
表4给出了对上述IEEE节点系统Y阵读写数据过程平均时间及存贮单元的比较。
表4 IEEE节点系统Y阵数据文件读写过程平均时间及存贮单元的比较
T1、T11、U1:不考虑元素稀疏性时对Y阵数据文件的平均读写时间、所需的存贮单元数;
T2、T21、U2:本方法对Y阵数据文件的平均读写时间、所需的存贮单元数;
T2/T1、T21/T11、U2/U1:本方法与不考虑元素稀疏性的平均读写时间、所需存贮单元数的百分比。
根据表4可以看出:
1.无论对数据文件读还是写数据,本发明的速度大大优于传统的不考虑元素稀疏性方法的速度。
以IEEE-300节点系统为例,本发明写数据文件的过程仅占传统的不考虑元素稀疏性方法写数据文件过程时间的3.82%;本发明读数据文件的过程仅占传统方法时间的2.51%;本发明所需存贮单元仅占传统方法的3.67%。实际上,3.67%是最大比例,如果考虑到Y(n,22)数组中并非所有单元都有数字,则本发明实际所需存贮单元仅约占传统方法的2.5%左右。
2.电力系统节点数越大,本发明数据存贮和读取过程速度越优越。
本发明按照电力系统的一般结构特点规定每个节点至多与6条支路相连,且在Y阵的形成和存贮、读写过程中只对对角元素和上三角中非零的非对角元素进行操作。因此,随着系统节点数的增加其存贮单元并不会显著增加,写数据文件和读数据文件的时间也不会显著增加。
3.由于仅形成Y阵的对角元素和上三角元素,因此Y阵的形成速度也比传统方法Y阵的形成的速度要快。
4.节点数愈多,本发明的优势将愈加明显。
本发明可以采用任何一种编程语言和编程环境实现,这里采用C++编程语言,开发环境是Visual C++。

Claims (1)

1.一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法,其特征是包括以下步骤:
步骤1:构建节点导纳矩阵Y阵的数组Y(n,22);
定义Y阵数组为Y(n,22),将其列数分为3组,计算和存贮Y阵上三角中对角元素的行下标、非零的非对角元素的列下标、以及相应的自导纳和互导纳值、各节点连接的支路数三组数据;
第1组:“支路累加计数列S”,提供与相应节点连接的支路数,位于第1列,其数值Si由程序自动累加;
第2组:“父节点组”,提供与相应节点对应的自导纳的行号i和参数,共3列,位于第2~4列;
第3组:“子节点组”,提供与相应父节点连接的i<j的互导纳的列号j和参数,最多提供6条与“父节点”相连的“子节点”的列号和参数,共3*6=18列,位于第5~22列,其中第5、8、11、14、17、20列存放与“父节点组”节点相连接的子节点的列号,其余存放相应的互导纳参数;
步骤2:形成并读取系统各线路支路数据;
形成和读取支路数据I、J、R、X、K时按i<j以及j1<j2<j3<j4<j5<j6的方式,以确保仅形成Y阵的对角元素和上三角元素;
步骤3:计算各节点的自导纳Yii、Yjj和上三角中i-j对应节点间非零元素的互导纳Yij,形成仅含对角元素和上三角非零元素的Y阵;
具体过程如下:
(1)Y阵中第1列、“支路累加计数列S”的Si值帮助确定第i行对应的节点有几条支路相连,以便准确读写与第i行对应的节点有关的互导纳Yij
(2)根据1条i-j对应节点间的支路数据求取i、j对应节点的自导纳Yii、Yjj,对角元的行下标i、j作为“父节点”始终存放在Y阵第i、j行的第2列,相应的电导gii、gjj及电纳bii、bjj存放在第3~4列;如果在第i、j行的第2列上已经存有i、j值,则相应的电导gii、gjj及电纳bii、bjj要与原来存放在第3~4列的电导g′ii、g′jj及电纳b′ii、b′jj进行累加;
(3)根据该支路数据求取i-j对应节点间的互导纳Yij,第1次出现的j1对应节点下标存放在Y阵第i行的第5列,相应的电导gi,j1、电纳bi,j1存放在第6~7列;第2次出现的j2对应节点下标存放在第8列,相应的电导gi,j2、电纳bi,j2存放在第9~10列;依此类推;
(4)计算完成Y阵中所有对角元素和上三角的非零元素,得到仅含对角元素和上三角非零元素的Y阵;
步骤4:将Y阵写入数据文件。
CN201410539178.3A 2014-10-13 2014-10-13 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法 Expired - Fee Related CN104317553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410539178.3A CN104317553B (zh) 2014-10-13 2014-10-13 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410539178.3A CN104317553B (zh) 2014-10-13 2014-10-13 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法

Publications (2)

Publication Number Publication Date
CN104317553A CN104317553A (zh) 2015-01-28
CN104317553B true CN104317553B (zh) 2017-02-15

Family

ID=52372789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410539178.3A Expired - Fee Related CN104317553B (zh) 2014-10-13 2014-10-13 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法

Country Status (1)

Country Link
CN (1) CN104317553B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045767B (zh) * 2015-06-24 2017-11-17 南昌大学 一种快速存贮及读取电力系统稀疏矩阵数据的方法
CN104933528B (zh) * 2015-06-24 2018-04-17 南昌大学 一种基于稀疏矩阵技术快速形成电力系统潮流计算中雅可比矩阵的方法
CN105354422B (zh) * 2015-11-12 2018-07-20 南昌大学 一种基于对称稀疏矩阵技术快速求取极坐标牛顿-拉夫逊法潮流的方法
CN105703359B (zh) * 2016-03-08 2021-01-01 南昌大学 一种对称稀疏因子表法在直角坐标pq分解法潮流计算中的应用
CN105591388B (zh) * 2016-03-08 2018-08-03 南昌大学 一种基于稀疏技术的电力系统直角坐标pq分解法潮流数据存贮方法
CN105703360B (zh) * 2016-03-08 2020-07-14 南昌大学 一种基于稀疏技术的电力系统快速高斯-赛德尔潮流算法
CN105844009A (zh) * 2016-03-22 2016-08-10 北京大学 高效稀疏矩阵存储及油藏数值模拟的方法和装置
CN109659943B (zh) * 2017-10-11 2022-03-29 大连海事大学 一种电力系统潮流计算的导纳矩阵计算方法
CN112084198B (zh) * 2020-09-16 2022-09-16 云南电网有限责任公司 一种压缩存储形式的节点导纳矩阵直接列写方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033854A (zh) * 2010-12-17 2011-04-27 中国科学院软件研究所 针对稀疏矩阵的数据存储方法及基于该方法的SpMV实现方法
CN102141976A (zh) * 2011-01-10 2011-08-03 中国科学院软件研究所 稀疏矩阵的对角线数据存储方法及基于该方法的SpMV实现方法
CN103199525A (zh) * 2013-03-27 2013-07-10 河海大学 一种基于等效节点注入电流变换的配电网潮流计算方法
US8612723B2 (en) * 2008-05-06 2013-12-17 L-3 Communications Integrated Systems, L.P. System and method for storing a sparse matrix
CN103544378A (zh) * 2013-09-28 2014-01-29 南方电网科学研究院有限责任公司 一种直流输电用交流系统谐波阻抗计算方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775495B2 (en) * 2006-02-13 2014-07-08 Indiana University Research And Technology Compression system and method for accelerating sparse matrix computations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612723B2 (en) * 2008-05-06 2013-12-17 L-3 Communications Integrated Systems, L.P. System and method for storing a sparse matrix
CN102033854A (zh) * 2010-12-17 2011-04-27 中国科学院软件研究所 针对稀疏矩阵的数据存储方法及基于该方法的SpMV实现方法
CN102141976A (zh) * 2011-01-10 2011-08-03 中国科学院软件研究所 稀疏矩阵的对角线数据存储方法及基于该方法的SpMV实现方法
CN103199525A (zh) * 2013-03-27 2013-07-10 河海大学 一种基于等效节点注入电流变换的配电网潮流计算方法
CN103544378A (zh) * 2013-09-28 2014-01-29 南方电网科学研究院有限责任公司 一种直流输电用交流系统谐波阻抗计算方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
应用稀疏矩阵技术的潮流计算;刘爱国;《南昌大学学报》;19980630;第20卷(第2期);全文 *
牛顿法潮流计算中两种稀疏存储方式的效率研究;叶剑华等;《中国农村水利水电》;20051031(第10期);全文 *

Also Published As

Publication number Publication date
CN104317553A (zh) 2015-01-28

Similar Documents

Publication Publication Date Title
CN104317553B (zh) 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法
CN107341544B (zh) 一种基于可分割阵列的可重构加速器及其实现方法
CN104933528B (zh) 一种基于稀疏矩阵技术快速形成电力系统潮流计算中雅可比矩阵的方法
CN110362291A (zh) 一种利用忆阻器进行非易失性复杂运算的方法
CN105354422B (zh) 一种基于对称稀疏矩阵技术快速求取极坐标牛顿-拉夫逊法潮流的方法
CN104714928B (zh) 一种基于对称稀疏矩阵技术的高斯消元法求取电力系统节点阻抗矩阵的方法
CN103886023B (zh) Excel数据表的存储、提取方法及系统
CN104571949A (zh) 基于忆阻器实现计算与存储融合的处理器及其操作方法
CN103514291A (zh) 一种文本中树形结构数据的显示方法
CN105045767B (zh) 一种快速存贮及读取电力系统稀疏矩阵数据的方法
CN104408128B (zh) 一种基于b+树异步更新索引的读优化方法
CN107957975A (zh) 一种计算方法及相关产品
CN110795062A (zh) 一种基于忆阻器阵列的半加器、全加器及乘法器
CN105591388B (zh) 一种基于稀疏技术的电力系统直角坐标pq分解法潮流数据存贮方法
CN108920574A (zh) 大规模三维点云数据的高效邻域搜索方法
CN110597487A (zh) 一种矩阵向量乘法电路及计算方法
CN103336810A (zh) 一种基于多核计算机的配电网拓扑分析方法
CN109284476A (zh) 非零元素随机存放和随机对称消元求取电力系统节点阻抗的方法
CN109447839B (zh) 非零元素的随机生成及形成电力系统雅可比矩阵的方法
CN104657337B (zh) 一种基于cu三角分解求取电力系统节点阻抗矩阵的方法
CN110085270A (zh) 存储运算电路模块及处理器
CN105097010B (zh) 一种铁电存储器
CN104992425A (zh) 一种基于gpu加速的dem超分辨率方法
CN105703359B (zh) 一种对称稀疏因子表法在直角坐标pq分解法潮流计算中的应用
CN202736078U (zh) 一种用于数字图像处理的特征提取模块

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
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: 20170215

Termination date: 20201013