Module PE - PAS.U22.5: Composite System Reliability

Download as pdf or txt
Download as pdf or txt
You are on page 1of 58

Module PE.PAS.U22.

5 Composite system reliability 1

Module PE.PAS.U22.5
Composite system reliability

U22.1 Introduction
We briefly introduced composite system reliability in module U17,
(also known as HL-II or G&T adequacy analysis), where we
identified two attributes that characterize most of the approaches
developed to date. These attributes are:
 Method of representing stochastic nature of the operating
conditions: By “operating conditions,” we are referring to the
basecase network configuration (topology and unit
commitment) together with the loading and dispatch. The
methods include nonsequential and sequential enumeration.
 Method of representing stochastic nature of contingencies: The
methods include contingency enumeration and Monte Carlo.
These methods are summarized in Table U22.1.
Table U22.1: HL-II Evaluation approaches

Contingency Operating Conditions


selection
Non-sequential Sequential

Enumeration Non-sequential, with Sequential, with


contingency contingency
enumeration enumeration
Monte-Carlo Non-sequential, with Sequential, with
Monte-Carlo Monte-Carlo
contingency contingency
selection selection
Module PE.PAS.U22.5 Composite system reliability 2

We also provided a generic algorithm for composite system


reliability analysis that applies independent of the particular
approach taken. We repeat this algorithm here, in Fig. U22.1.

SELECT OPERATING CONDITIONS Sequentially or


nonsequentially

SELECT CONTINGENCY State enumeration


or Monte-Carlo

No
SYSTEM PROBLEMS?

Yes
Use linear programming
to obtain minimum gen
SIMULATE REMEDIAL ACTIONS redispatch cost, reactive
support cost, or load
Yes curtailment.
No
SYSTEM PROBLEMS?

COMPUTE LOAD INTERRUPTION

FORM RELIABILITY INDEX

No
CONTINGENCIES DONE?

Yes
No
OPERATING CONDITIONS DONE?

ACCUMULATE:
RELIABILITY INDICES x LOAD PROBABILITIES

Fig. U22.1: Generic HL-II Evaluation Algorithm


In this module, we begin in Section U22.2 by introducing linear
sensitivities which are useful in decreasing computations for
Module PE.PAS.U22.5 Composite system reliability 3

composite reliability analysis. In Section U22.3, we summarize the


common contingency enumeration approaches. In Section U22.4,
we describe a remedial action algorithm for simulating operator
action for overload relief. Section U22.5 describes how to
determine bounds on the reliability indices.
The approaches are applicable independent of whether the
operating conditions are represented sequentially or
nonsequentially. All of the developments in this module focus on
line overload problems. Similar algorithms may be developed for
low voltage and voltage instability.

U22.2 Linear sensitivities


There are 2 basic linear sensitivities that we will use. Generation
shift factors provide us with a fast method of computing changes to
circuit flows for changes in real power bus injection. Line outage
distribution factors provide a fast method of computing changes to
circuit flows when circuits are removed from service.
U22.2.1 DC power flow
The so-called DC power flow is an approximation of the standard
AC power flow equations based on the assumptions that circuit
resistance is negligible, all bus voltages have magnitudes of 1.0 pu,
and the angular separation across a circuit is small enough so that
cosjk1, sinjkjk when jk is measured in radians. With these
approximations, it is possible to show that P=B’θ where P is the
vector of real power injections at ever bus, θ is the vector of angles
at N-1 buses, and B’ is the “B-prime” version of the bus
admittance matrix for the network being analyzed. Thus, given the
network topology (enabling formation of B’) and the bus injections
(enabling formation of P), it is possible to compute the bus angles
θ from one application of LU decomposition to the linear set of
equations represented by P=B’θ.
Module PE.PAS.U22.5 Composite system reliability 4

The B’ matrix may be formed from the Y-bus in the following


fashion. Note: For an inductive circuit, the susceptance b is
positive based on a defined admittance expression of y=g-jb.
1. Take the imaginary part of all elements in the Y-bus, i.e., for
each element, set the real part to 0 and remove the “j” from the
imaginary part.
2. Replace diagonal element B’kk with the sum of the non-diagonal
elements in row k. Alternatively, subtract bk (the shunt term)
from Bkk, and multiply by -1.
3. Multiply all off-diagonals by -1.
4. Remove row k and column k for any k.

For example, below is the Y-bus and the B’ matrix for a network
having no resistance.
 30 10 10 10 
 10  20 10 0 
Y  j 
 10 10  30 10 
 
 10 0 10  20
 20  10 0 
B'    10 30  10
 
 0  10 20 
Although the DC power flow equation P=B’θ provides the ability
to compute the angles, it does not directly provide the line flows. A
systematic method of computing the line flows is:

P B  ( D  A)  
where:
 PB is the vector of branch flows. It has dimension of M x 1,
where M is the number of branches in the network. Branches
are ordered arbitrarily, but whatever order is chosen must also
be used in D and A.
Module PE.PAS.U22.5 Composite system reliability 5

 θ is (as before) the vector of nodal phase angles for buses


2,…N, where N is the number of buses in the network.
 D is an M x M matrix having non-diagonal elements of zeros;
the diagonal element in position row k, column k contains the
negative of the susceptance of the kth branch.
 A is the M x N-1 node-arc incidence matrix. It is also called the
adjacency matrix, or the connection matrix. Its development
requires a few comments.

Development of the node-arc incidence matrix A:

This matrix is well known in any discipline that has reason to


structure its problems using a network of nodes and “arcs” (or
branches or edges). Any type of transportation engineering is
typical of such a discipline.

The node-arc incidence matrix contains a number of rows equal to


the number of arcs and a number of columns equal to the number
of nodes.

Element (k,j) of A is 1 if the kth branch begins at node j, -1 if the


kth branch terminates at node j, and 0 otherwise.

A branch is said to “begin” at node j if the power flowing across


branch k is defined positive for a direction from node j to the other
node.

A branch is said to “terminate” at node j if the power flowing


across branch k is defined positive for a direction to node j from
the other node. Below is an illustration which is used in the LP-
OPF example given in Appendix 1.
Module PE.PAS.U22.5 Composite system reliability 6

1 2

2
1
5 3

4
4 3

1 0 0 - 1
1 -1 0 0 

A  0 1  1 0  (5 rows because 5 branches; 4 columns because 4 buses.)
 
0 0 1 1 
1 0  1 0 

Note that, for DC power flow calculations, i.e., when computing


P  B' 
P B  ( D  A)   ,
matrix A is of dimension M x N-1, where M is number of branches
and N is number of buses. Thus, it has only N-1 columns. This is
because we do not form a column for the reference bus, in order to
conform to the vector θ, which is of dimension (N-1) x 1. This
works because the angle being excluded, θ1, is zero.

A comprehensive example in Appendix 1 illustrates how to


develop PB, D, and A for the LP-OPF (in which case we use an
MxN dimensional matrix A).
U22.2.2 Generation shift factors
The generation shift factor Ck,j provides the change in flow on
circuit k for a unit change in injection at bus j, i.e.,
Pk
Ck , j  (U22.1)
Pj
Module PE.PAS.U22.5 Composite system reliability 7

It is assumed that the change in injection at bus j is compensated


for an equal and opposite change in injection at a designated swing
bus. An expression for obtaining the generation shift factors is
derived in Appendix 2 (where Ck,j is denoted as tb,k).
U22.2.3 Line outage distribution factors
The line outage distribution factor dk,j, provides the change in flow
on circuit k, denoted by fk, due to outage of circuit j having flow
f j0 , and is given by
f k
dk, j  (U22.2)
f j0
The development of the generation shift factor and the line outage
distribution factor are based on the DC power flow approximation
and are given in [1].
Reference [5] shows how to include ramp rates into the above
sensitivity factors.
An expression for obtaining line outage distribution factors is
derived in Appendix 3.

U22.3 Contingency enumeration


The simplest approach to contingency selection is to assess all
contingencies; in this approach, one needs only to develop an
appropriate scheme to enumerate them so that none are missed.
This approach is, however, computationally expensive.
A second approach is to simply limit the contingencies. Here, one
can think of the following methods:
 Use a list: Provide a contingency list that prescribes exactly the
contingencies of interest. This approach has merit in some cases
where study objectives so dictate.
 Limit the order: For example, we may require analysis for all N-
1 contingencies, or we may go one deeper and require analysis
Module PE.PAS.U22.5 Composite system reliability 8

for all N-1 and N-2 contingencies. The problem with this
approach is that it may spend a great deal of computation on
contingencies that have little effect on the resulting indices, or,
on the other hand, it may miss some higher-order contingencies
that do significantly contribute to the reliability indices.
 Limit the probability: Here, one analyzes all contingencies for
