Vous êtes sur la page 1sur 13

MATLAB implementation

of the complex power ow


Gianpietro Granelli and Mario Montagna
Department of Electrical Engineering, University of Pavia, Pavia, Italy
Abstract
Purpose The purpose of this work is that of providing the guidelines of an efcient implementation
of power ow computations using the MATLAB computation environment.
Design/methodology/approach The goal of obtaining high efciency from MATLAB programs
often proves elusive unless special care is taken in exploiting the vectorising capability of MATLAB
programming. In the present paper the implementation of Newton-Raphson power ow in MATLAB
is examined with particular emphasis on the way of obtaining a vectorisable code capable of achieving
effective numerical performance by exploiting its formulation in terms of complex variables.
Findings Tests on actual networks with up to 1,300 buses are presented. They show that the
complex power ow is as efcient as the best implementations of the Newton Raphson power ow
using real variables, as long as the operations involved are reordered with the aim of exploiting the
vectorisation capabilities of the MATLAB environment.
Originality/value It is shown that improved numerical efciency in the MATLAB can be obtained
through its formulation in terms of complex variables. The complex Newton-Raphson load ow, not
very common in practical uses, is shown to have many desirable qualities from the point of view of
MATLAB programming and is presented in detail.
Keywords Power systemanalysis, Complex power ow, MATLAB, Computing, Electric power systems
Paper type Research paper
1. Introduction
Since its early versions, MATLAB has provided scientists and technicians with a very
powerful language for numerical computing and data presentation. Its basic
capabilities in matrix algebra have been continuously extended with the addition of
specialized toolboxes covering many areas of scientic computing, also including
control systems and power system analysis.
The addition of an efcient support for sparse matrix manipulation makes it possible
to design MATLAB programs (M-les) for such specialized computations as power
ow, state estimation and power system dynamics, cutting down the time for
programming and debugging the code. Furthermore, MATLAB not only appeared as a
useful tool for testing methods and ideas in view of an implementation using other
programming languages, but it could be adopted as a platformfor software applications
development.
Obtaining high performance from MATLAB programs, however, is not always
straightforward. The key-point of efcient programming lies in making systematic use
of the vector syntax of the MATLAB language (MathWorks, 2010); all numerical
operations are more efciently executed if they are expressed in the form of matrix or
vector operations with speed-ups exceeding one order of magnitude with respect to
non-vector code. As a result, the potential of MATLAB programming mostly depends
on the programmers ability of re-thinking solution algorithms originally designed for
scalar efciency, in a vector-oriented mode (MathWorks, 2010; Alvarado, 1999).
The current issue and full text archive of this journal is available at
www.emeraldinsight.com/0332-1649.htm
COMPEL: The International Journal
for Computation and Mathematics in
Electrical and Electronic Engineering
Vol. 32 No. 3, 2013
pp. 923-935
qEmerald Group Publishing Limited
0332-1649
DOI 10.1108/03321641311305836
Complex
power ow
923
The problem of code optimization and the solutions proposed here are considerably
similar to those introduced in the years 1990s for efcient coding of the vector
processor computers used in those years. Examples pertaining power system analysis
can be found in Granelli et al. (1992, 1993) with reference to power ow and
contingency analysis and in Granelli et al. (1994) for dynamic simulations.
In the present work the Newton-Raphson (N-R) power ow computation is
considered with the aim of obtaining an efcient implementation for the MATLAB
environment. Vectorisation of the numerical core of the power ow computation is
achieved by nding a compact vector expression for sparse admittance and Jacobian
matrices as well as for the computation of the power residual vector.
The different N-R power ow methods can be seen as special cases of a common
framework which can be neatly derived from the bus power equations written in
complex form. In particular, the Jacobian of the N-R method in polar co-ordinates is
derived by suitably taking the real or the imaginary part of the complex Jacobian matrix.
In addition to providing a general formulation of the N-R power ow solution, the
complex Jacobian, and its complex conjugate, are used to develop a formulation of the
load ow using complex variables, suitable for the MATLAB environment.
The complex power ow, from which some of the methods proposed here were
derived, was formulated in Gomez and Semlyen (1972) and Semlyen (1972), but
apparently it did not receive much attention by the power system community. The
complex power ow approach was supported in Viviani (1985) as a solution method
well suited to the characteristics of vector and array processors. More recently,
a complex power ow approach was applied in the framework of three-phase analysis
of unbalanced distribution systems (Nguyen, 1997) and for the simulation of the
behaviour of FACTS devices (Nguyen and Vu, 2006).
In this work the original formulation of the complex power owis changed a little bit
to further improve one of its strong points: the use of a nearly constant Jacobian matrix.
The issue of sparsity programming using MATLAB is also addressed: optimal
ordering of the Jacobian matrix is actually executed only once for improved efciency
as happens in any industrial power ow code.
Tests have been carried out with reference to both sample and actual electrical
systems with up to 1,300 buses, showing the suitability of matrix-oriented
programming for those computation environments (like MATLAB) designed for
efcient vector processing.
2. Vectorised Jacobian matrices
The power ow equations derive from the balance of real and reactive powers written
for the system buses: the two equations relative to each bus can be gathered into one
involving the injected complex power S. However, S is not an analytical function of the
complex voltages E; this difculty can be overcome if the complex conjugate voltages
E
*
are handled as an unknown vector, separate from E.
If all buses are assumed to be P-Q type, the following matrix equation can be
written:
SE; E
*
S
sp
1
where S
sp
is the vector of the specied bus complex power injections and S P jQ
is the vector of the bus complex power injections given by:
COMPEL
32,3
924
SE; E
*
diagEI
*
diagEY
*
E
*
2
In equation (2), E is the vector of complex bus voltages, Y is the bus admittance matrix
and I YE is the vector of complex bus current injections.
Differentiating S with respect to both E and E
*
, the following Jacobian matrices are
obtained:
J
S;E
diagI
*
; J
S;E
* diagEY
*
3
The complex conjugate of equation (2) can be considered as well. Differentiating S
*
with respect to both E and E
*
, the following Jacobian matrices can be found:
J
S
*
;E
diagE
*
Y; J
S
*
;E
* diagI 4
2.1 Polar coordinates
To obtain a compact matrix expression of the real/reactive Jacobians in polar
coordinates it is necessary to combine equation (3) or (4) with the following Jacobians:
J
E;d
j diagE
J
E
*
;d
2j diagE
*

