|UFDC Home||myUFDC Home | Help|
This item has the following downloads:
IMPROVED GAUSS-SEIDEL ITERATIVE METHOD ON POWER NETWORKS
A THESIS PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
MASTER OF SCIENCE
UNIVERSITY OF FLORIDA
To my family and my lover.
First I have to thank my advisor Dr. Alexander Do.,,ii -i Jr. Without his
support and guidance, this thesis never could have been a reality. I am so grateful
that I had the opportunity to work on such a challenging topic.
I also want to thank Dr. Alan George. He taught me the course of parallel
computer architecture, which gave me a chance to start my research of the thesis.
He is also very nice to open his lab to me to run my programs.
Of course Dr. A. Antonio Arroyo and Dr. Khai D. T. Ngo cannot be omitted
here. I wish to express my sincere thanks to them for their supporting roles in my
The continuous support from my family and my lover is the key component
to the success of my graduate study. They are my parents Shanyun Liang, Yujuan
Lin and Lunying He, my sisters Yunping Liang, Yunling Liang and Yunhui Liang,
my lover Ying Li. The gratefulness in my mind cannot be expressed by simple
Last but not least, I wish to -iv thank you to all my lovely friends in
Gainesville, Florida, especially Dr. Wing Hin Wong. Their encouragement has
helped make this thesis better.
TABLE OF CONTENTS
ACKNOW LEDGMENTS ............................. iv
LIST OF TABLES ................................. vi
LIST OF FIGURES ................................ vii
ABSTRACT .... ............................ viii
1 INTRODUCTION .............................. 1
2 GAUSS-SEIDEL METHOD ......................... 6
3 PERFORMANCE OF THE GAUSS-SEIDEL METHOD ON POWER
NETW ORKS ....... ..................... .. 10
3.1 Introduction of Power System Network .............. 10
3.2 Performance of the Gauss-Seidel Method ............. 14
4 IMPROVED GAUSS-SEIDEL METHOD ................. 21
4.1 Introduction of the Improved Gauss-Seidel Method ....... 21
4.2 Performance of the Improved Gauss-Seidel Method ....... 26
5 EFFICIENCY ANALYSIS OF THE IMPROVED METHOD ....... 30
5.1 Efficiency Analysis ......................... 30
5.2 BCSPWR06 Matrix Example of the Western US Power Network 33
6 PARALLEL ALGORITHM OF THE IMPROVED GAUSS-SEIDEL
METHOD ..... .............................. 36
6.1 Parallel Algorithm of the Improved Gauss-Seidel Method .... 36
6.2 Performance of the Parallel Algorithm . . . 37
7 CONCLUDING REMARKS AND FUTURE WORK . . 42
REFERENCES ...... ............................... 45
BIOGRAPHICAL SKETCH ............................ 46
LIST OF TABLES
3-1 The performance of the Gauss-Seidel method in matrix Yi to Y5 18
3-2 The results of Y5 when adding transmission lines . . 19
3-3 Results of adding lines between two .,1i ,'ent blocks, =le-4 . 19
4-1 The performance of the improved Gauss-Seidel method, F = le 6. 26
4-2 The performance of two methods when adding lines between two ad-
jacent blocks . . . . . . . 28
4-3 The results of two methods to solve bus voltages with complex numbers. 29
5-1 Some 3 values of Y5 matrix with three transmission lines between two
blocks . . . . . . . . 33
5-2 The nodes of each sub-matrix in BCSPWR06 . . 33
5-3 The number of boundary nodes (boundary transmission lines) . 33
5-4 The results of BCSPWR06 with the improved method . ... 34
5-5 Some bus node voltages of two method . . . . 35
6-1 The characteristics of Theta cluster . . . . 39
6-2 The result of the parallel method . . . . . 39
6-3 The performance of three methods . . . . . 39
LIST OF FIGURES
1-1 A western US power network . . . ..
1-2 The BCSPWR06 matrix of the western US power network]
3-1 The BCSPWR06 matrix . . . . ..
3-2 The BCSPWR08 matrix . . . . ..
3-3 The BCSPWR10 matrix . . . . ..
3-4 The NiMo-OPS matrix. . . . . .
3-5 The NiMo-PLANS matrix . . . . ..
3-6 A simple loose coupling circuit . . . ..
3-7 A simple tight coupling circuit . . . ..
3-8 The primary block BCSPWR03 matrix . . ..
3-9 The Y5 matrix (with 5 primary blocks) . . .
3-10 Relation of the number of iteration and the number of bl(
3-11 Relation of lines added and the number of iteration of the
Seidel m ethod . . . . . .
3-12 Results of lines added between two .11i went blocks in Y5
4-1 Structure of a sample power system network . .
4-2 An example circuit . . . . . ..
4-3 Relation of k and the number of blocks . . .
4-4 Comparison of the performance of two methods . .
4-5 The performance of two methods with lines added. .
4-6 The performance of two methods . . . ..
)cks . .
6-1 The parallel algorithm procedure of the improved method.
Abstract of Thesis Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Master of Science
IMPROVED GAUSS-SEIDEL ITERATIVE METHOD ON POWER NETWORKS
C'!, ir: Alexander Doiii ii Jr.
M, i r Department: Electrical and Computer Engineering
This thesis proposes an efficient method to solve power load flow problems in
the power system networks. The objects of the research are the power networks,
whose Y bus matrices are very sparse and block-diagonal-bordered. We analyze the
relation between the number of the blocks and the performance of the Gauss-Seidel
method and propose an improved method which has better performance. The
improved method is developed based on Gauss-Seidel iteration, linear theory and
node-tearing analysis. It can be also extended to a parallel algorithm, which only
needs two time communications among the processors when solving the problem.
Empirical performance measurements for models and real power system
networks are presented for implementations of a Gauss-Seidel algorithm, an
improved Gauss-Seidel algorithm and its parallel algorithm running on the Theta
cluster processors of High-performance Computing and Simulation Research Lab
of University of Florida. We also compare the performance of the three methods
above and show that good speedup can be possible for the improved method and
the parallel algorithm. In the last part of the thesis, we conclude the characteristics
of the improved Gauss-Seidel method.
A load flow study is basically the determination of power system voltages,
both magnitude and phase, at selected points in the system given a set of operation
conditions. Once the voltage magnitude and phase angles are known at various
points in a system the real and reactive power flow among these points can be
found through the use of standard equations. Power networks are increasing larger
and larger and the power system loads change continuously. Therefore the speed
and the size which the solver can get to are extremely important. During last
decades, power load flow solvers have been studied extensively by scientists. Load
flow's studies also provide very useful information to power system engineers which
is used to analyze current and future operating characteristics of power systems.
In the power system, the voltages and power flows can be computed through-
out an entire power network, based on the matrix equation I = YV, where
I Current, Y Admittance (We could just as well use a Z-Matrix), and V Voltage.
Figure -: A western US power network.
Figure 1 1: A western US power network.
Figure 1-2: The BCSPWR06 matrix of the western US power network.
Figure 1-1 shows a regional power network. Figure 1-2 shows a Y bus matrix
BCSPWR06 of the western US power network.
Once the voltages have been determined at each bus through I YV we
can compute the power flows in the system. The foundation of the power flow
equations are based on two relationships:
1. Power flowing into the bus equals the power flowing out of the bus (Basic
Energy Conservation Principle).
2. Power at the bus is the product of the bus voltage and the conjugate of the
S(s, o) = P(s, o) + jQ(s, o) = V(s)I(s)* (1.1)
where the subscript (s,o) denotes power flowing into bus S from outside.
From I YV we are given,
I(s) = Y(s,r)V(r) (1.2)
Substituting the equation (1.2) to the equation (1.1) we can get the power load
flow at each bus:
S(,o) = P(s,o) + jQ(,o) = V(s) Y(s,r) V(r))* (1.3)
where V(s) and V(o) denote the source node voltage and the objective node
voltage, Y(s,r) denotes the admittance from source node to objective node.
To solve a system of linear equations I YV, there are two traditional v--v to
be chosen. One way is to use direct methods, which attempt to solve the problem
in one-shot (solving a linear system of equations Ax b by finding the inverse of
the matrix A). The other way is to use iterative methods, which attempt to solve
an equation or system of equations, by finding successive approximations to the
solution starting from an initial guess. Iterative methods are useful for problems
involving large number of variables (could be of the order of millions) where direct
methods would be prohibitively expensive and in some cases impossible even with
the best available computing power.
The direct methods often use a matrix decomposition, which is a factorization
of a matrix into some canonical form. There are several different decompositions
of a given matrix and the decomposition used depends on the problem we want
to solve, such as Cholesky decomposition, Jordan decomposition and LU decom-
position . For example, the LU decomposition is basically a modified form of
Gaussian elimination. When solving a system of linear equations Ax b, the matrix
A can be decomposed into a lower triangular matrix L and upper triangular matrix
U. The matrices L and U are much easier to solve than the original matrix A.
Iterative methods have traditionally been used for the solution of large linear
systems with diagonally dominant sparse matrices. The Gauss-Seidel iteration is an
important method to solve the load flow problems even tod iv.
The Gauss-Seidel iteration was the starting point for the successive over-
relaxation methods which dominated much of the literature on iterative methods
for a big part of the second half of this century. The methods were initiated in the
19th century, originally by Gauss in the mid 1820s and then later by Seidel in 1874
(See Householder ). This method as it was developed in the 19th century was a
relaxation technique, in which relaxation was done by "hand".
However, the blossoming of over-relaxation techniques is initiated by the
work of David Young . Young introduced important notions such as consistent
ordering and p**. '/p ,;/ A, which he used for the formulation of an elegant theory for
the convergence of these methods. Varga published his book on Matrix Iterative
A,.,;;,*,'  in 1962, which extended the work of Young's to other relevant classes
of matrices. It covered important notions such as lp,, splitting, a rather
complete theory on Satieties and M-matrices, and a treatment of semi-iterative
methods, including the C'!l. I',-l-i..v semi-iterative method.
Load flow's pragmatism itself lies in the speed and size of the algorithm
used to generate it. Thus, the early years of load flow were limited to simple
computations. The following is a quotation from Varga's book  (page 1) As an
example of the magnitude of problems that have been successfully solved
on digital computers by cyclic iterative methods, the Bettis Atomic
Power laboratory of the Westinghouse Electric Corporation had in daily
use in 1960 a two-dimensional program which would treat as a special
case, Laplacian-type matrix equations of order 20,000. So the state of
the art in 1960 was a 20,000 X 20,000 Laplace equation. As the digital computer
became more prevalent, load flows went from multi-room low-level data ventures to
cubical-sized extensive-data ventures. The development of the computer 1 i', 1 the
most crucial role to widely use the iterative methods.
The topic of this thesis is to modify the Gauss-Seidel method to suitably solve
the block-diagonal-bordered sparse matrices of power system networks. And we
further extent this method to parallel algorithm, which has a few communications
among the processors. We also wrote programs to compare the performance of the
Gauss-Seidel method and our improved method while we are increasing the number
of the blocks in the Y bus matrix, and compare the performance of an identical
power network model using the Gauss-Seidel method, the improved method and its
This thesis is organized as follows.
In chapter one, power load flow is introduced and several solution methods are
also presented .
In C'!, Ipter 2, the traditional Gauss-Seidel method is introduced, including its
theory and the steps to solve the problems.
In C'!i Ipter 3, we analyze the structure of the power networks, show that
how the number of the blocks in a Y bus matrix affects the performance of the
In C'!i Ipter 4, we introduced the improved Gauss-Seidel method, including its
theory and the procedure to solve the problems. We also compare its performance
to the Gauss-Seidel method with an identical power network model.
In C'!i Ipter 5, we analyze the efficiency of the improved method and deduce an
estimation to adjudge whether it is faster than Gauss-Seidel method when solving
the block-diagonal-bordered sparse matrices of power system networks. We also
apply the method to a real power network to test its efficiency.
In C'!, Ipter 6, the improved method is extended to a parallel algorithm,
which has a few communications among processors. We introduce the structure
of the algorithm and analyze its performance. In this chapter, we also compare
the performance of Gauss-Seidel method, the improved method and its parallel
In C'!, Ipter 7, we conclude the characteristics of the improved method, present
some points we should concern about and the work we need to do in the future.
In power system, we usually need to solve the bus voltages in a power load
flow. The Gauss-Seidel iterative method used in solving linear algebraic equations
is a traditional solution.
In a power network, we have a set of linear algebraic equations shown in
equation (2.1) based on the Kirchhoff's Current Law:
y(1, 1)V(1) + y(1, 2)V(2) +... + y(1, n)V(n) = I(1)
y(2, 1)V(1) + y(2, 2)V(2) + ... + y(2, n)V(n) 1= (2)
y(n, 1)V(1) + y(n, 2)V(2) + ... + y(n, n)V(n) = I(n)
This equation array can be expressed by the matrix form as follows.
YV I (2.2)
The structure of a power network can be identified by Y bus matrix.
yn y12 ... Yin
Y 21 22 ... Y2n (2.3)
Ynl Yn2 ... Ynn
We change equation (2.1) to equation (2.4) as follows. Thus Gauss-Seidel
method can be used to solve them.
V(1) [I(1) y(1, 2)V(2)- ...- y(1, n)V(n)]/y(1, 1)
V(2) [1(2) y(2, 1)V(1) ...- y(2, n)V(n)]/y(2, 2)
V(n) = [I(n) y(n, 1)V() ...- y(n, n 1)V(n i)]/y(n, n)
Gauss-Seidel method first set initial values of V(1)o, V(2)0, ..., V(n)o, sub-
stitute them into the right side of the equations and obtain new values for
V(1)1,V(2)1,...,V(n)l. Repeat this substitution, until we get the values V(i)k+1
(i 1,2,...n) satisfying:
e V(i)k+lI V(i)k < (2.5)
F is a tolerance error value set before the computation.
The method need make an immediate substitution in subsequent equations as
a new value of V is obtained. The equations for the Gauss-Seidel method look like:
V()kl [(1) y(1, 2)V(2)k ... y(1, n)V(n)k]/(1, 1)
V(2)k+l [1(2) y(2, 1)V(l)k+ y(2, 3)V(3)k... y(2, n)V(n)k]/y(2, 2)
V(n)k+l [I(n) y(n, )V()k+l ... y(n, 1)V(n )k+l]/(, )
The Gauss-Seidel method is applicable to strictly diagonally dominant, or
symmetric positive definite matrices Y. The pseudocode is as follows:
1. C'! .... an initial guess V(0) to the solution V;
2. k 0;
4. store the array Vk
5. for i=1 to n
6. for j=1 to n
7. if (i/j) m I(i)-y(i,j)V(j);
11. e- Vk+1 Vk
13. if emax <= F, stop loop, else continue loop;
14. end loop;
In order to reduce the number of iteration, an acceleration a can be used:
V(i)k = V(i)k + a(V(i)k V()k-l1) (2.7)
There are optimal values of acceleration factors for a load flow solution but
they are difficult to calculate. Experience has shown a value between 1.0 to 2.0
should be selected. The use of acceleration factors can significantly affect the rate
of convergence of the Y bus Gauss-Seidel method. Actually we can reduce the
number of iteration by a factor a = 2.
The general description of the Gauss-Seidel method is as follows:
1. It is a iterative method;
2. Before solving the bus voltage, we should assign the initial value V(0) to
3. Solve a new value to each bus voltage from the real and reactive power
4. A new set of values for the voltage at each bus is used to calculate another
bus voltage at the next iteration;
5. The process is repeated until voltage differences at each bus are less than the
There are three type bus nodes in power load flow analysis. They are:
1. PV bus. Some generators have a controller that regulates the value of the
connected bus voltage. This type of bus is referred to PV bus. At this bus
the real power P and the magnitude of the voltage V are specified, but I
(node injection current), Q (reactive power) and 0 (phase angle of the node
voltage) are unknown.
2. PQ bus. At load buses we normally specify the real and reactive power P and
Q. This type of bus is called a PQ bus. At this bus I, V and 0 are unknown.
3. Swing or slack bus. At this bus the V and 0 are known and remain P, Q, I
In PV bus, bus current I(i) can be expressed by P(i) and V(i):
P(i) jIm[Y(i)(E y(i,)V))*] (2.
IW -= (2.8)
So the bus voltage can be given:
P(i) jIm[Y(i) ( 1 y(i, j)V(j))*]
V)=V(i)* y(i, )V(j)/y(i,z) (2.9)
If there is a PQ bus, I(i) can be expressed by P(i) and Q(i):
So the bus voltage can be given:
VW -P(i) jQ(i)
V) = V(i)* y(ij)V(j)/y(i,i) (2.11)
In this thesis, we mainly focus on the speed of the calculation. For simplicity,
we assume the values I(i) at each bus are known. So we needn't to solve the bus
current using equation (2.8) and (2.10).
PERFORMANCE OF THE GAUSS-SEIDEL METHOD ON POWER
In this chapter we describe the characteristics of the power system networks
and discuss the performance of the Gauss-Seidel method when using it on these
networks by constructing some models.
3.1 Introduction of Power System Network
Power system networks are generally hierarchical with limited numbers of high-
voltage lines transmitting electricity to connected local networks that eventually
distribute power to customers.
Power system networks are formed with generator, transmission and distri-
bution systems. Power generation plants are convert other energy sources into an
electrical form of energy that is convenient for transmission over long distances to
many users. So they are the source centers which output the power. The number
of such source centers are not many and they are in the top of the hierarchical
networks. Stations and substations are in the middle level of the power system net-
work. They are formed with one or more transformers and switchers which change
the power system voltage to another level of the interconnected system, eventually
transmit the power to the end-customers. The large number of end-customers are
in the lowest level of the network. They aiv-x-, live together in many locations
and get the power from the substations. The transmission lines connect between
generators and substations, between substations and end-customers .
In order to ensure reliability, highly interconnected local networks are input
with electricity from multiple high-voltage sources. Electrical power grids have
graph representations which in turn can be expressed as Y bus matrices -
electrical buses are graph nodes and matrix diagonal elements, while electrical
transmission lines are graph edges which can be represented as non-zero off-
diagonal matrix elements .
One of important characteristics of power system networks is many of their Y
bus matrices are extremely sparse. Figure 3.1 to 3.5 illustrates some power system
1. Harwell-Boeing Collection BCSPWR06 1454 by 1454, 3377 entries, western
US power network (figure 1-2) 1;
2. Harwell-Boeing Collection BCSPWR08 1624 by 1624, 3837 entries, western
US power network (figure 3-2) 1;
3. Harwell-Boeing Collection BCSPWR10 5300 by 5300, 13571 entries,
western US power network (figure 3-3) 1 ;
4. Niagara Mohawk Power Corporation operations matrix NiMo-OPS 1766
by 1766 (figure 3-4) ;
5. Niagara Mohawk Power Corporation planning matrix NiMo-PLANS 9430
by 9430 (figure 3-5) ;
From the figures we can see that many power system network Y matrices are
formed with blocks linking with each other.
Each block denotes a highly interconnected local area. The blocks are marked
in the figure 3-1. Because it doesn't need to construct many transmission lines
among local areas, we can find that there are just few off-diagonal nodes among the
blocks of Y bus matrices such as BCSPWR06. So many Y bus matrices of power
system networks are very sparse and block-diagonal-bordered. The second section
1 Source: Collected by B. Dembart and J. Lewis, Boeing Computer Services.
Seattle. WA. I
Figure 3-1: The BCSPWR06 matrix.
Figure 3-2: The BCSPWR08 matrix.
Figure 3-3: The BCSPWR10 matrix.
Figure 3 4: The NiMo-OPS matrix.
Figure 3-5: The NiMo-PLANS matrix.
of this chapter will show that such kind of power system networks will hurt the
performance of the Gauss-Seidel method when calculating the power load flow.
3.2 Performance of the Gauss-Seidel Method
Because the blocks link each other one by one and few off-diagonal nodes are
in the Y bus matrix, the linear algebraic equations are very loosely coupled.
In the Y bus matrix, if there is a transmission line linking node i and node j,
we are given
y(i, ) y(j,) / 0 (3.1)
If no transmission line exits between node i and node j,
y(i,) =y(j,) 0 (3.2)
For self-admittance y(i,i):
Y(1,i) =yi~ground+ Y [-y(IJ)] (3.3)
From the equations above and equation (2.6) we can conclude that the voltage
value of one node is determined by other nodes which link to that node. So if the
load flow equations are not tightly coupled, when using the Gauss-Seidel method
to solving the bus voltages, the calculation speed won't be fast. For example,
in figure (3-6) and (3-7), the voltages of node A and C are known, we need to
solve the voltage of node B. The structure in figure (3-6) is more loosely coupled
than the one in figure (3-7). The affection of node A is passed to the node B only
by one path in figure(3-6) comparing with three pathes in figure (3-7). So the
calculation speed of figure (3-6) will be slower than the speed of figure (3-7). We
also constructed some other models to show the phenomenon in following parts.
A B C
Figure 3 6: A simple loose coupling circuit.
AL; B C
Figure 3-7: A simple tight coupling circuit.
Figure 3-8: The primary block BCSPWR03 matrix.
We want to construct a set of Y bus matrices where the primary block is
formed with BCSPWR032 matrix. BCSPWR03 Matrix is an IEEE standard 118
bus test case power network, 118 by 118, 297 entries. Yi includes one primary
block (That is, matrix Yi is BCSPWRO3). Matrix Y2 to Y5 is formed with two to
five primary blocks. First we assume there is just one transmission line between
two ..11i .'ent blocks. Figure (3-8) shows matrix Yi (BCSPWRO3) and figure (3-9)
shows matrix Y5.
We construct transmission lines in the set of Y bus matrix models:
1. Yi: no line between two .,i11 went blocks (because there is only one block).
2. Y2: 1 line-node 118 node 119.
3. Y3: 2 lines-node 118 node 119, node 236 node 237.
4. Y4: 3 lines-node 118 node 119, node 236 +- node 237, node 354 +- node
2 Source: Collected by B. Dembart and J. Lewis, Boeing Computer Services,
Seattle, WA, USA
Figure 3-9: The Y5 matrix (with 5 primary blocks)
5. Y5: 4 lines-node 118 +-> node 119, node 236 +-> node 237, node 354 +-> node
355, node 472 +-> node 473.
We use traditional Gauss-Seidel method to solve the bus voltages with I YV
through YI to Y5, record the number of iteration k and bus nodes N in each
network, and compute the amount of the calculation by k*N. For simplicity, we
assume the following conditions:
1. The bus voltages are real numbers.
2. In each matrix, two node voltages are set to be known, V(1) 1000v and
3. The admittances of the transmission lines are the same value, no node has
Table (3-1) shows the data. The error e- Vk+1 Vk < = e 6.
Table 3-1: The performance of the Gauss-Seidel method in matrix Y1 to Y5
matrix Y Y2 Y3 4 5
k 3038 6096 10113 15737 22870
N(*n) 1 2 3 4 5
k*N(*n) 3038 12192 30339 62948 114350
n=118-the number of nodes in a primary block
X 104 Relation of kand number of blocks
1 15 2 25 3 35 4 45
Number of Blocks
Figure 3-10: Relation of the number of iteration and the number of blocks
From table (3-1) we can find the number of iteration is increasing with the
increase of the number of blocks, so is the amount of calculation. The relation of
the number of iteration and the number of blocks are shown in the figure (3-10).
So we can see when using the Gauss-Seidel method to solve bus voltages with
the sparse block-diagonal-bordered Y bus matrix, the performance of the method is
probably hurt by the increase of the number of blocks.
We also add several transmission lines to the Y5number matrix and find that the
number of iteration is slightly dropped with the increase of the number of the
lines added This phenomenon illustrates when the coupling degree is tighter,
the performance of the Gauss-Seidel method will be better. Table (3-2) shows the
the performance of the Gauss-Seidel method will be better. Table (3-2) shows the
Table 3-2: The results of Y5 when adding transmission lines
lines added no line 200- 400 10-550 300-500 100-400
k 14244 13916 12923 8901 8408
= le -
3; each matrix includes the transmission lines previously added.
X 104 Relation of k and number of transmission lines added
0 05 1 15 2 25
Number of transmission lines added
Figure 3-11: Relation of lines added and the number
3 35 4
of iteration of the Gauss-
results of Y5 matrix when adding the transmission lines between two blocks (not
.,i .:'ent) and figure (3-11) shows the plots.
If we add lines only between the two .,1] :rent blocks, we also get the similar
results with the table (3-2). They are given in table (3-3) and figure (3-12).
Table 3-3: Results of adding lines between two .,i1i :ent blocks, =le-4
No. of lines added between two .,11 rent 1 2 3
k 9692 9009 8664
-- 9 13916
Results of lines added between two adjacent blocks
w5 9200 -
1 12 14 16 18 2 22 24 26 28 3
Number of transmission lines added
Figure 3-12: Results of lines added between two .i11i 'ent blocks in Y5 matrix
IMPROVED GAUSS-SEIDEL METHOD
4.1 Introduction of the Improved Gauss-Seidel Method
Considering the block-diagonal-bordered Y bus matrix of power system
networks, we know from the previous section that the number of iteration k is
increasing with the increase of the number of diagonal blocks when using direct
Gauss-Seidel method. The improved Gauss-Seidel method has better performance
than the conventional method to solve such networks. The idea is to tear the
diagonal blocks apart to reduce the number of blocks when applying the Gauss-
Seidel method to each part. Because the equations of power load flow problem
are linear which analyze the steady state of the power system network, the linear
theories guarantee the correctness of the improved method.
Given a Y bus matrix, with n blocks, the power system network will be like
The node voltage V inside a block can be expressed by values of the boundary
nodes in other blocks which connect to this block:
V(i,j) Ao(i,j) + > Am(i,j) Vm (4.1)
V(i,j)-node voltage within a block.
Ao(i, j), Am(i,j)(m = 1,2...n)-Coefficients, n is the number of nodes of
other blocks which connect to this block.
Vm-the voltage of node m in other block which connects to this block.
We tear the Y bus matrix into sub-matrices, each sub-matrix includes one or
several blocks. In the structure of figure (4-1) each sub-matrix has one block. (In
this thesis, we assume the sub-matrix and the block denote the same meaning.)
Figure 4-1: Structure of a sample power system network
The nodes outside the block which connect to it are set to be unknown variables.
They combine the nodes inside the block whose voltages are known and solve the
coefficients Ao(i,j) and Am(i,j) by the Gauss-Seidel method. The vector of the
voltages of nodes outside the block will be set as follows in order to get the values
of Ao and Am (m l,2,...,n).
S0 ... 0
1 0 ... 0
o 0 1 ... 0 (4.2)
0 0 ... 1
So every voltage of node inside the block can be expressed by equation (4.1)
with Ao(i, j) and Am(i,,j) coefficients.
After all the blocks are solved, the boundary nodes of each block which
connect to other blocks are picked up and put together to form an array of linear
equations as follows:
V(i,j)o Ao(i,j) + YA%(ij) Vro
V(ij)= A(,j) + A ,j) *V
q-denotes block q.
V(i,j) -boundary node voltages in the block q.
nq-the number of nodes of other blocks which connect to block q.
A(i,j), Aq(i, j)-coefficients of the equations belong to block q.
VJ'-boundary node voltages outside current block q.
Solving the equations above with the Gauss-Seidel method we get the results
of boundary node voltages in each block. Then we need substitute them to the
equation (4.1) to get the voltages of all other nodes which are not connected to the
nodes of other blocks. So if we tear a Y bus matrix into n sub-matrices, we need
use n+1 times of the Gauss-Seidel method to solve the problem.
A simple example is illustrated to show the procedure of the improved method.
Assume there is a circuit in figure (4-2). The admittance of every transmission line
is 1. V1 O1v and V6 0, we need to solve the voltages of node 2 to 5. The Y bus
will be as equation (4.4). The load flow equations are shown in (4.5). We tear the
Y bus matrix into two parts between node 3 and node 4. So the node 3 and node 4
are boundary nodes.
Figure 4-2: An example circuit.
Y bus matrix:
Load flow equations which
2 -1 -
-1 2 -
_t ~ _
1 3 -1 -1
0 -1 2
0 -1 -
V1 + V2 V3 = 0
V, V2 + 3V3 V4 0
V3 + 3V4 V5 V6 0
V4+2V V6 0
Then we set the values of V3 and V4 variables, use the Gauss-Seidel method to
solve the A0 and A1 coefficients of sub-networks and get the result (4.6) and (4.7)
whose form is like equation (4.1). In equation (4.6) V4 is the variable, V2 and V3
are expressed by V4. Meanwhile in the equation (4.7), V4 and V5 are expressed by
the boundary node V3.
V2 8 + 0.2V4
V3 6 + O.4V4
V5 = 0.2V3
So we can solve the boundary equations (4.8) and get the voltages of node 3
and node 4.
V3 = 6 + .4V4
Solving equations (4.8), we get V3 7.14v and V4 2.86v. Substitute the value
of V3 and V4 to equation (4.6) and (4.7), then we can get remaining node voltages
by V2 8.57v and V5 1.43v.
The steps of the improved Gauss-Seidel method is illustrated as follows.
1. fort =to q
2. Set initial voltage value, set tolerance value F;
3. Set E V, [0,0,...,0];
4. Using the Gauss-Seidel method solve the node voltage Vt(i,j);
5. A(i,j) Vt(i,j);
6. Set E V [1,0,...,0];
7. Using the Gauss-Seidel method solve the node voltage Vt(i,j);
8. Ati(i,j) Vt(i, j) At(ij);
9 .. ...
10. Set E V [0,0,...,1];
11. Using the Gauss-Seidel method solve the node voltage Vt(i,j);
12. A(i, j) Vt(i, j)-At A(i, j);
14. Solve the boundary node equations with the Gauss-Seidel method:
15. E A0 + EA'V
16 2 2 2 V2
16. E A0 + EA
17. ... ...
18. EV A+ AE ATA V
19. Substitute the boundary node voltages into equation (4.1) to get all other
4.2 Performance of the Improved Gauss-Seidel Method
In order to compare with the direct Gauss-Seidel method, we use the same
power system models to test our improved method.
First we use the improved Gauss-Seidel method to solve the Y2 to Y5 bus
matrices of power system network models to find out the relation between the
number of iteration and the number of blocks.
The results are given in the table (4-1). Because we tear the Y bus matrix
into several blocks and do the calculation serially, k' is the cumulative number of
iteration in the table. Each iteration means we calculate just one block for once.
In order to compare with traditional Gauss-Seidel method, we need a value k to
represent the equivalent number of iteration which means one time iteration is one
calculation of whole blocks of the Y matrix. So,
k = k'/b (4.9)
b-the number of blocks in Y bus matrix.
Table 4-1: T : .:.. :W, < the improved Gauss-Seidel method, e = 6.
matrix Y2 Y3 Y4 Y5
k' 9173 16376 21111
b 2 3 4 5
k 4587 5459 5278 51
Figure 4-3: Relation of k and the number of blocks
X 104 Relation of k and number of blocks
25 Improved Method
15 2 25 3 35
Number of blocks
4 45 5
Figure 4-4: Comparison of the performance of two methods
The relation of k and the number of blocks is shown in figure (4-3).
We compare the performance of the improved method and the Gauss-Seidel
method to find that the improved method is faster than the Gauss-Seidel method
when the number of blocks is increasing. The figure (4-4) clearly shows the gap of
the performance of two methods.
Second, we also add lines to the Y5 matrix to watch the performance of the
improved method and we get the similar results that the number of iteration k is
decreasing with the increase of the lines added.
R.I.b.. fk and ...b., fbl-k
1 5 2 2 5 3
Table 4-2: The performance of two methods when adding lines between two .i1] i-
No. of lines added between two .,.1i 'ent 0 1 2
kl of Gauss-Seidel method 22870 15470 14417
k2 of improved method 6574 4942 4006
kl-k2 16296 10528 10411
X 104 The performance of two methods with lines added
-0- Gauss-Seldel Method kl
Improved Method k2
22 -- kl-k2
1 8 -
0 02 04 06 08 1 12 14 16 18 2
Number of lines added between two adjacent blocks
Figure 4-5: The performance of two methods with lines added.
Finally, we compare the performance of two methods when the number
of transmission lines among blocks is increasing. We find that the gap of the
performance of two methods are ( -in,: which shows in the table (4-2) and figure
(4-5). In the table, we set E=le-6 for the Gauss-Seidel method and E=le-7 for the
improved method because the E of the improved method is applied in each block
calculation and the final accuracy will greater than le-7.
It is reasonable that there is a critic value 10 of the number of added lines.
When the number of lines is greater than lo, the performance of the improved
method will be worse than the direct method, vice versa. Figure (4-6) shows the
trend of the performance of two methods.
The improved method can also solve the complex numbers of node voltages.
We still solve Y5 bus matrix with 3 transmission lines added between two .i1] I.ent
blocks. The table (4-3) shows the results of two methods.
Performance of two methods
0 1, X
Number of lines added
Figure 4-6: The performance of two methods.
Table 4-3: The results of two methods to solve bus voltages with complex numbers.
Gauss-Seidel ki Improved method k' b k2
Y5 12378 31214 5 6243
In table (4-3),for the Gauss-Seidel method F = le 8, for the improved
From table (4-3) we can see the speedup of the improved method over Gauss-
Seidel method is:
Speedup 1.98 (4.10)
EFFICIENCY ANALYSIS OF THE IMPROVED METHOD
5.1 Efficiency Analysis
In this section, we roughly a i1, .. the efficiency of the improved Gauss-Seidel
method in order to give us an estimation to find out more detail which kind of Y
bus matrices can be suitable to use the improved method.
Suppose there is a Y bus matrix, which has n blocks. Block 1 has pl nodes,
block 2 has P2 nodes,..., block n has p, nodes. We assume there are m, boundary
nodes in block 1 which connect to other blocks, m2 boundary nodes in block 2, ...,
m, boundary nodes in block n. So the total number of nodes in the Y matrix is:
N Pl +P2 + ... +Pn (5.1)
With the direct Gauss-Seidel method, we assume it needs k time iterations to
solve the problem. So the amount of computation is:
Compi = N k (5.2)
With the improved Gauss-Seidel method, we assume block 1 needs ki iter-
ations, block 2 needs k2 iterations, ..., block n needs k, iterations. Because the
number of boundary node equations which forms the last (n+1) block is much less
than the number of the nodes in 1 to n blocks, we ignore the number of iteration
and the amount of computation on it. Then we get the amount of computation for
this method is:
Comp2 p, ki (mi + 1) + p2 k2 (2* + 1) + ... + pn k, (n + 1)
Because we often compute Am(i,j) in the equation (4.1) with Ao(i,j) =0
(it means in many blocks there is just boundary nodes without the nodes whose
voltage values are known before the load flow analysis), we don't need another time
of iteration. So equation (5.3) will be:
Comp2 pi ki mi + p2 k2 2 + ... + Pn k, m (5.4)
For simplicity, we suppose all the blocks are the same and the number of
transmission lines between two blocks is the same, that is:
PI =P2 ... Pn P
ki k2 ... kn, ko (5.5)
mi = m2 ... r mn =
So the equation (5.4) will become:
Comp2 = n*p* ko m
=N ko m
We can see from the previous examples, roughly,
ko k (5.7)
Substitute equation (5.7) to equation (5.6) and compute the speedup of the
improved method over the Gauss-Seidel method, we are given:
N k m (5.8)
iN ) ,
From equation (5.8), if we want the performance of the improved method is
better than that of the Gauss-Seidel method, we should make the speedup greater
than 1, then we get:
Speedup = > 1
M r < n
From equation (5.9), if there is a power system network whose Y bus matrix
has n blocks and average m transmission lines connecting each block to other
blocks, and if m is less than n, then it is faster to use the improved method instead
of the Gauss-Seidel method. It is a rough judgment when we decide to use which
solver to do the load flow computation.
Actually, if there are m transmission lines between one block and other blocks,
it doesn't need repeat m*ko times to get the values of the coefficients Ao to Am.
Because after we compute one coefficient in one block we can set the voltages of
the nodes in that block to be the initial values when computing next coefficient
with the Gauss-Seidel method, it will make the computation converge faster,
decreasing the number of iterations dramatically especially when the values of the
node voltages are real numbers. So we can introduce a coefficient 3 to rewrite the
o > 1 (5.10)
mn < on
3 abhv-- greater than 1.
Table (5-1) shows some 0 values in previous examples.
Table 5-1: Some B values of Y, matrix with three transmission .... between two
5.2 BCSPWR06 Matrix Example of the Western US Power Network
In this section we will use the improved Gauss-Seidel method to compute the
power load flow in the network whose Y bus matrix is BCSPWR06. BCSPWR06
represents western US power network, collected by B. Dembart and J. Lewis of
Boeing Computer Service. It is 1454 by 1454 grids, 3377 entries. The structure of
BCSPWR06 is shown in figure (3-1).
We tear BCSPWR06 into three sub-matrices and each sub-matrix includes
several blocks. Table (5-2) shows the nodes of each part.
Table 5-2: Ti nodes of each sub-matrix in BC' I'WBR
sub-matrix 1 2 3
nodes 1-576 and 1353-1454 .--7 '- 1.
number of nodes 678
e of all nodes 1: 29.1( 24.:'
The number m of the transmission lines which connect between each sub-
matrix and other two sub-matrices is shown in table (5-3).
Table 5-3: Ti number of boundary nodes (boundary transmission lines)
sub-matrix 1 2 3
m 27 11 19
n- 0.11 0.27 0.16
where ni 3 (the number of blocks).
The initial conditions are V1 l000v and V1454=0v. All the node voltages are
Using the Gauss-Seidel method to solve this matrix, we need kgs 62953
iterations with the accuracy =le-7. Using the improved Gauss-Seidel method to
solve it, we need equivalent ki, iterations with the accuracy =le-8. Table (5-4)
and equation (5.11) show the results.
Table 5-4: T: results B(C 'WF, with the improved method
sub-matrix 1 2 3
k' 71523 3 .5""7
kim, 71253 46.1,'- + 35808 29.(0' + 53297* 24..!'-,
We can compare the performance of two methods using speedup parameter.
The speedup tells us that the improved Gauss-Seidel method is about 11.,-',
faster than the Gauss-Seidel method.
We can also compute the f3 value in this example.
r 3 1
Table (5-5) compares some voltage values of bus nodes of two methods. We
can find the difference of the results of two methods is very little. So the load flow
computation of BCSPWR06 power system network proves the correctness and the
good performance of the improved Gauss-Seidel method.
Table 5-5: Some bus node voltages of two method
Gauss-Seidel method )
PARALLEL ALGORITHM OF THE IMPROVED GAUSS-SEIDEL METHOD
Parallel computing has become a critical component of the computing technol-
ogy of the 1990s. The goal of parallel computing is to run faster and more efficient.
A parallel computer is a collection of processing elements that cooperate to solve
large problems fast.
Power system matrices are very sparse matrices. The amount of calculation of
load flow is very large. So significant researches are done to find parallel methods
to solve the problems. But there is still not a very efficient parallel linear solver
suitable to the sparse power system networks.
The improved Gauss-Seidel method tears the Y bus matrix into sub-matrices.
Each sub-matrix can compute independently with Gauss-Seidel method. The
number of data exchange is a few among the sub-matrices. So the method is good
for parallel processors to solve the problems.
6.1 Parallel Algorithm of the Improved Gauss-Seidel Method
In the parallel algorithm of the improved method, there are just two com-
munications to exchange data among the processors. For all processors except
the last one, they only need one communication to sent the coefficients Ao(i,j) to
Am(i, j) of boundary equations to the last processor and another communication to
receive the boundary node voltages from it. For the last processor, it need receive
the coefficients from other processors, form an array of boundary equations, solve
the boundary node voltages with the Gauss-Seidel method and send them back to
We suppose there is a Y bus matrix with n blocks. The method tears the
matrix into n sub-matrices each of which has one block. The parallel algorithm
needs n processors to complete. The following is the steps of the parallel algorithm:
1. Each processor forms a sub-matrix of a block and solve the coefficients of Ao
and Am of equation (4.1) with Gauss-Seidel method.
2. Processors from 1 to (n-1) sent the coefficients of boundary equations to
3. Processor n receives the coefficients, forms an array of boundary equations
and solves the boundary node voltages with Gauss-Seidel method.
4. Processor n sends the boundary node voltages to other processors.
5. Each of n processors solve the node voltages inside the block of equation (4.1)
by the boundary node voltages received from processor n. The algorithm is
The figure (6-1) illustrates the procedure of the algorithm.
6.2 Performance of the Parallel Algorithm
In parallel algorithms, we may define the speedup on p processors as :
Per f ormance(p processor)
Per f ormance(1 processor) (61)
In this section we make an example to compare the performance of the Gauss-
Seidel method, the improved method and its parallel algorithm. We continue using
the Y5 bus matrix with three transmission lines between two .,1i] I,'ent blocks. The
bus voltages are complex numbers. We have solved the problem in chapter 4. The
results are shown in table (4-3) with the Gauss-Seidel method and the improved
method by one processor. Now we compute the node voltages with the parallel
method. The number of iteration is the same with the improved method.
(4.1) of each node
Compute boundary node volt
and node voltages in last block
Figure 6-1: The parallel algorithm procedure of the improved method.
The parallel programs are running with the Theta cluster in the High-
performance Computing and Simulation Research Lab of University of Florida.
We use one processor to run the programs of the Gauss-Seidel method and the
improved method and five processors to run the program of the parallel algorithm.
The computer language is MPI-Massage Passing Interface, which is point-to-point
communication, based on Fortran and C/C++ languages.
The characteristics of Theta Cluster  are shown in table (6-1).
Table 1: The characteristics of Theta cluster
C: : : NO nodes CP per node Memory per node
C1. : \ Memory ( .. "y Disk per node Special features
:10GB SCI, Gigabit Ethernet
In order to compare the performance of three methods. we measure the
runtime of three programs. Table (6-2) shows the result of the parallel method and
table (6-3) compares the performance of three methods.
Table 6 2: '.. result of the parallel method
Processor 1 2 3 4 5
Time(s) 12. 1'. 12.:. 12.20252 12.207652 12.171.:
TLble 6 3: 1Ti p. ... .e of three methods
Method Gauss-Seidel Improved Method Parallel Method
Times) 61, .'- i:" 48.5, : > 12.1 (\average)
For Gauss-Seidel method, =le-8, for other two methods, =le-9.
The speedup of parallel method over the Gauss-Seidel method is:
Speedup1 2.193933 50.32 (6.2)
The speedup of parallel method over the improved method is:
Speedup2 3.98 (6.3)
We can see from equations (6.2) and (6.3) that the parallel method can reduce
the runtime very much.
The runtime ratio of the Gauss-Seidel method over the improved method is a
far greater than the ratio of the number of iterations between them. We can see
the ratio in equation (6.4).
kos 12378 (6.4)
> Speedup ki 6 1.98
The reason is that for each node voltage calculation, the program of the
Gauss-Seidel method should repeat n times to get the result by equation (2.4), n is
the dimension of the Y bus matrix. But in the program of the improved method,
we just need ni times to get the result, ni is the dimension of the sub-matrix.
Because ni is much less than n, the runtime of the Gauss-Seidel method is much
more than the improved method. It does not involve which kind of the methods
but involves the store forms of array data. If we change the store form of the data,
not storing the zero values in the Y bus matrix and making the program not to
calculate the zero value nodes, then the runtime of Gauss-Seidel method will reduce
a lot, speedupt will close to speedupk. Though the runtime reduces, the complexity
of the program will also increase. So it is more convenient to use the improved
method if we concern this situation.
There are also some points we should concern for the parallel method.
1. The size and number of each blocks will be not the same among them,
and the number of the transmission lines between arbitrary two blocks will
different, so the workload of each processor may not be balance.
2. There is one processor n will not only compute the node voltages inside a
block, but also compute the array of boundary node equations. This will
make unbalance too.
3. The forms of the communication among the processors are all-to-one and
one-to-all. This may generate communication blocks.
CONCLUDING REMARKS AND FUTURE WORK
We have presented a new algorithm based on the Gauss-Seidel method. We
also analyze the efficiency of the improved method. In chapter six we further
extend the method to its parallel algorithm. In this article we cite many examples
to test the efficiency of the improved method and compare the performance of the
Gauss-Seidel method, the improved method and its parallel algorithm. The results
show that it is better to use the improved method when the Y bus matrix of the
power system network is very sparse and block-diagonal-bordered.
In chapter five we analyze the efficiency of the improved method and get
a rough judgment to select a better method between the Gauss-Seidel and the
improved method to solve the power load flow problems. If m< On (m is the
average number of transmission lines between arbitrary two sub-matrices, n is the
number of sub-matrices, 3 is a coefficient, greater than 1 at many situations), the
performance of the improved method will be better than the Gauss-Seidel method.
We also use the improved method to solve a real power system network-
BCSPWR06. It illustrates that it is about 11.2'-. faster than the Gauss-Seidel
method to use the improved method. This example tells us that the improved
Gauss-Seidel method can be used in power system networks efficiently.
Another virtue of the improved method is that it can be extended to a
parallel algorithm. The parallel program just needs a few communications among
processors. In chapter six we compare the performance of the Gauss-Seidel method,
the improved method and its parallel algorithm. We measure the runtime of three
programs based on the same Y bus matrix model. The results show the improved
method and its parallel algorithm are much better than the Gauss-Seidel method
(614 seconds for Gauss-Seidel method, 49 seconds for the improved method and 12
seconds for its parallel algorithm).
After all, there are several points we should consider when using the improved
1. The method is suitable for some kinds of power system networks, whose
Y bus matrix is very sparse and block-diagonal-bordered. There are few
transmission lines among the blocks.
2. Because the method tears the Y bus matrix into some sub-matrices and needs
more steps than the Gauss-Seidel method to get the final results. So the error
value e should be set much less than that of the Gauss-Seidel method when
computing the node voltages inside the sub-matrices.
3. With the same reason mentioned at second point, the program of the
improved method will more complex than the program of the Gauss-Seidel
4. For the parallel algorithm, because the size and the number of blocks are
not the same, the assigned task will not be balanced, this will hurt the
performance of the method.
5. When the number of transmission lines are greater than a certain value lo,
the performance of the improved method will be worse than the Gauss-Seidel
Though the thesis is focused on the steady state of the power system network.
But if the time between every two computation of the load flow is very short, we
can gain the instant state of the power load flow in the power system network.
There are still much work to analyze the algorithm of the improved Gauss-
Seidel method. We should do further researches to find the relations between
the efficiency and the number of the blocks, the efficiency and the number of the
transmission lines among the blocks, and the efficiency and the sparse degree of the
 Stewart GW. The decompositional approach to matrix computation. IEEE