which their probability exceeds a certain threshold. This is
slightly more refined than limiting the order, and it is subject to
the same problems.
 Based on severity: The principle here is to avoid analyzing
contingencies that do not result in a problem. Some type of
screening approach is normally involved, using either the DC
load flow or the linear sensitivities. It is convenient to also
associate with each contingency k screened a performance index
PIk given by:
n
 Pj 
Nb
PI k    
j 1 
 Pj ,max 
(U22.3)

where n is positive and relatively large (e.g., n=10). This means


that any individual term in the summation of (U22.3),
[Pj/Pj,max]n, will be very small if Pj<Pj,max and very large if
Pj>Pj,max. Thus, PIk is guaranteed to be at least 1.0 if there is
even one overload following contingency k. More important,
PIk is a very good metric for comparing the severity of one
contingency against another.
The so-called wind-chime scheme [2,3] combines one of the first
three approaches with the last approach. In the wind-chime
scheme, two sets of contingencies are selected – the primary set
and the secondary set. These two sets need not be different and in
fact, most often, they are the same. For purposes of generality,
however, we will assume in our analysis that they are different.
Module PE.PAS.U22.5 Composite system reliability 9

Any of the first three contingency selection methods may be used


to make these selections.
Then, each set of contingencies is screened, and the performance
indicator PIk is computed for each contingency in each set. Then
the contingencies are ranked from most severe to least severe.
 Denote the primary contingencies as P1, P2, …, with P1 more
severe than P2.
 Denote the secondary contingencies as S1, S2, …, with S1 more
severe than S2.
Then N-2 contingencies (P1, S) S=S1, …, are analyzed until we
find three consecutive contingencies with no violation.
Then N-2 contingencies (P2, S), S=S1, …, are analyzed until we
find three consecutive contingencies with no violation.
And we continue analyzing each set of N-2 contingencies (P,S),
with primary contingency P and secondary contingency S=S1,…,
until we have three consecutive sets of contingencies (PN,S),
(PN+1,S), (PN+2,S), S=S1, S2, S3, with no violation. The
algorithm stops at this point. Fig. U22.2 illustrates the windchime
algorithm [4].

It seems quite reasonable to use this algorithm for purposes of N-k


contingency screening in on-line security assessment. This can be
effectively combined with the approach of N-k contingency
selection based on probability, given in [6].
Module PE.PAS.U22.5 Composite system reliability 10

Fig. U22.2: Illustration of the windchime algorithm [4]

U22.4 Remedial actions


Corrective or remedial actions performed automatically should be
built into the simulation of the contingency. Examples of such
actions include direct or automatic load tripping, generation
rejection, and turbine-governor response to load imbalance. For
these actions, it is generally known what action will take place, for
what conditions, and at what time.
Corrective or remedial actions performed by the operator are quite
uncertain, as they may depend on human decision-making and
responsiveness. We can, however, make certain assumptions
regarding operator action, and based on these assumptions, develop
appropriate simulation algorithms.
The fundamental assumptions we make in regards to operator
action are that the operator will make the minimum control effort
in order to alleviate any overloads. (One may also formulate based
Module PE.PAS.U22.5 Composite system reliability 11

on the assumption that the operator will make the least-cost control
adjustments in order to alleviate any overloads; such an
assumption can be accommodated in the formulation to follow.)
The most comprehensive algorithm available for implementing
remedial actions is the optimal power flow (OPF). The advantage
of the OPF is that it provides the ability to simulate operator action
for overload, low voltage, and voltage instability. However, it is
computationally expensive, although computing power today via
combination of high-end and parallel processing makes it quite
practical, even for large systems. We provide a simpler approach
which only allows remedial actions for overloads. One may
consider it to be an approximation to the OPF.
Define Pgi and Pgi to be an increase or decrease, respectively,
in the generation at bus i, and Pdj to be the load curtailment at
bus j, where all three variables are always nonnegative.
Also define Ki and Kj to be weights associated with the bus i
generation change and the bus j load curtailment, respectively.
 The bus i generation change weight Ki should be chosen based
on dispatchability (infinity if not dispatchable) and ramp rates
(the higher the ramp rate, the smaller the Ki) for each plant,
indicating that the faster the plant can move, the more we will
rely on it in order to implement the desired remedial action as
soon as possible.
 The bus j load curtailment weight Kj should be chosen based on
whatever contracts are in place with the loads. It is typical that
Kj>>Ki indicating that load curtailment is typically much less
desirable than generation redispatch.
Module PE.PAS.U22.5 Composite system reliability 12

We can then write a linear program as follows:


ng ng nd
min  Ki P   Ki P   K j Pdj

gi

gi (U22.4a)
i 1 i 1 j 1

subject to:
ng ng nd

 P   P   P
i 1

gi
i 1

gi
j 1
dj 0 (U22.4b)
ng ng nd
P   Ck ,i P   Ck ,i P   Ck ,i Pdj  Pkmax k (U22.4c)
k
0 
gi

gi
i 1 i 1 j 1

0  Pdj  Pdj0 j (U22.4d)

0  Pgi  Pgjmax  Pgi0 i (U22.4e)

0  Pgi  Pgi0 i (U22.4f)

where Pk is the flow on circuit k after the contingency, and Ck ,i


0

is the generation shift factor giving the sensitivity of the circuit k


flow to the bus j injection.
The formulation above will identify the load interruption necessary
to relieve all overloads. Notice that the above formulation is not a
security-constrained OPF, i.e.,
 it operates on the post-contingency state to correct post-
contingency overloads,
 whereas the security-constrained OPF operates on the
pre-contingency state to prevent post-contingency overloads.
An approach is provided in the appendix that implements an LP-
OPF. This approach minimizes redispatch cost rather than control
effort.
Module PE.PAS.U22.5 Composite system reliability 13

U22.5 Bounding the failure probability


Given that we are capable of performing the contingency selection
and then analyzing each contingency selected to determine whether
it is a failure state or not, the remaining issue is to determine the
reliability indices. Specifically, we desire to compute the LOLP.
However, we face the basic problem that we know whether a state
is a failure state or not for only the states that we have information.
Based on the windchime contingency selection approach described
previously, this consists of all N-1 and N-2 contingency states.
(Actually, we only analyze a subset of N-2 contingency states, but
the windchime approach enables one to conclude with high
confidence that all unanalyzed N-2 contingency states are success
states (i.e., no loss of load), and so we can say that we have
information for all N-1 and N-2 states).
However, we still must consider the N-k states for k>2. Although
the probability of most of these states is quite small, the fact that
there are so many of them suggests that they may comprise a
significant percentage of the desired LOLP index.
We may determine how close our LOLP estimate is to the actual
LOLP by using a bounding approach. In this approach, we will
determine a lower bound together with an upper bound on the
failure probability. The width of the bounded interval provides an
indication of how close our LOLP estimate is.
U22.5.1 The binary tree
We illustrate the method based on understanding of a binary tree.
We motivate the concept of a binary tree using a simple example.
Consider the 3-component system of Fig. U22.3.
1 2

Fig. U22.3: 3 component system for illustrating bounding approach


Module PE.PAS.U22.5 Composite system reliability 14

We denote the availability and the failure probability (FOR) of


each component as pj and qj, respectively. Thus the total number of
states of this system is 23=8. These states are summarized in Table
U22.2.
Table U22.2: Summary of states for example system

State Component In (1) or Out (0) Pr[s]


s 1 2 3

1 1 1 1 p1p2p3
2 1 1 0 p1p2q3
3 1 0 1 p1q2p3
4 1 0 0 p1q2p3
5 0 1 1 q1p2p3
6 0 1 0 q1p2q3
7 0 0 1 q1q2p3
8 0 0 0 q1q2q3

The binary tree for this system represents the different states of
Table U22.2, and is illustrated in Fig. U22.3.
Module PE.PAS.U22.5 Composite system reliability 15

p1 q1
Component 1

p2 q2 p2 q2
Component 2

p3 q3 p3 q3 p3 q3 p3 q3
Component 3

p1 p2 p3 p1 p2 q3 p1 q2 p3 p1 q2 q3 q1 p2 p3 q1 p2 q3 q 1 q2 p3 q1 q2 q3

Terminal nodes (gives systems states)

Fig. U22.3: Binary tree for illustrating system states


Our goal is to identify which terminal nodes correspond to the
failed states. If we can do that, then the LOLP is computed very
simply as:

LOLP   Pr[s]
sFailedStates
(U22.5)

