非零元素的随机生成及形成电力系统雅可比矩阵的方法与流程

文档序号:17069745发布日期:2019-03-08 23:12阅读:1043来源:国知局
非零元素的随机生成及形成电力系统雅可比矩阵的方法与流程

本发明属于电力系统分析计算领域,涉及一种非零元素的随机生成及形成电力系统雅可比矩阵的方法。



背景技术:

电力系统计算中广泛应用的节点导纳矩阵y和雅可比矩阵j都是极度稀疏矩阵,其中y阵对称而j阵不对称。但如果将j阵元素结构用jij子阵表示,则除平衡节点外,y阵元素结构与j阵中jij子阵结构完全相同。此外,虽然j阵不对称,但j阵中jij子阵与jji子阵的非零位置几乎对称,而这个特点使得y阵元素与j阵中的jij子阵及jji子阵元素关系紧密,然而传统方法形成j阵时未能利用上述关系,从而导致j阵形成时间过长。此外,传统法形成j阵的过程中也未利用jij子阵与jji子阵各个元素之间数值上的对应关系简化j阵对角元素和非对角元素的计算,因此其计算过程繁琐,并有大量的重复计算,从而导致对j阵元素的计算效率低下。

设系统节点数为n,pq节点数为m。传统方法中不考虑y元素稀疏性时的y(n,2n)存贮方式形式简单直观,方便对y阵数据的处理,但其大量零元素的存贮需要较大的存贮单元,导致读写y(n,2n)数据文件的时间较长。y(n,2n)数组中元素结构与j阵中元素结构相似,利用y(n,2n)数组可以方便地形成j阵,但由于未利用y阵元素与jij子阵及jji子阵元素的关系以及jij子阵与jji子阵元素之间的关系,其形成j阵效率不高。

传统方法中考虑y阵元素稀疏性的坐标法、顺序法、链表法等虽贮存单元大大减少,但由于其对角元素与非零的非对角元素分开存放,不但存贮结构复杂,也不利于数据的检索、修改、应用,且存贮方式与y阵、j阵的元素结构没有明确的对应关系,更没有对y阵元素进行分区存储,因此无法体现y阵元素与jij子阵及jji子阵元素的关系以及jij子阵与jji子阵元素之间的关系,从而也不能利用上述关系,导致其数据文件的读写速度无法达到最佳,且形成j阵的速度也不理想。此外,传统方法中无论考虑稀疏性与否,其节点有功功率pi和无功功率qi的计算效率也都不高。

文献①(一种基于对称稀疏矩阵技术快速求取极坐标牛顿-拉夫逊法潮流的方法:中国,[zl201510770899.x])提出根据y(n,d)存贮方式利用对称稀疏矩阵技术快速形成j阵并消元计算潮流,虽给出了y阵上三角非零元素的存贮方式,但并未给出具体的计算形成方法,且其形成y阵的过程中j1<j2---<j6的要求需应用大量循环和判断语句,同样导致计算效率不高;且其形成y阵过程中未将pq节点与pv节点的y阵数据分区存储,导致后续利用形成j阵时需要大量判断语句,同样降低计算效率;且在形成j阵时虽利用了jij、jji子阵非零元素位置的对应关系,但也未利用极坐标牛顿法中各元素数值上的对应关系,同样大大降低了j阵对角元素和非对角元素的计算效率。



技术实现要素:

为克服现有技术的不足,本发明方法提出一种非零元素的随机生成及形成电力系统雅可比矩阵的方法。本申请包括以下步骤:

步骤1:定义按随机顺序分区存储y阵上三角非零元素的y(n,d′)数组;

(1)对y(n,d′)数组按随机顺序仅存储y阵上三角的非零元素,并将其分为非零计数组、对角元素组、非对角元素组,其中非对角元素组再分为pq区和pv区;

(2)非零计数组位于第1~2列,分别存放每行对角元以右非零的非对角元素总数s1i以及对角元以右与pq节点对应的非零的非对角元素数s2i;

形成y阵时s1i、s2i均由程序自动累加产生,s1i可保证准确快速地读写y阵参数、使数据文件的存储单元最小、数据读写效率最高,并可在后续形成j阵或潮流计算过程大大加快pi、qi的计算;s2i的作用是可根据j阵中pq节点与pv节点元素结构的不同以及对应的jij子阵及jji子阵元素的对应关系不同时,更高效地计算j阵元素,并省去大量判断语句。

(3)对角元素组位于第3~5列,存放对角元行号i和自导纳gii、bii;

