潮流计算的计算机方法
潮流计算的计算机算法

第四章潮流计算的计算机算法第一节概述潮流计算是电力系统最基本、最常用的计算。
根据系统给定的运行条件、网络接线及元件参数,通过潮流计算可以确定各母线的电压(幅值及相角),各元件中流过的功率、整个系统的功率损耗等。
潮流计算是实现电力系统安全经济发供电的必要手段和重要工作环节。
因此潮流计算在电力系统的规划设计、生产运行、调度管理及科学研究中都有着广泛的应用。
电力系统潮流计算分为离线潮流计算和在线潮流计算。
前者主要用于系统规划设计和安排系统的运行方式,后者则用于正在运行系统的经常监视及实时控制。
本章主要讨论离线潮流计算问题,它的基本算法同样适用于在线潮流计算。
潮流计算在数学上是多元非线性方程组的求解问题,求解的方法有很多种。
自从五十年代计算机应用于电力系统以来,当时求解潮流的方法是以节点导纳矩阵为基础的逐次代入法(导纳法),后来为解决导纳法的收敛性较差的问题,出现了以阻抗矩阵为基础的逐次代入法(阻抗法)。
到六十年代,针对阻抗法占用计算机内存大的问题又出现了分块阻抗法及牛顿-拉夫逊(Newton-Raphson)法。
Newton —Raphson法是数学上解非线形方程式的有效方法,有较好的收敛性。
将N-R法用于潮流计算是以导纳矩阵为基础的,由于利用了导纳矩阵的对称性、稀疏性及节点编号顺序优化等技巧,使N-R法在收敛性、占用内存、计算速度方面的优点都超过了阻抗法,成为六十年代末期以后普遍采用的方法。
同时国内外广泛研究了诸如非线形规划法、直流法、交流法等各种不同的潮流计算方法。
七十年代以来,又涌现出了更新的潮流计算方法。
其中有1974年由B、Stott、O、Alsac 提出的快速分解法以及1978年由岩本伸一等提出的保留非线性的高129速潮流计算法。
其中快速分解法(Fast decoupled load flow)从1975年开始已在国内使用,并习惯称之为PQ分解法。
由于PQ分解法在计算速度上大大超过N-R法,不但能应用于离线潮流计算,而且也能应用于在线潮流计算。
(完整word版)潮流计算方法