The problem is, of course, that the tree can become very large. For
example, if we have just 100 components, which would of course
be a very small system, we would have 2100=1.271020 terminal
nodes (or states).
U22.5.2 Obtaining a lower bound
We turn now to a general case corresponding to a system with N
components, but we assume that each one is modeled with only 2
states.
We define Prj[F] as the additional failure probability due to
knowledge that contingency j fails. Note that contingency j does
not simply indicate that “component j fails,” i.e., contingency j
simply indicates the jth contingency, which may or may not be
comprised of multiple component failures.
Module PE.PAS.U22.5 Composite system reliability 16

Let’s assume that contingency j corresponds to loss of circuit k and


that we know it is a failed contingency.
The state corresponding to all other circuits in (besides circuit k) is
the most probable state of those which stem from the node
corresponding to qk. The significance of this fact is that we may
write that:
N
 Pr j [ F ]  q k  p j  x
i 1 (U22.6)
ik

where x is the probability of all other states. Since each state


probability in x will have at least 2 terms in q, x should be rather
small.
Now represent circuit k at the top of the tree, as shown in Fig.
U22.4.

pk qk
Component k

p1 q1 p1 q1

p2 q2 p2 q2

Fig. U22.4: Binary tree for illustrating system states with circuit k
at the tree-top
Now let’s assume that all terminal nodes stemming from qk are
failed states. Under this assumption, we have that:
Module PE.PAS.U22.5 Composite system reliability 17

 Prj [ F ]   Pr[s]
s[ qk stem]
(U22.7)

Then it must be true that


N
 Pr j [ F ]  qk  pi   Pr j [ F ]
APP
i 1, (U22.8)
ik

is a lower bound on the actual  Pr j [ F ] .


If we compute (U22.8) for all failed states, then we may obtain a
lower bound on the LOLP according to:

LOLP  
j Failed States
 Prj [ F ]
APP (U22.9)

U22.5.3 Obtaining an upper bound


Obtaining a lower bound does us little good unless we can also
obtain an upper bound. To do this, consider that we are able to
identify contingency j, corresponding to loss of circuit k, is a
success, i.e., no loss of load. We again represent circuit k at the top
of the tree, as in Fig. U22.4.
However, this time, we cannot assume that all terminal nodes
stemming from qk are successes since all but one of these terminal
nodes will represent outage of additional components as well.
But we do know that at least one of the terminal nodes will be a
success – the one with all components in except for circuit k.
Therefore we may write that:
Module PE.PAS.U22.5 Composite system reliability 18

N
 Pr j [ S ]  qk  pi   Pr j [ S ]
APP
i 1, (U22.10)
ik

This provides us with a lower bound on the probability of not


losing load, in contrast to the lower bound on the probability of
losing load which we obtained in (U22.8).
Multiplying both sides of (U22.10) by -1 (and reversing the sense
of the inequality) and then adding 1 to both sides results in:
N
1   Pr j [ S ]  1  qk  pi  1   Pr j [ S ]
APP
i 1, (U22.11)
ik

Now consider that 1-Prj[S] is actually the probability of failure.


Thus, we see that (U22.11) provides an upper bound on the
probability of failure for all contingency states stemming from qk.
Thus, we have that

LOLP  
j SuccessStates
 Prj [ S ]
APP (U22.12)

U22.5.4 Algorithm for computing lower and upper LOLP bounds


The following is an algorithm for computing the lower and upper
bounds on LOLP for a given system, with N components.
1. Pr[F]=0, Pr[S]=0
2. For j=1, N
a. If j=failed, then
i. Compute failure probability approximation
Module PE.PAS.U22.5 Composite system reliability 19

N
 Pr j [ F ]  qk  pi
APP
i 1,
ik

ii. Sum to total failure probability approximation:

 Pr[ F ]   Pr[ F ]   Pr j [ F ]
APP
b. ElseIf j=success, then
i. Compute success probability approximation
N
 Pr j [ S ]  qk  pi
APP
i 1,
ik

ii. Sum to total failure probability approximation:

 Pr[ S ]   Pr[ S ]   Pr j [ S ]
APP
Then we have that the actual LOLP is bounded as illustrated in
Fig. U22.5.
1.0

Pr[F] 1-Pr[S]

LOLP resides
within this interval
Fig. U22.5: Illustration of bounds on LOLP
Module PE.PAS.U22.5 Composite system reliability 20

Appendix 1: LP-OPF Example


This appendix provides an LP-OPF formulation which minimizes a linearized cost
function subject to a set of equality constraints (DC load flow equations and line
flow equations) and a set of inequality constraints (on generation limits and on
branch flows). This appendix also illustrates how to form the PB vector and the D
and A matrices.

Ng Mj

 s Pkj  s P 
T
min kj
k 1 j 1

s.t.

B   PD  T P   Pmin DC Power Flow Equation

P B  ( D  A)   Line Flow Equation

  P   Pmax
Pmin  Generator Constraints

 PB max  PB  PB max Line Flow Constraints

    Bus Angle Constraints

D is an MxM matrix that will have its diagonal as the admittances of the lines.
M = number of branches
A is an M x (N-1) node-arc incidence matrix that describe the flow from bus i to
bus j.
N= number of busses
B’ is the DC power flow matrix of dimension (N-1)x(N-1), where N is the
number of buses in the network, obtained as follows:
1. Replace diagonal element B’kk with the sum of the non-diagonal elements
in row k. Alternatively, subtract bk (the shunt term) from Bkk, and multiply
by -1.
2. Multiply all off-diagonals by -1.
θ is the vector of nodal phase angles for buses 2,…N
PD is the Power demanded at each bus.

We formulate the above into the following:


Aeqx=beq is the equation that will be used to do this.

Aeq matrix – The number of columns is the sum of the number of generators,
lines, and buses. The number of rows is the sum of the number of
lines and buses.
Module PE.PAS.U22.5 Composite system reliability 21

Example:

This is the basic system that will be used for the example.

Pg2
Pg1

1 2

y12 =-j10
y14 =-j10
y13 =-j10 Pd2=1pu y23 =-j10

y34 =-j10
4 3

Pg4 Pd3=1.1787pu

This graph gives the basic representation of the cost curves division for a generator

Ci
$/hr

Pi3
Pi1 Pi2

Pi,min Pi (MW) 
We will use linearized representation, but to begin with, we assume quadratic
representation for the three cost curves of the example.

C1 ( P1 )  0.00533 P12  11 .669 P1  213 .1


C 2 ( P2 )  0.00889 P22  10.333 P2  200
C3 ( P3 )  0.00741 P32  10 .833 P3  240
In the project implementation, we expect to receive the curves in the form of break
points.
Module PE.PAS.U22.5 Composite system reliability 22

Break points for PW linear approximation of cost curves given as MW, Cost

Unit BP#1 BP#2 BP#3 BP#4


(unit min) (unit max)
1 50.0, 809.9 100, 1433 160, 2217 200, 2760
2 37.5, 5325 70, 9699 130, 1693 150, 1950
3 45.0, 742.5 90, 1275 140, 1902 180, 2430

The slope is then computed for each of the segments (1-2), (2-3), and (3-4) for each
curve. This is done by the following equation:

Cost j  Cost k 1433  809.9


s kj  and substituting numbers: s11   12.46
MW j  MWk 100  50

This process is done for each section and each generator. The slopes of the piecewise
linear approximations of the cost curves are shown below:

Unit, i si1 si2 si3


1 12.46 13.07 13.58
2 11.29 12.11 12.82
3 11.83 12.54 13.20

K1 ( P11 , P11 , P11 )  C1 ( P1,min )  s11 P11  s12 P12  s13 P13
K 2 ( P21 , P22 , P23 )  C 2 ( P2,min )  s 21 P21  s 22 P22  s 23 P23
K 3 ( P41 , P41 , P43 )  C3 ( P3,min )  s 41 P41  s 42 P42  s 43 P43

The limits on generation for each section must be calculated. This is given by:

Pkj  MW j  MWk , for example: P11  100  50  50 MW

This process is done for each section of the curve for each generator. Representing the
vector of piecewise linear generation values as P’, we have:
Module PE.PAS.U22.5 Composite system reliability 23

 P11    0 0.50 
P    0 0.60 
 12   Unit 1    
 P13    0 0.40 
      
 P21    0 0.325

P    P22  Unit 2   0  P   0.60 
      
 P23    0 0.20 
P    0 0.45 
 41      
 P42  Unit 4  0 0.50 
    0 0.40 
 P43      

In the above, the generation is represented in per-unit on 100 MVA base.

Next, the T matrix must be built. This is a matrix that operates on the piecewise linear
generation vector P’ to obtain generation injections, i.e., it sums the generation variables
for each unit to obtain the total generation at that unit. For this case, T will be 4 rows
high, and 9 columns long.

1 1 1 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0
T 
0 0 0 0 0 0 0 0 0
 
