毕业设计(论文)-基于潮流计算的稀疏技术研究.doc_第1页
毕业设计(论文)-基于潮流计算的稀疏技术研究.doc_第2页
毕业设计(论文)-基于潮流计算的稀疏技术研究.doc_第3页
毕业设计(论文)-基于潮流计算的稀疏技术研究.doc_第4页
毕业设计(论文)-基于潮流计算的稀疏技术研究.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉轻工大学 毕 业 设 计(论 文)设计(论文)题目:基于潮流计算的稀疏技术研究 姓 名 曹 乐 学 号 100408521 院 (系) 电气与电子工程学院 专 业 电气工程及其自动化 指导老师 仰 彩 霞 2014 年 6 月 2 日目 录摘要IABSTRCTII1 绪论11.1 课题研究目的和意义11.2 稀疏技术在电力系统潮流计算中的研究11.3 本文完成的主要工作和章节安排22 电力系统潮流计算42.1 电力系统潮流计算的数学模型42.1.1 节点电压方程42.1.2 功率方程52.2 电力系统潮流计算的方法52.2.1 高斯-赛德尔潮流计算62.2.2 牛顿-拉夫逊潮流计算83 稀疏存储技术153.1 静态数组结构存储方法153.1.1 散居格式153.1.2 按行(列)存储格式153.1.3 三角检索存储格式163.2动态数组结构存储方法173.2.1 带行指针数组的单链表表示法173.2.2 十字链表表示法183.2.3 二叉单元链表数组194 用于牛顿-拉夫逊潮流计算的稀疏技术214.1 节点分块雅可比矩阵214.2 二层链表的应用224.3 二层链表的改进234.4 实验与结果24总 结26致 谢27参考文献28附录30摘要潮流计算是电力分析最基础的电气运算之一,其效率一直是研究人员关心的问题。目前,稀疏技术已经广泛应用于工程计算、科学分析等诸多领域。因此,结合潮流计算方法的特点进一步提高稀疏技术的应用效率,对电力系统各种分析计算都具有一定意义。创建一种特殊的数据存储结构,即二层链表,该结构可以实现导纳矩阵与节点分块雅可比矩阵的同结构存储,以及导纳矩阵各元素到雅可比矩阵的定位、查询功能,提高了雅可比矩阵的形成与修正效率。由于导纳矩阵和雅克比矩阵具有对称性,可进一步将二层链表存储单元数量减半,形成下三角二层链表结构,能更好的节省计算机的存储空间;同时,减少了待修正雅可比矩阵与功率不平衡中共同元素的运算量,提高潮流计算效率。关键词:潮流计算,稀疏技术,二层链表ABSTRCTPower flow calculation is one of most basic eletrical operation applied in the electrical system analysis,its efficiency has been a matter of concern to researchers.Currently,the sparse technique has been widely used in the areas of engineering calculations,scientific analysis.Therefore,to improve the efficiency of the sparse technique by combing the power flow calculation features could enhance the efficiency of the electrical operations.We proposed a special kind of two-layer linked list to make the bus admittance matrix and the bus block jacobian matrix stored,and the function of location searching between the two matrix implemented under the same structure.And the efficiency of the foemation and modification of jacobian matrix has benn largely improved.The research then used the symmetry of the symmetric matrix during the factorization,halved the amount of the layer two linked list storage cell,and formed the lower triangular and two-layer linked list.So the storage space could be better used.At the mean time,through exacting the elements from the being revised jacobian matrix and the unbalanced power to reduce the operation so as to enhance the efficiency.Keywords:Power Flow Calculation,Sparse Technique,Linked ListI1 绪论1.1 课题研究目的和意义潮流计算是电力系统分析中最根本的电气运算。潮流计算主要是用来研究电力系统规划和网络运行过程中提出的各种问题。对于规划中的电力系统,通过潮流计算可以有效的检验所提出的规划方案是否能满足运行的要求;对于运行中的电力网络,通过潮流计算可以立刻确定各个负荷的变化和部分网络结构改变对电力系统运行稳定性的影响、系统中各条母线电压是否在允许的范围内、以及系统中各种元件(线路电缆、变压器等)是否会出现过负荷工作。为了提高电力系统潮流计算的速度和效率,提出了基于潮流计算的稀疏技术研究。稀疏数据是一类零元素所占比例很大,非零元素所占比例较小的数据。一般而言,数据的有效运算是非零元素之间的运算,但稀疏数据中大量的零元素将会给计算带来大量的冗余度,降低计算机算法的速度和效率。在电力系统分析与计算中存在大量具有稀疏性的矩阵,如潮流计算中的雅可比矩阵。因此,充分利用电力系统中数据的稀疏性,运用相关的稀疏算法,可以有效的提高电力系统潮流计算的速度和效率。1.2 稀疏技术在电力系统潮流计算中的研究稀疏技术已被广泛的应用于电力系统潮流计算中,受到了广大电力专家、学者的高度重视并且取得了大量的研究成果。文献1就曾提出过基于二维链表的稀疏存储方法,该文献的作者朱凌志、安宁成功地将该方法应用于潮流计算中。通过对传统二维链表的存储结构的改进、预先在稀疏矩阵中增加相关的冗余元素、优化潮流计算电压和功率方程的结构,实现了对潮流计算方程的改进。文献2通过研究数组存储方式和链表存储方式在牛顿-拉夫逊潮流计算中的效率问题、以及内存占用情况,证实链表存储方式在内存空间占用、计算效率上有明显的优势。文献3提出了一种基于十字链表动态生成的稀疏技术,这种十字链表能同时存储电力网络中的拓扑结构信息和参数信息,能提高电力网络中潮流计算的效率,同时还能在运行状态变化及故障时对电力网络结构进行有关的修改。为了提高牛顿-拉夫逊潮流计算效率,文献4引入了基于消去树理论中的符号因子分解技术以及改进的LU数值分解算法。在符号因子分解中引入消去树理论是对LU分解可能出现的填充元位置进行定位,避免在之后的数值计算时频繁的插入非零元素。文献5提出来一种静态存储方法VEPD,该方法有利于存储具有稀疏性质的矩阵。作者在文章指出,采用VEPD法存储矩阵所占用的内存空间较小,且元素的查找、修改、删除等操作方便快捷。另外,稀疏技术对配电网潮流计算效率的提高也有一定的意义。为了减小大型配电网潮流计算的冗余度,文献6分析和研究了配电网的拓扑结构特点,作者提出了利用树状链表和递归搜索方法得出反映配电网树状链表关系的数据结构。该数据结构具有存储过程不受输入数据影响、直观反映电力网络结构、避免存取大规模矩阵等优点,从而有效降低配电网潮流计算时间。文献7通过理论研究,推导出基于逆流编号法的配电网牛顿-拉夫逊法潮流过程与等值递推法相一致的结论,为实现配电网潮流计算方法多样性与准确性提供了理论依据。文献8提出了一种在辐射网络的导纳矩阵消去分解过程中不出现注入元的节点优化编号方法,即逆流编号法。逆流编号法指出:任意网络节点的编号一定要大于其顺流节点的编号或者任意节点的编号必须小于其逆流节点的编号。作者经研究证明该方法能有效降低辐射电网节点导纳矩阵的运算量,节约计算机内存空间。在文献9中,作者系统地分析和对比各种配电系统节点编号方案,对采用不同潮流计算方法(节点电压法、支路电流法)所对应的节点编号方案进行了概括、分析,此文献对配电网潮流计算有一定的指导意义。1.3 本文完成的主要工作和章节安排本文是以潮流计算中的节点导纳矩阵与节点分块雅可比矩阵作为研究对象,利用稀疏存储技术,实现对上述两个矩阵同结构存储。本文的理论部分,详细地介绍潮流计算的数学模型、计算方法以及稀疏存储技术;在潮流计算程序部分,作者将以牛顿-拉夫逊潮流计算法编写程序,并进行Matlab程序仿真。本文的章节具体安排如下:第一章 绪论第二章 电力系统潮流计算第三章 稀疏技术第四章 用于牛顿-拉夫逊潮流计算的稀疏技术第五章 结论注:1. 第一章写出本文的研究目的和意义,并对目前稀疏技术在电力系统潮流计算中的研究现状加以介绍;2. 第二章写出了电力系统潮流计算的原理,介绍了两种潮流计算的方法,其中作者详细的介绍了牛顿-拉夫逊潮流计算法;3. 第三章作者介绍了稀疏技术内容,着重对各类稀疏存储技术进行了详细的讲解与说明;4. 第四章作者将稀疏技术运用到电力系统的潮流计算中,旨在提高计算的速度和效率,并且给出Matlab编写的算法实例;5. 第五章总结。402 电力系统潮流计算所谓电力系统潮流计算,就是在已知电网接线方式、参数及运行条件的情况下,计算出电力系统稳态运行时各母线电压、各支路电流、功率及网络损耗。2.1 电力系统潮流计算的数学模型电力网络的数学模型是由网络的有关参数和变量所组成的可反映网络性能的数学方程式组,如节点电压方程和回路电流方程。电力系统潮流计算中多使用节点电压方程,原因是节点电压方程所描述的运行状态直观、易于处理运行条件的变化,且方程个数少于回路电流方程。2.1.1 节点电压方程由电路原理可知,对于具有n个独立节点的电力系统,可写出n个节点电压的矩阵方程为 (2.1)简记为(2.2)式中 节点注入电流的转置列向量,其阶数为; 节点电压的转置列向量,其阶数为;节点导纳矩阵,其阶数为。2.1.2 功率方程电力网络的节点电压方程就是潮流计算时的数学模型。如果已知各节点的电流,直接求解线性的节点电压方程即可。但是,工程中已知的条件既不是节点电压,也不是节点电流,而是各节点的注入功率 。将 代入上述节点电压方程,并写成其展开形式为 (2.3)式(2.3)为一非线性方程组,通常称为功率方程。、分别为节点向网络注入的有功功率和无功功率。功率方程随着节点电压向量表示形式不同有两种不同的形式。直角坐标形式的功率方程若节点电压向量以直角坐标形式即表示,导纳用形式表示,则将这两个关系代入式(2.3)后展开,并将功率的实部和虚部分别列写,即可得到分离的有功、无功功率方程为(2,4)极坐标形式的功率方程若节点电压以极坐标形式即或表示,并将其导纳的复数表示式一起代入(2.3)的功率方程,经整理后也可分别写成有功、无功的方程式为(2.5)式中 节点电压与节点电压的相角差。2.2 电力系统潮流计算的方法潮流计算的功率方程是一组非线性代数方程,电力系统潮流计算就是求解这组非线性方程组。求解非线性方程组在数学上有两种途径,即采用迭代法直接求解非线性方程组或将非线性方程组线性化后迭代求解。直接求解非线性方程组有雅可比迭代法、高斯-赛德尔法等;将非线性方程组线性化后迭代求解的方法主要有牛顿-拉夫逊法等。早期,潮流计算以高斯-赛德尔迭代法较为普遍。高斯-赛德尔迭代法是数学上求解线性或非线性方程组的一种常用的迭代方法。在潮流计算中,高斯-赛德尔迭代法可分导纳矩阵迭代法和阻抗矩阵迭代法两种,前者是以节点导纳矩阵为基础建立的赛德尔迭代格式;后者是以节点阻扰矩阵为基础建立的赛德尔迭代格式。目前,牛顿-拉夫逊法和快速解耦法是两种应用最为普遍的方法,也是其他潮流计算方法的基础。牛顿-拉夫逊法的原理是将非线性方程组转化为线性方程组,通过迭代求解线性方程组得到解,牛顿-拉夫逊法具有较好的收敛性。快速解耦法是由牛顿-拉夫逊法极坐标形式简化而来的,它以节点有功功率偏差作为电压相角的修正量,以节点无功功率偏差作为电压幅值的修正量,有功功率和无功功率迭代是分开进行的。快速解耦法的修正方程系数矩阵的维数较低且为常数,因而计算速度较快,占用的内存更少,被广泛使用。潮流计算的研究广泛而活跃,为改进牛顿-拉夫逊法的某些不足,采用了包括泰勒级数高阶项的更精确模型保留非线性潮流计算,一定程度上提高了潮流计算的收敛性能。另外,专家、学者以及研究人员针对一些特殊的潮流计算开发了对应的方法,例如直流潮流算法、随机潮流算法、三相潮流算法、谐波潮流算法以及用于交直流混联的潮流算法。随着人工智能理论的发展,人工神经网络、遗传算法和模糊算法等也逐渐被引用到潮流计算中。但是目前为止,无论新的或是改进的算法,仍不能取代牛顿-拉夫逊法和快速解耦法的地位。2.2.1 高斯-赛德尔潮流计算用高斯-赛德尔法计算电力系统潮流,首先需将功率方程式(2.3)改写,然后经行迭代计算。假设待计算的系统有个独立节点,其中1个平衡节点,个PQ节点,个PV节点,则由功率方程式(2.3)可解得为(2.6)再将式(2.6)改写为高斯-赛德尔迭代法的格式,即(2.7)则可对上式迭代进行潮流计算。若有一网络,其节点1为平衡节点,其余个节点都为PQ节点。由于平衡节点不参与迭代,则用高斯-赛德尔迭代法潮流计算的公式为(2.8)式中平衡节点1的电压;迭代次数。对于PQ节点,由于其功率是给定的,故只要给出节点电压的初始值 ,即可按式(2.7)进行迭代计算。对于PV节点,因其无功功率是未知量,只能在迭代开始时给定初始值,此后的迭代值必须在逐次的迭代过程中计算得出。因此,对PV节点进行每一次迭代计算,必须要完成一下几步计算:修正节点电压。按式(2.7)计算所得到的电压并不一定刚好等于PV节点所要求的电压幅值。为满足此条件,可只保留节点电压的相位角,而将其幅值用给定值代替进行修正,即(2.9)计算节点的无功功率。第次迭代的节点无功功率计算式为(2.10)用式(2.10)计算所得的无功功率,应该满足下面的约束条件,即如果则应令;如果,则应令。上述情况表明无功功率已达到极限值,不能再用调节无功功率来保持PV节点的电压值。此时由于无功功率已限定为极限值,因而PV节点就转变为PQ节点,故计算应按PQ节点进行。完成上述三步计算后,才可应用式(2.7)计算节点电压的新值。对于平衡节点,由于电压的幅值和相位角为给定值,故无需迭代计算。每次迭代完成后,应根据给定的任意小数,用下面的迭代收敛判据检验,即如果该式满足时,停止迭代计算,或即为所求得的节点电压。求出节点电压后,即可计算各条线路的潮流、平衡节点功率以及各支路的功率损耗。由图2.1可推出线路中的功率计算公式如下:(2.11)图2.1 线路功率计算示意图由于式(2.8)中的为平衡节点,故平衡节点的功率可以代入式(2.8)求出。即(2.12)各线路上损耗的功率为(2.13)2.2.2 牛顿-拉夫逊潮流计算牛顿-拉夫逊潮流计算的核心问题是雅可比修正方程的建立和求解。为说明这一修正方程式的建立过程,首先对网络中各类节点的编号作如下的约定:(1) 网络中共有个节点,编号为,其中1个平衡节点,编号为。(2)网络中有个PQ节点,编号为,其中包括编号为的平衡节点。(3)网络中有个PV节点,编号为。直角坐标形式的牛顿-拉夫逊潮流计算式2.1-2.3给出了节点的注入有功功率、无功功率与电压幅值方程。式中,、与分别为节点i的注入有功功率、无功功率与电压幅值;与分别为节点i电压的实部与虚部,并且;与分别为支路的电导与电纳,与为节点i的自电导与自电纳。(2.13)对于PQ节点,其功率误差方程可表示为(2.14)式中、节点i的给定有功功率、无功功率。对于PV节点,其有功功率、电压误差方程可表示为(2.15)由于平衡节点只有一个,电压不参加迭代,其电压为(2.16)上述的功率误差方程和电压误差方程构成的方程组即为牛顿-拉夫逊法潮流计算所要求解的非线性方程组。非线性方程组中的待求量为各节点的电压的实部和虚部。除了一个平衡节点的电压已知外,共有个未知数待求。在具有个独立节点的电力系统中,PQ节点有个,PV节点有个,则有功功率误差方程共有个,无功功率误差方程共有个,电压误 差方程共有个所以上述非线性方程组中共有方程个,与方程中的未知个数相同,方程组有唯一的非零解。把各个节点的电压变量用初始值与修正值的形式表示为将此关系式带到式(2.14)、式(2.15)中,在初值、附近的、范围内将其展开为泰勒级数,略去含有、的二次以上各项就可得到修正方程。省略掉迭代次数的符号,可写出其矩阵形式为(2.17)式中雅可比矩阵的各个元素分别为:非对角线元素时:(2.18)对角元素时:(2.19)分析上述表达式可以看到,雅可比矩阵具有以下特点:1) 各元素是节点电压的函数,每迭代一次各节点电压都要发生改变,因而各元素也随之发生变化;2) 非对称矩阵;3) 互导纳时,与之对应的非对角线元素亦为零,此外因非对角线元素 ,故雅可比矩阵是稀疏矩阵。牛顿-拉夫逊潮流计算的主要流程可简述如下:a.形成导纳矩阵;b.设置各节点电压初始值、c.将初始值代入式(2.14)、(2.15),计算各节点功率及电压的偏移量、;d.运用式(2.18)、式(2.19)计算雅可比矩阵中的各个元素;e.解修正方程式(2.17),求出各个节点电压的修正量、f.求新的电压初始值,其公式为 g.用新的初始值代入式(2.14)、式(2.15),计算新的各个节点功率及电压偏移、和;h.检查计算是否已经收敛,由式(2.14)可知,如电压趋近与真实解时,其功率偏移量趋向零。因而其收敛判据为其中为预先给定的小数。若不收敛返回到第(3)步重新迭代,若收敛进行下一步。i.计算各线路中的功率分布及平衡节点功率,最后打印出来计算的结果。各线路中的功率平衡节点功率可安式(2.12)及式(2.13)计算。牛顿-拉夫逊潮流计算直角坐标式的流程图如图2.3所示。开始形成节点导纳矩阵输入原始数据设节点电压,i=1,2,n,is置迭代次数置节点号i=1按式(2-18),(2-19)计算雅克比矩阵元素按式(2-14)计算节点的,节点的,求解修正方程式,得,雅克比矩阵是否已全部形成?计算平衡节点及PV节点功率求,迭代次数 k=k+1i=i+1?潮流计算完成计算各节点电压的新值:图2.3 牛顿-拉夫逊潮流计算直角坐标式的流程图极坐标形式的牛顿-拉夫逊潮流计算节点电压不仅可以用直角坐标形式表示,也可以用极坐标形式表示。因此,牛顿-拉夫逊潮流计算时的修正方程还有另一种表达形式。为建立极坐标形式的修正方程式,可仍令,但令(为第i个节点的电压相角,为第i个节点与第j个节点的电压相角之差:)。由此,可以将式(2.14)改写为(2.20)对于具有个独立节点,其中有个PV节点的网络,式(2.20)组成的方程中共有个方程式。采用极坐标表示时,方程组个数较采用直角坐标表示少个。因对PV节点,采用极坐标表示时,待求的只有电压的相角和注入无功功率,而采用直角坐标表示时,待求的有电压的实数部分、虚数部分和注入无功功率。所以极坐标形式的牛顿-拉夫逊潮流计算的未知变量少了个,方程数也相应少了个。这样可建立修正方程式的矩阵形式为:(2.21)式中 是阶方阵;是阶矩阵;是阶矩阵;是阶方阵。各矩阵的元素分别为:(2.22)将式(2.20)代入(2.22)求偏导数可得雅可比矩阵中各元素的表达式如下:非对角线元素:(2.23)对角线元素:(2.24)3 稀疏存储技术在科学计算与工程分析中,常常需要处理一类稀疏性的数据,这类数据所包含的零元素比例较大,而非零元素所占比例小,我们将此类数据称之为稀疏数据。所谓稀疏技术,是指通过设计算法和编制程序,尽可能避免储存稀疏数据中的零元素以及对这些元素进行计算。稀疏存储技术的核心内容是只存储与非零元素相关的信息,从而节省储存空间并提高计算机的运算速度。具体的操作方式有很多,如果按照存储原理可以分为两大类:一是静态数组结构存储方法,二是动态链式结构存储方法。3.1 静态数组结构存储方法此类方法采用静态数组存储稀疏矩阵非零元素的数值和位置信息,常用的方法有散居格式、按行(列)存储格式、三角检索存储格式等。3.1.1 散居格式在散居格式中,对阶稀疏矩阵A,其非零元素共有个,令是A中第i行第j列非零元素。可以定义三个数组,按下面的存储格式存储矩阵A中非零元素的信息:存储中非零元素的值,共个存储中非零元素的行指标i,共个 存储中非零元素的列指标j,共个 因此,散居格式存储稀疏矩阵时,共需要3个存储单元。在散居格式中,矩阵A中非零元在数组中的位置可任意排列,修改灵活。但是,其存储顺序无一定规律,检索起来不方便,最差的情况下可能性要在整个数组中查找一遍。3.1.2 按行(列)存储格式按行(列)存储格式的原理是按行(列)顺序依次存储阶矩阵A中的非零元,同一行(列)元素依次排在一起。以按行为例,其存储格式是:按行存储矩阵A中非零元的值,共个;按行存储矩阵A中非零元的列号,共个;记录A中每行第一个非零元素在VA中的位置,共个。由按行(列)存储格式的特点,要查找第i行的非零元素,在中取出从到共个非零元就是A中第i行的全部非零元,非零元的值是,列号为。要查找第i行第j列的元素在中的位置,则对k从到,判断列号是否等于j,如果相等,那么就是要查找的非零元3.1.3 三角检索存储格式用三角检索存储格式来存储非零元素的方法,特别适用于稀疏矩阵的三角分解。以按行、列存储阶矩阵A的上下三角部分非零元素为例来说明三角检索存储格式的原理。其存储格式是:U 存储矩阵A的上三角部分的非零元素的值,按行依次存储JU存储矩阵A的上三角部分的非零元素的列号IU存储矩阵A中上三角部分每行第一个非零元素在U中的位置(首地址)L 存储矩阵A中下三角部分的非零元素的值,按列依次存储IL存储矩阵A的下三角部分的非零元素的行号JL存储矩阵A中下三角部分每列第一个非零元素在L中的位置(首地址)D 存储矩阵A的对角元素的值,其检索下标不需要存储三角检索存储格式示例:则矩阵A的存储可表示为:IU(3)为4,表明矩阵A上三角部分第3行的第1个非零元如果有的话应在U的第4个位置,而U表中第4个位置没有非零元素,为了检索方便,IU(3)仍应赋值4。有了IU表即可知道A的上三角部分第i行的非零元的数目。如果要查找矩阵A的上三角第i行所有非零元素,只要取出从到共个元素即可,JU(k)指出了该元素的列号,U(k)是该非零元素的值。对于按列存储的格式进行查找的情况类同。在矩阵A的稀疏结构已确定的情况下使用三角检索存储格式是十分方便的。但是如果在计算过程中,矩阵A的稀疏结构发生了改变,即其中的非零元素的分布位置发生变化,相应的检索信息也要随之变化,这时用三角检索存储格式很不方便。3.2动态数组结构存储方法静态数组结构存储稀疏矩阵通常采用链表存储,常用的方法有带行指针数组的单链表表示法、十字链表表示法以及二叉单元链表数组等。3.2.1 带行指针数组的单链表表示法在这种存储结构中,需要把具有相同行号的三元组节点按照列号从小到大顺序链接成一个单链表。稀疏矩阵中的每一行对应一个单链表,每一个单链表都有一个表头指针,为了把它们保存起来,便于访问每一个单链表,需要使用一个行指针向量(即一维数组),该向量中的第各分量(即对应数组下标为的元素)用来存储稀疏矩阵中第行所对应的单链表的表头指针。带行指针数组的单链表结构如图3.1所示图3.1 带行指针向量的链表存储结构3.2.2 十字链表表示法十字链表存储就是既带行指针向量又带列指针向量的链接存储。在这种链接存储中,每个三元组结点既处于同一行的单链表中,又处于同一列的单链表中,即处于所在的行单链表和列单链表的交点处。十字链表实质上是动态链表,主要用于存储稀疏矩阵。十字链表包括5个域:行号(row)、列号(col)、值(val)、向下指针(down)、向右指针(right),如图3.2所示。向下指针用来指向同列下一个节点中的非零元素,向右指针用来指向同行下一个节点中的非零元素,若不存在下一个节点,则对应的指针域为空值。在稀疏矩阵的十字链表存储中,需要使用两个指针向量,一个是行指针向量,用来存储行单链表的表头指针,另一个是列指针向量,用来存储列单链表的表头指针。如图3.3给出的稀疏矩阵,对应的十字链表示意图如图3.4所示图3.2十字链表单元图3.34阶矩阵图3.4十字链表结构3.2.3 二叉单元链表数组普通一维稀疏数组可以采用带行指针数组的单链表存储。如图3.5(a)所示,单链表结构中每个节点包含非零元素的元素值、编号等信息以及与该节点相连的下一个非零元素地址(next),另外,还需要有一个指针 (head) 指向第一个非零元素存储单元。本文在带行指针数组的单链表的每个节点中增加了一个指针(next2)指向一个新的存储单元,每一个节点就形成二叉节点,如图3.5(b)所示。新开辟的存储单元用于存储与对应节点相关的其他信息,由此形成一维二叉单元链表。如图3.5(c)所示,新开辟的存储单元用于存放对应元素是否大于10 的标志信息flag:若大于10,flag 置1,若小于10,置0。(a) 一维数组(b) 单链表结构(c) 一维二叉单元链表结构图3.5 一维向量与二叉单元链表结构一维二叉单元链表用来存储一维稀疏数组及其对应的相关信息。对于NN 的二维稀疏数组,如果将每一行看作是1个一维稀疏数组,则该NN的二维数组可以由N 个一维稀疏数组组成。若将每个一稀疏数组均采用一维二叉链表存储,另外生成一个辅助指针数组用于存储N 个一维二叉链表的头地址,则得到本文提出的二叉单元链表数组。图3.3所示矩阵的二叉单元链表数组如图3.6。在此,新开辟的存储单元同样用于放置对应元素是否大于10 的信息flag,或大于10,flag 置1,若小于10,置0。图3.6二叉单元链表数组4 用于牛顿-拉夫逊潮流计算的稀疏技术4.1 节点分块雅可比矩阵在电力系统潮流计算中,雅可比矩阵的形成、方程组求解都是以雅可比矩阵为处理对象的。因此,研究雅可比矩阵的特点对提高潮流计算具有重要的意义。传统的雅可比矩阵将有功功率、无功功率和电压幅值对电压实部或虚部的偏导数、和按类别分区后排列,形成、和子阵,然后再构成形如的传统雅可比矩阵。如将传统的雅可比矩阵分块,将每一个节点或节点与节点之间的链接看成一个整体单元,即可形成以阶子阵、构成的分块雅可比矩阵。直角坐标形式的分块雅可比矩阵对于子阵:非对角线元素为对角线元素为对于子阵:非对角线元素为对角线元素为对于子阵:非对角线元素为对角线元素为对于子阵:非对角线元素为对角线元素为对于子阵:非对角线元素为对角线元素为对于子阵:非对角线元素为对角线元素为4.2 二层链表的应用利用分块雅可比矩阵和节点导纳矩阵同结构的特点,结合十字链表、二叉单元链表以及表头指针,创建二层链表。二层链表的上层为十字链表,用来存储节点分块雅可比矩阵(Jac);二层链表的下层为二叉单元链表,用来存储节点导纳矩阵。由于雅可比矩阵与节点导纳矩阵的结构相同,则二叉单元链表中每个节点的指针项可以指向十字链表中的对应单元。因此,二层链表将上下两层的非零单元有机结合,实现了导纳矩阵非零元素定位查询分块雅可比子阵的功能。二层链表结构示意图如图4.1所示图4.1二层链表4.3 二层链表的改进用于牛顿-拉夫逊潮流计算的二层链表存储结构中,节点导纳矩阵与节点分块雅可比矩阵中的每一个节点单元均对应一个二层链表单元。但是,由于节点导纳矩阵和节点分块雅可比矩阵具有结构对称性,因此可以采用半三角存储,即仅存储矩阵上半三角或下半三角的元素。本文将同结构存储的节点导纳矩阵与节点分块雅可比矩阵的二层链表折半,形成下三角二层链表结构。本文将对角线上下三角位置对称的两个节点分块雅可比分块子阵和均存储到下三角的存储单元内。这样,二层链表上层的十字链表中,每个非对角节点就存储了两个雅克比子阵八个元素的值。二层链表下层为二叉单元链表层,只存储节点导纳矩阵下三角非零元素。由于雅克比矩阵与导纳矩阵具有相同的结构,因此,二叉单元链表数组中每个节点的定位指针项可以将上下两层的非零单元结合起来,实现从节点导纳矩阵非零元素定位查询节点分块雅克比子阵的功能。图4.2为改进之后的下三角二层链表存储结构。图4.2改进的下三角二层链表结构4.4 实验与结果在图4,3所示的电力系统中,网络各元件参数的标幺值如下:系统中1、2为PQ节点,节点3为PV节点,节点4为平衡节点,已给定:给定电压初始值:图4.3 实验图对上述实验编写牛顿-拉夫逊潮流计算Matlab程序,通过计算机运行之后得到如下结果:程序输入节点数:n=4支路数:m=4平衡节点号:isb=4误差精度:pr=0.000001支路参数:B1=1 2 0.10+0.40*i 0.01528*i 1 0;1 3 0.30*i 0 1.1 1;1 4 0.12+0.50*i 0.01920*i 1 0;2 4 0.08+0.40*i 0.01413*i 1 0节点参数:B2=-0.3-0.18*i 1 2 0;-0.55-0.13*i 1 2 0;0.5 1.1 3 1.1;0 1.05 1 0程序输出导纳矩阵: 1.0421 - 8.2429i -0.5882 + 2.3529i 0 + 3.6667i -0.4539 + 1.8911i -0.5882 + 2.3529i 1.0690 - 4.7274i 0 -0.4808 + 2.4038i 0 + 3.6667i 0 0 - 3.3333i 0 -0.4539 + 1.8911i -0.4808 + 2.4038i 0 0.9346 - 4.2616i迭代次数:Times =1雅克比矩阵: -1.0194 0.5882 0 -8.3719 2.3529 3.6667 0.5882 -1.0450 0 2.3529 -4.8770 0 0 0 0 4.0333 0 -3.6667 -8.1138 2.3529 3.6667 1.0648 -0.5882 0 2.3529 -4.5778 0 -0.5882 1.0930 0 0 0 -2.2000 0 0 0节点电压 U1 U2 U3 U4U = 0.9935 - 0.0088i 0.9763 - 0.1078i 1.1000 + 0.1267i 1.0500 迭代次数:Times = 2雅克比矩阵: -0.6636 0.6052 0.0324 -8.3613 2.3325 3.6429 0.8280 0.0004 0 2.2338 -4.6364 0 -0.4644 0 -0.8767 4.0333 0 -3.6429 -7.9992 2.3325 3.6429 1.4071 -0.6052 -0.0324 2.2338 -4.3641 0 -0.8280 2.0878 0 0 0 -2.2000 0 0 -0.2533节点电压 U1 U2 U3 U4U =0.9842 - 0.0101i 0.9568 - 0.1130i 1.0924 + 0.1291i 1.0500 迭代次数:Times = 3雅克比矩阵: -0.6385 0.6026 0.0369 -8.2879 2.3098 3.6087 0.8287 0.0828 0 2.1848 -4.6041 0 -0.4735 0 -0.8978 4.0056 0 -3.6087 -7.9160 2.3098 3.6087 1.4127 -0.6026 -0.0369 2.1848 -4.2005 0 -0.8287 2.1284 0 0 0 -2.1848 0 0 -0.2583节点电压 U1 U2 U3 U4U = 0.9847 - 0.0082i 0.9590 - 0.1077i 1.0924 + 0.1294i 1.0500 迭代次数:Times = 4雅克比矩阵: -0.6557 0.5985 0.0300 -8.2938 2.3122 3.6107 0.8176 0.0329 0 2.1931 -4.6156 0 -0.4745 0 -0.8928 4.0053 0 -3.6107 -7.9232 2.3122 3.6107 1.3967 -0.5985 -0.0300 2.1931 -4.2214 0 -0.8176 2.0833 0 0 0 -2.1847 0 0 -0.2588节点电压 U1 U2 U3 U4U =0.9846 - 0.0087i 0.9586 - 0.1085i 1.0924 + 0.1289i 1.0500 迭代次数:Times =5雅克比矩阵: -0.6515 0.5996 0.0318 -8.2926 2.3117 3.6103 0.8192 0.0398 0 2.1918 -4.6139 0 -0.4725 0 -0.8908 4.0056 0 -3.6103 -7.9216 2.3117 3.6103 1.4006 -0.5996 -0.0318 2.1918 -4.2178 0 -0.8192 2.0894 0 0 0 -2.1849 0 0 -0.2577节点电压 U1 U2 U3 U4U =0.9846 - 0.0086i 0.9587 - 0.1084i 1.0924 + 0.1290i 1.0500 迭代次数:Times = 6雅克比矩阵: -0.6523 0.5994 0.0315 -8.2928 2.3117 3.6103 0.8189 0.0387 0 2.1920 -4.6142 0 -0.4729 0 -0.8913 4.0055 0 -3.6103 -7.9219 2.3117 3.6103 1.3999 -0.5994 -0.0315 2.1920 -4.2184 0 -0.8189 2.0884 0 0 0 -2.1848 0 0 -0.2579节点电压 U1 U2 U3 U4U =0.9846 - 0.0086i 0.9587 - 0.1084i 1.0924 + 0.1290i 1.0500 迭代次数:Times = 7雅克比矩阵: -0.6522 0.5994 0.0315 -8.2927 2.3117 3.6103 0.8190 0.0389 0 2.1920 -4.6142 0 -0.4728 0 -0.8912 4.0055 0 -3.6103 -7.9218 2.3117 3.6103 1.4000 -0.5994 -0.0315 2.1920 -4.2183 0 -0.8190 2.0886 0 0 0 -2.1848 0 0 -0.2579节点电压 U1 U2 U3 U4U =0.9846 - 0.0086i 0.9587 - 0.1084i 1.0924 + 0.1290i 1.0500 各条支路的功率为:S = 0 0.2462 - 0.0146i -0.5000 - 0.0293i -0.0462 - 0.1361i -0.2400 + 0.0106i 0 0 -0.3100 - 0.1406i 0.5000 + 0.0934i 0 0 0 0.0482 + 0.1045i 0.3197 + 0.1602i 0 0 总 结潮流计算对电力系统分析具有重要的意义,改善潮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论