Computing in Science and Engineering 2000; Jan./Feb; 2 (1): 50-59.
 Householder AS. Theory of matrices in numerical analysis. New York:
Blaisdell Publisher; 1964.
 Young DM. Iterative methods for solving partial differential equations of
elliptic type [dissertation]. Cambridge ('\ A): Harvard University; 1950.
[41 Varga RS. Matrix iterative analysis. Englewood Cliffs. NJ: Prentice Hall;
51 Golub GH, Varga RS. C!. lI',-!v semi-iterative methods, successive overre-
laxation iterative methods, and second order Richardson iterative methods.
Numerische Mathematik 1961; 3: 147-168.
Sherrill LW. Electrical system. In: Drbal LF, Boston PG, Westra KL, Black
& Veatch, editors. Power plant engineering. New York: Chi 1ii, ii & Hall;
1966. p. 592.
[71 Koester DP, Ranka S, Fox GC. Parallel block-diagonal-bordered sparse linear
solvers for power system applications. In: Skjellum A, editor. Proceedings
of the Scalable Parallel Conference; IEEE press; 1993 Oct 6-8; Starkville,
Mississippi; 1993. p. 195-203.
 Culler DE, Singh JP, Gupta A. Parallel computer architecture, a hardware
software approach. 2nd ed. San Francisco: Morgan Kaufmann; 1999.
 George AD. CARRIER computational lab grid. High-performance Computing
and Simulation Research Lab; University of Florida. Available from URL:
http://www.hcs.ufl.edu/lab/carrier.php. Site last visited November 2004.
Yunxu Liang was born on March 18, 1974, in Nanxiong, Guangdong Province,
China. He received two bachelor's degrees in 1996 from Shanghai Jiao Tong
University, C'ii i One of his degrees is in high voltage devices and technology.
The other is in computer science and application. Since August 2003, he has been
pursuing a Master of Science Degree in the Electrical and Computer Engineering
Department at the University of Florida in the area of electric power engineering.