(4)非对角元素组位于第6-80列,再按pq区和pv区均三列一小组按随机顺序存放与相应对角元素连接的上三角非零的非对角元素的列号j及参数;当j≤m,将与pq节点对应的列号和互导纳j、gij、bij存放在第6-50列的pq区;当j>m,将与pv和平衡节点对应的列号和互导纳j′、g′ij、b′ij存放在第51-80列的pv区;

1)设系统中1~m为pq节点,m+1~n-1为pv节点,第n节点数为平衡节点。根据系统中上三角的静态非零元素数最大一般不超过15个的特点,再考虑pq和pv节点之间非零的非对角元素的分布比例,可假设pq节点非对角元素区域排列在y(n,d′)数组的第6-50列,pv节点非对角元素区域排列在y(n,d′)数组的第51-80列,因此d′=80。

2)非对角元素组中不要求j1<j2<--<js2i、j′1<j′2<---<j′s3i,即所有的非零元素可以随机存放,但要求i<j、i<j′、.j<j′,即要求按pq区和pv区仅存放上三角元素。

步骤2:根据线路支路数据i、j、r、x、k,分别计算i、j节点的自导纳和互导纳,再根据列号.j与m的大小关系累加s1i或s2i并按随机顺序相继存放在pq区或pv区;

(1)将初次计算的i、j节点的行号和自导纳g′ii、b′ii、g′jj、b′jj分别存放在第i行和第j行的对角元组,并将后续计算的i、j节点自导纳分别与g′ii、b′ii或g′jj、b′jj累加;

(2)若i<j,则为上三角元素;若列号j≤m,用s2i统计pq区的非零元素数,即将第i行s2i加1,将其列号j与互导纳gij、bij存放在第i行起始列号为t=3*(s2i+1)的非对角元素组的pq区,即分别存放j、gij、bij在第t列~第t+2列;若列号j>m,用s3i统计pv区的非零元素数,即将第i行的s3i加1,将其列号j作为j′与互导纳g′ij、b′ij存放在第i行起始列号为t′=48+3*s3i的非对角元素组的pv区,即分别存放.j′、g′ij、b′ij在第t′列~第t′+2列;

(3)若i>j,则为下三角元素,将其行列号对调;若对调后的列号i≤m,则将第j行的s2j加1,将其列号i与互导纳gji、bji存放在第j行起始列号为t=3*(s2j+1)的非对角元素组的pq区,即分别存放i、gji、bji在第t列~第t+2列;若对调后的列号i>m,将第j行的s3j加1,将其列号i作为i′与互导纳g′ji、b′ji存放在第j行起始列号为t′=48+3*s3i的非对角元素组的pv区,即分别存放i′、g′ji、b′ji在第t′列~第t′+2列;

(4)依此循环直至建立仅含y阵上三角非零元素的y(n,d′)数组,其中s1i=s2i+s3i。

由于支路数据的随机读取,因此无论在y(n,d′)数组中非对角元素组的pq区还是pv区,其存放的列号及参数也是随机顺序。这种存放方式可省去循环语句中的大量判断,从而大大加快y阵的形成速度,而y阵元素的随机存放不但不影响后续j阵的形成,同样可以利用jij和jji子阵非零元素的对应关系快速形成j阵。

y(n,d′)数组的二维结构如表1。

表1y(n,d′)数组元素存放结构