由于本人参加我们电气学院的电气小课堂,主讲的是计算机算法计算潮流这章,所以潜心玩了一个星期,下面整理给大家分享下。
本人一个星期以来的汗水,弄清楚了计算机算法计算潮流的基础,如果有什么不懂的可以发信息到邮箱:zenghao616@接下来开始弄潮流的优化问题,吼吼!电力系统的潮流计算的计算机算法:以MATLAB为环境这里理论不做过多介绍,推荐一本专门讲解电力系统分析的计算机算法的书籍---------《电力系统分析的计算机算法》—邱晓燕、刘天琪编著。
这里以这本书上的例题【2-1】说明计算机算法计算的过程,分别是牛顿拉弗逊算法的直角坐标和极坐标算法、P-Q分解算法。
主要是简单的网络的潮流计算,其实简单网络计算和大型网络计算并无本质区别,代码里面只需要修改循环迭代的N即可,这里旨在弄清计算机算法计算潮流的本质。
代码均有详细的注释.其中简单的高斯赛德尔迭代法是以我们的电稳教材为例子讲,其实都差不多,只要把导纳矩阵Y给你,节点的编号和分类给你,就可以进行计算了,不必要找到原始的电气接线图。
理论不多说,直接上代码:简单的高斯赛德尔迭代法:这里我们只是迭代算出各个节点的电压值,支路功率并没有计算。
S_ij=P_ij+Q_ij=V_i(V_i* - V_j*) * y_ij*可以计算出各个线路的功率在显示最终电压幅角的时候注意在MATLAB里面默认的是弧度的形式,需要转化成角度显示。
clear;clc;%电稳书Page 102 例题3-5%计算网络的潮流分布 --- 高斯-赛德尔算法%其中节点1是平衡节点%节点2、3是PV节点,其余是PQ节点% 如果节点有对地导纳支路%需将对地导纳支路算到自导纳里面%------------------------------------------------%%输入原始数据,每条支路的导纳数值,包括自导和互导纳;y=zeros(5,5);y(1,2)=1/(0.0194+0.0592*1i);y(1,5)=1/(0.054+0.223*1i);y(2,3)=1/(0.04699+0.198*1i);y(2,4)=1/(0.0581+0.1763*1i);%由于电路网络的互易性,导纳矩阵为对称的矩阵for i=1:1:5for j=1:1:5y(j,i)=y(i,j);endend%节点导纳矩阵的形成Y=zeros(5,5);%求互导纳for i=1:1:5for j=1:1:5if i~=jY(i,j)=-y(i,j);endendend%求自导纳for i=1:1:5%这句话是说将y矩阵的第i行的所有元素相加,得到自导纳的值 Y(i,i)=sum(y(i,:));end%上面求得的自导纳不包含该节点的对地导纳数值,需要加上Y(2,2)=Y(2,2)+0.067*1i;Y(3,3)=Y(3,3)+0.022*1i;Y(4,4)=Y(4,4)+0.0187*1i;Y(5,5)=Y(5,5)+0.0246*1i;%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);Qc2=0;Qc3=0;%原始节点功率%这里电源功率为正,负荷功率为负S(1)=0;S(2)=-0.217-0.121*1i+Qc2*1i;S(3)=-0.749-0.19*1i+Qc3*1i;S(4)=-0.658+0.039*1i;S(5)=-0.076-0.016*1i;%节点功率的P QP = real(S);Q = imag(S);%下面是两个PV节点的无功初始值Q(2) = 0;Q(3) = 0;U=ones(5,1); %1列5行的‘1’矩阵%节点电压初始值U(1)=1.06;U(2)=1.045;U(3)=1.01;U_reg=U;Sum_YU0=0;%中间变量Sum_YU1=0;%中间变量for cont=1:1:6 %这里的cont是迭代次数for i=2:1:5for j=1:1:iif i~=jSum_YU0 = Sum_YU0 + Y(i,j)*U_reg(j);endendfor j=i+1:1:5Sum_YU1 = Sum_YU1 + Y(i,j)*U(j);endU(i)=( (P(i)-Q(i)*1i ) / conj(U(i)) - Sum_YU0 - Sum_YU1 ) / Y(i,i); U_reg(i)=U(i);%PV节点计算%下面是把求出的U2、U3只保留其相位,幅值不变if i==2angle_U2 = angle(U(2));U(2)=1.045*cos(angle_U2)+1.045*sin(angle_U2)*1i;Q(2)=imag( U(2)*( conj(Sum_YU0) + conj(Sum_YU1) + conj(Y(2,2)*U(2)) ) );endif i==3angle_U3 = angle(U(3));U(3)=1.01*cos(angle_U3)+1.01*sin(angle_U3)*1i;Q(3)=imag( U(3)*( conj(Sum_YU0) + conj(Sum_YU1) + conj(Y(3,3)*U(3)) ) );end% 下面做越界检查%if Q(4)>Q_Max% Q(4) = Q_Max;%end%if Q(4)<Q_Min% Q(4) = Q_Min;%end%下面可以做PV节点收敛判断Sum_YU0 = 0;Sum_YU1 = 0;endend%节点注入无功,流入为正,流出为负Qc2=Q(2)+0.121-1.045^2 * 0.067;Qc3=Q(3)+0.19-1.01^2 * 0.022;%电压幅值和相角angle_U=angle(U)*180/pi;U=abs(U);S_Line=zeros(5,5);%计算平衡节点功率S_BalanceNode=0;for j=1:1:5S_BalanceNode = S_BalanceNode + U(1) * conj(Y(1,j)*U(j));end%下面由上面算出的电压值求线路的功率%这里计算出来的线路功率的有功、无功%for i=1:1:5% for j=i:1:5% if i~=j% S_Line(i,j)=U(i)*( conj(U(i))-conj(U(j)) ) * conj(y(i,j));% end% if i==2% %S_Line(2,j)=S_Line(2,j)+U(2)*conj(0.067*1i);% end% if i==3% %S_Line(3,j)=S_Line(3,j)+U(3)*conj(0.022*1i);% end% end%end计算网络的潮流分布 ---- Newton算法(直角坐标)clear;clc;%电稳书Page 102 例题3-5%计算网络的潮流分布 ---- Newton算法(直角坐标)%其中节点1是平衡节点%节点2、3是PV节点,其余是PQ节点% 如果节点有对地导纳支路%需将对地导纳支路算到自导纳里面%------------------------------------------------%%输入原始数据,每条支路的导纳数值,包括自导和互导纳;y=zeros(5,5);y(1,2)=1/(0.0194+0.0592*1i);y(1,5)=1/(0.054+0.223*1i);y(2,3)=1/(0.04699+0.198*1i);y(2,4)=1/(0.0581+0.1763*1i);%由于电路网络的互易性,导纳矩阵为对称的矩阵for i=1:1:5for j=1:1:5y(j,i)=y(i,j);endend%节点导纳矩阵的形成Y=zeros(5,5);%求互导纳for i=1:1:5for j=1:1:5if i~=jY(i,j)=-y(i,j);endendend%求自导纳for i=1:1:5%这句话是说将y矩阵的第i行的所有元素相加,得到自导纳的值Y(i,i)=sum(y(i,:));end%上面求得的自导纳不包含该节点的对地导纳数值,需要加上Y(2,2)=Y(2,2)+0.067*1i;Y(3,3)=Y(3,3)+0.022*1i;Y(4,4)=Y(4,4)+0.0187*1i;Y(5,5)=Y(5,5)+0.0246*1i;%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);%节点2、3需补偿的无功Qc2=0;Qc3=0;%原始节点功率%这里电源功率为正,负荷功率为负S(1)=0;S(2)=-0.217-0.121*1i+Qc2*1i;S(3)=-0.749-0.19*1i+Qc3*1i;S(4)=-0.658+0.039*1i;S(5)=-0.076-0.016*1i;%节点功率的P QP = real(S);Q = imag(S);%下面是两个PV节点的无功初始值Q(2) = 0;Q(3) = 0;%给点电压初始值e=[1.06,1.045,1.01,1,1];f=[0,0,0,0,0];U=e+f*1i;delta_U=zeros(1,5);delta_P=zeros(1,5);delta_Q=zeros(1,5);delta_PQV=ones(8,1);Sum_GB1=0;Sum_GB2=0;cont=0;while max(delta_PQV > 1e-6),cont=cont+1;%for cont=1:1:3%下面开始计算delta_P/delta_Q/delta_Ufor i=2:1:5for j=1:1:5Sum_GB1=Sum_GB1 + ( G(i,j)*e(j) - B(i,j)*f(j) );Sum_GB2=Sum_GB2 + ( G(i,j)*f(j) + B(i,j)*e(j) );enddelta_P(i)=P(i)-e(i)*Sum_GB1-f(i)*Sum_GB2;if i~=2 && i~=3 %不为节点2,3则计算无功delta_Q(i)=Q(i)-f(i)*Sum_GB1+e(i)*Sum_GB2;endif i==2 || i==3 %这里计算delta_U的值,始终为零delta_U(i)=U(i)^2-( e(i)^2 + f(i)^2 );endSum_GB1=0;Sum_GB2=0;end%___________________________________%%下面计算雅克比矩阵J=zeros(8,8);for ii=2:1:5i=ii-1;for j=1:1:5Sum_GB1=Sum_GB1 + ( G(ii,j)*e(j) - B(ii,j)*f(j) );Sum_GB2=Sum_GB2 + ( G(ii,j)*f(j) + B(ii,j)*e(j) );endfor jj=2:1:5j=jj-1;if ii~=2 && ii~=3 %PQ节点if ii==jjJ(2*i-1,2*i-1)=-Sum_GB1-G(ii,ii)*e(ii)-B(ii,ii)*f(ii);J(2*i-1,2*i)=-Sum_GB2+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);J(2*i,2*i-1)=Sum_GB2+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);J(2*i,2*i)=-Sum_GB1+G(ii,ii)*e(ii)+B(ii,ii)*f(ii);elseJ(2*i-1,2*j-1)=-(G(ii,jj)*e(ii)+B(ii,jj)*f(ii)); J(2*i-1,2*j)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);J(2*i,2*j-1)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);J(2*i,2*j)=(G(ii,jj)*e(ii)+B(ii,jj)*f(ii));endelse%PV节点if ii==jjJ(2*i-1,2*i-1)=-Sum_GB1-G(ii,ii)*e(ii)-B(ii,ii)*f(ii);J(2*i-1,2*i)=-Sum_GB2+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);J(2*i,2*i-1)=-2*e(ii);J(2*i,2*i)=-2*f(ii);elseJ(2*i-1,2*j-1)=-(G(ii,jj)*e(ii)+B(ii,jj)*f(ii)); J(2*i-1,2*j)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);J(2*i,2*j-1)=0;J(2*i,2*j)=0;endendendSum_GB1=0;Sum_GB2=0;end%在求解修正方程之前建议把delta_P和delta_Q,delta_U全部放在一个矩阵delta_PQV=[delta_P(2);delta_U(2);delta_P(3);delta_U(3);delta_P(4) ;delta_Q(4);delta_P(5);delta_Q(5)];%下面求解修正方程;注意矩阵运算时候的左除和右除的区别delta_ef=-J\delta_PQV;%下面修正各个节点的电压for i=2:1:5e(i)=e(i)+delta_ef(2*(i-1)-1);f(i)=f(i)+delta_ef(2*(i-1));end%到这里第一轮迭代完成end%电压幅值和相角U=e+f*1i;angle_U=angle(U)*180/pi;%节点注入无功,流入为正,流出为负Sum_YU=0;for i=2:1:3for j=1:1:5Sum_YU = Sum_YU + Y(i,j)*U(j);endQ(i)=imag( U(i)*conj( Sum_YU ) );Sum_YU=0;endQc2=Q(2)+0.121-1.045^2 * 0.067;Qc3=Q(3)+0.19-1.01^2 * 0.022;U=abs(U);disp(['Iteration times : ' num2str(cont)]);%显示最终的迭代次数牛顿算法求解潮流 (极坐标):clear;clc;%牛顿算法求解潮流 (极坐标)%计算网络的潮流分布%其中节点5是平衡节点%节点1、2、3是PQ节点,节点4是PV节点% 如果节点有对地导纳支路%需将对地导纳支路算到自导纳里面%------------------------------------------------%%输入原始数据,每条支路的导纳数值,包括自导和互导纳;Y=[0.8381-3.7899*1i,-0.4044+1.6203*1i,0,0,-0.4337+2.2586*1i;...-0.4044+1.6203*1i,0.7769-3.3970*1i,-0.3726+1.8557*1i,0,0;...0,-0.3726+1.8557*1i,1.1428-7.0210*1i,-0.5224+4.1792*1i,-0.2739+1. 2670*1i;...0,0,-0.5224+4.1792*1i,0.5499-4.3591*1i,0;...-0.4337+2.2586*1i,0,-0.2739+1.2670*1i,0,0.7077-3.4437*1i];%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);%给点电压初始值U = [1,1,1,1,1.05];angle_U=[0,0,0,0,0];%for i=1:1:5% U(i)=U_abs(i)*cos(angle_U(i))+U_abs(i)*sin(angle_U(i))*1i;%end%原始节点功率%这里电源功率为正,负荷功率为负%下面给点PQ PV节点功率值S=[-0.22-0.14*1i,-0.18-0.09*1i,-0.27-0.13*1i,0.35,0];%节点功率的P QP = real(S);Q = imag(S);%下面是PV节点的无功初始值Q(4) = 0;delta_P=zeros(1,5);delta_Q=zeros(1,5);%delta_angleU=zeros(1,4);%delta_absU=zeros(1,4);delta_PQ=ones(8,1);Sum_GB1=0;Sum_GB2=0;cont=0;%最外层循环,cont代表迭代的次数,这里可以用约束条件来代替%for cont=1:1:4while max(delta_PQ)>1e-6,%下面计算delta_P/delta_Q/delta_Ucont=cont+1;for i=1:1:4for j=1:1:5Sum_GB1=Sum_GB1 + U(j)*( G(i,j)*cos(angle_U(i)-angle_U(j)) + B(i,j)*sin(angle_U(i)-angle_U(j)) );Sum_GB2=Sum_GB2 + U(j)*( G(i,j)*sin(angle_U(i)-angle_U(j)) - B(i,j)*cos(angle_U(i)-angle_U(j)) );enddelta_P(i)=P(i)-U(i)*Sum_GB1;if i~=4 %不为节点四则计算无功delta_Q(i)=Q(i)-U(i)*Sum_GB2;endSum_GB1=0;Sum_GB2=0;end%_______________________________________________________%%下面计算雅克比矩阵J=zeros(7,7);for ii=1:1:4for jj=1:1:4if ii ~= 4 %PQ节点if ii==jjJ(2*ii-1,2*ii-1)=U(ii)^2*B(ii,ii)+Q(ii);J(2*ii-1,2*ii)=-U(ii)^2*G(ii,ii)-P(ii);J(2*ii,2*ii-1)=U(ii)^2*G(ii,ii)-P(ii);J(2*ii,2*ii)=U(ii)^2*B(ii,ii)-Q(ii);elseJ(2*ii-1,2*jj-1)=-U(ii)*U(jj)*( G(ii,jj)*sin(angle_U(ii)-angle_U( jj)) - B(ii,jj)*cos(angle_U(ii)-angle_U(jj)) );J(2*ii-1,2*jj)=-U(ii)*U(jj)*( G(ii,jj)*cos(angle_U(ii)-angle_U(jj)) + B(ii,jj)*sin(angle_U(ii)-angle_U(jj)) );J(2*ii,2*jj-1)=U(ii)*U(jj)*( G(ii,jj)*cos(angle_U(ii)-angle_U(jj)) + B(ii,jj)*sin(angle_U(ii)-angle_U(jj)) );J(2*ii,2*jj)=-U(ii)*U(jj)*( G(ii,jj)*sin(angle_U(ii)-angle_U(jj)) - B(ii,jj)*cos(angle_U(ii)-angle_U(jj)) );endelse%PV节点if ii==jjJ(2*ii-1,2*ii-1)=U(ii)^2*B(ii,ii)+Q(ii);J(2*ii-1,2*ii)=-U(ii)^2*G(ii,ii)-P(ii);elseJ(2*ii-1,2*jj-1)=-U(ii)*U(jj)*( G(ii,jj)*sin(angle_U(ii)-angle_U( jj)) - B(ii,jj)*cos(angle_U(ii)-angle_U(jj)) );J(2*ii-1,2*jj)=-U(ii)*U(jj)*( G(ii,jj)*cos(angle_U(ii)-angle_U(jj)) + B(ii,jj)*sin(angle_U(ii)-angle_U(jj)) );endendendend%在求解修正方程之前建议把delta_ef和delta_ef全部放在一个矩阵delta_PQ=[delta_P(1);delta_Q(1);delta_P(2);delta_Q(2);delta_P(3); delta_Q(3);delta_P(4)];%下面求解修正方程;注意矩阵运算时候的左除和右除的区别J=J(1:7,1:7);delta_ef=-J\delta_PQ;%下面修正各个节点的电压for i=1:1:4if i~=4U(i)=U(i)+delta_ef(2*i)*U(i);endangle_U(i)=angle_U(i)+delta_ef(2*i-1);end%到这里第一轮迭代完成end%下面显示出满足条件后的迭代的次数disp(['Iteration times : ' num2str(cont)]);%下面计算平衡节点5的功率PQfor j=1:1:5Sum_GB1=Sum_GB1 + U(j)*( G(5,j)*cos(angle_U(5)-angle_U(j)) + B(5,j)*sin(angle_U(5)-angle_U(j)) );Sum_GB2=Sum_GB2 + U(j)*( G(5,j)*sin(angle_U(5)-angle_U(j)) - B(5,j)*cos(angle_U(5)-angle_U(j)) );endP(5)=U(5)*Sum_GB1;Q(5)=U(5)*Sum_GB2;%下面将相角用角度表示for i=1:1:5angle_U(i)=angle_U(i)*180/pi;End计算计算法P-Q算法计算潮流:这个算法是由牛顿算法的极坐标形式简化而来。
3.3复杂电力网潮流计算的计算机解法

