Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
discussions, stats, and author profiles for this publication at: http://www.researchgate.net/publication/222263261
CITATIONS
READS
99
151
4 AUTHORS, INCLUDING:
Xiaoqing Bai
Huang Weihua
Guangxi University
SEE PROFILE
SEE PROFILE
Katsuki Fujisawa
Kyushu University
76 PUBLICATIONS 1,217 CITATIONS
SEE PROFILE
Received 29 April 2007; received in revised form 13 December 2007; accepted 18 December 2007
Abstract
This paper presents a new solution using the semidenite programming (SDP) technique to solve the optimal power ow problems
(OPF). The proposed method involves reformulating the OPF problems into a SDP model and developing an algorithm of interior point
method (IPM) for SDP. That is said, OPF in a nonlinear programming (NP) model, which is a nonconvex problem, has been accurately
transformed into a SDP model which is a convex problem. Based on SDP, the OPF problem can be solved by primaldual interior point
algorithms which possess superlinear convergence. The proposed method has been tested with four kinds of objective functions of OPF.
Extensive numerical simulations on test systems with sizes ranging from 4 to 300 buses have shown that this method is promising for
OPF problems due to its robustness.
2008 Published by Elsevier Ltd.
Keywords: Optimal power ow; Interior point method; Semidenite programming
1. Introduction
Since the early 60s of the last century, optimal power
ow (OPF) as a powerful tool for power system optimization problems has attracted many researchers over the
world [1,2]. Numerous algorithms have been developed in
this area based on linear programming (LP), quadratic programming, Newtons method, nonlinear programming
(NLP) and decomposition method [3]. Recently, NLPbased algorithms using interior point methods (IPM) have
also been applied to OPF problems successfully [47].
However, as power systems are getting more complex,
384
Dierent practical problems have been solved successfully in various domains, such as control and system theory
[12,13], signal processing and communications [1416], and
combinatorial optimization [1719]. In [20,21], the SDP has
been used to solve power dispatch problems, which are typical constrained economic dispatching problems (CED). To
our knowledge, these two paper were pioneering in applying the SDP technique to power systems. However, the
works in [20,21] did not involve power ow equations
and the bus voltage constraints.
It is signicant and challenging to extend the SDP to
solve OPF problems which are know for their inherent
complexity and practicality. Motivations of this study stem
from the following three aspects:
1. The classical OPF problem is a nonconvex NLP [22],
which solution is more complicated than the CED problems mentioned earlier. On the other hand, the SDP
belongs to convex optimization [23], and can guarantee
global optimal solution using IPM. Therefore, it is
worth to study how to properly reformulate the classical
OPF to a SDP model, due to many advantages of the
SDP technique including its convexity and uniform
algorithm implemental framework of software suite.
2. Once an OPF problem is reformulated to a SDP one
using the quadratic model [24] in the case of the rectangular form, the resulting SDP model should be convex,
and the solution quality can be guaranteed by using
IPM for the SDP [23]. In detail, by applying X = xTx
where x is a row vector and trace operator of matrices
which will be discussed in Section 3, the nonlinear quadratic items of the OPF will be replaced with the relevant elements of the variable matrix X in SDP.
3. Mature techniques such as IPM for LP are available to
solve the SDP problems. Furthermore, the solution
techniques developed for LP which actually is a special
case of SDP are also applicable to SDP [23]. Therefore,
IPM for LP, which can be used to solve convex optimization problems in polynomial time, can be implemented for SDP [25]. Moreover, IPM enhancements
for LP can also be used in SDP, which renders IPM
for SDP as ecient as that for LP theoretically [26].
8
P P
2
2
P Loss2
Gij fi fj ei ej
>
>
>
i2S B j2S B
>
>
>
P P
>
>
>
Bij fi fj 2 ei ej 2
< QLoss
i2S B j2S B
minimize
P
>
>
afi ali P Gi aqi P 2Gi
F Cost
>
>
>
i2S
G
>
>
P
>
>
P Gi
: P Loss1
i2S G
1
subject to:
1. Power ow equations:
8
P
>
< P Gi j2S ei ej Gij fj Bij fi fj Gij ej Bij P Di
B
P
; i 2 SB
>
fi ej Gij fj Bij ei fj Gij ej Bij QDi
: QRi
j2S B
fs 0
i 2 SG
i 2 SR
i 2 SB
where
a, ali, aqi: cost coecients of thermal plant, i,
respectively,
ei, fi: real and imaginary part of voltage at bus i,
V_ i : voltage at bus i,
Gij, Bij: real and imaginary part of transfer admittance
between buses i and j,
PGi, QRi: dispatchable active and reactive power at bus i,
PDi, QDi: active and reactive power demand at bus i,
SB, SG, SR: set of buses (nB), thermal plants (nG) and
reactive power sources (nB), respectively,
s: identication serial number of reference bus in the
system,
lower and upper limits of variables or functions.
, :
The set of (1)(6) is known as the classical OPF
problem.
3. Semidenite programming by IPM
The semidenite programming [9] is concerned with
choosing a positive semidenite matrix to optimize a linear
function which is subject to linear constraints. In other
words, the well-known linear programming problem is generalized by replacing the vector of variables with a symmetric matrix and the nonnegative constraints with a positive
semidenite constraint. This generalization nevertheless
inherits several important properties from its vector
where
1. y; b 2 Rm ; X 2 Rnn , and Ai 2 Rnn ; i 0; . . . ; m;
2. symbol P
isP the trace operator. For example,
n
n
A1 X i1 j1P
A1ij X ji ;
m
3. X 0P and A0 i1 y i Ai 0 mean that X and
m
A0 i1 y i Ai are positive semidenite, respectively.
3.2. IPM for SDP
All the improvements developed for IPM as applied to
linear programming are also useful when they are extended
to SDP. For example, the primaldual interior point
method (PDIPM) is used to solve the SDP problem successfully [8,27]. More clearly, PDIPM generates a sequence
of iterations which approximate the central path and converge to the primal and dual solutions [28].
3.2.1. Primaldual interior point algorithms
Let ln det X be the logarithmic barrier for the determinant of the matrix X. Replacing the primal problem in
(7) with the relaxed barrier version [8] yields:
min A0 X l ln det X
8
s:t: Ai X bi ; i 1; . . . ; m
The Lagrangian function is then given by:
m
X
y i bi Ai X
LX ; y A0 X l ln det X
i1
385
8
Ai X l bi ; i 1; . . . ; m
>
>
<P
m
y i lAi Zl A0
>
i1
>
:
X lZl lI
rLlyi bi Ai X l 0; i 1; . . . ; m
>
>
>
:
rLlZ mZ 1 l X l 0
which is essentially the same as the one obtained from the
primal problem.
3.2.2. Central path
In PDIPM [29], the central path (l) is composed of
points dened by system (9):
l fX l; yl; Zl 2 Rnn Rm Rnn : l > 0g
The central path plays a crucial role in computing an optimal solution. For any complementary gap l > 0, there exists
a
unique
X(l), y(l), Z(l) 2 Rnn Rm Rnn
satisfying (10). Thus the central path (l) structures a
smooth curve in the space of X(l), y(l), Z(l) 2
Rnn Rm Rnn. Moreover, it is obvious that
X(l)Z(l) = nl can be held since X(l)Z(l) = lI. Therefore, l = X(l)Z(l)/n. In addition, the central path (l)
converges to an optimal solution of the SDP, i.e.,
(X(l), y(l), Z(l)) converges to an optimal solution of the
SDP as l ? 0. Thus, the PDIPM traces path numerically
as l decreases toward 0.
3.2.3. Search direction
A search direction (DX, Dy, DZ) [30] is taken so that
(XK + DX, yK + Dy, ZK + DZ) can coincide with the target
point (X(blk), y(blk), Z(b lk)) on the central path with
l = blk, which leads to the following system by applying
Newtons method to (9):
8
Ai X k DX bi ; i 1; . . . ; m
>
>
>
<P
m
y ki DyAi Z k DZ A0
11
>
i1
>
>
:
X k DX Z k DZ blk I
386
12
i1
>
>
>
DZ~ X k 1 R Z k DX
>
>
:
e DZ
e T =2
DZ D Z
i; j 1; . . . ; m
k 1
ri d i Ai X R PZ k ;
m
X
P
Ai y ki A0 X k
i 1; . . . ; m
i1
d i c i Ai Z k ;
4. Implementation of SOPF
i 1; 2; . . . ; m
R blk I X k Z k
ap g
ap c minf1;
14
where
1
X k1 ; y k1 ; Z k1 X k ap DX ; y k ad Dy; Z k ad DZ
End
8
BDy r
>
>
>
m
>
P
>
< DX P Ai Dy i
Bij X k Ai Z k Aj ;
13
where:
1=kmin ; if kmin < 0
ap
1;
otherwise
Here kmin is the minimum diagonal value of K. The set
lengths ad can be computed in the same way.
"
#
8
nB
nB
nB
P
P
P
>
2
2
>
>
P
2f
G
G
4
f
f
e
e
G
Loss2
ij
ii
i
j
i
j
ij
>
i
i
>
>
i1
j1
ji1
>
>
"
#
>
>
>
nB
nB
nB
>
P
P
P
<
2
2
2fi ei Bij Bii 4
fi fj ei ej Bij
QLoss
minimize
i1
j1
ji1
>
>
P
>
>
>
F Cost
afi d 2Gi ali P Gi d Gi aqi P 2Gi
>
>
>
i2S G
>
>
P
>
>
: P Loss1
P Gi d Gi
G2
387
G1
(Reference)
i2S G
15
sources, the buses 2 and 3 have scheduled active and reactive power, and the bus 4 is the reference bus.
All the variables in the problem (15)(28) for TEST-4
are grouped into a single vector x = [x1, x2, x3, x4, x5, x6],
where
subject to:
1. Power ow equations:
XnB
ei ej Gij ei fj Bij fi fj Gij fi ej Bij
j1
P Di ; i 2 S B =S G
XnB
fi ej Gij fi fj Bij ei fj Gij ei ej Bij
j1
16
QDi ; i 2 S B =S R
nB
X
P Gi d Gi
ei ej Gij ei fj Bij fi fj Gij fi ej Bij
17
x1 P G1
18
i 2 S R
20
1:05
21
P Gi d Gi u2Gi P Gi ;
i 2 SG
22
P Gi d Gi l2Gi
QRi d Ri u2Ri
QRi d Ri l2Ri
P Gi ;
i 2 SG
23
QRi ;
i 2 SR
24
QRi ;
i 2 SR
25
fi2
l2Bi
2
i;
i 2 SB
26
i 2 SB
27
5. Auxiliary variables
d 2Gi 1;
i 2 SG
d 2Ri
i 2 SR
1;
x4 uR1
x5 e1
uG2
lG2
d R1
QR2
d R2
lR1
uR2
lR2
28
f1
e2
f2
e3
f3
e4
f4
lG1
5. Group of buses:
d G2
fs2 0
P G2
j1
QDi ;
d G1
j1
P Di ; i 2 S G
nB
X
fi ej Gij fi fj Bij ei fj Gij ei ej Bij
QRi d Ri
lB1
uB2
lB2
uB3
lB3
uB4
lB4 :
388
where
2
P 2G1
6
6 P G1 d G1
X1 6
6P P
4 G1 G2
P G1 d G2
2
u2G1
P G1 d G1
P G1 P G2
d 2G1
P G2 d G1
P G2 d G1
P 2G2
d G1 d G2
P G2 d G2
uG1 lG1
uG1 uG2
6u l
6 G1 G1
X2 6
4 uG1 uG2
l2G1
lG1 uG2
lG1 uG2
u2G2
uG1 lG2
lG2 lG1
lG2 uG2
Q2R1
QR1 d R1
P G1 d G2
7
d G1 d G2 7
7
P G2 d G2 7
5
d 2G2
44
3
uG1 lG2
lG2 lG1 7
7
7
lG2 uG2 5
l2G2
QR1 QR2
44
QR1 d R2
7
6
6 QR1 d R1
d 2R1
QR2 d R1 d R1 d R2 7
7
X3 6
6Q P
2
QR2
QR2 d R2 7
5
4 R1 R2 QR2 d R1
QR1 d R2 d R1 d R2 QR2 d R2
d 2R2
44
3
2 2
uR1
uR1 lR1 uR1 uR2 uR1 lR2
6u l
l2R1
lR1 uR2 lR2 lR1 7
7
6 R1 R1
X4 6
7
4 uR1 uR2 lR1 uR2
u2R2
lR2 uR2 5
2
uR1 lR2
e21
6
6 e1 f1
6
6 e1 e2
6
6
6 e1 f2
X5 6
6e e
6 1 3
6
6 e1 f3
6
6
4 e1 e4
2
e1 f4
lR2 lR1
lR2 uR2
l2R2
44
e1 f1
e2 e1
f2 e1
e3 e1
f3 e 1
e4 e1
f12
e 2 f1
f2 f1
e3 f1
f3 f1
e4 f1
f1 e2
e22
f2 e2
e3 e2
f3 e 2
e4 e2
f1 f2
e 2 f2
f22
e3 f2
f3 f2
e4 f2
f1 e3
e2 e3
f2 e3
e23
f3 e 3
e4 e3
e4 f3
f1 f3
e 2 f3
f2 f3
e3 f3
f32
f1 e4
e2 e4
f2 e4
e3 e4
f3 e 4
e24
f1 f4
e 2 f4
f2 f4
e3 f4
f3 f4
e4 f4
u2B1
6
6 uB1 lB1
6
6 uB1 uB2
6
6
6 uB1 lB2
X6 6
6u u
6 B1 B3
6
6 uB1 lB3
6
6
4 uB1 uB4
lB1 uB1
uB2 uB1
uB1 lB4
lB2 uB1
uB3 uB1
f4 e1
1. Construction of A0
For simplicity, the object function of minimizing the fuel
cost (FCost) is shown here, and the other three object
functions (PLoss2, QLoss, and PLoss1) can be constructed
in the same way. With the denition for X in (30) and
the structure of Ai in (32), A0 is
2
3
W G0 0 0
6
.7
..
6 0
0
. .. 7
7
A0 6
.7
.. ..
6 ..
4 .
. .. 5
.
0
0 3232
7
f4 f1 7
7
f4 e2 7
7
7
f4 f2 7
7
f4 e3 7
7
7
f4 f3 7
7
7
f4 e4 5
f42 88
lB3 uB1
uB4 uB1
l2B1
uB2 lB1
lB2 lB1
uB3 lB1
lB3 lB1
uB4 lB1
lB1 uB2
u2B2
lB2 uB2
uB3 uB2
lB3 uB2
uB4 uB2
lB1 lB2
uB2 lB2
l2B2
uB3 lB2
lB3 lB2
uB4 lB2
lB1 uB3
uB2 uB3
lB2 uB3
u2B3
lB3 uB3
uB4 uB3
lB1 lB3
uB2 lB3
lB2 lB3
uB3 lB3
l2B3
uB4 lB3
lB1 uB4
uB2 uB4
lB2 uB4
uB3 uB4
lB3 uB4
u2B4
lB1 lB4
uB2 lB4
lB2 lB4
uB3 lB4
lB3 lB4
uB4 lB4
where
lB4 uB1
7
lB4 lB1 7
7
lB4 uB2 7
7
7
lB4 lB2 7
7
lB4 uB3 7
7
7
lB4 lB3 7
7
7
lB4 uB4 5
2
lB4
88
F A0 X
s:t:
Ai X b i ;
X 0
i 1; . . . ; 30
31
W G0
aq1
61a
6 l1
62
4 0
1
a
2 l1
0
0
af 1
0
aq2
1
a
2 l2
3
0
0 7
7
7
1
5
a
l2
2
af 2
44
2. Construction of Ai, i = 1, . . ., 30
The constraints matrices are constructed in a similar
way to A0s. For illustration purpose, we describe the
derivations of A5 for (18) which originally is an equation
constraint, A11 for (22) which originally is an inequality
constraint, and A27 for (28) which is the auxiliary variable constraints, respectively.
(1) A5
The constraint (18) is the active power ow equation of
the ith generator in the system. For the generator G1 in
TEST-4, it is A5, and there exists:
A5 X P G1 d
4
X
e1 ej G1j e1 fj B1j f1 fj G1j f1 ej B1j
j1
P D1
where
2
16
61 0
W G5 6
240 0
0
0
07
7
7
05
W B5
0 1
0 0 0 0 44
2
0
G12
2G11
6 0
2G
B
11
12
6
6
6 G12 B12
0
6
6
6 B
G12
0
12
1 6
6
6
2 6 G13 B13
0
6
6
6 B
G13
0
6 13
6
6
4 G14 B14
0
G14
0
B14
B12
G12
G13
B13
B13
G13
G14
B14
0
..
.
..
.
..
.
..
.
0
..
.
..
.
..
3
B14
G14 7
7
7
0 7
7
.. 7
. 7
7
.. 7
7
. 7
7
.. 7
. 7
7
.. 7
7
. 5
0
(2) A11
The constraint (22) is the maximum active power of the
ith generator in the system. For the generator G1 in
TEST-4, there exists:
A11 X P G1 d u2G1 P G1
More precisely, the structure of
2
0
W G11
6
..
6 0
.
W SG11
6
6 .
A11 6
0
6 ..
6
..
..
6 ..
4 .
.
.
0
where
W G11
3
0 1 0 0
7
16
61 0 0 07
6
7
240 0 0 05
0 0 0 0 44
A11 is
3
0
7
7
7
.. 7
7
.7
7
7
5
0
W SG11
1 0 0
60 0 0
6
6
40 0 0
0 0 0
3
0
07
7
7
05
0
3232
389
44
(3) A27
The constraint (28) is for the auxiliary variables which
are equal to one. For the generator G1 in TEST-4, it
is A27, and since dG1 = 1, there exists d 2G1 1. Thus
the structure of A27 is
60
6
W G27 6
40
1
0
0
0
07
7
7
05
3
0
.7
..
0
. .. 7
7
.. 7
.. ..
7
. .5
.
0 3232
0
W G27
6
6 0
6
A27 6 .
6 .
4 .
0
where
2
44
X 0 s I;
Y 0 s I
390
Table 2
Solutions by SDP and NLP (PER UNIT)
By SDP
Active
Power
Reactive
Power
Voltage
Node
Value
Node
Value
1
4
1
4
1
2
3
4
0.56818
0.30000
0.10048
0.27613
0.98513 + 0.01257i
0.95976 0.09846i
1.08660 + 0.17117i
1.05 + 0i
421.7741
1
4
1
4
1
2
3
4
0.56818
0.30000
0.10048
0.27613
0.98513 + 0.01257i
0.95976 0.09846i
1.08660 + 0.17117i
1.05 + 0i
421.7741
Fuel cost($)
Table 3
CPU time (s), iterations
Name of systems
PLoss2
QLoss2
FCost
PLoss1
TEST-4
IEEE-14
IEEE-30
IEEE-57
IEEE-118
IEEE-300
0.0156/9
0.0781/15
0.3906/17
2.2813/24
12.72/24
121.38/31
0.0156/11
0.0781/14
0.3438/15
1.7656/18
12.781/25
122.90/27
0.0156/9
0.0781/9
0.3125/12
1.6406/19
9.0938/22
102.05/26
0.0156/10
0.0938/14
0.3594/25
1.2188/17
6.9219/21
154.31/21
10
Name of
system
TEST-4
IEEE-14
IEEE-30
IEEE-57
IEEE-118
IEEE-300
Number of
buses/lines
4/4
14/20
30/45
57/78
118/179
300/409
Controllable/
state variables
(PGi,QRi/ei,fi)
Slack
variables
1, 2/4, 4
5, 3/14, 14
6, 6/30, 30
4, 7/57, 57
16, 54/118, 118
21, 69/300, 300
14
44
84
136
376
780
Number of
constrains
27
75
147
253
615
1383
Complementary Gap
10
Table 1
Test systems size, control variables and inequality constraints
By NLP
10
10
10
10
10
min Ploss2
min Qloss
min Fcost
min Ploss1
-2
-4
-6
10
15
20
Iterations
25
30
35
10
10
10
10
10
References
min Ploss2
min Qloss
min Fcost
min Plost1
391
10
15
20
Iterations
25
30
35
392