《一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法.pdf》由会员分享,可在线阅读,更多相关《一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104317553 A (43)申请公布日 2015.01.28 CN 104317553 A (21)申请号 201410539178.3 (22)申请日 2014.10.13 G06F 9/38(2006.01) (71)申请人 南昌大学 地址 330031 江西省南昌市红谷滩新区学府 大道 999 号 (72)发明人 陈恳 万新儒 汪亚茜 彭丽君 (74)专利代理机构 南昌新天下专利商标代理有 限公司 36115 代理人 施秀瑾 (54) 发明名称 一种基于稀疏矩阵技术快速形成及读写电力 系统节点导纳矩阵数据的方法 (57) 摘要 一种基于稀疏矩阵技术快速形成及。
2、读写电力 系统节点导纳矩阵数据的方法, 包括以下步骤 : 构建节点导纳矩阵 Y 阵的数组 Y(n,22) ; 形成并 读取系统各线路支路数据 ; 计算各节点的自导纳 Yii、 Yjj和上三角中 i-j 节点间非零元素的互导纳 Yij, 形成仅含对角元素和上三角非零元素的 Y 阵 ; 将Y阵写入数据文件。 本发明按规定方式形成、 写 入或读取、 计算和存贮 Y 阵上三角中对角元素的 行下标、 非零的非对角元素的列下标以及相应的 自导纳和互导纳值, 不但大大减少了大量零元素 和下三角元素的存贮空间, 因而大大提高了 Y 阵 的形成及 Y 阵数据的读写速度, 而且存贮方式简 单明了, 非常易于后续程。
3、序对 Y 阵存贮数据的计 算及应用。 (51)Int.Cl. 权利要求书 1 页 说明书 6 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书6页 附图3页 (10)申请公布号 CN 104317553 A CN 104317553 A 1/1 页 2 1. 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳矩阵数据的方法, 其特征 是包括以下步骤 : 步骤 1 : 构建节点导纳矩阵 Y 阵的数组 Y(n,22) ; 定义 Y 阵数组为 Y(n,22), 将其列数分为 3 组, 计算和存贮 Y 阵上三角中对角元素的行 下标、 非零的非对角元素。
4、的列下标、 以及相应的自导纳和互导纳值、 各节点连接的支路数三 组数据 ; 第 1 组 :“支路累加计数列 S” , 提供与相应节点连接的支路数, 位于第 1 列, 其数值 Si 由程序自动累加 ; 第 2 组 :“父节点组” , 提供自导纳的行号 i 和参数, 共 3 列, 位于第 2 4 列 ; 第 3 组 :“子节点组” , 提供 ij 的互导纳的列号 j 和参数, 最多提供 6 条与 “父节点” 相 连的 “子节点” 的列号和参数, 共 3*6 18 列, 位于第 5 22 列, 其中第 5、 8、 11、 14、 17、 20 列存放与 “父节点组” 节点相连接的子节点的列号, 其余。
5、存放相应的互导纳参数 ; 步骤 2 : 形成并读取系统各线路支路数据 ; 形成和读取支路数据 (I、 J、 R、 X、 K) 时按节点号 ij 以及 j1j2j3j4j5j6的方式, 以 确保仅形成 Y 阵的对角元素和上三角元素 ; 步骤 3 : 计算各节点的自导纳 Yii、 Yjj和上三角中 i-j 节点间非零元素的互导纳 Yij, 形 成仅含对角元素和上三角非零元素的 Y 阵 ; 具体过程如下 : (1)Y 阵中第 1 列、“支路累加计数列 S” 的 Si值帮助确定第 i 行 ( 或第 i 节点 ) 有几条 支路相连, 以便准确读写与 i 节点有关的互导纳 Yij; (2) 根据 1 条 。
6、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、 gjj及电纳 bii、 bjj进行累加 ; (3) 根据该支路数据求取 i-j 节点间的互导纳 Yij, 第 1 次出现的 j1节点下标存放在 Y 阵第 i 行的第 5 列, 相应的电导。
7、 gi,j1、 电纳 bi,j1存放在第 6 7 列 ; 第 2 次出现的 j2节点下 标存放在第 8 列, 相应的电导 gi,j2、 电纳 bi,j2存放在第 9 10 列 ; 依此类推 ; (4) 计算完成 Y 阵中所有对角元素和上三角的非零元素, 得到仅含对角元素和上三角 非零元素的 Y 阵 ; 步骤 4 : 将 Y 阵写入数据文件。 权 利 要 求 书 CN 104317553 A 2 1/6 页 3 一种基于稀疏矩阵技术快速形成及读写电力系统节点导纳 矩阵数据的方法 技术领域 0001 本发明属于电力系统分析计算领域, 涉及一种快速形成及读写电力系统节点导纳 矩阵数据的方法。 背景技。
8、术 0002 在大型电力系统节点导纳矩阵的形成、 存贮及读入过程中, 如不考虑节点导纳矩 阵 Y 阵元素的稀疏性和对称性, 会导致大量零元素和对称元素的存贮以及对称元素的计 算, 从而造成形成 Y 阵所需时间较长、 所需存贮空间极大、 读写相应 Y 阵的数据文件耗费时 间较长。 0003 传统的不考虑元素稀疏性的 Y 阵数组形式为 Y(n,2n), 可存贮 Y 阵全部元素的数 值, 元素的行、 列下标直接由元素在 Y 阵中的位置确定。这种数组形式简单直观, 方便对 Y 阵数据的处理, 但由于大量零元素的存贮而占据极大的存贮空间。 0004 传统的考虑元素稀疏性 Y 阵的数组形式多样, 可以省略。
9、大量零元素的存贮单元, 但Y阵元素的存贮方式及存贮结构复杂, 有时也未利用Y阵的对称性, 尽管元素存贮效力较 高, 但对 Y 阵数据的处理并不方便。 0005 因此考虑元素稀疏性及对称性的存贮方式不但可大幅节省存贮单元, 而且可减少 形成 Y 阵所需时间、 以及对 Y 阵数据文件的读写时间。目前, 电力系统计算中稀疏矩阵技术 运用很广, 矩阵的存贮方案也很多, 如按坐标存贮、 按顺序存贮、 按链表存贮等等。 尽管这些 存贮方式可以省去不少存贮单元, 但还没有达到最优效果, 而且这些存贮方式结构复杂, 且 对角元素与非对角元素分开存贮也使得存取过程繁琐, 不利于对 Y 阵的数据处理。 发明内容 。
10、0006 本发明的目的是克服现有技术的不足, 提供一种基于稀疏矩阵技术快速形成及读 写电力系统节点导纳矩阵数据的方法。 0007 本发明是通过以下技术方案实现的。 0008 本发明包括以下步骤 : 0009 步骤 1 : 构建节点导纳矩阵 Y 阵的数组 Y(n,22)。 0010 本发明根据电力系统每个节点一般最多和 6 条支路相连的原则, 同时考虑 Y 阵数 组元素的对称性, 定义 Y 阵数组为 Y(n,22), 并按规定方式计算和存贮 Y 阵上三角中对角元 素的行下标、 非零的非对角元素的列下标、 以及相应的自导纳和互导纳值、 各节点连接的支 路数三组数据, 不但省去了大量非零元素和下三角。
11、元素的存贮, 并且存贮方式简单直观, 所 建立的数据文件的读写速度极快, 也可直接写入传统的不考虑元素稀疏性的 Y 阵数组进行 后续消元等计算。 0011 定义 Y 阵数组为 Y(n,22), 主要是考虑任一节点可能最多与 6 条支路相连, 将其列 数分为 3 组。 说 明 书 CN 104317553 A 3 2/6 页 4 0012 第 1 组 :“支路累加计数列 S” , 提供与相应节点连接的支路数, 位于第 1 列, 其数值 Si由程序自动累加, 以保证准确读取与相应节点连接的支路数, 进一步节省存贮空间 ; 0013 第 2 组 :“父节点组” , 提供自导纳的行号 i 和参数, 共。
12、 3 列, 位于第 2 4 列 ; 0014 第 3 组 :“子节点组” , 提供 ij 的互导纳的列号 j 和参数, 最多提供 6 条与 “父节 点” 相连的 “子节点” 的列号和参数, 共 3*6 18 列, 位于第 5 22 列, 其中第 5、 8、 11、 14、 17、 20 列存放与 “父节点组” 节点相连接的子节点的列号, 其余存放相应的互导纳参数。 0015 “父节点” 有几条支路与 “子节点” 相连则, 则 “子节点组” 就有几组数据。如 “子节 点组” 有 3 条支路, 则 “子节点组” 就只有 3*3 9 列数据。所以 “子节点组” 的数据一般未 存满 18 列, 而 “。
13、支路累加计数列 S” 的作用就是帮助提高对数据的读取效率。 0016 步骤 2 : 按规定方式形成并读取系统各线路支路数据 ; 0017 形成和读取支路数据 (I、 J、 R、 X、 K) 时要求按节点号 ij 以及 j1j2j3j4j5j6的 方式, 以便确保仅形成 Y 阵的对角元素和上三角元素。 0018 步骤 3 : 计算各节点的自导纳 Yii、 Yjj和上三角中 i-j 节点间的非零元素的互导纳 Yij, 形成仅含对角元素和上三角非零元素的 Y 阵 ; 0019 步骤 3 中具体实施过程如下 : 0020 (1)Y 阵中第 1 列、“支路累加计数列 S” 的 S 值帮助确定第 i 行 。
14、( 或第 i 节点 ) 有 几条支路相连, 以便准确读写与 i 节点有关的互导纳 Yij, 但不包括 Yji。 0021 (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、 gjj及电纳 bii、 bjj进行累 加。。
15、 0022 (3) 根据该支路数据求取 i-j 节点间的互导纳 Yij, 第 1 次出现的 j1节点下标存放 在 Y 阵第 i 行的第 5 列, 相应的电导 gi,j1、 电纳 bi,j1存放在第 6 7 列 ; 第 2 次出现的 j2节 点下标存放在第 8 列, 相应的电导 gi,j2、 电纳 bi,j2存放在第 9 10 列 ; 依此类推。 0023 (4) 计算完成 Y 阵中所有对角元素和上三角的非零元素, 得到仅含对角元素和上 三角非零元素的 Y 阵。 0024 表 1 为本发明考虑元素稀疏性时 Y 阵元素的形成及存贮形式。 0025 表 1 本发明考虑元素稀疏性时 Y 阵元素的形成及。
16、存贮形式 0026 说 明 书 CN 104317553 A 4 3/6 页 5 0027 步骤 4 : 将 Y 阵写入数据文件。 0028 考虑到程序的结构化, 形成Y阵程序到此结束, 而所形成的Y阵数据文件的调用则 由下一个程序执行。在新的计算程序中打开按上述方式形成并存储的 Y 阵数据文件, 可将 Y 阵数据文件数据根据需要直接读入 Y(n,2n) 或 Y(n,22) 数组, 以便进行后续计算。 0029 在新的计算程序中读入Y(n,22)数据文件数据比读入Y(n,2n)数据文件数据所需 时间要少得多, 且可直接将 Y(n,22) 数据文件的数据写入 Y(n,22) 数组或 Y(n,2n。
17、) 数组以 便后续程序计算。 0030 本发明按规定方式形成、 写入或读取、 计算和存贮 Y 阵上三角中对角元的行下标、 非零的非对角元的列下标以及相应的自导纳和互导纳值以及 1 列 “支路累加计数列 S” 的数 据。这种存贮方式不但大大减少了 Y 阵的存贮空间, 并且简单明了, 易于数据的检索、 修改 和应用, 且大大降低了 Y 阵的形成及数据文件的读取时间。本发明与传统的不考虑元素稀 疏性的 Y 阵元素存贮形式相比, 不但大大减少了大量零元素和下三角元素的存贮空间, 因 而大大提高了Y阵的形成及Y阵数据的读写速度。 本发明与各种传统的、 考虑元素稀疏性的 Y 阵元素存贮方案, 如按坐标存贮。
18、、 按顺序存贮、 按链表存贮等等方案相比, 还可进一步减少 存贮空间、 提高存贮 Y 阵数据的读写速度, 而且存贮方式简单明了, 非常易于后续程序对 Y 阵存贮数据的计算及应用。 附图说明 0031 图 1 为本发明的流程图。 0032 图 2 为不考虑元素稀疏性及对称性时形成 Y 阵的流程图。 0033 图 3 为本发明考虑元素稀疏性及对称性时形成 Y 阵的流程图。 具体实施方式 0034 本发明将通过以下实施举例作进一步说明。 说 明 书 CN 104317553 A 5 4/6 页 6 0035 实施例 1。以 IEEE-300 节点系统为例, 分别比较传统的不考虑元素稀疏性时 Y 阵 。
19、元素的存贮形式和本发明 Y 阵元素的存贮形式。 0036 (1) 传统的不考虑元素稀疏性时 Y 阵元素的存贮形式 0037 传统的不考虑元素稀疏性时 Y 阵元素的存贮包括了所有的非零元素和下三角元 素, 其 Y 阵元素的存贮形式如表 2。 0038 表 2 不考虑元素稀疏性时 IEEE-300 节点系统 Y 阵元素的存贮形式 0039 0040 根据表 2 可以看出, 不考虑稀疏性时 IEEE-300 节点系统 Y 阵实部、 虚部元素的存 贮需 300*600 个单元。 0041 (2) 本发明对 IEEE-300 节点系统 Y 阵元素的存贮形式 0042 根据每个节点一般最多和 6 条支路相。
20、连的原则, 且仅存贮 Y 阵的对角元素和上三 角的非零元素, 此时 Y 阵元素的存贮形式如表 3。 0043 表 3 本发明对 IEEE-300 节点系统 Y 阵元素的存贮形式 0044 说 明 书 CN 104317553 A 6 5/6 页 7 0045 根据表 3 可以看出, 由于需满足 ij 的支路条件、 与 298 号节点相连的支路最多只 有 2 条, 与 299 号节点相连的支路最多只有 1 条, 而与 300 号节点相连的支路没有, 因此其 相应的 S 数值分别为 2、 1、 0。 0046 按本发明对 Y 阵实部、 虚部元素的存贮最多需 300*22 个单元, 一般仅需用到上述。
21、 存贮单元的一半左右。因此本发明 Y 阵元素的存贮单元在全部存满的情况下也仅为不考虑 元素稀疏性时 Y 阵元素存贮单元的 3.67。而且节点数越大, 节省的单元数越多。 0047 相对不考虑稀疏性时 Y 阵元素的存贮方法, 本发明只存贮 Y 阵的对角元素及上三 角中的非零元素, 因此大大减少了 Y 阵零元素和下三角元素的存贮, 提高了形成 Y 阵的速 度, 且大大加快了 Y 阵数据文件的读写速度。 0048 实施例 2。分别用传统的不考虑稀疏性时 Y 阵的存贮方法 ( 图 2) 以及本方法 ( 图 3) 形成 IEEE-57、 -118、 -300 节点系统的 Y 阵, 比较其数据文件读写过程。
22、的平均迭代时间及 所需的存贮单元。 0049 表 4 给出了对上述 IEEE 节点系统 Y 阵读写数据过程平均时间及存贮单元的比较。 0050 表 4 IEEE 节点系统 Y 阵数据文件读写过程平均时间及存贮单元的比较 0051 0052 T1、 T11、 U1: 不考虑元素稀疏性时对 Y 阵数据文件的平均读写时间、 所需的存贮单元 数 ; 0053 T2、 T21、 U2: 本方法对 Y 阵数据文件的平均读写时间、 所需的存贮单元数 ; 0054 T2/T1、 T21/T11、 U2/U1: 本方法与不考虑元素稀疏性的平均读写时间、 所需存贮单元 数的百分比。 0055 根据表 4 可以看出。
23、 : 0056 1. 无论对数据文件读还是写数据, 本发明的速度大大优于传统的不考虑元素稀疏 性方法的速度。 0057 以 IEEE-300 节点系统为例, 本发明写数据文件的过程仅占传统的不考虑元素稀 疏性方法写数据文件过程时间的 3.82 ; 本发明读数据文件的过程仅占传统方法时间的 2.51; 本发明所需存贮单元仅占传统方法的 3.67。实际上, 3.67是最大比例, 如果考 虑到 Y(n,22) 数组中并非所有单元都有数字, 则本发明实际所需存贮单元仅约占传统方法 的 2.5左右。 0058 2. 电力系统节点数越大, 本发明数据存贮和读取过程速度越优越。 0059 本发明按照电力系统。
24、的一般结构特点规定每个节点至多与 6 条支路相连, 且在 Y 说 明 书 CN 104317553 A 7 6/6 页 8 阵的形成和存贮、 读写过程中只对对角元素和上三角中非零的非对角元素进行操作。 因此, 随着系统节点数的增加其存贮单元并不会显著增加, 写数据文件和读数据文件的时间也不 会显著增加。 0060 3. 由于仅形成 Y 阵的对角元素和上三角元素, 因此 Y 阵的形成速度也比传统方法 Y 阵的形成的速度要快。 0061 4. 节点数愈多, 本发明的优势将愈加明显。 0062 本发明可以采用任何一种编程语言和编程环境实现, 这里采用 C+ 编程语言, 开 发环境是 VisualC+。 说 明 书 CN 104317553 A 8 1/3 页 9 图 1 说 明 书 附 图 CN 104317553 A 9 2/3 页 10 图 2 说 明 书 附 图 CN 104317553 A 10 3/3 页 11 图 3 说 明 书 附 图 CN 104317553 A 11 。