3.3复杂电力网潮流计算的计算机解法3.3.1 导纳矩阵的形成1.自导纳节点i的自导纳,亦称输入导纳,在数值上等于在节点i施加单位电压,其他节点全部接地时,经节点i注入网络的电流。
主对角线元素,更具体地说,就等于与节点连接的所有支路导纳的和。
2.互导纳节点i、j间的互导纳,在数值上等于在节点i施加单位电压,其他节点全部接地时,经节点j注入网络的电流。
非对角线元素。
更具体地说,是连接节点j和节点i支路的导纳之和再加上负号而得。
3.导钠矩阵的特点:(1)因为,导纳矩阵Y是对称矩阵;(2)导纳矩阵是稀疏矩阵,每一非对角元素是节点i和j间支路导纳的负值,当i和j间没有直接相连的支路时,即为零,根据一般电力系统的特点,每一节点平均与3-5个相邻节点有直接联系,所以导纳矩阵是一高度稀疏的矩阵;(3)导纳矩阵能从系统网络接线图直观地求出。
4.节点导纳矩阵的修改(1)从原有网络引出一支路,同时增加一节点,设i为原有网络结点,j为新增节点,新增支路ij的导纳为y ij。
如图3-17(a)所示。
因新增一节点,新的节点导纳阵需增加一阶。
且新增对角元Y jj=y ij,新增非对角元Y ij=Y ji=-y ij,同时对原阵中的对角元Y ii进行修改,增加ΔY ii=y ij。
(2)在原有网络节点i、j间增加一支路。
如图3-17(b)所示。
设在节点i增加一条支路,由于没有增加节点数,节点导纳矩阵Y阶次不变,节点的自导纳Y ii、Y jj和互导纳Y ij分别变化量为(3-57)图 3-17 网络接线的变化图(a)网络引出一支路,(b)节点间增加一支路,(c)节点间切除一支路,(d)节点间导纳改变(3)在原有网络节点i、j间切除一支路。
如图3-17(c)所示。
设在节点i切除一条支路,由于没有增加节点数,节点导纳矩阵Y阶次不变,节点的自导纳Y ii、Y jj和互导纳Y ij分别发生变化,其变化量为(3-58)(4)原有网络节点i、j间的导纳改变为。
电力系统潮流计算机算法