注意:在y(n,d′)数组pq区各行第50列和pv区各行第80列以左的部分单元中几乎均无数据,这些空置单元似乎浪费了y(n,d′)数组的容量,但实际上将y((n,d′)数组写入y(n,d′)数据文件时由于s1i、s2i的控制作用,这些空置单元不但不会影响y(n,d′)数组的形成速度,而且使得所有写入y(n,d′)数据文件中的y(n,d′)数组的空置单元也将全部被剔除,因而这些空置单元无论对y(n,d′)数组还是对y(n,d′)的数据文件几乎均无影响。

步骤3:根据s1i、s2i的数值将二维y(n,d′)数组中的空置单元剔除,以一维紧凑格式写入y(n,d′)的数据文件以备调用;

步骤4:将y(n,d′)数据文件的数据写入y(n,d)数组;

(1)将一维紧凑格式的y(n,d′)数据文件的数据写入二维y(n,d)数组中,每行对角元以右非零的非对角元素总数s1i以及对角元以右与pq节点对应的非零的非对角元素数s2i与y(n,d′)数组完全相同,再假设与s1i对应的系统最大非零元素数为s1max,则d=3s1max+5;

(2)y(n,d′)数组中的最大存储单元为n×d′=80n,但由于其pq区和pv区的结构特点,每行的实际列数均为50+3s3i,因此y(n,d′)的实际存储单元为n×∑(50+3s3i),其pq区中仍有不少空置单元。y(n,d)数组的最大存储单元为n×d=n×(3s1max+5)≤50n,远小于y(n,d′)数组中80n的最大存储单元;每行的实际列数为3s1i+5,因此y(n,d)的实际存储单元为n×∑(3s1i+5),其pq区无任何空置单元,也远小于y(n,d′)数组中的实际存储单元。

(3)由于y(n,d)数组中的pq区无空置单元,其各行的pv区数据均紧接着相应的pq区数据,因此y(n,d)数组中各行pq区和pv区的分界不在同一列上,但由于s1i、s2i控制,完全不影响对y(n,d)数组数据的应用;

步骤5:根据y(n,d)数组的参数按对称性随机分段计算pi、qi;

传统方法中极坐标pi、qi的计算式如下:

式(1)中pi、qi的计算需应用y阵第i行的一整行元素一次性完成计算,由于本发明方法中是随机存贮y阵对角元及上三角的非零元素,因此必须利用y阵元素的对称性随机分段计算pi、qi,为此可将式(1)改写成式(2)。

式(2)将pi、qi的计算分解成的对n个节点功率δpi1~δpin、δqi1~δqin增量的计算,其中δpij、δqij分别表示pi、qi求和项中的第j项,而δp′ij=vj(gijcosδij+bijsinδij)、δq′ij=vj(gijsinδij-bijcosδij)。同样可按此计算δpii、δpik、δqii、δqik等。

假设y阵第i行只有j、i、k、m四列元素非零,且j<i和i<k<m,即第j列位于下三角,而第i、k、m列均位于上三角,此时可将式(2)再分解并简化成式(3)。

根据式(3)计算第i行的pi时,其δpij增量需根据y阵的下三角元素进行计算,而δpij只能在前面计算第.j行的δpji时,同时根据对称性计算第i行的δpij。因此计算第i行的pi时,只需累加前面计算的δpij,而根据y(n,d)数组直接计算上三角部分的功率增量δpii、δpik、δpim,然后两者叠加则可得到pi。同理,在根据y(n,d)数组计算第i行上三角部分的功率增量δpii、δpik、δpim时,同样也要根据对称性计算第k、m行的功率增量δpki、δpmi,以便在计算第k、m行的pi时直接进行累加。qi计算过程同上。

步骤6:根据y阵元素与jij、jji子阵非零元素位置的对应关系以及jij、jji子阵元素本身和各自的数值对应关系,用y(n,d)数组按(两行+两列)/次方式对称形成j阵;

(1)利用y阵元素与jij、jji子阵非零元素静态位置的对应关系快速形成j阵;

将极坐标牛顿法修正方程式(4)按虚线分为a、b、c、d区,相关子阵标于上。

y阵中如bij≠0可得yij≠0;根据对称性可得bji≠0和yji≠0;再根据y阵元素结构与jij、jji子阵非零元素位置的对应关系,可推出子阵jij≠0、jji≠0;继而可推出jij、jji子阵中的元素也均不非零。式(4)中j阵中元素的分区计算如下:

1)a区的j1m与jm1中,b1m≠0→j1m≠0→jm1≠0→(h1m、n1m、m1m、l1m)≠0和(hm1、nm1、mm1、lm1)≠0,即根据y阵一个元素b1m可计算j阵八个元素,为“据1计8”;

2)b区的j1,m+1与c区的jm+1,1中,b1,m+1≠0→j1,m+1≠0→jm+1,1≠0→(h1,m+1、m1,m+1)≠0和(hm+1,1、nm+1,1)≠0,即根据y阵一个元素b1,m+1可计算j阵四个元素,为“据1计4”;

3)d区的jm+1,n-1与jn-1,m+1中,bm+1,n-1≠0→jm+1,n-1≠0→jn-1,m+1≠0→hn+1,n-1≠0和hn-1,m+1≠0,即根据y阵一个元素bm+1,n-1可计算j阵二个元素,为“据1计2”;

由于y(n,d)数组中元素的随机存放,因此可根据其上三角的一个非零元素,以j阵中的四个对角元为起点,按(两行+两列)/次对称计算方式,分别计算j阵中的a、b和c、d四个区的8个或4个或2个元素,从而以随机顺序快速形成j阵。

(2)利用jij、jji子阵元素本身和各自数值对应关系快速完成非对角元素和对角元素的计算;