J
E;jEj
diag
E
jEj
_ _
J
E
*
;jEj
diag
E
*
jEj
_ _
obtained by taking the derivatives of E and E
*
with respect to the vectors of phase
angles d and voltage magnitudes jEj. In the last two formulas the argument of the
diag operator is the vector whose generic element is E
i
/jE
i
j or E
*
i
=jE
i
j.
By applying the chain rule of differentiation to equation (2), the Jacobian matrices of
the complex injected power with respect to d and jEj are obtained:
J
S;d
j diagS 2j diagEY
*
diagE
*
5
J
S;jEj
diagS diagEY
*
diagE
*
6
The form of equation (6) takes into account the common practice of replacing the
displacement vector DjEj with the scaled vector (DjEj)/jEj.
The Jacobians of the real and reactive power with respect to d are the real and
imaginary part of equation (5):
J
P;d
2diagQ Im{diagEY
*
diagE
*
}
J
Q;d
diagP Re{diagEY
*
diagE
*
}
Similarly, the Jacobians with respect to jEj are obtained from equation (6):
J
P;jEj
diagP Re{diagEY
*
diagE
*
}
J
Q;jEj
diagQ Im{diagEY
*
diagE
*
}
Complex
power ow
925
2.2 Rectangular coordinates
A compact matrix expression of the real/reactive Jacobians in rectangular coordinates
can be derived in the same way. The four Jacobians with respect to e Re{E} and
f Im{E} are:
J
P;e
Re{diagI} Re{diagEY
*
}
J
Q;e
2Im{diagI} Im{diagEY
*
}
J
P;f
Im{diagI} Im{diagEY
*
}
J
Q;f
Re{diagI} 2Re{diagEY
*
}
2.3 Complex variables
A third approach to the power ow is that of employing the complex bus voltage
vector E and its conjugate E
*
as the problem variables. In this case the required
Jacobians are directly given by equations (3) and (4). These Jacobians are
straightforward to compute and already present a form well suited to a vectorised
implementation in MATLAB.
The approach based on the complex bus voltages is referred to as the complex
power ow; it was proposed in Gomez and Semlyen (1972) and Semlyen (1972) and
is recalled in Section 3.
The details of an efcient implementation in the MATLAB environment are
presented in the same Section 3 together with some modications intended to enhance
its performance.
3. The complex N-R power ow
3.1 Basic complex power ow algorithm
For each P-E type bus the following equations are to be used:
S
i
E; E
*
S
*
i
E; E
*
2P
sp
i
7
E
i
E
*
i
jE
sp
i
j
2
8
For each P-Q type bus, the equations of the complex power ow are the following:
S
i
E; E
*
S
sp
i
9
S
*
i
E; E
*
S
sp
i
_ _
*
10
At each iteration of the N-R algorithm, the linear equations relative to the P-E buses
are:
I
0
*
i
DE
i
E
0
*
i