电力系统潮流计算机算法电力系统潮流计算是电力系统分析中最基本的一项计算,其目的是确定电力系统中各母线电压的幅值和相角、各元件中的功率以及整个系统的功率损耗等。
随着计算机技术的发展,电力系统潮流计算算法也在不断更新和完善。
以下是电力系统潮流计算的一些常用算法:1. 牛顿-拉夫逊法(Newton-Raphson Method):这是一种求解非线性方程组的方法,应用于电力系统潮流计算中。
该方法在多数情况下没有发散的危险,且收敛性较强,可以大大节约计算时间,因此得到了广泛的应用。
2. 快速迪科法(Fast Decoupled Method):这是一种高效的电力系统潮流计算方法,将电力系统分为几个子系统进行计算,从而提高了计算速度。
3. 最小二乘法(Least Squares Method):这是一种用于求解线性方程组的方法,通过最小化误差平方和来获得最优解。
在电力系统潮流计算中,可用于优化电压幅值和相角。
4. 遗传算法(Genetic Algorithm):这是一种全局优化搜索算法,应用于电力系统潮流计算中,可以解决一些复杂和非线性问题。
5. 粒子群优化算法(Particle Swarm Optimization):这是一种启发式优化算法,通过模拟鸟群觅食行为来寻找最优解。
在电力系统潮流计算中,可用于优化网络参数和运行条件。
6. 模拟退火算法(Simulated Annealing):这是一种全局优化搜索算法,应用于电力系统潮流计算中,可以在较大范围内寻找最优解。
7. 人工神经网络(Artificial Neural Network):这是一种模拟人脑神经网络的计算模型,可用于电力系统潮流计算。
通过训练神经网络,可以实现对电力系统中复杂非线性关系的建模和预测。
以上所述算法在电力系统潮流计算中起着重要作用,为电力系统运行、设计和优化提供了有力支持。
同时,随着计算机技术的不断发展,未来还将出现更多高效、精确的电力系统潮流计算算法。
高斯赛德尔法潮流计算