1)利用jij、jji子阵非对角元素本身的数值对应关系计算,如j1m与jm1中,利用m1m=-n1m、l1m=h1m;

2)利用jij、jji子阵非对角元素各自的数值对应关系计算;

表面上jij与jji子阵中元素的数值不等,如hij与hji、nij与mji、mij与mji、lji与lji,因此传统方法中hij与hji、nij与nji、mij与mji、lij与lij元素均分开计算,但将各元素计算式重写如下后可以发现以下对应关系。

可以看出:虽然有hij≠hji,nij≠nji等,但将其各自分解后可得hij=c1+d1和hji=-c1+d1、nij=c2-d2和hji=c2+d2、mij=-(c2-d2)=-nij和mji=-(c2+d2)=-nji、lij=c1-d1=hij和lji=-c1-d1=hji。因此在计算hij时可同时计算lij、hji、lji,比各自分别计算效率更高。

3)利用jii子阵对角元素各自的数值对应关系计算;

传统方法中j阵对角元的计算未利用pi、qi的计算,其计算式中∑的重复计算大大影响计算效率,且所有的对角元素hii、nii、mii、lii均分开计算。但将对角元素的计算公式重写如下后也可以发现以下对应关系。

上述等式表明,所有对角元素hii、nii、mii、lii的计算均可分为按非对角元素计算和用pi、qi进行修正两步完成,而在未用pi、qi修正时,其以非对角元素计算的部分有与非对角元素同样的特点,即h′ii=l′ii、m′ii=-n′ii。因此在计算非对角元素时可同时根据该特点计算其对角元素的相应部分,然后用pi或qi修正,以此简化并加快对角元素的计算。

本发明方法的有益效果为:

1.采用上三角非零元素y(n,d)的新型随机存放方式,并分别根据不同的非零元素计数可大大减少y阵的存贮单元和形成y阵时的判断语句、提高y阵的形成速度及y阵数据文件的读写速度,便于数据的计算、检索、修改等应用;其节点数据按pq与pv分区存放,可省去形成j阵时的大量判断语句、大大加快形成j阵速度。

2.根据pq与pv分区、利用y阵元素与jij与jji子阵非零元素位置对应的关系,形成j阵时按“据1计8”、“据1计4”、“据1计2”规则分区计算,可按(两行+两列)/次方式对称快速形成j阵。

3.利用jii子阵、jij与jji子阵元素本身和各自数值的对应关系快速对称完成非对角元素和对角元素的计算;

4.利用y阵元素的对称性随机分段计算pi、qi的新方法,进一步加快pi、qi和j阵对角元的计算。

附图说明

图1为传统方法不考虑元素稀疏性及对称性形成y(n,2n)数组流程图

图2为本发明方法考虑元素稀疏性及对称性形成y(n,d′)数组流程图

图3为传统方法用y(n,2n)数组形成j阵流程图。

图4为本发明方法考虑元素稀疏性及对称性形成y(n,d′)数组并用y(n,d)数组形成j阵流程图。

具体实施方式

本申请方法将通过以下实施举例作进一步说明。

实施例1对ieee-30~-118系统,分别比较用传统法形成y(n,2n)数组和本发明方法形成y(n,d′)数组并读写y(n,2n)、y(n,d′)数据文件、用y(n,2n)数组和本发明方法的y(n,d)数组形成j阵的时间,比较结果如表2所示。

表2传统法和本方法形成并读写y阵数据文件、形成j阵时间的比较

tc.w、tn.w:传统法、本方法形成及写y阵数据文件时间。

tn.w/tc.w:本方法与传统法形成及写y阵数据文件时间百分比。

tc.r、tn.r:传统法、本方法读y阵数据文件时间。

tn.r/tc.r:本方法与传统法读y阵数据文件时间百分比。

tc.fj、tn.fj:传统法、本方法形成j阵时间。

tn.fj/tc.fj:本方法与传统法形成j阵时间百分比。

根据表2可以看出:

1.本方法形成及读写y阵数据文件、形成j阵时间均大大优于传统法。

以ieee-118系统为例,本方法形成及写y阵数据文件时间为传统法的15.98%;读y阵数据文件时间为传统法的11.11%;不考虑读数据文件时,形成j阵时间为传统法的8.52%。

2.电力系统节点数越大,本方法读写数据文件和形成j阵的速度越快。

本方法可以采用任何一种编程语言和编程环境实现。本发明中采用c++编程语言,开发环境是visualc++,使用电脑型号为联想天启m4500。

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