0 0 0 0 0 0 1 1 1
 P11 
P 
 12 
 P13 
 P1  1 1 1 0 0 0 0 0 0  
P   0  
P21
 2   0 0 0 1 1 1 0 0
P22
 P3  0 0 0 0 0 0 0 0 0  
     P23 
P4  0 0 0 0 0 0 1 1 1  
P
# of buses  41 
 P42 
 
 P43 

The next step is to get the respective parts for the DC Power Flow
( B   PD  T P   Pmin ). We first obtain the B’ matrix.
Module PE.PAS.U22.5 Composite system reliability 24

Neglecting resistance, the Y-bus is:

 B11 B12 B13 B14 


B B22 B23 B24 
Y  j  21
 B31 B32 B33 B34 
 
 B41 B42 B43 B44 

b1  b12  b13  b14  b12  b13  b14 


  b21 b2  b21  b23  b24  b23  b24 
 j 
  b31  b32 b3  b31  b32  b34 b34 
 
  b41  b42  b43 b4  b41  b42  b43 

From the above, we obtain the B’ matrix from the Y-bus, as follows:
5. Remove the “j” from the Y-bus.
6. Replace diagonal element B’kk with the sum of the non-diagonal elements in row k.
Alternatively, subtract bk (the shunt term) from Bkk, and multiply by -1.
7. Multiply all off-diagonals by -1.
Comparison of the numerical values of the Y-bus with the numerical values of the B’
matrix for our example will confirm the above procedure:

 30 10 10 10   30  10  10  10
 10  20 10 0   10 20  10
 0 
Y j B'  
 10 10  30 10   10  10 30  10
   
 10 0 10  20  10 0  10 20 

Another way to remember the B’ matrix is to observe that since its non-diagonal elements
are the negative of the Y-bus matrix, the B’ non-diagonal elements are susceptances..

Limits on bus angles are:      

 P D1   0 
   
PD is the vector of load values, in per unit: P   P D 2    1  p.u.
D
 P D 3  1.1787
   
P D4   0 

Pmin is the minimum amount of power that each generator can produce.
Pmax is the maximum amount of power that each generator can produce.
Module PE.PAS.U22.5 Composite system reliability 25

 0.50   Pg 1  0.200
0.375 P  0.150
   g2    
 0   Pg 3   0 
  P   
0.45 
   g4  0.180
 
Pmin Pmax

We account for the lower limit in the DC power flow equation through Pmin.
Expressing the DC Power Flow Equation ( B   PD  T P   Pmin ).

 30  10  10  10 1   0   0.5 


 10 20  10 0     1.0   
  2      TP   0.375
 10  10 30  10  3  1.1787  0 
       
 10 0  10 20   4   0   0.45 

The Line Flow Equations are represented next.

The D-matrix is formed by placing the admittances of each branch along the diagonal of
an M x M matrix, where M=5.

10 0 0 0 0 
 0 10 0 0 0 
 
D   0 0 10 0 0 
 
 0 0 0 10 0 
 0 0 0 0 10

The node-arc incidence matrix is found by first defining a direction of power flow in the
system.

1 2

2
1
5 3

4
4 3

A branch is said to “begin” at node j if the power flowing across branch k is defined
positive for a direction from node j to the other node.
Module PE.PAS.U22.5 Composite system reliability 26

A branch is said to “terminate” at node j if the power flowing across branch k is defined
positive for a direction to node j from the other node.

With this definition, we can express the node-arc-incidence matrix as:

1 0 0- 1
1 -1 0 0 

A  0 1  1 0  (Has four columns because there are four bus angles)
 
0 0 1 1 
1 0  1 0 

We will next find DxA.

10 0 0 0 0  1 0 0 - 1 10 0 0  10


 0 10 0 0 0  1 -1 0 0  10  10 0 0 
 
D  A   0 0 10 0 0  0 1 1 0    0 10  10 0 
    
 0 0 0 10 0  0 0 1 1   0 0  10 10 
 0 0 0 0 10 1 0  1 0  10 0  10 0 

Next, the line flow constraints will be stated. (  P B max  P B  P B max )

To begin with, we will represent unconstrained transmission using very large limits.
 500 500
 500 500
   
 500  P B  500 per-unit.
   
 500 500
 500 500

Bus angle (theta) constraints are –  to  (360 degrees)

The Aeq matrix will now be exampled and built.

In this example, we have 4 buses, 5 branches, and 9 generation sections. So that sums up
to 18, so that is the number of columns in the Aeq matrix. For the number of rows, we
have 5 branches and 4 buses, which sums up to 9 and is the number of rows in this
matrix.
 The last 4 columns on the first 5 rows is the DxA matrix.
 The first 14 columns on the first 5 rows are the elements in the line flow equations
that multiply the variables P11, P12, P13, P21, P22, P23, P41, P42, P43, PB1, PB2, PB3, PB4,
and PB5. P11, P12, P13, P21, P22, P23, P41, P42, P43 are set to zero because they are the
Module PE.PAS.U22.5 Composite system reliability 27

generations not the line flow. PB1, PB2, PB3, PB4, and PB5 are set to -1 to say that there
is a branch in a specific location.
 The first 9 columns of the last 4 rows multiply with the generation variables P11, P12,
P13, P21, P22, P23, P41, P42, P43,. The demand (PD) will be given to us in the b matrix
and Pgk-Pdk is in the b matrix.
 The 10-14 columns of the last 4 rows correspond to the line flow variables, but these
are zeros because they are not the DC power flow equation.
 The last 4 columns of the last 4 rows correspond to the DC power flows that include
all the angles.

We can see that these elements will occupy the upper right hand corner of Aeq. So that
will take care of the last 4 columns in the first 5 rows.

What about the first 14 columns? These elements are the equations that are multiplied by
the variables P11, P12, P13, P21, P22, P23, P41, P42, P43, PB1, PB2, PB3, PB4, and PB5. Since we
do not use the generation variables within the line flow equations, the first 9 columns of
these top 5 rows will be zeros. The last 5 columns in these top 5 rows will also be zeros,
except the one element in each of these rows that multiply the corresponding line flow
variable, and that element will be -1.

The right hand side equations will be set to zero

 P11 
P 
 12 
 P13 
P 
 21 
0  P22 
0 0 0 0 0 0 0 0  1 0 0 0 0 10 0 0  10     0 
  P23
0 0 0 0 0 0 0 0 0 0  1 0 0 0 10  10 0 0     0 
0 P 
0 0 0 0 0 0 0 0 0 0  1 0 0 0 10  10 0   41   0 
  P  
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0  10 10   42   0 
 
 P 
Aeq x   0 0 0 0 0 0 0 0 0 0 0 0 0  1 10 0  10 0   P43    0 
  B1   
                 P   0 
  B2
                  P    1 
  B3   
                   P   1.1787
  B4
                    P   0 
   B5 
 
 1
 2 
 
 3
  4 

The B’ matrix deal with the bus angles. This is inserted into the last 4 columns and the
bottom 4 rows. The resulting matrix appears as:
Module PE.PAS.U22.5 Composite system reliability 28

 P11 
P 
 12 
 P13 
P 
 21 
0  P22 
0 0 0 0 0 0 0 0 1 0 0 0 0 10 0 0  10    0 
  P23
0 0 0 0 0 0 0 0 0 0 1 0 0 0 10  10 0 0     0 
0 P 
0 0 0 0 0 0 0 0 0 0 1 0 0 0 10  10 0   41   0 
  P  
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0  10 10   42   0 
   P43  
Aeq x   0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0  10 0  P   0 
 B1   
              30  10  10  10  P   0 
  B2
               10 20  10 0 P    1 
  B3   
              10  10 30  10  P   1.1787
  B4
               10 0  10 20   P   0 
   B5 
 
 1
 2 
 
 3
  4 

Once again, we need to consider the first eight columns. Columns 4-8 correspond to the
line flow variables, which do not appear in the DC power flow equations, so these will be
zero.

Given that the demand for Generator 2 = 1.0 per unit and Generator 3 = 1.178 per unit
Pd1=0, Pd2=1.0, Pd3=1.1787, Pd4=0, Pg3=0
Since these are constants, they can go to the right-hand side. This means on the left-hand
side, the injection, which is defined as Pgk-PDk should be negative. That is, we should see
on the left-hand-side –Pgk+PDk. But now we will take the load term onto the right-hand-
side by subtracting it from both sides.

Thus, we see that the load term should show up on the right-hand-side as a negative
number
Module PE.PAS.U22.5 Composite system reliability 29

 P11 
P 
 12 
 P13 
P 
 21 
 0 0 0 0 0 0 0 0 0  1 0 0 0 0 10  P22 