高斯——赛德尔法潮流计算潮流计算高斯——赛德尔迭代法(Gauss一Seidel method)是求解电力系统潮流的方法。
潮流计算高斯——赛德尔迭代法又分导纳矩阵迭代法和阻抗矩阵迭代法两种。
前者是以节点导纳矩阵为基础建立的赛德尔迭代格式;后者是以节点阻扰矩阵为基础建立的赛德尔迭代格式。
高斯——赛德尔迭代法这是数学上求解线性或非线性方程组的一种常用的迭代方法。
本实验通过对电力网数学模型形成的计算机程序的编制与调试,获得形成电力网数学模型:高斯---赛德尔法的计算机程序,使数学模型能够由计算机自行形成,即根据已知的电力网的接线图及各支路参数由计算程序运行形成该电力网的节点导纳矩阵和各节点电压、功率。
通过实验教学加深学生对高斯---赛德尔法概念的理解,学会运用数学知识建立电力系统的数学模型,掌握数学模型的形成过程及其特点,熟悉各种常用应用软件,熟悉硬件设备的使用方法,加强编制调试计算机程序的能力,提高工程计算的能力,学习如何将理论知识和实际工程问题结合起来。
高斯---赛德尔法潮流计算框图开始输入数据,定义数组给定PQ节点电压初值给定PV节点电压实部(或虚部)置迭代计数b=0计算PQ节点电压实部和虚部先计算PV节点无功功率再用其计算PV节点电压实部和虚部计算平衡节点的有功和无功NY[1]系统节点的分类根据给定的控制变量和状态变量的不同分类如下①P 、Q 节点(负荷节点),给定Pi 、Qi 求Vi 、Si ,所求数量最多;②负荷节点,变电站节点(联络节点、浮游节点),给定P Gi 、QGi 的发电机节点,给定Q Gi 的无功电源节点;③PV 节点(调节节点、电压控制节点),给定P i 、Q i 求Q n 、S n ,所求数量少,可以无有功储备的发电机节点和可调节的无功电源节点;④平衡节点(松弛节点、参考节点(基准相角)、S 节点、VS 节点、缓冲节点),给定V i ,δi =0,求P n 、Q n (V s 、δs 、P s 、Q s )。
电力系统潮流计算计算计算法