n21
k1
Y
ik
DE
k
I
0
i
DE
*
i
E
0
i

n21
k1
Y
*
ik
DE
*
k
2P
sp
i
2 S
0
i
S
0
*
i
_ _
11
E
0
*
i
DE
i
E
0
i
DE
*
i
jE
sp
i
j
2
2E
0
*
i
E
0
i
12
COMPEL
32,3
926
The equations relative to the P-Q buses are the following:
I
0
*
i
DE
i
E
0
i

n21
k1
Y
*
ik
DE
*
k
S
sp
i
2S
0
i
13
E
0
*
i

n21
k1
Y
ik
DE
k
I
0
i
DE
*
i
S
*
i
_ _
sp
2S
0
*
i
14
where the slack bus was numbered last. The expression of the complex Jacobians
equations (3) and (4) can be easily recognized in equations (11)-(14).
The expression of the Jacobian elements in equations (11) and (13) can be simplied
dividing both sides by E
0
i
; similarly, equations (12) and (14) must be divided by E
0
*
i
.
In this way many Jacobian entries become constant.
Gathering equations (11) and (13), the resulting set of linear equations has the
following form:
J
11
DE J
12
DE
*

R
1
E
15
Similarly, the set of linear equations corresponding to equations (12) and (14) is:
J
21
DE J
22
DE
*

R
2
E
*
16
R
1
and R
2
are the residual vectors containing the right-hand side of equations (11) and
(13) and of equations (12) and (14), respectively; in equations (15) and (16) the iteration
index is omitted.
Assuming that the P-E buses are numbered ahead of the P-Q ones, the matrices J
11
,
J
12
, J
21
, and J
22
can be written in the following matrix form:
J
11

diag I
*
PE
=E
PE
_ _
diag E
*
PE
=E
PE
_ _
Y
PE
diag I
*
PQ
=E
PQ
_ _
_
_
_
_
17
J
12

diag I
PE
=E
PE
_ _
Y
*
PE
Y
*
PQ
_ _
18
J
21

U
PE
Y
PQ
_ _
19
J
22