0 0  10    0 
  P23
 0 0 0 0 0 0 0 0 0 0  1 0 0 0 10  10 0 0     0 
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 P 
0 10  10 0   41   0 
  P  
 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0  10 10   42   0 
   P43  
Aeq x   0 0 0 0 0 0 0 0 0 0 0 0 0  1 10 0  10 0  P   0 
 B1   
 1  1  1 0 0 0 0 0 0 0 0 0 0 0 30  10  10  10  P   0 
  B2
 0 0 0  1  1  1 0 0 0 0 0 0 0 0  10 20  10 0 P    1 
 0 0 0 0 0 0 0 0 0 0 0 0 0 0  10  10  B3   
30  10  P   1.1787
  B4
 0 0 0 0 0 0  1  1  1 0 0 0 0 0  10 0  10 20   P   0 
   B5 
 
 1
 2 
 
 3
  4 
Putting all of the constraints together, and converting the generator constraints to per
unit, the following vector of constraints is given.

 0   P11  .5 
 0    .6 
   P12   
 0   P13  .4 
     
 0   P21  .325
 0   P22  .6 
     
 0   P23  .2 
 0   P  .45 
   41   
 0   P42  .5 
 0   P  .4 
    43    
  5   PB1  5 
  P   
  5   B 2  5 
  5   PB 3  5 
  P   
  5   B 4  5 
  5   PB 5  5 
     
    1   
     2   
     
     3   
    4   
    

We then solve for these in Matlab using linear programming:


Module PE.PAS.U22.5 Composite system reliability 30

%Load is system load plus losses


Load=2.1787;

%Build objective function vector.


c=[1246 1307 1358 1129 1211 1282 1183 1254 1320 0 0 0 0 0 0 0 0 0]';

%Build A matrix for inequality constraints Ax<b.


A=[];
%Build b, the right-hand-side of inequality constraints.
b=[];

%Build Aeq matrix for equality constraints.


Aeq=[0 0 0 0 0 0 0 0 0 -1 0 0 0 0 10 0 0 -10;
0 0 0 0 0 0 0 0 0 0 -1 0 0 0 10 -10 0 0;
0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 10 -10 0;
0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 -10 10;
0 0 0 0 0 0 0 0 0 0 0 0 0 -1 10 0 -10 0;
-1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 30 -10 -10 -10;
0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 -10 20 -10 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 -10 -10 30 -10;
0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 -10 0 -10 20;];

%Build right-hand side of equality constraint.


beq=zeros(9,1);
beq(7)=-1;
beq(8)=-1.1787;

%Build upper and lower bounds on decision variables.


LB=[0 0 0 0 0 0 0 0 0 -5 -5 -5 -5 -5 -pi -pi -pi -pi]';
UB=[.5 .5 .4 .325 .6 .2 .45 .5 .4 5 5 5 5 5 pi pi pi pi]';
[X,FVAL,EXITFLAG,OUTPUT,LAMBDA]=LINPROG(c,A,b,Aeq,beq,LB,UB);

The solution is then:


Module PE.PAS.U22.5 Composite system reliability 31

 P11  0.5000 
 P  0.0000 
 12   
 P13  0.0000 
 P  0.3250 
 21   
 22 
P  0.6000 
 P  0.0000 
 23   
 P41  0.4500 
   
 P42  0.3037 
 P  0.0000 
x   P43    
 B1  - 0.1670
 PB 2  0.2473 
   
 PB 3  0.1723 
 PB 4  0.5867 
   
P B 5 
  0.4197 
   
  1  0.0126 
  2  - 0.0122
   
 3  - 0.0294
  4  0.0293 

With the objective function of :


 P11 
P 
 12 
 P13 
P 
 21 
 P22 
P 
 23 
 P41 
 
 P42 
P 
Z ( x)  1246 1307 1358 1129 1211 1282 1183 1254 1320 0 0 0 0 0 0 0 0 0 P43 
 B1 
 PB 2 
 
 PB 3 
 PB 4 
 
 PB 5 
 
 1
 2 
 
 3
  4 
Module PE.PAS.U22.5 Composite system reliability 32

We find that Z = 2629.7$/hr


But we need to add to this solution for the following for each unit:
∆Ck=C(Pgk,min)-skPgk,min
 P11  0.5000 
 P  0.0000 
 12   
 P13  0.0000 
 P  0.3250 
 21   
 P22  0.6000 
 P  0.0000 
 23   
 P41  0.4500 

   
 P42  0.3037 
 P43  0.0000 
x  P    
 B1  - 0.1670
 PB 2  0.2473 
   
 PB 3  0.1723 
 PB 4  0.5867 
   
 PB 5  0.4197 
   
 1  0.0126 
  2  - 0.0122
   
  3  - 0.0294
  4  0.0293 

C1  0.00533 (50 ) 2  11 .669 (50 )  213 .1  12 .46 (50 )  186 .88
C 2  0.00889 (95 .5) 2  10 .333 (92 .5)  200  11 .29 (32 .5)  12 .11(60 )  143 .36
C 4  0.00741 (75.37 ) 2  10.833 (75.37 )  240  11.83(45)  12 .54(30.37 )  185 .39

So the true objective function is:


2629.7+186.88+143.36+185.39=3145.33 $/hr
Module PE.PAS.U22.5 Composite system reliability 33

0.5000 
0.0000 
 
0.0000 
 PG1  1 1 1 0 0 0 0 0 0 0 0 0 0 0   0.5   PG1 
P     0.3250     
 G 2  0 0 0 1 1 1 0 0 0 0 0 0 0 0 0.6000  0.925   PG 2 
 PG 3  0 0 0 0 0 0 0 0 0 0 0 0 0 0   0   PG 3 
    0.0000     
 PG 4  0 0 0 0 0 0 1 1 1 0 0 0 0 0 0.4500  0.7537   PG 4 
 P   0 0 0 0 0 0 0 0 0 1 0 0 0 0     - 0.16701   PB1 
 B1    0.3037     
 PB 2  0 0 0 0 0 0 0 0 0 0 1 0 0 0   0.24734   PB 2 
 P  0 0 0 0 0 0 0 0 0 0 0 1 0 0 0.0000  0.17234   P 
 B3    - 0.1670    B3 
 PB 4  0 0 0 0 0 0 0 0 0 0 0 0 1 0   0.58669   PB 4 
   0.2473    
 PB 5  

0 0 0 0 0 0 0 0 0 0 0 0 0 1 
 0.41967   PB 5 
 0.1723 
T  
0.5867 
0.4197 

Part of x

Second case, there is a constraint on PB2 of 15 MW.


 P11 
P 
 12 
 P13 
P 
 21 
 0 0 0 0 0 0 0 0 0  1 0 0 0 0 10  P22 
0 0  10    0 
  P23
 0 0 0 0 0 0 0 0 0 0  1 0 0 0 10  10 0 0     0 
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 P 
0 10  10 0   41   0 
  P  
 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0  10 10   42   0 
   P 
Aeq x   0 0 0 0 0 0 0 0 0 0 0 0 0  1 10 0  10 0   P43    0 
 1  1  1 0 0 0 0 0 0 0 0 0 0 0 30  10  B1   
 10  10  P   0 
  B2
 0 0 0  1  1  1 0 0 0 0 0 0 0 0  10 20  10 0 P    1 
 0 0 0 0 0 0 0 0 0 0 0 0 0 0  10  10  B3   
30  10  P   1.1787
  B4
 0 0 0 0 0 0  1  1  1 0 0 0 0 0  10 0  10 20   P   0 
   B5 
 
 1
 2 
 
 3
  4 
Module PE.PAS.U22.5 Composite system reliability 34

 0   P11  .5 
 0    .6 
   P12   
 0   P13  .4 
     
 0   P21  .325 
 0   P22  .6 
     
 0   P23  .2 
 0   P  .45 
   41   
 0   P42  .5 
 0   P  .4 
    43    
  5   PB1  5 
  P   
 0.15  B 2  0.15
  5   PB 3  5 
  P   
  5   B 4  5 
  5   PB 5  5 
     
      1   
      2   
     
      3   
    
     4   

We then solve for these in Matlab using linear programming:

%Load is system load plus losses


Load=2.1787;

%Build objective function vector.


c=[1246 1307 1358 1129 1211 1282 1183 1254 1320 0 0 0 0 0 0 0 0 0]';

%Build A matrix for inequality constraints Ax<b.


A=[];
%Build b, the right-hand-side of inequality constraints.
b=[];

%Build Aeq matrix for equality constraints.