电力系统潮流计算算法设计及实现潮流计算是电力系统分析中的一种最基本的计算,它的任务是对给定的运行条件确定系统的运行状态,如各母线上的电压(幅值及相角)、网络中的功率分布以及功率损耗等。
建模是用数学的方法建立的数学模型,但它严格依赖于物理系统。
根据电力系统的实际运行条件,按给定的变量不同,一般将节点分为PQ节点,PV节点,平衡节点三种类型。
当这三个节点与潮流计算的约束条件结合起来时,便是潮流计算的数学模型。
PQ节点:有功功率P和无功功率Q是已知的,节点电压(V,δ)是待求量。
通常变电所都是这一类型的节点。
PV节点:有功功率P和电压复制V是已知的,节点的无功功率Q和电压相位δ是待求量。
一般选择有一定无功储备的发电厂和具有可调无功电源设备的变电所作为PV节点。
平衡节点:在潮流分布算出之前,网络中的功率损失是未知的,所以,网络中至少有一个节点的有功功率P不能给定,这个节点承担了系统的有功功率平衡,所以称为平衡节点。
一般选择主调频发电厂为平衡节点。
潮流计算的约束条件是:1、所有的节点电压必须满足:这一约束主要是对PQ节点而言。
2、2、所有电源节点的有功功率和无功功率必须满足:对平衡节点的P和Q以及PV节点的Q按以上条件进行检验。
3、某些节点之间电压的相位差应满足:稳定运行的一个重要条件。
功率方程的非线性雅可比矩阵的特点:●各元素是各节点电压的函数●不是对称矩阵●因为Y =0,所以H =N =J =L =0,另R =S =0,故稀疏两种常见的求解非线性方程的方法:1)高斯-赛德尔迭代法;2)牛顿-拉夫逊迭代法。
高斯-赛德尔迭代法潮流计算1、方程表示:①用高斯-赛德尔计算电力系统潮流首先要将功率方程改写成能收敛的迭代形式;②Q:设系统有n个节点,其中m个PQ节点,n-(m+1)个是PV节点,一个平衡节点,平衡节点不参加迭代;③功率方程改写成:2、求解的步骤:1)上述迭代公式假设n个节点全部为PQ节点。
2)始终等号右边采用第k次迭代结果,当j<i时,采用经(k+1)次迭代后的值,当j>i时,采用第k次迭代结果。
潮流计算的基本算法及使用方法

潮流计算的基本算法及使用方法Company number:【0089WT-8898YT-W8CCB-BUUT-202108】潮流计算的基本算法及使用方法一、 潮流计算的基本算法1.牛顿-拉夫逊法1.1 概述牛顿-拉夫逊法是目前求解非线性方程最好的一种方法。
这种方法的特点就是把对非线性方程的求解过程变成反复对相应的线性方程求解的过程,通常称为逐次线性化过程,就是牛顿-拉夫逊法的核心。
牛顿-拉夫逊法的基本原理是在解的某一邻域内的某一初始点出发,沿着该点的一阶偏导数——雅可比矩阵,朝减小方程的残差的方向前进一步,在新的点上再计算残差和雅可矩阵继续前进,重复这一过程直到残差达到收敛标准,即得到了非线性方程组的解。
因为越靠近解,偏导数的方向越准,收敛速度也越快,所以牛顿法具有二阶收敛特性。
而所谓“某一邻域”是指雅可比方向均指向解的范围,否则可能走向非线性函数的其它极值点,一般来说潮流由平电压即各母线电压(相角为0,幅值为1)启动即在此邻域内。
1.2 一般概念对于非线性代数方程组即 ()0,,,21=n i x x x f ()n i ,2,1= (1-1)在待求量x 的某一个初始计算值()0x 附件,将上式展开泰勒级数并略去二阶及以上的高阶项,得到如下的线性化的方程组()()()()()0000=∆'+x x f x f (1-2)上式称之为牛顿法的修正方程式。
由此可以求得第一次迭代的修正量()()()[]()()0100x f x f x -'-=∆ (1-3)将()0x ∆和()0x 相加,得到变量的第一次改进值()1x 。
接着再从()1x 出发,重复上述计算过程。
因此从一定的初值()0x 出发,应用牛顿法求解的迭代格式为()()()()()k k k x f x x f -=∆' (1-4)()()()k k k x x x ∆+=+1 (1-5)上两式中:()x f '是函数()x f 对于变量x 的一阶偏导数矩阵,即雅可比矩阵J ;k 为迭代次数。
潮流计算的主要方法