diag E
PE
=E
*
PE
_ _
diag I
PQ
=E
*
PQ
_ _
_
_
_
_
20
In equations (17)-(20) subscript PE(PQ) denotes partitioning of vectors and matrices
according to bus type; for example, Y
PQ
denotes the rows of the admittance matrix
corresponding to the PQ buses. Double indices will be used at need, so that Y
PE,PQ
will
Complex
power ow
927
identify the submatrix with the rows and columns corresponding to PE and PQ buses,
respectively. Finally, in equation (19), U
PE
is the identity matrix of dimension n
PE
.
Equations (15) and (16) together forma sparse set of linear equations in the unknowns
DE and DE
*
. This system, of dimension 2(n
PE
n
PQ
), can be solved as is; in contrast,
the diagonal form of J
22
can be exploited to eliminate the DE
*
variables obtaining the
following linear system, of dimension n
PE
n
PQ
, in the DE variables alone:
J
11
2J
12
J
21
22
J
21
_ _
DE
R
1
E
2J
12
J
21
22
R
2
E
*
21
The form of the complex power ow presented is slightly different from that originally
proposed in Gomez and Semlyen (1972); the changes made here are aimed at reducing the
number of Jacobian entries that need to be recomputed at each iteration. Only J
11
and J
22
require to be recomputed afresh while J
21
is constant and J
12
only needs the updating of
the diagonal elements corresponding to the P-E buses.
Moreover, it can be realized that the three vectors I
*
/E, I
PE
/E
PE
, E
*
PE
=E
PE
(and their
conjugates) and the admittance matrix are all that is needed the carry out the Jacobian
matrix updating according to equations (17), (18) and (20).
3.2 Hybrid complex power ow algorithm
The computation burden of the complex power ow can be reduced by exploiting the
particular structure of the equations and variables relative to the P-E buses.
With voltage magnitude held constant, the couple of E and E
*
variables of P-E type
buses can be replaced by the real valued phase angle vector d
PE
and equation (8) is
discarded. The partial derivatives with respect to d
PE
are obtained from equations (11),
(13) and (14), by taking into account the simple relations DE
i
jE
i
Dd
i
and DE
*
i

2jE
*
i
Dd
i
and gathering terms.
The resultant power ow equations take the following form:
~
J
11
Dd
PE
DE
PQ
_ _

~
J
12
DE
*
PQ

R
1
E
~
J
21
Dd
PE
DE
PQ
_ _

~
J
22
DE
*
PQ

R
2
E
*
The Jacobian submatrix
~
J
22
is still diagonal whereby the solution proceeds as shown in
Section 3.1; the DE
*
PQ
variables are Gauss eliminated and the reduced set of equations,
of size n
PE
n
PQ
, is solved with respect to the remaining variables Dd
PE
and DE
PQ
.
The advantage of resorting to the hybrid method appears modest since the size of
the coefcient matrix to be factorised and solved at each iteration remains the same of
the complex power ow described in Section 3.1 and the Jacobian matrices are
somewhat more complicate to evaluate. A small decrease in computation burden is
expected as an effect of the reduced size of matrices
~
J
21
and
~
J
22
.
3.3 Step-size computation for the complex power ow
An optimal step-size computation was applied to the complex power ow approach,
following Iwamoto and Tamura (1981). The step-size m can be computed as the
minimizer of the real valued function:
COMPEL
32,3
928
F
1
2
a
*
mb
*
m
2
c
*

T
a mb m
2
c
being a
R
T
1
R
T
2
_ _
T
, b 2a and c 2y(DE, DE
*
), where y is the vector
function formed by the left-hand sides of equations (7)-(10).
By developing terms in the F function, a fourth degree polynomial in the m variable
is obtained; thus, the optimal step-size can be found by solving the equation
dF/dm 0. The optimal step-size m is selected as the smallest positive real root of the
resulting third degree polynomial.
Another step-size method proposed in Gan et al. (2012) was implemented. This
technique, based on the Quasi-Newton concept proposed in Semlyen and De Leon
(2001), can be easily adapted to the complex power ow.
According to Gan et al., the Jacobian matrix is kept constant after the rst load
ow iterations and a correction factor a is applied to the resulting vector of voltage
updates DE.
In the case of the complex load ow, the optimal step-size a is given by the formula:
a
1
2
u
*

T
w w
*

T
u
w
*

T
w
where u is the residual vector of equation (21) with sign reversed, J
k