Aeq=[0 0 0 0 0 0 0 0 0 -1 0 0 0 0 10 0 0 -10;
0 0 0 0 0 0 0 0 0 0 -1 0 0 0 10 -10 0 0;
0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 10 -10 0;
0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 -10 10;
0 0 0 0 0 0 0 0 0 0 0 0 0 -1 10 0 -10 0;
-1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 30 -10 -10 -10;
0 0 0 -1 -1 -1 0 0 0 0 0 0 0 0 -10 20 -10 0;
0 0 0 0 0 0 0 0 0 0 0 0 0 0 -10 -10 30 -10;
0 0 0 0 0 0 -1 -1 -1 0 0 0 0 0 -10 0 -10 20;];
Module PE.PAS.U22.5 Composite system reliability 35

%Build right-hand side of equality constraint.


beq=zeros(9,1);
beq(7)=-1;
beq(8)=-1.1787;

%Build upper and lower bounds on decision variables.


LB=[0 0 0 0 0 0 0 0 0 -5 -0.15 -5 -5 -5 -pi -pi -pi -pi]';
UB=[.5 .5 .4 .325 .6 .2 .45 .5 .4 5 0.15 5 5 5 pi pi pi pi]';
[X,FVAL,EXITFLAG,OUTPUT,LAMBDA]=LINPROG(c,A,b,Aeq,beq,LB,UB);

 P11  0.5 
 P  0 
  12  
 P13  0 
 P  0.325 
 21   
 P22  0.6 

 P  0.1946 
 23   

 P41  0.45 
   
 P42  0.1090 
 P  0 
x   P43    
  B 1  - 0.0697 
 PB 2  0.15 
   
 PB 3  0.26967 
 PB 4  0.4894 
   
 PB 5  0.4197 
   
 1  0.0125 
  2  - 0.0025
   
 3  - 0.0295
  4  0.0195 

We find that Z = 2635.2

C1  0.00533 (50 ) 2  11 .669 (50 )  213 .1  12 .46 (50 )  186 .88
C 2  0.00889 (111 .96 ) 2  10 .333 (111 .96 )  200  11 .29 (32 .5)  12 .11(60 )  12 .82 (10 .9)  235 .06
C 4  0.00741 (55.9) 2  10.833(55.9)  240  11.83(45)  12.54(10.9)  199 .6835

So the true objective function is:


2635.2+186.88+235.06+199.68=3256.82 $/hr

The most noticeable change in the system is how the generation shifted at each
generator to account for the constraint on Bus 2.
Module PE.PAS.U22.5 Composite system reliability 36

0.5 
0 
 
0 
 PG1  1 1 1 0 0 0 0 0 0 0 0 0 0 0   0.5   PG1 
P     0.325    P 
 G 2  0 0 0 1 1 1 0 0 0 0 0 0 0 0 0.6 1.1197   G2 
 
 PG 3  0 0 0 0 0 0 0 0 0 0 0 0 0 0   0   PG 3 
    0.1946     
 PG 4  0 0 0 0 0 0 1 1 1 0 0 0 0 0 0.45  0.55903   PG 4 
 P   0 0 0 0 0 0 0 0 0 1 0 0 0 0     - 0.069675   PB1 
 B1    0.1090     
 PB 2  0 0 0 0 0 0 0 0 0 0 1 0 0 0   0.15   PB 2 
 P  0 0 0 0 0 0 0 0 0 0 0 1 0 0  0  0.26967   PB 3 

 B3    - 0.0697    
 PB 4  0 0 0 0 0 0 0 0 0 0 0 0 1 0   0.48935   PB 4 
   0.15  0.41967   P 
0 0 0 0 0 0 0 0 0 0 0 0 0 1 
 PB 5   0.26967    B5 
T  
0.4894 
0.4197 

Part of x

The Change in the P vector that was solved for is:

0.5  0.5  0 
0.925  1.1197  - 0.1947
     
0  0  0 
     
0.7537  0.55903  0.19467
P  - 0.16701  - 0.069675  - 0.0974
     
0.24734  0.15  0.09734
0.17234  0.26967  - 0.0973
     
0.58669  0.48935  0.09734
0.41967  0.41967  0 
      
Poriginal Pconstrained

Summary algorithm for the steps above


Using the above steps we determine the necessary variables to enter into a linear
programming equation that produces the solution vector. The variables required by the
equation are:
 Objective function vector
 A matrix
 RHS of inequality constraints
Module PE.PAS.U22.5 Composite system reliability 37

 A equivalent matrix
 RHS equality constraints
 Lower bounds
 Upper bounds

We find the objective function, lower bounds, and the upper bounds from the cost curve
data. The A matrix, RHS of inequality constraints, RHS of equality constraints, and the
A equivalent matrix are found using MatLab code using data from PSSE.
Module PE.PAS.U22.5 Composite system reliability 38

Appendix 2: Derivation of Linear Sensitivities

We desire to compute the generation shift factor, tb,k.

We can obtain the flows on all circuits given the injections at all
buses, as shown below:
P  B'  (1)
P B  ( D  A)   (2)
Inverting eq (1) yields:
 1
  B' P (3)
Substitution of (3) into (2) yields:

P B  ( D  A)B' P
1
(4)

Bus this is not what we want. What we want is the change in flow
on circuit b given a change in injection at bus k.

Here is a “change in injection vector,” ∆P:


 P2   P20   P2 
 P   0   P 
 3   P3   3 
      
P      0      PP
0

 Pk   Pk   Pk  (5)
      
   0  
 PN   PN  PN 
The change in circuit flows can then be expressed as
Module PE.PAS.U22.5 Composite system reliability 39

PB  PB  P
0
B

 ( D  A)B ' P  ( D  A)B ' P


1 1 0

 ( D  A)B ' P  P
1
 0
 (6)
 ( D  A)B '  P
1

Now let the ∆P vector be all zeros except for the element
corresponding to the kth bus, and assign this bus an injection
change of 1.
 P2   P2  0
 P   P   0 
 3  3  
      
P     
P  P
 k   k  1 (7)
      
     
PN  PN  0
Then
 PB1   t1, k  0 
 P   t  0 
 B 2   2 , k   
      1   
P B        ( D  A)B '  
  PBb   t b , k  1  Pk (8)
      
     

 BM   M , k 
P t 0
Question: Does the above equation imply the injection is changed
at only one bus? Answer: No. There is an equal and opposite
change to the injection at the swing bus, in this case, bus 1.

Definition: The generation shift factor tb,k is defined as


Module PE.PAS.U22.5 Composite system reliability 40

PBb
tb, k 
Pk Reallocation
Policy
This is denoted as ali in the W&W (ref [1]) text (see eq. 11.1).
Example 1:
We consider an example used in Appendix 1, illustrated below.
Compute the generation shift factors for all branches
corresponding to an increase in bus 2 injection and a decrease in
bus 3 injection.
Pg2=2pu
Pg1=2pu

1 2

y12 =-j10
y14 =-j10
y13 =-j10 Pd2=1pu y23 =-j10

y34 =-j10
4 3

Pg4=1pu Pd3=4pu

Fig. 2: Four-bus network used in example


Module PE.PAS.U22.5 Composite system reliability 41

 t1, 23  10 0 0 00   0 0 - 1
t  
10 0 0 0  - 1 0 0   20  10 0   1 
1
 2 , 23  0
t 3,23    0 0 10 0 0   1 - 1 0   10 30  10  1
    
t
 4, 23   0 0 0 10 0   0 - 1 1   0  10 20   0 
t 5, 23   0 0 0 0 10  0 - 1 0 
 
 0 0  10
 10 0 0  0.0625 0.025 0.0125  1 

  10  10 0   0.025 0.05 0.025   1
 
 0  10 10  0.0125 0.025 0.0625  0 
 0  10 0 
 0 0  10  0.125 
 10 0 0   0.0375   0.375

  10  10 0    0.025    0.625 
   
 0  10 10   0.0125  0.125 
 0  10 0   0.25 
Note that the above generation shift factors are for a “double shift.”

You can think of it like this. A generation shift factor for branch b,
bus k would be tb,k and another generation shift factor for branch b,
bus j would be tb,j. If we have an injection increase at bus k of ∆Pk
and an injection increase at bus j of ∆Pj (negative), then
Pb  tb, k Pk  tb, j Pj (9)

Increase Pk, Decrease Pj,


Decrease P1 Increase P1
Therefore, if ∆Pk=-∆Pj, then

Pb  tb, k  tb, j Pk  (10)
Module PE.PAS.U22.5 Composite system reliability 42

Note that once ∆Pb is obtained, then it must be added to the


original flow on branch b to get the resulting total flow following
the generation shift, i.e.,

Pˆb  Pb0  Pb


The last equation is the same as eq. (11.2) in W&W text.
Module PE.PAS.U22.5 Composite system reliability 43