潮流计算的主要方法
最近几年,随着计算机仿真技术和复杂系统全面发展,潮流计算也受到越来越多的重视。
潮流计算是研究不同电力网络的物理特性和操作规律的一项重要工作。
针对潮流计算的主要方法,总结如下:
一、基于动力学的方法
1. 碰撞模型:根据动力学方法,计算电力系统的运行稳定性。
基于动力学的碰撞模型能够快速而精确地预测两个潮流的变化情况。
2. 时变快速收敛:在碰撞模型的基础上,为快速求解电力系统潮流,提出了时变快速收敛算法。
可以更快地获得潮流解。
二、基于牛顿迭代法的方法
1.牛顿迭代潮流计算方法:根据牛顿迭代法,采用迭代算法,求解电力系统潮流运行状态。
2. 功率流计算方法:计算机基于牛顿迭代法,快速求解节点电能的功率流公式。
可以有效的缩短潮流计算的时间,提高计算效率。
三、基于模糊聚类算法的方法
1. 基于模糊聚类的潮流计算方法:采用模糊聚类算法,对潮流计算进行多维度分析,可以得出最优的潮流结果。
2. 基于模糊划分的多目标模糊控制:根据模糊聚类理论,对潮流算法进行最佳控制,以满足电力网不同优化目标。
四、基于期望最大化的方法
1、基于粒子群优化的潮流计算方法:采用粒子群优化算法,将电力网潮流计算定义为多目标最优化问题,以期望最大化来求解潮流值,提高计算效率。
2、基于遗传算法的潮流计算方法:遗传算法利用进化过程来搜索全局最优解,使用遗传变异原则来改变候选解,以期望最大化来求解潮流计算问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、潮流计算的计算机方法对于复杂网络的潮流计算,一般必须借助电子计算机进行。
其计算步骤是:建立电力网络的数学模型,确定计算方法、制定框图和编制程序。
本章重点介绍前两部分,并着重阐述在电力系统潮流实际计算中常用的、基本的方法。
1,电力网络的数学模型电力网络的数学模型指的是将网络有关参数相变量及其相互关系归纳起来所组成的.可以反映网络性能的数学方程式组。
也就是对电力系统的运行状态、变量和网络参数之间相互关系的—种数学描述。
电力网络的数学模型有节点电压方程和回路电流方程等,前者在电力系统潮流计算中广泛采用。
节点电压方程又分为以节点导纳矩阵表示的节点电压方程和以节点阻抗矩阵表示的节点电压方程。
(1)节点导纳矩阵在电路理论课中。
已讲过了用节点导纳矩阵表示的节点电压方程:对于n个节点的网络其展开为:上式中,I是节点注入电流的列向量。
在电力系统计算中,节点注入电流可理解为节点电源电流与负荷电流之和,并规定电源向网络节点的注人电流为正。
那么,只有负荷节点的注入电流为负,而仅起联络作用的联络节点的注入电流为零。
U是节点电压的列向量。
网络中有接地支路时,通常以大地作参考点,节点电压就是各节点的对地电压。
并规定地节点的编号为0。
y 是一个n ×n 阶节点导纳矩阵,其阶数n 就等于网络中除参考节点外的节点数。
物理意义:节点i 单位电压,其余节点接地,此时各节点向网络注入的电流就是节点i 的自导纳和其余节点的与节点i 之间的互导纳。
特点:对称矩阵,稀疏矩阵,对角占优 (2) 节点阻抗矩阵 对导纳阵求逆,得:其中称为节点阻抗矩阵,是节点导纳矩阵的逆阵。
物理意义:节点i 注入单位电流,其余节点不注入电流,此时各节点的电压就是节点i 的自阻抗和其余节点的与节点i 之间的互阻抗。
特点:满阵,对称,对角占优 2,功率方程、变量和节点分类(1)功率方程已知的是节点的注入功率,因此,需要重新列写方程:**==BBB B B U S I U Y其展开式为:iii njjij UjQPUY~1-=∑=所以:∑=**=+njjijiiiUYUjQP1展开写成极坐标方程的形式:)cossin()sincos(11ijijijijnjjiiijijijijnjjiiBGUUQBGUUPδδδδ-=+=∑∑==所以节点的功率方程为:)cossin()sincos(11ijijijijnjjidiGiiijijijijnjjidiGiiBGUUQQQBGUUPPPδδδδ---=∆+--=∆∑∑==(2)变量分类负荷消耗的有功、无功功率取决于用户,因而是无法控制的,故称为不可控变量或扰动变量。
一般以列向量d表示,即电源发出的有功、无功功率是可以控制的变量,故称为控制变量,以列向量u表示,即母线或节点电压和相位角是受控制变量控制的因变量,故称为状态向量。
—般对于有n个节点的电力系统(除接地点外),扰动变量d,控制变量u,状态变量x皆是2n阶列向量,共有变量6n个.对于实际的电力系统仍然不好求解。
于是对于实际的电力系统作了某些符合实际的规定:出于节点负荷己知.于是给定2n个扰动变量。
其次,又给定2(n一2)个控制变量,余下2个控制变量待定,以便平衡系统中的有功和无功功率,最后给定2个状态变量,要求确定2(n—1)个状态变量。
由上述的规定.就确定了4n个变量、只剩下2n个变量是待求的。
这样就可以从2n个方程式中解出2n个未知变量。
但实际上,这个解还应满足一些约束条件。
这些约束条件足保证系统正常运行不可少的。
系统中的节点因给定的变量不同分为三类(3)节点分类第—类称PQ节点。
对于这类节点,等值负荷功率和等值电源功率是给定的,从而注入功率也是给定的,待求的则是节点电压的大小。
属于这一类节点的有按给定有功、无功功率发电的发电母线和没有电源的变电所母线。
第二类称PV节点。
对这类节点,等值负荷和等值电源的有功功率是给定的,从而注入有功功率是给定的。
等值负荷的无功功率和节点电压的大小是给定的。
待求的则是等值电源的无功功率和节点电压的相位角。
有一定无功储备的发电厂和有一定无功功率电源的变电所母线都可选作PV 节点。
第三类称平衡节点。
潮流计算时、一般都只设—个平衡节点。
对这个节点,等值负荷功率是给定的,节点电压的大小和相位角也是给定的,待求的则是等值电源功率。
担负调整系统频率任务的发电厂母线往往被选作平衡节点。
进行计算时,平衡节点是不可少的,一般只有一个;PQ 节点是大量的,PV?节点少,甚至可以不设。
3,高斯——塞德尔方法(1)雅可比迭代法雅可比迭代法的基本思想:)(1K K x f x =+以导纳矩阵为基础的潮流计算的基本方程式是:U Y I= 展开为:n i U Y I nj jij ...2.11==∑=n i UY U Y U jQ P I nij j jijiii ii i ...2.1,1=+=-=∑≠=再改写为以节点电压为求解对象的形式:n i UY U jQ P Y U nij j jij iii ii i ...2.1)(1,1=--=∑≠=则雅可比迭代法求解潮流方程的迭代格式为:n i UY U jQ P Y U nij j K jijii i ii K i...2.1)(1,11=--=∑≠=+收敛条件为:ε≤-=∆+K K U U U 1max max4, 牛顿—拉夫逊法潮流计算是目前求解非线性方程最好的方法,基本思想是把非线性方程的求解过程变成反复对线性方程组的求解,通常称为逐次线性化过程。
这里先从一维方程式的解来阐明它的意义和推导过程,然后再推广到n维的情况。
设有非线性方程式:求解此方程,设x0为近似值,Δx为近似值与真解的误差,则有:台劳展开有:略去高次项有:这是对于变量的修正量的线性方程式,称修正方程式,用它可以求出修正量:由于Δx是修正量的近似值,故用它修正后的x1并不是方程的真解,只是向真解更逼近了一些。
得到更逼近的解:这种迭代继续进行下去,直至:方程的解为:牛顿——拉夫逊法可以推广到多变量非线性方程组的情况,设有非线性方程组:用近似解和修正量表示如下:求偏导数,略去高次项,写为矩阵的形式有:缩写为:迭代格式为:收敛条件为:从以上分析看出:牛顿·拉夫逊法求解非线性方程组的过程,实际上是反复求解修正方程式的过程。
因此,牛顿—拉夫逊法的收敛性比较好,但要求其初值选择得较为接近它们的精确解、当初值选择得不当,可能出现不收敛或收敛到无实际工程意义的解的情况,这种现象。
为此,应用牛顿—拉夫逊法计算潮流分布的某些程序中,采用对初值不太敏感的高斯-塞得尔法迭代一、二次后,再转入牛顿—拉夫逊法继续迭代这样就能收到比较好的效果。
下面来看一下,如何通过牛顿—拉夫逊法求解潮流方程。
潮流方程的基本形式:)cos sin ()sin cos (11ij ij ij ij nj j i di Gi i ij ij ij ij nj j i di Gi i B G U U Q Q Q B G U U P P P δδδδ---=∆+--=∆∑∑== i=1、2、…n (公式4-85)这样的方程一共有2n 个。
然而由于节点类型的不同,参加迭代求解的方程也不同。
(1)对于PQ 节点,P i 和Q i 已知,所以两个方程全部参加迭代,待求状态量为δi 和U i(2)对于PV 节点,P i 已知而Q i 未知,所以只有有功方程参加迭代;由于电压幅值已确定,故待求状态量为δi(3)对于平衡节点,P s 和Q s 都未知,所以都不参加迭代。
假设系统中节点数为n ,PV 节点数为m ,则PQ?节点数为n-m-1,参加迭代的方程为m+2(n-m-1)个。
待求的状态变量也为m+2(n-m-1)。
具体方程如下:⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∆∆∆∆∆∆⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡∆∆∆∆∆∆n p nn npn n n n pn pp p p p p p pp pn p n p n p U U U U H H N H N H H H N H N H N J L J L J N H N H N H J J L J L J H H N H N H P P Q P Q P δδδδ2221112211221122222221212222222121111212111111121211112211// 整理得:⎥⎦⎤⎢⎣⎡∆∆⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡∆∆U U δL J N H Q P / 其中:j jiij j i ij j j i ij j i ij U U Q L Q J U U P N P H ∂∆∂=∂∆∂=∂∆∂=∂∆∂=,,,δδ(公式4-90和4-91) 求得到各待求的状态变量后,再通过节点功率方程计算得到平衡节点功率和PV 节点得无功。
解算步骤:(1)输入原始数据和信息(网络参数,负荷功率,PV 节点有功和电压幅值,PQ?节点有功和无功,平衡节点电压)(2) 形成节点导纳矩阵 (3)给定待求状态变量初值(4)迭代次数k=1(5)求方程的不平衡量ΔP i K和ΔQ i K(6)判断是否收敛max(ΔP和ΔQ)<e若是,转11(7)求雅可比矩阵各元素(8)解修正方程,得ΔδK和ΔU K(9)计算节点电压新值:δK+1=δK+ΔδK和U K+1=U K+ΔU K (10)k=k+1,转5(11)计算节点功率,计算输电线路功率(12)结束。