J
11
2J
12
J
21
22
J
21
_ _
is the current Jacobian matrix at iteration k, J
0
is the value of the
constant Jacobian and w J
k
J
21
0
_ _
u.
The advantage of using this method consists in that matrix J
k
need not be
factorized. This result is particularly expedient in the case of the complex load ow
since Jacobian re-computation is inexpensive (with respect to factorization) because of
the high ratio of constant terms in the Jacobian matrix.
4. Tests and results
Tests regarding the proposed power ow algorithms were carried out on a 2.66 GHz
Intel Core 2 personal computer onto which the MATLAB computation environment
had been uploaded. Test networks include both the small IEEE sample networks as
well as some representations of the Italian and European systems. A few details about
these test systems are shown in Table I.
Network Number of buses Number of branches
IEEE-14 14 21
IEEE-30 30 43
IEEE-57 57 80
IEEE-118 118 193
ITA-389 389 651
SOUTH-EU 822 1,253
ITA-1300 1,318 1,997
Table I.
Network characteristics
Complex
power ow
929
4.1 The reference N-R method
For reference purposes a standard N-R load ow using polar coordinates was also
implemented. According to the N-R program, the following power injection formulas:
P
i
G
ii
E
2
i

k[ai

{E
i
E
k
G
ik
cosd
i
2d
k
B
ik
sind
i
2d
k
}
Q
i
2B
ii
E
2
i

k[ai

{E
i
E
k
G
ik
sind
i
2d
k
2B
ik
cosd
i
2d
k
}
are implemented. In the above formulas, G
ik
and B
ik
are the real and imaginary part of
the complex admittance Y
ik
, while a(i ) is the set of nodes connected to i.
Implementation of the N-R program was carefully designed to not penalize this
approach with respect to the more efcient vectorised methods described above.
The values of the trigonometric functions used in bus real/reactive power computations
were stored and re-used in the computation of the Jacobian matrix. All operations
involving one row of the admittance matrix at a time (in computing both power
injections and Jacobian row/columns) are executed by single vector operations, avoiding
a time-wasting for loop.
4.2 Performance of the basic power ow methods
Four highly vectorised load ow algorithms are compared with N-R; they include the
vectorised N-R methods using polar (R-P) (Section 2.1) or rectangular (R-R) coordinates
(Section 2.2), the basic complex power ow (C) described in Section 3.1 and the hybrid
complex (H-C) method of Section 3.2.
Power ow convergence is achieved when the maximum (absolute value) mismatch
of the real or reactive bus power balance equation falls under a 0.001 p.u. threshold.
Results regarding the number of N-R iterations and CPU times are gathered in Table II.
A rst remark on the results shown in Table II is that the convergence pattern
exhibited by the different methods shows apparent diversities. In particular, the number
of iterations required by the complex power owapproach C results the same of the N-R
method in rectangular coordinates (R-R). This is also conrmed by a comparison of the
behaviour of the maximum real/reactive mismatch along the iterations.
The N-R method in polar coordinates (R-P) appears more efcient, at least with the
largest test systems, when R-P succeeds in attaining the convergence in advance of one
iteration with respect to R-R and C.
N-R R-P R-R C H-C
Network itns time itns time itns time itns time itns time
IEEE-14 3 0.029 3 0.004 3 0.005 3 0.005 3 0.007
IEEE-30 2 0.039 2 0.004 3 0.007 3 0.006 3 0.010
IEEE-57 3 0.083 3 0.007 3 0.010 3 0.008 3 0.012
IEEE-118 3 0.158 3 0.014 3 0.015 3 0.012 4 0.026
ITA-389 3 0.693 3 0.034 4 0.054 4 0.048 4 0.058
SOUTH-EU 4 2.880 4 0.068 4 0.083 4 0.071 5 0.161
ITA-1300 4 6.372 4 0.121 5 0.149 5 0.159 7 0.475
Table II.
Power ow iterations
(itns) and CPU times (s)
COMPEL
32,3
930
The convergence of the hybrid complex method H-C is even slower than R-R and C, in
particular with the largest systems.
Regarding the timing results reported in Table II, it must be observed that all
methods designed to fully exploit the vectorisation capabilities of the MATLAB
computation environment (that is R-P, R-R, C and H-C) are remarkably faster than the
standard N-R approach; in particular, the speed-up of R-P with respect to N-R ranges
between 7 and 50 although both programs implement the same N-R algorithm.
4.3 The N-R load ow in polar coordinates (N-R vs R-P)
To shed light on the poor timing results of the reference method N-R with respect to
the vectorised methods, an accurate timing analysis was carried out by comparing
N-R and R-P with the aid of the proling tool available in MATLAB. The largest
test case ITA-1300 was selected for this comparison. It must be recalled that these
two methods are different implementations of the same N-R algorithm using polar
coordinates.
The computation burden of each iteration appears differently distributed according
to the N-R and R-P. In particular, regarding R-P, the CPU times spent in the
computation of Jacobian matrix and power residuals amount to 3.5 and 0.3 ms,
respectively. In contrast, N-R takes 1,355.6 ms for the computation of the Jacobian
matrix and 181.9 ms for power residual evaluation. The comparison of the power
injection computation is particularly illuminating. According to R-P (and to all the
other vectorisation-based codes) current injections are rst computed by multiplication
of the admittance matrix by the vector of bus voltages; then the complex power vector
is obtained by element-wise multiplication of the bus voltages by the complex
conjugate of the just computed current injection vector. According to the N-R program,
most of the time is spent in the short vector operations involving the non-zero elements
in each row of Y, which, although completely vectorisable, are not capable of fully
exploiting the efciency of long vector operations.
Even more interesting is that the computation of trigonometric functions takes an
almost negligible time with respect to the total CPU time spent in power injection
calculation. This fact occurs because the computation of all trigonometric functions is
arranged in the form of a single long vector operation.
It is not surprising to recall that a similar situation was observed in Granelli et al.
(1992, 1993) with regard to the efcient application of the early vector processing
computers to load ow and contingency analysis computations. The overall speed-up
value of 52.7 (Table II) depends on the fact that the rest of the computation, and LU
factorisation in particular, are carried out in the same way and by the same MATLAB
functions, thus reducing the advantage of the vectorising method R-P over N-R.
The results of the two methods above were compared with those obtained by the
MATPOWER implementation of the N-R load ow (using polar coordinates).
MATPOWER is an efcient MATLAB based power system simulation package,
available on the web. The comparison could be carried out with reference to the small
IEEE test systems provided with the MATPOWER package. Timing results
of MATPOWER are comparable with those obtained by the proposed R-P method thus
conrming the efcient vectorisation of both programs. Indeed an examination of the
MATPOWER code for the computation of the N-R Jacobian matrix points out the key
role that the complex matrices diag (S) and diag (E)Y
*
diag (E
*
) have in both programs.
Complex
power ow
931
Details on the use of complex variables to improve code efciency in the MATPOWER
package can be found in Zimmerman (2010).
4.4 Comparison between vectorised methods: real (R-P) vs complex (C) load ow
The timing results of the proposed vectorisation exploiting methods appear similar; when
the number of iterations is the same, the CPUtimes of the R-P and C approaches are quite
close, but R-P remains preferable due to the reduced iteration number of this method.
Taking the ITA-1300 system as an example, the CPU times required by the R-P and
C programs were subdivided into the main contributions and shown in the form of pie
plots in Figure 1.
It is apparent that the complex power ow takes a longer time for factorisation with
respect to the R-P N-R approach with polar coordinates, despite of the fact that the
complex Jacobian matrix, after reduction, is smaller in size (1,317 rows/columns,
Figure 1.
Contributions to
CPU times
Jacobian
computation
34%
Jacobian
computation
5%
Jacobian
reduction
5%
Ordering
6%
Ordering
3%
Other
6%
Other
10%
Factorisation
54%
Factorisation
66%
(a)
(b)
Notes: (a) R-P program; (b) C program
COMPEL
32,3
932
13,635 non-zero elements) than the corresponding real Jacobian (2,335 rows/columns,
15,987 non-zero elements). To understand this result, the following considerations
can be made.
Matrix factorisation requires repeated multiplication-addition (briey mult-adds)
operations of the type a a b c. Using real arithmetic, each mult-add requires four
memory access operations and only two oating point operations (one addition and
one multiplication). In complex arithmetic, the number of memory access operations
remains the same, but four multiplications and four additions are now requested. As a
consequence for complex matrix factorisation to become competitive with real matrix
factorisation, in terms of CPU times, the complex matrix should be at least four times
smaller. With reference to the ITA-1300 system, and considering that the complex
Jacobian (after reduction) is actually slightly smaller than the real one, the CPU time for
complex factorisation is about 19 ms compared to the 8 ms required for the factorisation
of the real Jacobian. The higher ratio between arithmetical and memory access
operations achieved by working with complex variables is fundamental in speeding up
other operations such as, for example, real and reactive power computation which,
however, are carried out in complex arithmetic also in the R-P and R-R programs.
On the other hand, the complex power ow results much faster than its real
variable counterpart in the computation of Jacobian matrices. At the rst iteration
the total number of nonzero elements in the four complex submatrices J
11
, J
12
, J
21
and
J
22
, amounts to 11,988 for program C, against 15,987 for the R-P Jacobian. However,
thanks to its particular structure (J
21
is constant and J
12
is almost constant) only
3,236 Jacobian elements need to be actually recalculated in each of the subsequent
iterations. As a result, updating the complex Jacobian matrix only takes 1.5 ms
per iteration, while the computation of the real Jacobian is more than twice slower
(3.6 ms per iteration).
4.5 Performance of the line search techniques
Some tests regarding step-size evaluation according to the methods described in
Section 3.3 were carried out.
In general the method of Iwamoto and Tamura only seldom gives rise to improved
results in terms of a reduced number of iterations and, even when this is the case, the
CPU times results are worse than those of the basic complex power ow (method C)
because of the additional computations required.
The method of Gan et al. (2012), thanks to the reduced number of complex matrix
factorizations, gives better timings with respect to C and can become superior to the
best load ow computation using real variables (method R-P).
Table III shows the number of iterations and the CPU times relative to the ITA-1300
bus example with reference to methods R-P, C, C1 (exploiting the Iwamoto and
Tamuras step-size technique) and C2 (exploiting the approach of Gan et al.).
Method R-P C C1 C2
Iteration number 5 7 6 7
Time (s) 0.152 0.188 0.288 0.144
Table III.
ITA-1300 network:
tests with the
step-size methods
Complex
power ow
933
In this test the load ow tolerance was set to 10
210
p.u. to increase the iteration count
and gauge the capability of the different method in attaining convergence. The
Jacobian is kept constant when the maximum residual (absolute value) falls under the
threshold of 10
25
.
5. Conclusions
The complex power ow, proposed in the early 1970s, did not receive much attention
from the power system research community because the use of complex variables
needed additional operations in the factorisation of the Jacobian matrix and in
forward/backward substitution with respect to the highly efcient traditional N-R
method in polar coordinates.
In the present work the complex power ow, either in its basic form (method C) or in
the hybrid version (H-C), is reconsidered and it is shown to be nearly as efcient as the
N-R method (R-P) for the MATLAB computation environment, provided that efcient
vector-oriented programming is adopted. All these methods are remarkably faster than
the reference code N-R, based on a standard implementation of the N-R method
characterised by poor vectorisation.
Regarding the complex load ow C, it is recalled that many elements of the Jacobian
matrix are constant and need not be recomputed at each iteration. Inexpensive Jacobian
re-computation is particularly expedient in the implementation of the accelerated N-R
method proposed in Gan et al. (2012).
The use of the complex variables leads to a simple and elegant matrix formulation of the
load owequations and of the Jacobian matrices which proves extremely efcient not only
inthe frameworkof the classical N-Rloadowinpolar coordinates, but also for other power
system problems such as optimal power ow (as in the MATPOWER package) and state
estimation.
References
Alvarado, F.L. (1999), Solving power ow problems with a Matlab implementation of the power
system applications data dictionary, Proceedings of the 32nd Annual Hawaii
International Conference on System Sciences, Maui, HI.
Gan, L., Xiao-Ping, Z. and Xi-Fan, W. (2012), Accelerated Newton-Raphson power ow,
European Transactions on Electrical Power, Vol. 22 No. 4, pp. 504-17.
Gomez, F. and Semlyen, A. (1972), The Newton-Raphson load ow method with complex
variables, Proceedings of IEEE PES Summer Meeting, San Francisco, CA.
Granelli, G.P., Montagna, M., Lascala, M. and Torelli, F. (1994), Relaxation-Newton methods for
transient stability analysis on a vector parallel computer, IEEE Transactions on Power
Systems, Vol. 9 No. 2, pp. 637-43.
Granelli, G.P., Montagna, M., Pasini, G.L. and Marannino, P. (1992), Vector computer
implementation of power ow outage studies, IEEE Transactions on Power Systems,
Vol. 7 No. 2, pp. 798-804.
Granelli, G.P., Montagna, M., Pasini, G.L. and Marannino, P. (1993), A W-matrix based fast
decoupled load ow for contingency studies on vector computers, IEEE Transactions on
Power Systems, Vol. 8 No. 3, pp. 946-53.
Iwamoto, S. and Tamura, Y. (1981), A load ow calculation method for ill-conditioned power
systems, IEEETransactions on Power Apparatus and Systems, Vol. 100 No. 4, pp. 1736-43.
MathWorks (2010), Matlab 7, Programming Fundamentals, MathWorks, Natick, MA.
COMPEL
32,3
934
Nguyen, H.L. (1997), Newton-Raphson method in complex form, IEEE Transactions on Power
Systems, Vol. 12 No. 3, pp. 1355-9.
Nguyen, T.T. and Vu, C.T. (2006), Complex-variable Newton-Raphson load ow analysis with
FACTS devices, Proceedings of IEEE PES Transmission and Distribution Conference and
Exhibition, Dallas, TX, USA, pp. 183-90.
Semlyen, A. (1972), Differential methods with complex variables for network solutions and
optimization, Proceedings of IEEE PES Summer Meeting, San Francisco, CA.
Semlyen, A. and De Leon, F. (2001), Quasi-Newton power ow using partial Jacobian updates,
IEEE Transactions on Power Systems, Vol. 16 No. 3, pp. 332-9.
Viviani, G.L. (1985), Complex vector load ow, Electric Machines and Power Systems, Vol. 10
Nos 5/6, pp. 443-52.
Zimmerman, R.D. (2010), AC power ows, generalized OPF costs and their derivatives using
complex matrix notation, MATPOWER Technical Note 2, available at: www.pserc.
cornell.edu/matpower/
About the authors
Gianpietro Granelli was born in Castelnuovo Scrivia, Italy in 1942. He received the Dr Ing. degree
in Electrical Engineering from the Polytechnic of Milan in 1968. Until 2011 he was Full Professor
at the Department of Electrical Engineering of the University of Pavia. After retirement he has
been an Adjunct Professor at the same Department. He is presently involved in the eld of power
system operation and control. Dr Granelli is a member of the Italian Electrical and Electronic
Association (AEI).
Mario Montagna was born in Pavia, Italy in 1957. He received the Dr Ing. degree in Electrical
Engineering from the University of Pavia in 1982. He is an Associate Professor of Power Systems
at the Department of Electrical Engineering of the University of Pavia. Dr Montagna is interested
in the eld of electrical power systems optimization and in the application of vector and parallel
processing to power system analysis. Mario Montagna is the corresponding author and can be
contacted at: mario.montagna@unipv.it
Complex
power ow
935
To purchase reprints of this article please e-mail: reprints@emeraldinsight.com
Or visit our web site for further details: www.emeraldinsight.com/reprints

Vous aimerez peut-être aussi