Appendix 3: Derivation of Line Outage Distribution Factors

A significant problem with W&W’s method given in [1] of


obtaining the LODFs is that it requires X=(B’)-1, and if the system
is very large, then inverting the matrix can be a computationally
intense problem. We provide another method in this section. Our
treatment is adapted from [i].

Let’s reconsider our familiar 4-bus, 5-branch example problem.

Pg2=2pu
Pg1=2pu

1 2

2
1
5 Pd2=1pu 3

4
4 3

Pg4=1pu Pd3=4pu

The B’ matrix for this system is


 20  10 0 
B'   10 30  10
 0  10 20 
What happens to B’ if we lose the circuit #3 (from bus 2 to bus 3)?

We could re-develop the new B’ from the one-line diagram as we


are accustomed to doing now. Another way is to discern how the
circuit #3 affects the B’ matrix, in that it will affect exactly 4
elements, as indicated with the underlines below, corresponding to
elements in bus numbered positions (2,2), (2,3), (3,2), and (3,3).
Module PE.PAS.U22.5 Composite system reliability 44

2 3 4
 20  10 0 2
B '   10 30  10 3
 0  10 20  4
Recalling that all branch admittances of our network are –j10, what
would these four elements be if branch #3 (between buses 2 and 3)
were not there?
2 3 4
10 0 0 2
B ' out   0 20  10 3
 0  10 20  4
What is the difference between B’ and B’out?
10 0 0   20  10 0   10 10 0
 B'  B' out  B'   0 20  10   10 30  10   10  10 0
 0  10 20   0  10 20   0 0 0
Notice that the elements in ∆B’ are all multiples of B’23=-10, i.e.,
 1  1 0
 B'  10 1 1 0
 0 0 0
The above matrix can be expressed as
 1  1 0  1 
 1 1 0   11  1 0
   
 0 0 0  0 
From this simple illustration, we can see a generalization, that
whenever we remove a branch between buses i and j, with
corresponding B’ matrix element B’ij, the B’ matrix will change as
indicated below.
Module PE.PAS.U22.5 Composite system reliability 45

Inconsistency: In Section i j
6.0, we used (i,j) to
indicate terminals of the  
circuit to be loaded (l) 0  0  0  0
and (m,n) to indicate
terminals of the circuit to
    
be outaged (k). In the
 
development of this 0  1   1  0  i
 
section, the nomenclature  B '  B ' out  B '  bij      
on terminal number has
been reversed, i.e., (i,j) 0  1  1  0  j
becomes the terminals of  
the circuit to be outaged    
(k) and (m,n) becomes 0   0  0
the terminals of the
 0 (22)
where
circuit to be loaded (l). bij
is the susceptance of branch i-j (and is a negative number
for any standard circuit, which is inductive). We use bij instead of
-B’ij in order to ensure we have a defined term even when i or j are
the swing bus.

The previous relation may be expressed as


0
 
Caution: The designated  
positions in the row and  1   i 0  1  1  0 
column vectors    
correspond to buses i and  B '  bij   
j, i.e., they are not the ith  1  j i j (23)
and jth positions.  
 
0
 
If we define
Module PE.PAS.U22.5 Composite system reliability 46

0
 
 
 1  i
 
e ij    
 1  j (24)
 
 
0
 
then (23) becomes

 B'  bij e ij e Tij (25)

Special case: If the branch to be outaged is connected to the swing


bus (in our case, it is bus #1), then,
if i=1, if j=1,
0  0
  
   
  1  i
   
e1 j   e i1    
1   j  
   
  
0  0
   

From (22), and using (25), we have that


 B'  B' out  B'  bij e ij e Tij (26)
Therefore the post-contingency B’ matrix can be expressed as
B' out  B'  B'  B'bij e ij e Tij (27)
From (1), we recall the DC power flow relation as
P  B'  (1)
Module PE.PAS.U22.5 Composite system reliability 47

If, when we remove the branch connected between buses i and j,


the angles change by ∆θ, then the new (post-contingency) angles
will be θ+∆θ, and (1) becomes

P  B'out (   ) (28)
(We are assessing the effects of only a lone outage, so the injection

 
vector P does not change). Substituting (27) into (28), we obtain

P  B'bij eij eTij (   ) (29)


We can solve for the new angles according to

     T 1
B'bij eij eij P
(30)

We do not seem to have made much progress, because we still
have to take an inverse…

However, there is a significant benefit to writing the new matrix in


the way that we have written it, and that benefit becomes apparent
if we learn a certain matrix relation. This relation is generally
referred to as a lemma.

Matrix Inversion Lemma (MIL): Assume B’ is a nonsingular


n×n matrix, and let c and d be n×M matrices with M<n. Then:

B'cd  T 1 1 1
 B'  B' c I
(M )

T 1 1 T 1
 d B' c  d B'
where I(M) is the M×M identity matrix.

We neglect the proof but mention that it is proved in [i, p. 100] by


simply multiplying the right-hand-side of MIL by the expression
inside the brackets of the left-hand-side, and showing that the
product is the n×n identity matrix.

We also mention that MIL is derived in [ii, pp. 138-140].


Module PE.PAS.U22.5 Composite system reliability 48

It may not be very obvious at this point that MIL will help us,
since we see 4 different inverses on the right-hand-side of MIL.
Let’s apply MIL to the inverted term of (30) to see what happens.

Observing that we can define


c  bij e ij
d T  eTij (31)

we can apply MIL according to


B'b e e  T 1
ij ij ij 


B'1  B'1 bij e ij I ( M )  eTij B'1 bij e ij 1 T
e ij B'1
(32)

One of the inverses on the right-hand-side can be addressed right


away, however, by identifying the dimensionality of the expression
inside the right-hand-side brackets, [I(M)+dTB’-1c]. Observing from
the MIL that M is the number of columns in c and d, and noting
from (31) that in our case, c and d have only M=1 column, we see
that what is inside the right-hand-side brackets is a scalar quantity!
So that inverse we can take, and accordingly, we express (32) as:
B '1 bij e ij eTij B ' 1
B 'bij e ij eTij 
1
 B ' 1 
1  eTij B '1 bij e ij (33)

Pulling out the scalar multiplier bij from where it appears in both
the numerator and denominator, we have
bij B ' 1 e ij eTij B ' 1
 T 1
B 'bij e ij e ij   B ' 1 
1  bij eTij B '1 e ij (34)

Now we can isolate bij to only one appearance in the expression by


dividing top and bottom by it, resulting in:
Module PE.PAS.U22.5 Composite system reliability 49

1 1
 
T
T 1 B ' e e B '
 B'1 
ij ij
B'bij e ij e ij
1
 eTij B'1 e ij (35)
bij
What we have just expressed in (35) is the inverted term on the
right-hand-side of (30), repeated below for convenience:

     T 1
B'bij eij eij P  (30)
Substituting (35) into (30), we obtain:
 
 1 T 1 
 1 B ' eij eij B ' 
     B '   P
1
  eTij B '1 eij  (36)
b 
 ij 
Distributing the injection vector P results in
1 T 1
1 B ' e e
ij ij B ' P
    B' P 
1
 eTij B'1 eij (37)
bij
But θ=B’-1P, and therefore we can replace the corresponding
expressions in both right-hand-side terms to obtain:
B'1 eij eTij 
     
1
 eTij B'1 eij (38)
bij
We can simplify a little more by investigating eijTθ in the
numerator. This would be:
Module PE.PAS.U22.5 Composite system reliability 50

 2 
  
 
   i 
 
eTij   0  1   1  0      i   j
   
 i j    j  (39)
 
  
 
 n 1 
Substituting (39) into (38) results in:
1
B' eij ( i   j )
     
1
 eTij B'1 eij (40)
bij

Now we have only two inverses left. Interestingly, they both pre-
multiply eij. That is, we observe that both inverses appear in
B’-1eij, an n×1 vector.

Question: Besides inverting B’-1, how might we evaluate this


term?

Advice: When you don’t know how to evaluate something, just


name it. Then, if things don’t get better right away, you can at least
move on with a sort of indicator of where your problem lies.

So let’s name this n×1 vector as gij, i.e.,


g ij  B'1 eij (41)
Not sure if that helps much but it does indicate that
Module PE.PAS.U22.5 Composite system reliability 51

B' g ij  eij (42)


Equation (42) should stimulate a very good idea within your mind.
Since we very well know B’ and eij, we can obtain gij through LU
factorization. Doing so will give us everything we need to evaluate
(40), which, when we substitute gij for B’-1eij, becomes:
( i   j ) ij
      g
1
 eTij g ij (43)
bij
One last small change should be made to (43), and that is to
recognize that the term in the denominator eijTgij can be expressed
as

 g ij 
 2 
  
 gi 
ij

 
eTij g ij  0  1   1  0     g iij  g ijj
   
 i j   g ijj  (44)
 
  
 ij 
 g n 1 
Therefore, (43) becomes
( i   j )
      g ij
1
 ( giij  g ijj ) (45)
bij

Now what is the LODF? Recall the definition of the LODF is


dℓ,k = Δfℓ / fk0 (16)
where we recall that
Module PE.PAS.U22.5 Composite system reliability 52

 k designates the outaged circuit, terminated by buses i and j;


Inconsistency:
 ℓ designates the circuit for which we want to compute the new
Recall the note flow, terminated by buses m and n.
on p. 22, which First, let’s express the denominator of (16) fk0, which is
indicates an
inconsistency
in
f k 0  bij ( i   j )  bij eTij  (46)
nomenclature Now let’s express the numerator of (16) Δfℓ, which is
with Sec 6.0.
f l  bmn ( m   n )  bmn eTmn  (47)
Caution: The ordering of m,n must be consistent with the direction
of positive flow as defined by the node-arc incidence matrix.
But note that ∆θ in (47) can be expressed using the second term of
(45), i.e.,
( i   j )
   g ij
1
 ( giij  g ijj ) (48)
bij
Substituting (48) into (47) results in
( i   j )
f l  bmn eTmn g ij
1
 ( g iij  g ijj ) (49)
bij
It is helpful at this point to rearrange (49) according to
bij (i   j )
f l  bmn eTmn g ij
1  bij ( giij  g ijj ) (50)

We recognize in (50) that


f k 0  bij ( i   j ) (51)

and
Module PE.PAS.U22.5 Composite system reliability 53

eTmn g ij  g m
ij
 g nij (52)
Substituting (51) and (52) into (50) results in
ij
fk 0 ( gm  g nij )
f l  bmn
1  bij ( giij  g ijj ) (53)

So (53) can be used to obtain the change in flow on circuit ℓ


(terminated by buses m and n) due to outage of circuit k
(terminated by buses i and j).

To get the LODF, we divide (53) by fk0, resulting in


f l ij
( gm  g nij )
d l, k   bmn
f k0 1  bij ( giij  g ijj ) (54)

The approach, then, to using (54), is to factorize B’ into the L and


U factors once. Then, for each contingency k=1,…,NC, (per (42)),
we use forward and backwards substation to obtain the vector gij.
The LODFs for every branch ℓ (terminated by buses m and n), are
then computed from (54).

Example 5:
Consider our 4-bus, 5-branch example problem again. Compute gij
for a line 2-3 outage. Then use it to compute the post-contingency
flow on circuit 3-4.

Solution:
Recall (42):
B' g  eij
ij

where B’ is given by:


Module PE.PAS.U22.5 Composite system reliability 54

 20  10 0 
B   10 30  10
 0  10 20 
and e23 is given by
1 i 2
e 23   1  j  3
 0 
And so our equation is:
 20  10 0   g 2   1 
23

 10 30  10  g 23    1
  3   
 0  10 20   g 423   0 
Performing LU decomposition, we obtain
 20 0 0 1  0.5 0 

L   10 25 0  
U  0 1  0.4
 0  10 16 0 0 1 
Notice that the above factors need be computed only one time;
they may subsequently be applied to obtain the g-vector for outage
of any circuit. In this case, we are interested in outage of the line
from bus 2 to bus 3, therefore we write
 20 0 0   w1   1   w1   0.05 
     
L w  e23   10 25 0   w2    1   w2     0.02 
 0  10 16  w3   0   w3   0.0125
1  0.5 0   g 223   0.05   g 223   0.0375 
   
U g 23  w  0 1  0.4  g323     0.02    g323     0.025 
0 0 1   g 423   0.0125  g 423   0.0125
 
Then we can compute the LODF for the circuit 3-4 after outage of
circuit 2-3. First, however, note that the direction of positive flow
on circuit 3-4 is defined by the node-arc incidence matrix as being
from bus 4 to bus 3 (see below right-hand figure).
Module PE.PAS.U22.5 Composite system reliability 55

Pg2=2pu Pg2=2pu
Pg1=2pu Pg1=2pu

1 2 1 2

y12 =-j10 2
y14 =-j10 1
y13 =-j10 Pd2=1pu y23 =-j10 5 Pd2=1pu 3

y34 =-j10 4
4 3 4 3

Pg4=1pu Pd3=4pu Pg4=1pu Pd3=4pu

Therefore we need to designate m=4 and n=3. Then:


f l ( g mij  g nij )
d l, k   bmn
f k0 1  bij ( g iij  g ijj )
( g 423  g 323 ) (0.0125  0.025)
 b43  10
1  b23 ( g 223  g 323 ) 1  10(0.0375  0.025)
0.0125
 10  0.3333333
0.375
If circuit 2-3 has flow of 1.25, then the change in flow on circuit
4-3, following outage of circuit 2-3 becomes
f l  d l, k f k0  0.3333333 *1.25  0.4167
If the pre-contingency flow on circuit 3-4 was 1.25, then then new
flow, following outage of circuit 2-3, will be

f lout  f l0  f l  1.25  0.4167  1.6667

Now let’s check our result with the DC power flow.

With all lines in we obtain


Module PE.PAS.U22.5 Composite system reliability 56

P B  ( D  A)B' P
1

 PB1  10 0 0 0 0   0 0 - 1
 P   0 10 0 0 0  - 1 0 0  20  10 0 -1 1
 B2       
 PB 3    0 0 10 0 0   1 - 1 0   10 30  10  4
       
 PB 4   0 0 0 10 0   0 - 1 1   0  10 20   1 
 PB 5   0 0 0 0 10  0 - 1 0 

 PB1  0.25
 P  0.25
 B2   
 PB 3   1.25 
   
P
 B4   1 . 25 
 PB 5   1.5 
Observe that the flow on circuit 3-4 is 1.25 pu.
With circuit 2-3 out, we obtain:
 PB1 
 P  10 0 0 0   0 0  1 10 0 -1
 B 2   0 10 0 0   1 0 0   0  1
 PB 3       0 20  10  4
   0 0 10 0   0  1 1     
 PB 4   0 0 0 10  0  1 0   0  10 20   1 
 PB 5    

Pg2=2pu Pg2=2pu
Pg1=2pu Pg1=2pu

1 2 1 2

y12 =-j10 2
y14 =-j10 1
y13 =-j10 Pd2=1pu y23 =-j10 5 Pd2=1pu 3

y34 =-j10 4
4 3 4 3

Pg4=1pu Pd3=4pu Pg4=1pu Pd3=4pu


Module PE.PAS.U22.5 Composite system reliability 57

 PB1  0.6667
 P    1.0 
 B3    
 PB 4  1.6667 
   
 B5  
P 2. 3333
Therefore the change in flows due to outage of circuit 2 (connected
between buses 2 and 3) is
0.6667 0.25 0.4167
 0  0.25   0.25 
     
Pb  Pb  P b    1.0   1.25     2.25 
out

     
 1 . 6667  1. 25   0. 4167 
 2.3333  1.5  0.8333
where we observe that ΔPb4=0.4167, as indicated in the calculation
of Δfl on pg. 33.
…Also should use W&W’s method here.

Example 6:
For outage of branch connected to swing.
Do it three ways as in Example 6:
a. Use the above “fast” method
b. Use DC flow with and without outage;
c. Use W&W’s method.

References
[1] A. Wood and B. Wollenberg, “Power generation, operation, and control,” Second edition, John Wiley & Sons, 1996.
[2] “Transmission system reliability methods,” project 1530-1, prepared by Power Technologies Incorporated (PTI),
EPRI report EL-2526, 1982.
[3] Feng Xia; Meliopoulos, A.P.S, “A methodology for probabilistic simultaneous transfer capability analysis”.;
Power Systems, IEEE Transactions on, Volume 11, Issue 3, Aug. 1996 Page(s):1269 – 1278.
[4] N. Dag Reppen, presentation slides given at EPRI Workshop on Reliability Analysis, San Diego, California, Feb 27,
2001.
Module PE.PAS.U22.5 Composite system reliability 58

[5] R. A. Leon Candela, “Sensor network design for a secure electric energy infrastructure,” M.S., thesis, Iowa State
University, April 2005.
[6] Q. Chen and J. McCalley, “Identifying High-Risk N-k Contingencies for On-line Security Assessment,” IEEE
Transactions on Power Systems, 2005.

[i] A. Debs, “Modern Power Systems Control and Operation,” Kluwer, 1988.
[ii] A. Monticelli, “State estimation in electric power systems, a generalized
approach,” Kluwer, 1999.

You might also like