DEGREE PROJECT, IN RELIABILITY CENTRED ASSET MANAGEMENT FOR , SECOND LEVEL ELECTRICAL POWER SYSTEMS STOCKHOLM, SWEDEN 2015 Maintenance Optimization Scheduling of Electric Power Systems Considering Renewable Energy Sources JIA YU KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING
124
Embed
Maintenance Optimization Scheduling of Electric Power ...kth.diva-portal.org/smash/get/diva2:862288/FULLTEXT01.pdf · Maintenance Optimization Scheduling ... SCHOOL OF ELECTRICAL
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
DEGREE PROJECT, IN RELIABILITY CENTRED ASSET MANAGEMENT FOR , SECOND LEVELELECTRICAL POWER SYSTEMS
STOCKHOLM, SWEDEN 2015
Maintenance Optimization Schedulingof Electric Power SystemsConsidering Renewable EnergySources
JIA YU
KTH ROYAL INSTITUTE OF TECHNOLOGY
SCHOOL OF ELECTRICAL ENGINEERING
Maintenance Optimization Scheduling of Electric Power Systems Considering
Renewable Energy Sources
Master Thesis Project Report
September 2015
Jia YU
Master of Electric Power Engineering Thesis 2015
KTH School of Electrical Engineering
Osquldas väg 10
SE-100 44 Stockholm
I
Master of Science Thesis MMK 2008:x {Track code} yyy
Maintenance Optimization Scheduling of Electric Power System Considering Renewable Energy Sources
Jia YU
Approved
2015-month-day
Examiner
Patrik Hilber
Supervisor
Ebrahim Shayesteh
Commissioner
{Name}
Contact person
{Name}
Abstract Maintenance is crucial in any industry to keep components in a reasonable functional condition, especially in electric power system, where maintenance is done so that the frequency and the duration of a fault can be shortened, thus increasing the availability of a certain component. And the reliability of the whole electric power system can also be improved. In the many deregulated electricity markets, reliability and economic driving forces are the two aspects that system operators mainly consider. It is expected for the system operator to provide consumers with the electricity of highest reliability and lowest cost. Therefore, in order to achieve this goal, providing the most economic maintenance schedule is vital in today’s power systems. One technique is Reliability Centred Maintenance (RCM), which is an effective method to maintain a certain level of reliability while carrying out maintenance schedules in an economic way. This thesis proposes an optimization problem for implementing the RCM method for a power system with renewable energy generators such as hydro power, wind power and solar panel generators. This aim is achieved through the following steps:
1- Literature review on power system reliability
2- Literature review on maintenance scheduling methods by focus on RCM method.
3- Compare the difference of conventional generators and renewable generators and model renewable generators in the power system.
4- Formulating the RCM method as an optimization problem.
5- The formulated model in 4 should be simulated for a test system using MATLAB.
6- The developed model in 5 is solved for different sets of available maintenance
II
strategies.
7- Summing all possible costs when different maintenance strategies are carried out and compare the costs. Choose the maintenance strategy with the lower cost to carry out the maintenance.
III
Acknowledge I would like express my greatest gratitude to my supervisor Ebrahim Shayesteh for his
continuous support and guidance throughout the execution of the whole master thesis
project. I would also like to give my thanks to Patrik Hilber for giving helpful
suggestions and guidance.
I would also like to thank Niklas Ekstedt, Per Westerlund from KTH and Leif Nilsson
from Ellevio for their valuable advices for my project and during my mid-presentation. I
would also like to thank my colleague Javi for his kind and patient explanation. And my
thanks also goes to Peter and Carin, for their generous help with the administrative
supportive work.
I would also like to thank my parents who have always given me supports in all aspects.
Finally, I would like to thank my friends who are always giving me strength when I meet
with difficulties in study and life.
IV
V
List of Acronyms
Notations
Symbol Description
RCM Reliability Centred Maintenance
RCAM Reliability Centred Asset Management
CI Customer Interrupted
Ns Total number of customers served for the area
Ni. Number of interrupted customers for each sustained interruption
event during the reporting period
CMI Customer minutes of interruption
CN Total number of distinct customers who have experience a
sustained interruption during the reporting period.
PC Pulverized Coal
CC Combined Cycle
IGCC Integrated Gasification Combined Cycle
CT Combustion Turbine
CCS Carbon Capture and Sequestration
VI
VII
Table of Content
Abstract .......................................................................................................................................... I
Acknowledge ............................................................................................................................... III
List of Acronyms .......................................................................................................................... V
(h) By ranking the total cost of different maintenance strategies, select the one with the
lowest cost and carry out the corresponding maintenance for the generator or
transmission line.
(i) Repeat steps (d) – (h) for the IEEE 14-bus system (congested version) with
distributed generators integrated.
(j) A cost result table similar to Table 3 is obtained and the best maintenance strategy
with the minimum total cost for generator or line in the power system with
distributed generator integrated can be selected.
(k) Compare the results obtained in (h) and (j) to see what kind of difference will be
brought about to the maintenance strategies before and after including distributed
generators. And also compare other results like EENS, average loading of generators
or transmission lines, voltage level on each bus.
(l) For sensitivity study, a case (Case 1) is created with a larger renewable energy
generation capacity and other input data unchanged. Repeat steps (d) – (h) for Case
1 with renewable generators. Compare the results obtained with that obtained in (h)
for the congested version of IEEE 14-bus system with renewable generators.
(m) In Sensitivity study, another case (Case 2) is created with higher transmission line
capacity and other input data unchanged. Repeat steps (d) – (h) for Case 1 with and
without renewable generators. Compare the results obtained for Case 2 with the
corresponding results obtained for the Base Case.
3.2 RCM Simulation Logic and Contingency Description
Figure 5 shows the flow chart of simulation logic in MATPOWER. As can be seen in
Figure 5, two main part of simulation have been done, one for the maintenance period
and the other for the after maintenance period. In this project, the total study period is
one year. Depending on the different maintenance levels, 100% maintenance
corresponds to four weeks’ time period, 50% maintenance corresponds to two weeks’
time, and 0% maintenance equals to zero week.
For contingencies during maintenance, at most two components go to outage are
considered. More specifically, when maintenance is done on the generator with the
highest SRI (Gen), the first contingency considered is none of the component is
unavailable. Then, the Gen is set to be outage, the rest components (generators apart
from the Gen and all the transmission lines) are set to be outage one by one and one at a
time, resulting in 1+(number of generators-1)+(number of lines) contingencies. While
when maintenance is done on the line with the highest SRI (Line), the first contingency
is still none of the components is unavailable. Then, the Line is set to be outage, the rest
26
components (lines apart from the Line and all the generators) are set to be outage one by
one and one at a time, resulting in 1+ (number of lines-1)+(number of generators)
contingencies. The probability of each contingency is the multiplication of the
probability of all components, depending on whether they are available or not. During
maintenance, the Gen or the Line is set to outage for some known maintenance purposes,
therefore when calculate the probability of each contingency, their availability values
should not be considered.
After Maintenance
During Maintenance
If the last component
Calculate average operation & interruption cost, and environmental cost
during maintenance based on probabilities before three levels of maintenance
The Gen or line goes to outage, other components
so to outage one by one, one at a time (N-2)
Calculate average operation & interruption cost, and environmental
cost during maintenance based on probability before maintenance
If the last component
None goes to outage as the 1st contingency
All components goes to outage one by one (N-1)
The Gen or line goes to outage, other component
go to outage one by one, one at a time (N-2)
Start
Calculate SRI
If SRI is the highest
Select Gen and Line
Compare SRI
None goes to outage as the 1st contingency
No
No
Figure 5: RCM Simulation Logic in MATPOWER
27
Likewise, for contingencies after maintenance is done on generator or line, in order to
consider as many contingencies with relatively high probability as possible, there are in
total 2*(number of generators + number of lines) contingencies. Taking the Gen for
which maintenance is done as an example, the first contingency is none of the
components go to outage. Then all components including all the transmission lines and
generators go to outage one by one and one at a time. After this, the Gen is set to outage,
then the rest of the components go to outage one by one and one at a time. Unlike the
probability during maintenance, when calculating probability of each contingency post
maintenance, the availability values of the Gen and the Line are considered. The similar
simulation logic is set for the Line. For more details, please refer to the MATPOWER
code in Appendix I. The probability of each components is assumed to be improved as
the level of maintenance increases. Therefore, the same contingency will have different
probabilities in different maintenance degrees.
3.3 Software MATPOWER
In this project MATPOWER is used. MATPOWER is a package of Matlab for solving
power flow (pf) and optimal power flow (opf) problems [30]. Optimal power flow is
used in this project since guarantee reliability level at the minimum cost the one of the
important incentive or RCM. MATPOWER is used in this project because it is easier to
carry out opf for different contingencies in a loop and all the results can be obtained
through one programme by calling other embedded functions. But also due to this, when
opf of a contingency does not converge, it is more difficult to check what goes wrong
and correct it, which can be one limit of this project. Throughout the whole project, it is
found that MATPOWER 5.0v does not work so well with all the contingencies
considered in this project. Therefore, MATPWOER 3.2v is used instead, although the
speed is a little slower than 5.0v. In this project, every contingency converges and
solutions of opf have been found all contingencies.
3.4 IEEE 14-bus Test Network Description
In this project, IEEE 14-bus power system retrieved from MATPOWER is used for
RCM study. As discussed in 2.4.1, RCM becomes more meaningful in some more
congested power systems, by checking the load (L=259 MW) and the total available
generation capacity (G=772.4 MW) of the original IEEE 14-bus system, and also there
is line capacity limits, it turns out that making this system more congested by increasing
the load, decreasing the generation capacity reasonably and setting transmission line
capacity limits will help with the study of RCM better. By trial and the fact the current
28
generation capacity is over 65% of the load demand, the loads are adjusted and keeping
the total load amount (L=259 MW) the same, and then increased by multiplying the
adjusted load amount by 1.8 and the generation capacity is also decreased accordingly,
as shown in Table 3. Also, instead of setting the line capacity 9900 (rate A in
MATPOWER, sixth column of branch data), line limit is set for each transmission line
and this is shown in Table 4.
Table 4: Load and Generation Comparison for Original IEEE 14‐bus System and the Congested Version
Original (MW) Congested (MW) Load at Bus 2 21.7 39.06 Load at Bus 3 94.2 43.56 Load at Bus 4 47.8 32.04 Load at Bus 5 7.6 103.68 Load at Bus 6 11.2 56.16 Load at Bus 9 29.5 35.1 Load at Bus 10 9 16.2 Load at Bus 11 3.5 24.3 Load at Bus 12 6.1 28.98 Load at Bus 13 13.5 60.3 Load at Bus 14 14.9 26.82
Gen 1 Capacity 332.4 223 Gen 2 Capacity 140 76 Gen 3 Capacity 100 95 Gen 4 Capacity 100 80 Gen 5 Capacity 100 90
Line 1 Capacity 9900 172 Line 2 Capacity 9900 120 Line 3 Capacity 9900 24 Line 4 Capacity 9900 74 Line 5 Capacity 9900 89 Line 6 Capacity 9900 58 Line 7 Capacity 9900 49 Line 8 Capacity 9900 26 Line 9 Capacity 9900 31
Line 10 Capacity 9900 92 Line 11 Capacity 9900 18 Line 12 Capacity 9900 44 Line 13 Capacity 9900 78 Line 14 Capacity 9900 109 Line 15 Capacity 9900 110 Line 16 Capacity 9900 43 Line 17 Capacity 9900 50
29
Line 18 Capacity 9900 25 Line 19 Capacity 9900 6 Line 20 Capacity 9900 14
After the changing, the load amount is 466.2 MW, the total generation capacity is 574
MW, and all the transmission lines have some limits. In the congested version of IEEE
14-bus system the total generation capacity is about 18.78% more than the total load
demand, which is lower than the original IEEE 14-bus system (about 65%). For easier
reference, this congested version of the original IEEE 14-bus system will be called
System 1. Figure 6 shows the IEEE 14-bus power system frame, and this structure is
still the same in the congested version of this system (System 1). IEEE 14-bus system
gives an approximation of the electric power system in USA.
3.5 Improved IEEE 14-bus system with Distributed
Generators
3.5.1 Comparison Table of Conventional Generators and Renewable
Generators
In this project, instead of just carrying out study on RCM of a congested version of
Figure 6: IEEE 14‐bus power system frame [43]
30
IEEE 14-bus power system, further study of RCM of this system with some
distributed generators included is also made. In order to add distributed generators
to the existing IEEE 14-bus system, some differences between conventional
generators and hydro, wind and solar power generators need to be made first, so
that they can be modelling correctly in MATPOWER and added to the system. The
Comparison Table below shows some main aspects that differentiate distributed
generators from conventional ones.
ating
ology
es
Capital
Cost
($/M
W)
Variable
O&M
($/M
Wh)
Fixed
O&M
($/M
W‐
Yr)
Heat Rate
(Btu/kWh)
Construction
Schedule
(Months)
POR*
(%)
FOR*
(%)
Min. Load
(%)
SO2*
(lb/M
M
btu*)
NOX*
(lb/M
M
btu*)
CO2 *
(lb/M
M
btu*)
PM10*
(lb/M
M
Btu*)
Spin Ram
p
Rate
(%/m
in)
Quick Start
Ram
p Rate
(%/m
in)
Efficiency (%)
Availability
Factor (%
)
ro3500
615
‐24
1.9
5‐
00
0‐
‐‐
85‐92
98
d2605
080
‐12
0.6
5‐
00
0‐
‐‐
30‐45
98
ar3135.875
048
‐9.975
20
‐0
00
‐‐
‐12‐20
100
ear
6100
2.14
127
9720
606
450
00
0‐
55
33‐36
70‐90
s 940.5
16.785
5.785
8547.5
35.5
5.5
3.5
500.0002
0.02015
117
0.0059
6.665
12.35
32‐38, can
be up
to 60 with CC
80‐99
al3450
5.110
27.05
9200
5611
745
0.06
0.0675
215
0.01
3.5
2.5
32‐48
70‐90
ro3500
615
‐24
1.9
5‐
00
0‐
‐‐
85‐92
98
d2565
080.00
‐12
0.6
5‐
00
0‐
‐‐
30‐45
98
ar2876.25
045
‐9.45
20
‐0
00
‐‐
‐12‐20
100
ear
6100
2.14
127
9720
606
450
00
0‐
55
33‐36
70‐90
s 940.5
16.785
5.785
8547.50
35.50
5.5
3.5
500.0002
0.02015
117
0.0059
6.665
12.35
32‐38, can
be up
to 60 with CC
80‐99
al3450
5.125
27.05
9200
5611
745
0.06
0.0675
215
0.01
3.5
2.5
32‐48
70‐90
Outage
Rate, FOR: Forced Outage
Rate
million Btu
wise noted in
the text, costs are presented in
2009 dollars.
s were based on 2009 costs; therefore, escalation was not included.
In MATPOWER, Gen Cost can be modelled by either polynomial cost function or
Figure 8: Voltage level of IEEE 14‐bus system [MATPOWER]
34
piecewise linear cost. For IEEE 14-bus system, polynomial function model is used
and three cost coefficients (c2, c1 and c0) are used to follow this cost model
function [34]. Polynomial cost function:
Cost = c0 + c1*P + c2*P^2 (3.1)
The date for the added generators are obtained from the Comparison Table Variable
O&M and Fix O&M columns.
Figure 9 shows the data details of the generators in 14-bus system after the
distributed generators are added (in MATPOWER code). The second last column
Pmax indicates the capacity of the corresponding generator. Figure 10 shows the
generator cost model for the ten generators in the changed 14-bus system.
Figure 10: Gen Cost of all the Generators in the Changed IEEE 14‐Bus System [MATPOWER]
Figure 9: Generator Date of the Changed IEEE 14‐Bus System [MATPOWER]
35
For easier reference, this system with distributed generator will be called System 2.
The RCM is first studied on the more congested version of IEEE 14-bus system and
then on the system that has the distributed generators added. In the next part,
detailed description of the different contingencies considered in the project is given.
Since RCM depends on probability to some extent, for example, probability of the
availability of generators and transmission lines, it is important to understand what
kinds of contingencies are calculated to obtain the average value of ENS, Operating
& Interruption Cost, Environmental Cost, etc.
3.6 Other Calculations
3.6.1 EENS Calculating Model
As explained in 2.2, EENS means Energy Not Supplied. In this project, in order to
obtain the energy not supplied for each contingency, in creating the system for
RCM study, some virtual generators are connected to both the congested version of
IEEE 14-bus (System 1) and also the system with distributed generators added
(System 2) explained more in details in 3.3 and 3.4. The generation amount from
these virtual generators can represent ENS of each contingency and the
corresponding cost reveals the interruption cost.
These virtual generators are connected to the buses to which load is connected to
guarantee that the system still converges when one or two components (generator or
line) go to outage and ENS of each contingency can be obtained in a relatively easy
way. In the IEEE 14-bus power system, loads are connected to bus 2-6 and bus 9-14,
which can be seen in Table 3. The capacity of these virtual generators equal to the
load amount at the bus that they are connected to. The generation from these virtual
generators can be viewed as the energy not supplied, they are assigned a high value
of € 5970/MWh [35] ($ 6752/MWh) for c1 in their Gen Cost function to represent
the Value of Loss Load (VOLL). In order to only let virtual generators to produce
electricity unless necessary, the c2 of virtual generators is assigned as the highest c2
among all the real generators, which is 0.25. Table 7 shows the data for these added
virtual generators.
36
Table 7: Details of the Added Virtual Generators
Virtual Gen Connecting Bus Capacity/Load at the bus (MW)
Gen Cost ($/MWh)
1 Bus 2 39.06 6752 2 Bus 3 43.56 6752 3 Bus 4 32.04 6752 4 Bus 5 103.68 6752 5 Bus 6 56.16 6752 6 Bus 9 35.1 6752 7 Bus 10 16.2 6752 8 Bus 11 24.3 6752 9 Bus 12 28.98 6752 10 Bus 13 60.3 6752 11 Bus 14 26.82 6752
Since the load allocation and amount is the same in both System 1 and System 2,
the detailed data and the added bus of these virtual generators is the same for both
system. The virtual generators will not generate any amount of energy unless
necessary as they are set a high value of Gen Cost (c1), and optimal power flow
(opf) will always go for cheaper generator first. The sum of all the generation from
these generators is the ENS under a contingency.
∑ (3.2)
Another ENS can be obtained after running opf for another contingency. A number
of ENS can be obtained after all contingencies are considered: , ,
……EENS is calculated by in the following way:
EENS ∑ (3.3)
In Equation 3.3, is the probability of each contingency and it is calculated by
multiplying the probability of all the components (generators and transmission
lines). According to the Comparison Table, renewable energy generators have a
relatively higher availability than the conventional ones and Table 8 shows the
availability (A) and unavailability (U) of all the real generators in IEEE 14-bus
system (with distributed generators connected) under different maintenance levels.
Table 8: Availability (A) and Unavailability (U) of all the real generators
100% Maintenance 50% Maintenance 0% Maintenance A U A U A U Gen1 0.95 0.05 0.87 0.13 0.8 0.2 Gen2 0.95 0.05 0.87 0.13 0.8 0.2
Nominal Heat Rate (ISO): 9750 Btu/kWh-HHV Capital Cost Category (000s)(October
1,2012$) Civil Structural Material and Installation 12272 Mechanical Equipment Supply and Installation 62168 Electrical / I&C Supply and Installation 15912 Project Indirects(1) 17118 EPC Cost before Contingency and Fee 107470 Fee and Contingency 10747 Total Project EPC 118217
44
Owner Costs (excluding project finance) 23643 Total Project Cost (excluding finance) 141860 Total Project EPC /kW 563 Owner Costs 20% (excluding project finance) /kW 113 Total Project Cost (excluding project finance) /kW 676 (1) Including engineering, distributable costs, scaffolding, construction management, and start-up
Table 16 shows the more detailed consisting parts of the capital cost of an advanced
CT generating unit. The various type of maintenance cost can be break according to
this in the future work. And it the generator with the highest SRI is another type, for
example, a conventional CT, single unit IGCC or a fuel cell, the maintenance cost
can also be calculated in a similar way.
3.6.5.2 Maintenance Cost of Transmission Lines
The maintenance cost for a transmission line rely a lot on its capacity, voltage level
and length. In Table 17 below, a comparison between 132kV and 220kV of
overhead transmission line (OHTL) and underground transmission line (UGTL) is
made.
Table 17: O&M Costs Comparison for 132 kV and 220kV [47]
Operating and Maintenance Costs (132 kV)
Overhead M€
Underground M€
Ratio (UG/OH)
Total Cost 21.6 4.8 0.22
Operating and Maintenance Costs (132 kV)
Overhead M€
Underground M€
Ratio (UG/OH)
Total Cost 28.8 7.8 0.27
For an overhead transmission line of voltage level 132kV, it can be assumed that the
100% maintenance cost of this line is 21.6 M€. And 50% maintenance is half of this
cost.
3.7 Summary
In this chapter, steps to achieve the objective was first listed. The software
MATPWOER was then briefly introduced. The test network with and without
distributed generators were described in detailed. Further, the calculation methods
of obtaining EENS, SRI value, operation & interruption cost, environmental cost
and maintenance costs of both generators and transmission lines were explained.
45
Chapter 4
Simulation Results and Discussion
This chapter presents all the obtained results. Firstly, simulation results for both IEEE 14-bus system with and without renewable energy generator, which is the Base Case, are shown and compared. Then, results for two sensitivity study cases are simulated and shown. In Case 1, the capacity of the added renewable energy generators is increased and in Case 2 the capacity of the transmission line is increased.
46
4.1 Base Case
In the Base Case study, the System 1 and the System 2 discussed in the previous chapter
are first simulated for RCM study and the following are the results.
4.1.1 Without Renewable Generators
In this project, RCM study is first done on the congested version of IEEE 14-bus
system (System 1). After the SRI calculation for each generator and each
transmission line, Table 18 shows the ranking list results for all generators and all
the transmission lines. And the most critical generator and the most critical line are
separately selected for Reliability Centred Maintenance study.
Table 18: SRI Ranking list of Components in System 1
Component SRI Value Component SRI Value
Gen 1 120.4527 Line 9 0.0370
Gen 2 10.3261 Line 10 37.8744
Gen 3 41.2797 Line 11 0.0347
Gen 4 42.9426 Line 12 18.8343
Gen 5 80.5851 Line 13 34.8874
Line 1 11.6796 Line 14 39.0513
Line 2 42.3588 Line 15 29.6472
Line 3 0.036 Line 16 18.7135
Line 4 0.0331 Line 17 10.8945
Line 5 25.7477 Line 18 5.4097
Line 6 0.0452 Line 19 0.0310
Line 7 0.0417 Line 20 0.0332
Line 8 0.0358 - -
From the SRI list, Gen 1 and Line 2, which connects Bus 1 with Bus 5, have the
highest SRI value respectively among all generators and all lines, which means that
they are the most critical components and have the highest priority of maintenance.
For easier reference, the most critical generator will be called the Gen, and the most
critical transmission line will be called the Line. After the component selection,
different contingencies are simulated and the total cost are compared for the
maintenance strategy selection.
4.1.1.1 Cost Comparison
For deciding the best maintenance strategy, total cost is the most important
47
evidence to be based on, as the total cost takes a comprehensive consideration. The
result is shown in Figure 11.
From Figure 11, it can be seen that for both the Gen and the Line, from the respect
of the total cost, which consists of the interruption & operational cost during and
after maintenance, the environmental cost during and after maintenance, and
maintenance cost of generator or line, the best maintenance strategy is 100%
maintenance. From the comparison between generator maintenance and
transmission line maintenance, it can be seen from Figure 18 that the maintenance
of generator and its related events normally brings a bigger impact to the power
system considering all aspects including social and environmental cost. Also,
between different maintenance levels, the total cost after Gen maintenance has a
faster decreasing rate then the line as maintenance level increases, as is shown in
Table 19.
Table 19: Total Cost Decreasing Rate of Gen and Line
Maintenance Level
Component
0% to 50% total
cost decrease rate
50% to 100% total
cost decrease rate
Gen 10.21% 12.63%
Line 4.36% 5.12%
These differences result from the weighing of the five parts of cost which make up
Figure 11: Total Cost after Maintenance on Gen and Line
19.022
17.08
14.922
11.358 10.86310.307
0
2
4
6
8
10
12
14
16
18
20
0% 50% 100%
Total Cost (*10^8
$)
Maintenance Level
Total Cost after Maintenance on Gen and Line
Total Cost after Gen Maintenance Total Cost after Line Maintenance
48
of the total cost. And the following breakdown of the total cost gives a clearer view.
Table 20: Breakdown of the Total Cost of Generator and Line
Maintenance Level Percentage of the total cost (%)
0% 50% 100%
Generator
1 0.000 14.390 32.941
2 99.874 84.830 65.434
3 0.000 0.635 1.454
4 0.000 0.004 0.009
5 0.131 0.143 0.162
Line
1 0.000 8.842 18.638
2 99.665 90.132 79.548
3 0.000 0.921 1.940
4 0.000 0.008 0.017
5 0.330 0.334 0.340
1. Interruption & Operation Cost
2. post Maintenance Interruption & Operational Cost
3. Maintenance Cost
4. Emission Cost
5. post Maintenance Emission Cost
Table 20 shows the breakdown of the total cost of the Generator and the Line, and
percentages of each consisting cost to the total cost. It can be seen that the first two
types of costs, which are the interruption & operation cost during and after
maintenance, take the biggest proportion of the total cost, so that these two costs
play more important role when deciding the best maintenance option. It can be
presumed that when these two types of costs can be lower and takes a less
proportion of the total cost, the best maintenance strategy may be changed.
4.1.1.2 Other Comparisons
Apart from the costs comparison, some comparisons such as EENS after
maintenance, generator and transmission line average loading and voltage profile of
each bus after maintenance.
53.6515
43.8339
32.6137
37.664234.0025
29.8177
0
10
20
30
40
50
60
EENS after Maintenan
ce (MW)
EENS after Maintenance on Gen and Line
49
From Figure 12, it can be seen that high level of maintenance done on Gen brings
greater improvement of EENS to the power system. On the other hand, this result
also reveals that the lack of maintenance on the most critical generator has a more
severe impact to the power system than the most critical line. This shows that
sometimes, the maintenance on generators has a higher priority than that of
transmission lines.
Figure 13 shows the generators’ average loading after different levels of
maintenance. It can be seen that as the most critical generator is Gen 1, it is more
utilised after maintenance, while other generators’ loading decrease or remain at the
relatively same level. With this higher usage of generator 1, the transmission line
associated with this generator will presumably also have a bigger pressure when
transmitting electricity, which can be seen in Figure 14. From the IEEE 14-bus
power system frame in Figure 6, the lines that associated with Gen 1 is the ones
from bus 1 to bus 2 and from bus 1 to bus 5, which are line 1 and line 2 in
MATPOWER code.
Figure 12: EENS after Maintenance on Gen and Line
75.9
66.2
75.6
93.5 86.3
82.6
63.6
73.9
93.4
85.9 90.2
60.6
71.9
93.2 85.5
0.0
10.0
20.0
30.0
40.0
50.0
60.0
70.0
80.0
90.0
100.0
Gen 1 (1R) Gen 2 (2R) Gen 3 (3R) Gen 4 (6R) Gen 5 (7R)
Generator Avergare Load
ing (%
)
Generators
Generator Average Loading after Maintenance on Gen
Average Generator Loading after 0% MaintenanceAverage Generator Loading after 50% MaintenanceAverage Generator Loading after 100% Maintenance
50
From Figure 14, it can be seen the not only line 1 and line 2 have a higher loading
amount after maintenance, line 4, line 5, line 9-line 13, Line 16-Line 18 all have a
larger amount of electricity to transmit. This is all duo to the fact that more
generations are from Gen 1 and less amount from other generators. And the load
still need to be satisfied, therefore, this extra amount from Gen 1 needs to be
transmitted further. The higher maintenance on Gen 1 makes the system dependent
more on Line 1, 2, 4, 5, 9 - 13 and 16 - 18
Figure 13: Generator Average Loading after Maintenance
0
10
20
30
40
50
60
70
80
Line1
Line2
Line3
Line4
Line5
Line6
Line7
Line8
Line9
Line10
Line11
Line12
Line13
Line14
Line15
Line16
Line17
Line18
Line19
Line20
Line Average
Load
ing (%
)
Line Average Loading after Maintenance on Gen
Line Average Loading after 0% Maintenance on Gen Line Average Loading after 50% Maintenance on Gen
Line Average Loading after 100% Maintenance on Gen
Figure 14: Line Average Loading after Maintenance on Gen
0.9200
0.9400
0.9600
0.9800
1.0000
1.0200
1.0400
Bus 1 Bus 2 Bus 3 Bus 4 Bus 5 Bus 6 Bus 7 Bus 8 Bus 9 Bus 10 Bus 11 Bus 12 Bus 13 Bus 14
Volatge Level (p.u.)
Voltage Average Level after Maintenance on Gen
Voltage Average Level of each Bus after 0% Maintenanace
Voltage Average Level of each Bus after 50% Maintenanace
Voltage Average Level of each Bus after 100% Maintenanace
51
Figure 15, it can be seen that for buses such as Bus 4, Bus 5, Bus 8, Bus 12-Bus 14,
the high level of maintenance also improve their voltage profile (become closer to 1
p.u). While, for other buses, as the maintenance level increases, the voltage become
further away from the ideal case, but still within the reasonable region. This is
something that need also considered sometime when selecting the best maintenance
strategy. Whether a certain maintenance strategy have a big impact on the voltage
level of a certain bus can affect the best maintenance strategy selection. Because the
voltage profile is not considered when selecting the most critical component, this
aspect needs to be considered afterwards to guarantee a truly reliable system.
Figure 15: Voltage Average Level after Maintenance on Gen
88.2
61.3
71.9
93.5
83.9
89.8
60.7
71.8
93.3
84.9 91.6
59.9
71.7
93.1 86.1
0.0
20.0
40.0
60.0
80.0
100.0
Gen1 (1R) Gen2 (2R) Gen3 (3R) Gen4 (6R) Gen5 (7R)
Generator Average
Load
ing (%
)
Generators
Generator Average Loading after Maintenance on Line
Gen Average Loading after0% Maintenance on Line
Gen Average Loading after50% Maintenance on Line
Gen Average Loading after100% Maintenance on Line
Figure 16: Generator Average Loading after Maintenance on Line
0
10
20
30
40
50
60
70
80
Line Average
Load
ing (%
)
Line Average Loading after Maintenance on Line
Line Average Loading after 0% Maintenance on Line
Line Average Loading after 50% Maintenance on Line
Line Average Loading after 100% Maintenance on Line
52
Similar to Figure 13 - Figure 15, some comparisons are also made in Figure 16 –
Figure 18 after maintenance is done on Line 2. Comparing the generator average
loading shown in Figure 13 after maintenance is done on Gen 1, it can be seen in
Figure 16 that only the loading of Gen 1 and Gen 5 have a slightly increase when
maintenance level increases, and other generators either maintain the same level or
decrease a little bit. The maintenance on Line 2 make the system more dependent
on Gen 1and Gen 5, less on the others.
In Figure 17, due to the maintenance done on Line 2, the average loading of Line
2increases. Also the usage of Line 10, which connects Bus 5 and Bus 6, increases as
well. The reason may be that since generator connected Bus 6 (Gen 4) generate less
after maintenance, the load connected at Bus 6, 11, 12 and 13 depends more on the
transmitted power from Bus 5, which is connected to the maintained Line (Line 2).
Since the availability of Line 2 becomes higher, more power can be transmitted
through it, therefor, the usage of Gen 1 increase as well, as shown in Figure 16.
As for the voltage level after maintenance is down on Line 2, it can be seen from
Figure 18, apart from Bus 8, which has a better voltage level when 50%
maintenance is done, the voltage levels on other buses differ little between
0.9200
0.9400
0.9600
0.9800
1.0000
1.0200
1.0400
Bus 1 Bus 2 Bus 3 Bus 4 Bus 5 Bus 6 Bus 7 Bus 8 Bus 9 Bus 10Bus 11Bus 12Bus 13Bus 14
Voltage Level (p.u)
Voltage Average Loading Level after Maintenance on Line
Voltage Average Level after 0% Maintenance on Line
Voltage Average Level after 50% Maintenance on Line
Voltage Average Level after 100% Maintenance on Line
Figure 17: Line Average Loading after Maintenance on Line
Figure 18: Voltage Average Level after Maintenance on Line
53
maintenance strategies. Compared with the maintenance done on Gen 1, the
maintenance on Line 2 has less impact on the voltage level of each bus.
4.1.2 With Renewable Generators
After the discuss of the simulation results of System 1 without renewable
generators, in this part, some comparisons will be made between the results of
System 2 with that in previous section. First, before the comparisons, in Table 21
shows the SRI values of all components in Base Case with R (System 2) with
renewable generators.
Table 21: SRI Ranking list of Components in System 2
Component SRI Value Component SRI Value
Gen 1 96.6161 Line 6 0.0441
Gen 2 0.0431 Line 7 0.0411
Gen 3 27.9127 Line 8 0.0351
Gen 4 0.0316 Line 9 0.0364
Gen 5 0.0309 Line 10 34.8615
Gen 6 17.3043 Line 11 0.0340
Gen 7 34.0553 Line 12 18.8301
Gen 8 0.0299 Line 13 31.3370
Gen 9 0.0299 Line 14 32.8235
Gen 10 0.0306 Line 15 23.7473
Line 1 0.0623 Line 16 16.2398
Line 2 33.2598 Line 17 10.8778
Line 3 0.0352 Line 18 5.4092
Line 4 0.0327 Line 19 0.0304
Line 5 16.8448 Line 20 0.0325
It can be seen from Table 21 when adding renewables generators to System 1
(become System 2), from the values of SRI, the most critical generator is still Gen 1,
and the most critical Line becomes Line 10, which connects Bus 5 and Bus 6. It can
also be seen that Line 2 still have a relatively high SRI value, actually it is the
second most critical component among all lines, other aspects in future work may
be able to decide which component should be the one on which maintenance is
done when their SRI is very close to each other. But in this project, only the most
critical components is considered. With renewable generators added, the risk
severity level in System 2 decreases as a whole compared with that in System 1.
54
4.1.2.1 Cost Comparison
Figure 19 shows the comparison of the total cost after Gen and Line maintenance in
System 1 without renewable generators and in System 2 with renewable generators.
And Table 22 shows the comparison of the best maintenance strategy in Base Case
without R (System 1) and Base Case with R (System 2).
Table 22: Maintenance Strategy Comparison in System 1 and System 2
Base Case Without Renewable Base Case With Renewable
Maintenance Level 0% 50% 100% 0% 50% 100%
Total Cost_Gen (*1.0e+08 $) 19.022 17.08 14.922 6.1552 5.5493 4.8683
Optimum Maintenance for Gen 1st Gen 1 1st Gen 1
Total Cost_Line (*1.0e+08 $) 11.358 10.863 10.307 4.0115 3.8665 3.6961
Optimum Maintenance for Line 1st Line 2 1st Line 10
From Figure 19, it can be seen that adding the renewable generators brings down
the total cost to a great deal. The total cost after maintenance on Gen has a
decreasing rate of 67.6%, 67.5% and 67.4% respectively for 0%, 50% and 100%
maintenance level. Also, the decreasing rate of the total cost after Line maintenance
is 64.7%, 64.4% and 64.1% for 0%, 50% and 100% maintenance level.
Table 23: Comparison of the Consisting Parts of Total Cost of Generator and Line in System 1 and System 2
Percentage of the total cost
Base Case with R (%) Base Case without R (%)
Maintenance Level
0% 50% 100% 0% 50% 100%
19.022
17.08
14.922
6.1552 5.5493 4.8683
11.358 10.863 10.307
4.0115 3.8665 3.6961
0
2
4
6
8
10
12
14
16
18
20
0% 50% 100%
Total Csot (*10^8
$)
Maintenance Level
Total Cost after Maintenance on Gen and Line with and without Renewable Generators
Total Cost after GenMaintenance without R
Total Cost after GenMaintenance with R
Total Cost after LineMaintenance without R
Total Cost after LineMaintenance with R
Figure 19: Total Cost after Maintenance on Gen and Line with and without Renewable
2. post Maintenance Interruption & Operational Cost
3. Maintenance Cost
4. Emission Cost
5. post Maintenance Emission Cost
This result is due to the fact that the second type of cost is much reduced due to
relaxed system and renewable energy generation, and also the maintenance cost
become comparable with the first and second cost. The first and third types of cost
increases as the maintenance level increase while the second type decrease as the
maintenance level increase, therefore, the decrement of the second type of cost
makes the maintenance strategy more favourable to lower level of maintenance.
Environmental cost is relatively small proportion of the total cost and does not hold
the dominant position in deciding the optimum maintenance strategy.
4.3 Summary
In this chapter, simulation results of the Base Case with and without renewable
energy generators were first shown. After this, two case were created and simulated
for sensitivity study, and the simulation results were compared with that in the Base
Case. The first case (Case 1) has a higher renewable generation capacity injection
and the second case (Case 2) has a higher transmission line capacity compared with
the corresponding data in the Base Case.
68
Chapter 5
Conclusions
Based on the discussion of the simulation results in last chapter, a summary of all
the results and the selected maintenance strategies in Base Case, Sensitivity
Simulation Case 1 and Case 2 are shown in Table 34.
Table 34: Summary of all Results in Base Case, Case 1 and Case 2
Without Renewable With Renewable
Base Case
Maintenance Level 0% 50% 100% 0% 50% 100%
Total Cost_Gen (*1.0e+08) 19.022 17.08 14.922 6.1552 5.5493 4.8683
Optimum Maintenance
Strategy for Gen
2nd Gen
1
1st Gen
1
2nd Gen
1
1st Gen
1
Total Cost_Line (*1.0e+08) 11.358 10.863 10.307 4.0115 3.8665 3.6961
Optimum Maintenance for
Line
2nd Line
2
1st Line
2
2nd Line
10
1st Line
10
Increase
Renewable
Capacity
(Case 1)
Total Cost_Gen (*1.0e+08) 19.022 17.08 14.922 2.0057 1.8262 1.6165
Optimum Maintenance
Strategy for Gen
2nd Gen
1
1st Gen
1
2nd Gen
1
1st Gen
1
Total Cost_Line (*1.0e+08) 11.358 10.863 10.307 1.6687 1.5558 1.4209
Optimum Maintenance
Strategy for Line
2nd Line
2
1st Line
2
2nd Line
12
1st Line
12
Increase
Line
Capacity
(Case 2)
Total Cost_Gen (*1.0e+08) 11.79 9.859 7.713 3.5492 3.0239 2.4319
Optimum Maintenance
Strategy for Gen
2nd Gen
1
1st Gen
1
2nd Gen
1
1st Gen
1
Total Cost_Line (*1.0e+08) 4.4837 4.1127 3.6917 0.93999 0.95335 0.95752
Optimum Maintenance
Strategy for Line
2nd Line
13
1st Line
13
1st Line
13
2nd Line
13
Some general conclusions are made based on the results. And the more specific
conclusions for these testing power systems studied, including the congested
version of IEEE 14-bus system with and without renewable generators, Case 1 and
Case 2, are made here.
69
General conclusions:
1. From the aspects of total cost and EENS, the maintenance for generators often
brings a bigger impact to the power system than the maintenance for
transmission lines in all levels of maintenance.
2. Interruption & Operational cost during and after maintenance take the largest
proportion of the total cost and most of the time dominant the maintenance
strategy selection.
3. With renewable energy generators added, the total cost can be much reduced
and some of the generators and lines can be less loaded, which meanwhile
reduced the risk level of each component.
4. The maintenance of a generator can make the system become more dependent
on some of the transmission lines, which should be paid attention to in order to
avoid potential fault.
5. Similarly, the maintenance of a transmission line can make the system more
dependent on some generators.
6. Between different levels of maintenance, higher degree of maintenance for
generators makes a faster decrement of the total cost and a better improvement
of EENS than the same level of maintenance of transmission lines.
7. Maintenance on a certain component brings different impact on the voltage
level of different buses and this should be considered selecting maintenance
strategy in order to keep all voltages at a reasonable level.
Specific Conclusions:
1. Adding renewable energy generators can change the critical components, in this
study, most probably transmission lines, rather than generators.
2. In the sensitivity simulation case 1, the increment of the added renewable
energy capacity reduces the risk level of Gen 1, Gen 3, Gen 6 and Gen 7, Line 2,
Line 5, Line 10, and Line 13 – Line 16. And the most critical line is changed to
Line 12 with and without renewable generator.
3. With different amount of the capacity of the added renewable energy generators,
the criticality of each components will change, thus the most critical component
can also be changed.
4. In the sensitivity simulation case 2, the increment of the line capacity reduce the
risk level of all components except Gen 1. And the most critical line is Line 13.
5. In a not so congested system, like case 2, the adding of renewable energy
generators can change the selection of the maintenance strategy.
70
Chapter 6
Recommendations and Future Work
There are certainly some constraints and assumptions in this project, the following
are some of the suggested work for the future to make this topic more
comprehensive and complete.
1. Only three levels of maintenance are considered in this project as maintenance
strategies. In the future, more detailed maintenance types can be added.
2. All the maintenance considered here are so called off-line maintenance. Live &
Opportunistic maintenance may also be considered.
3. When calculating the number of consumer interrupted, customers can be
distinguished by types: residential, commercial and industrial. Also, some
important customer such as hospital can be one type of customer to be paid
special attention to.
4. More real-life data can be used in the simulation to get a result related to
industry events.
5. More detailed and quantified study on the impact of transmission line capacity
on the criticality of each component and the maintenance strategy study.
6. Try this method on a larger power system, such as IEEE case 30.
71
72
References [1] Wenyuan LI (2005). Risk Assessment of Power Systems Models, Methods, and Applications. United States of America: A JOHN WILEY & SONS, INC., PUBLICATION. CHAPTER 10 p215-p219. [2] Application, F. & Studies, C., May, 1999. Reliability Centred Maintenance for (RCM) Distribution Systems and Equipment Four Application Case Studies. [3] P. Hilber, “Maintenance Optimization for Power Distribution System”, Doctoral Thesis, School of Electrical Engineering, KTH, Stockholm, Sweden, 2008, ISBN 978-91-628-7464-3. [4] Lina Bertling, Reliability Centred Maintenance for Electric Power System, Doctoral Dissertation, School of Electrical Engineering, KTH, Stockholm, Sweden, 2008, ISBN 91-7283-345-9. [5] B. Yssaad, M. Khiat, and a. Chaker, “Reliability centered maintenance optimization for power distribution systems,” Int. J. Electr. Power Energy Syst., vol. 55, pp. 108–115, 2014. [6] Roy Billinton, Ronald N.Allan (1984). Reliability Evaluation of Power System. 2nd ed. Great Britain: Pitman Book Limited. p6-p16. [7] North American Electric Reliability Corporate, Reliability Assessment Guidebook, version 3.1, August 2012. [8] Zhang, P., Meng, K. & Dong, Z., 2010. Probabilistic vs deterministic power system stability and reliability assessment. Emerging Techniques in Power System Analysis, pp.117–145. [9] R. Allan and R. Billinton, “Probabilistic assessment of power systems,” Proc. IEEE, vol. 88, no. 2, 2000. [10] Wang Peng, NTU EE6510 Power System Operation and Planning Lecture Notes, Example 2-6. [11] José Fernando Prada. (June 1999). The Value of Reliability in Power Systems-Pricing Operating Reserves. Energy Laboratory, Massachusetts Institute of Technology. MIT EL 99-005 WP (1), p12-p32. [12] IEEE/PES Working Group on System Design, “A survey of distribution reliability measurement practices in the U.S.,” IEEE Trans. Power Delivery, vol. 14, no. 1, pp. 250–257, Jan. 1999. [13] IEEE Power & Energy Society. (31 May 2012). IEEE Guide for Electric Power Distribution Reliability Indices. IEEE Standards Association. Std 1366-2003 (3. Definitions of reliability indices), p4-p11. [14] J.Moubray. Reliability-Centred Maintenance. Butterworth-Heinemann, Oxford, 1991. Reprint 1995. [15] F.Stanley Nowlan, Howard F.Heap. (1978). Chapter 1 RCM: Maintenance Disipline. In: Reliability-Centered Maintenance. U.S. Department of Commerce, Springfield, Virginia. p3. [16] N. Cotaina, F. Matos, J. Chabrol, D. Djeapragache, P. Prete, J. Carretero, F. García, M. Pérez, J.M. Peña, J.M. Pérez. (2000). Facultad de Informática de Madrid, UPM, in
73
Campus de Montengancedo, Madrid, Spain. Study of Existing RCM Approaches used in Different Industries. Technical Report, Project Number: 2000 RD 10810. FIM/110.1/DATSI/00 29-06-2000-06-29 (3), p16-p49. [17] John W. Goodfellow. (2000). Applying Reliability Centered Maintenance (RCM) to Overhead Electric Utility Distribution Systems. IEEE. 0-7803-6420-1, p566-p569. [18] ANTHONY UWAKHONYE ADOGHE. (2000). Reliability Centered Maintenance (RCM) for Asset Management in Electric Power Distribution System. Postgraduate thesis submitted in the department of electrical and information engineering, University OTA, Ogun State, Nigeria. [19] Dr. Marhs Zdrallek. (2004). Reliability Centred Maintenance Strategy for High-Voltage-Networks. 8th International Conference on Probabilistic Methods Applied to Power Systems, Iowa State University, Ames, Iowa, September 12-16, 2004. [20] Ebrahim Shayesteh. Project Proposal: Maintenance Optimization of Electric Power System (2015). [21] SKANSKA, Reliability-Centred Maintenance Whitepaper, Maintaining data centre performance (May 2012), p2 [22] Rose, Al. (2002). What is Reliability Centred Maintenance? A Brief History of RCM. [23] Wikipedia. (2014). Corrective maintenance. Available: http://en.wikipedia.org/wiki/Corrective_maintenance. Last accessed 13rd Feb 2015. [24] Anthony M. Smith, Glenn R. Hinchcliffe. (2002). Chapter 5 RCM Methodology The Systems Analysis Process 2004 RCM. RCM--Gateway to World Class Maintenance. Butterworth-Heinemann. P113. [25] P. Dehghanian, M. Fotuhi-Firuzabad, F. Aminifar, and R. Billinton, “A Comprehensive Scheme for Reliability-Centred Maintenance in Power Distribution Systems, Part I: Power Distribution Systems,” IEEE Transaction on Power Delivery, vol. 28, no. 2, pp. 761–770, Apr. 2013. [26] NERC (North American Electric Reliability Corporation) White paper. Performance Analysis Subcommittee. (2014). SRI Enhancement. April 9, 2014 (Introduction), p3-p8. [27] NERC Whitepaper, Integrated Bulk Power System Risk Assessment Concepts. (2011), p11-p12. [28] NERC, Integrated Risk Assessment Approach – Refinement to Severity Risk Index, Attachment 1. [29] U. S. Congress, “Energy policy act of 2005,” Public Law, pp. 109–58, 2005. [30] Kristiansen, T., 2003. Utilizing MATPOWER in optimal power flow. Modelling, Identification and Control, 24(1), pp.49–59. [31] Cost Report, COST AND PERFORMANCE DATA FOR POWER GENERATION TECHNOLOGIES, part 2 and 3, prepared for the National Renewable Energy Laboratory, February 2012, BLACK & Veatch. [32] KEMA, Inc. – Karin Corfee, David Korinek, William Cassel, Christian Hewicker, Jorg Zillmer, Miguel Pereira Morgado, Holger Ziegler, Nellie Tong, David Hawkins, and Jorge Cernadas. (Apri 2011). Distributed Generation in Europe – Physical Infrastructure and Distributed Generation Connection. KEMA memo. Memo #1 (1),
74
p3-p7. [33] IEA, Energy Technology Systems analysis programme. Technology Brief, E12. Energy Technology Systems Analysis Programme Hydropower, May, 2010, pp. 1–5. [34] Ray D. Zimmerman, Carlos E. Murillo-Sánchez (2007), MATPOWER User’s Manal, Version 3.2. [35] Linares, Pedro and Luis Rey. 2013. “The Costs of Electricity Interruptions in Spain: Are We Sending the Right Signals?” Energy Policy 61:751–60. [36] U.S. Energy Information Administration (EIA). (March 23, 2015). Summary electricity statistics 2003–2013. Available: http://www.eia.gov/electricity/data.cfm#summary. Last accessed 11st May 2015. [37] Layton, Lee. (2004). Electric System Reliability Indices. Retrieved from: http://www.l2eng.com/Reliability_Indices_for_Utilities.pdf [38] Zimmerman, R.D.; Murillo-Sanchez, C.E.; Thomas, R.J., "MATPOWER's extensible optimal power flow architecture," in Power & Energy Society General Meeting, 2009. PES '09. IEEE , vol., no., pp.1-7, 26-30 July 2009 [39] U.S Energy Information Administration. (2013). Average Operating Heat Rate for Selected Energy Sources. Available: http://www.eia.gov/electricity/annual/html/epa_08_01.html. Last accessed 1st June 2015. [40] U.S. Environmental Protection Agency (EPA), 2010. Technical Support Document: Social Cost of Carbon for Regulatory Impact Analysis Under Executive Order 12866. , (May 2013), pp.1–21. Available at: http://www.epa.gov/otaq/climate/regulations/scc-tsd.pdf. [41] U.S. Energy Information Administration (EIA). (April 2013). Updated Capital Cost Estimates for Utility Scale Electricity Generating Plants. Independent Statistics & Analysis. (2.6.1 Capital Cost), pp. 2-6. [42] Wikipedia. (2012). Overnight Capital Cost. Available: https://en.wikipedia.org/wiki/Overnight_Capital_Cost. Last accessed 20th May, 2015. [43] University of Washington. (1962). 14 Bus Power Flow Test Case. Available: http://www.ee.washington.edu/research/pstca/pf14/pg_tca14bus.htm. Last accessed 25th March 2015. [44] Besnard, F., Fischer, K. & Bertling, L., 2010. Reliability-Centred Asset Maintenance - A step towards enhanced reliability, availability, and profitability of wind power plants. In 2010 IEEE PES Innovative Smart Grid Technologies Conference Europe (ISGT Europe). IEEE, pp. 1–8. [45] R. Dekker, “Applications of maintenance optimization models: a review and analysis,” Reliab. Eng. Syst. Saf., vol. 51, no. 3, pp. 229–240, 1996. [46] Bertling, L., 2002. Reliability Centered Maintenance for Electric Power Distribution Systems.PhD Thesis, KTH. [47] METSCO Energy Solutions Report: Comparison of Underground and Overhead Transmission Options in Icaland (132 and 220 kV), November, 2013
75
76
Appendix
Appendix I: MATPOWER Code for IEEE 14-bus system
simulation %% Definitions % define_constants; % global x h; %% x = r.f in 'runopf' file mpc = loadcase('case14R'); %% Change 'case14' if another case is
studied OG = length(mpc.gen(:,1)); %% Number of generators LN = length(mpc.branch(:,1)); %% Number of lines BN = length(mpc.bus(:,1)); %% Number of buses Gen_Virtual = zeros(OG,1); %% Generation of virtual generators when
due to 0%, 50% and 100% maintenance (0/2/4 weeks) done on Gen (highest SRI) postGenMInterOpera_Cost = zeros(3,1); %% Expected (52 weeks after
maintenacne) interruption and operation cost due to 0%, 50% and 100%
maintenance (0/2/4 weeks) done on Gen (highest SRI) %GenEENS = zeros(1,1); postGM_Prob = zeros(OG+LN+1+OG+LN-1,3); GenEmis_Cost = zeros(3,1); %% Emission cost during maintenance
(0/2/4 weeks) done on Gen, unit:$ postM_GenEmis_Cost = zeros(3,1); %% Emission cost after maintenance
(0/2/4 weeks) done on Gen, unit:$ GenM_Cost = zeros(3,1); %% Maintenance cost for Generator due to
0%, 50% and 100% maintenance
77
Line_Virtual = zeros(LN,1); %% Generation of virtual generators when
one line is out L_State0 = zeros(LN,1); L_State1 = zeros(OG+LN,1); L_State2 = zeros(OG+LN+1+OG+LN-1,3); LineENS = zeros(OG+LN+1,1); Line_f = zeros(OG+LN,1); %% sum of ENSg*VoLLg+Pg*Costg for all
generators LineAU = zeros(LN,1); LineAU_M = zeros(LN-1,1); %% Modified Line availability %Line_AU = zeros(LN,1); %% Read-in Line availability LineProb = zeros(OG+LN,1); Tot_LineInterOpera_Cost = zeros(3,1); %% Interruption and operation cost
due to 0%, 50% and 100% maintenance (0/2/4 weeks) done on Line (highest
SRI) postLineMInterOpera_Cost = zeros(3,1); %% Expected (52 weeks after
maintenacne) interruption and operation cost due to 0%, 50% and 100%
maintenance (0/2/4 weeks) done on Line (highest SRI) % LineEENS = zeros(1,1); postLM_Prob = zeros(OG+LN+1+OG+LN-1,1); LineEmis_Cost = zeros(3,1); %% Emission cost during maintenance
(0/2/4 weeks) done on Line, unit:$ postM_LineEmis_Cost = zeros(3,1); %% Emission cost after maintenance
(0/2/4 weeks) done on Line, unit:$ LineM_Cost = zeros(3,1); %% Maintenance cost for Line due to
0%, 50% and 100% maintenance MainCost = zeros(3,1); %% Maintenance cost for 0%, 50% and 100%
maintenance levels Total_GenEmis_Cost = zeros(3,OG+LN); Total_LineEmis_Cost = zeros(3,OG+LN); postGM_f = zeros(3,OG+LN+1+OG+LN-1); %% sum of ENSg*VoLLg+Pg*Costg
for all generators after maintenance done on Gen postLM_f = zeros(3,OG+LN+1+OG+LN-1); %% sum of ENSg*VoLLg+Pg*Costg
for all generators after maintenance done on Line postGM_ENS = zeros(3,OG+LN+1+OG+LN-1); postGM_EENS = zeros(3,1); postGM_V = zeros(BN,OG+LN+1+OG+LN-1); postGM_Gloading = zeros(OG,OG+LN+1+OG+LN-1); postGM_Lloading = zeros(LN,OG+LN+1+OG+LN-1); postGM_EV = zeros(BN,3);
Level GenLost = zeros(OG,1); %% Loss of capacity of a generator due to
a fault SRI_Gen = zeros (OG,1); %% SRI stands for Severity Risk Index RPL_Line = zeros(LN,1); %% RPL stands for Restoration Promptness
Level LineLost = zeros(LN,1); %% Loss of capacity of a transmission line
due to a fault SRI_Line = zeros(LN,1); %% SRI stands for Severity Risk Index TotGenCap = sum(mpc.gen(:,9)); %% Total Generator Capacity TotLineCap = sum(mpc.branch(:,6)); %% Total Line Capacity T_Gen = xlsread('Jia_ForCal14_SRI_R.xlsx','ForGen','B2:B11'); %% T
stands for TCAIDI in minutes %DailyPeak_Gen = xlsread('Jia_ForCal30_SRI.xlsx','ForGen','C2:C6'); %%
DailyPeak stands for MWpeak CI_Gen = zeros(OG,1); %% CI sands
for CIbps TCD_Gen = xlsread('Jia_ForCal14_SRI_R.xlsx','ForGen','D2:D11'); %%
TCD stands for Total C/D T_Line = xlsread('Jia_ForCal14_SRI_R.xlsx','ForLine','B2:B21'); %%
DailyPeak stands for MWpeak CI_Line = zeros(LN,1); %% CI sands
for CIbps TCD_Line = xlsread('Jia_ForCal14_SRI_R.xlsx','ForLine','D2:D21'); %%
TCD stands for Total C/D % For adding virtual generators to each load bus and change Pmin of all
generators to zero for i=1:BN mpc.bus(i,3)= mpc.bus(i,3)*1.8; %% Increase each
load by 20% if mpc.bus(i,3)~=0 ng = size(mpc.gen,1)+1; if mpc.bus(i,4) < 0 mpc.gen(ng, 1:10) = [i 0 0 0 0 1 mpc.baseMVA 1 mpc.bus(i,3) 0]; else mpc.gen(ng, 1:10) = [i 0 0 mpc.bus(i,4) 0 1 mpc.baseMVA 1
mpc.bus(i,3) 0]; end mpc.gencost(ng, 1:5) =[2 0 0 3 6752]; end end NG = length(mpc.gen(:,1)); %% Number of generators after adding the
virtual generators % for j = 1:OG % mpc.gen(j,10) = 0; % end savecase('Jia_case14R', mpc); %% Change 'Jia_case14R' if another case were
to be studied mpc = loadcase('Jia_case14R'); % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end % % savecase('Jia_case14R_M', mpc); % For calculation SRI DailyPeak = sum(mpc.bus(1:BN,3)); for i = 1:OG
80
% [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); GenLost(i,1) = mpc.gen(i,9); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end if T_Gen(i,1) < 50 RPL_Gen(i,1) = 1/4; else if 50 <= T_Gen(i,1) < 100 RPL_Gen(i,1) = 2/4; else if 100 <= T_Gen(i,1) < 200 RPL_Gen(i,1) = 3/4; else if 200 <= T_Gen(i,1) RPL_Gen(i,1) = 4/4; end end end end mpc.gen(i,8) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); G_State0(i,1) = success; Gen_Virtual(i,1) = sum(gen(OG+1:NG,2)); CI_Gen(i,1) = Gen_Virtual(i,1)/0.008623408; %% Consumption
CI_Line(j,1) + 0.3 * (LineLost(j,1)/TotLineCap) + 0.1 * (0/TotGenCap); mpc = loadcase('Jia_case14R'); end %% For Choosing the Gen and Line with the highest SRI a = SRI_Gen(1,1); Gen = 1; b = SRI_Line(1,1); Line = 1; for i = 1:OG if SRI_Gen(i,1)>a a = SRI_Gen(i,1); Gen = i; end end for j = 1:LN if SRI_Line(j,1)>b b = SRI_Line(j,1); Line = j; end end %% For Calculation Interruption & Operation cost and environmental cost
during maintenance Gen_AU = xlsread('Jia_case14_Avail_R.xlsx','Gen 0%
Maintenance','B2:C11'); %% Change 'Jia_case30_Avail' and 'B2:C7' if
another case were to be studied Line_AU = xlsread('Jia_case14_Avail_R.xlsx','Line 0%
Maintenance','B2:C21'); %% %% Change 'Jia_case30_Avail' and 'B2:C42' if
another case were to be studied mpc = loadcase('Jia_case14R'); % For calculating Interruption & Operation Cost and environmental cost
82
during maintenance (0/2/4 weeks) due to Gen (highest SRI) outage and at
least one of the rest Gens and Lines outage % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.gen(Gen,8) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); Gen_f(Gen,1) = f; G_State1(Gen,1) = success; for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end Total_GenEmis_Cost(1,Gen) = sum(GEmis_Cost)*0; %% Total emission
cost of all generatrors under 0% maintenance,$ Total_GenEmis_Cost(2,Gen) = sum(GEmis_Cost)*2*7*24; %% Total emission
cost of all generatrors under 50% maintenance,$ Total_GenEmis_Cost(3,Gen) = sum(GEmis_Cost)*4*7*24; %% Total emission
cost of all generatrors under 100% maintenance,$ for m = 1:OG if m < Gen GenAU_M(m,1) = Gen_AU(m,1); else if m > Gen GenAU_M(m-1,1) = Gen_AU(m,1); end end end
83
for n = 1:LN LineAU(n,1) = Line_AU(n,1); end GenProb(Gen,1) = prod(GenAU_M) * prod(LineAU); mpc = loadcase('Jia_case14R'); for p = 1:OG if p~= Gen % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.gen(Gen,8) = 0; mpc.gen(p,8) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); Gen_f(p,1) = f; G_State1(p,1) = success; for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end Total_GenEmis_Cost(1,p) = sum(GEmis_Cost)*0; %% Total
emission cost of all generatrors under 0% maintenance,$ Total_GenEmis_Cost(2,p) = sum(GEmis_Cost)*2*7*24; %% Total
emission cost of all generatrors under 50% maintenance,$ Total_GenEmis_Cost(3,p) = sum(GEmis_Cost)*4*7*24; %% Total
emission cost of all generatrors under 100% maintenance,$ for m = 1:OG if m < Gen if mpc.gen(m,8) == 0; GenAU_M(m,1) = Gen_AU(m,2); else
84
GenAU_M(m,1) = Gen_AU(m,1); end else if m > Gen if mpc.gen(m,8) == 0; GenAU_M(m-1,1) = Gen_AU(m,2); else GenAU_M(m-1,1) = Gen_AU(m,1); end end end end for n = 1:LN LineAU(n,1) = Line_AU(n,1); end GenProb(p,1) = prod(GenAU_M) * prod(LineAU); mpc = loadcase('Jia_case14R'); end end for q = 1: LN % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.gen(Gen,8) = 0; mpc.branch(q,11) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); Gen_f(q+OG,1) = f; G_State1(q+OG) = success; for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end
85
Total_GenEmis_Cost(1,q+OG) = sum(GEmis_Cost)*0; %% Total
emission cost of all generatrors under 0% maintenance,$ Total_GenEmis_Cost(2,q+OG) = sum(GEmis_Cost)*2*7*24; %% Total
emission cost of all generatrors under 50% maintenance,$ Total_GenEmis_Cost(3,q+OG) = sum(GEmis_Cost)*4*7*24; %% Total
emission cost of all generatrors under 100% maintenance,$ for m = 1:OG if m < Gen GenAU_M(m,1) = Gen_AU(m,1); else if m > Gen GenAU_M(m-1,1) = Gen_AU(m,1); end end end for n = 1:LN if mpc.branch(n,11) == 0 LineAU(n,1) = Line_AU(n,2); else LineAU(n,1) = Line_AU(n,1); end end GenProb(q+OG,1) = prod(GenAU_M) * prod(LineAU); mpc = loadcase('Jia_case14R'); end GenInterOpera_Cost = sum(Gen_f .* GenProb); %% unit: $/h GenEmis_Cost(1,1) = Total_GenEmis_Cost(1,1:(OG+LN)) * GenProb; %%
Emission cost during maintenance 0% done on Gen, unit:$ GenEmis_Cost(2,1) = Total_GenEmis_Cost(2,1:(OG+LN)) * GenProb; %%
Emission cost during maintenance 50% done on Gen, unit:$ GenEmis_Cost(3,1) = Total_GenEmis_Cost(3,1:(OG+LN)) * GenProb; %%
Emission cost during maintenance 100% done on Gen, unit:$ for y = 1:3 if y == 1 %% 0% maintenance (0 weeks) Tot_GenInterOpera_Cost(y,1) = 0; else if y == 2 %% 50% maintenance (2 weeks) Tot_GenInterOpera_Cost(y,1) = GenInterOpera_Cost*2*7*24; %%
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end Total_LineEmis_Cost(1,Line) = sum(GEmis_Cost)*0; %% Total emission
cost of all generatrors under 0% maintenance,$ Total_LineEmis_Cost(2,Line) = sum(GEmis_Cost)*2*7*24; %% Total emission
cost of all generatrors under 50% maintenance,$ Total_LineEmis_Cost(3,Line) = sum(GEmis_Cost)*4*7*24; %% Total emission
cost of all generatrors under 100% maintenance,$ for n = 1:LN if n < Line LineAU_M(n,1) = Line_AU(n,1);
87
else if n > Line LineAU_M(n-1,1) = Line_AU(n,1); end end end for m = 1:OG GenAU(m,1) = Gen_AU(m,1); end LineProb(Line,1) = prod(LineAU_M) * prod(GenAU); mpc = loadcase('Jia_case14R'); for q = 1:LN if q ~= Line % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.branch(Line,11) = 0; mpc.branch(q,11) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); Line_f(q,1) = f; L_State1(q,1) = success; for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end Total_LineEmis_Cost(1,q) = sum(GEmis_Cost)*0; %% Total
emission cost of all generatrors under 0% maintenance,$ Total_LineEmis_Cost(2,q) = sum(GEmis_Cost)*2*7*24; %% Total
emission cost of all generatrors under 50% maintenance,$ Total_LineEmis_Cost(3,q) = sum(GEmis_Cost)*4*7*24; %% Total
emission cost of all generatrors under 100% maintenance,$
88
for n = 1:LN if n < Line if mpc.branch(n,11) == 0; LineAU_M(n,1) = Line_AU(n,2); else LineAU_M(n,1) = Line_AU(n,1); end else if n > Line if mpc.branch(n,11) == 0; LineAU_M(n-1,1) = Line_AU(n,2); else LineAU_M(n-1,1) = Line_AU(n,1); end end end end for m = 1:OG GenAU(m,1) = Gen_AU(m,1); end LineProb(q,1) = prod(LineAU_M) * prod(GenAU); mpc = loadcase('Jia_case14R'); end end for p = 1:OG % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.branch(Line,11) = 0; mpc.gen(p,8) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); Line_f(p+LN,1) = f; L_State1(p+LN,1) = success; for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end Total_LineEmis_Cost(1,p+LN) = sum(GEmis_Cost)*0; %% Total
emission cost of all generatrors under 0% maintenance,$ Total_LineEmis_Cost(2,p+LN) = sum(GEmis_Cost)*2*7*24; %% Total
emission cost of all generatrors under 50% maintenance,$ Total_LineEmis_Cost(3,p+LN) = sum(GEmis_Cost)*4*7*24; %% Total
emission cost of all generatrors under 100% maintenance,$ for n = 1:LN if n < Line LineAU_M(n,1) = Line_AU(n,1); else if n > Line LineAU_M(n-1,1) = Line_AU(n,1); end end end for m = 1:OG if mpc.gen(m,8) == 0 GenAU(m,1) = Gen_AU(m,2); else GenAU(m,1) = Gen_AU(m,1); end end LineProb(p+LN,1) = prod(LineAU_M) * prod(GenAU); mpc = loadcase('Jia_case14R'); end LineInterOpera_Cost = sum(Line_f .* LineProb); %% unit: $/h LineEmis_Cost(1,1) = Total_LineEmis_Cost(1,1:(OG+LN)) * LineProb; %%
Emission cost during maintenance 0% done on Line, unit:$ LineEmis_Cost(2,1) = Total_LineEmis_Cost(2,1:(OG+LN)) * LineProb; %%
Emission cost during maintenance 50% done on Line, unit:$ LineEmis_Cost(3,1) = Total_LineEmis_Cost(3,1:(OG+LN)) * LineProb; %%
Emission cost during maintenance 100% done on Line, unit:$ for y = 1:3 if y == 1
90
Tot_LineInterOpera_Cost(y,1) = 0; else if y == 2 Tot_LineInterOpera_Cost(y,1) =
LineInterOpera_Cost*4*7*24; %% unit: $/h *4*7*24h/repair = $/repair end end end mpc = loadcase('Jia_case14R'); %% For calculation of expected interruption cost & operation cost and
emission cost after 0%,50% and 100% maintenance (52/50/48 weeks after
Maintenance','B2:C21'); % For calculation of expected interruption cost & operation cost and emission
cost after 0%,50% and 100% maintenance for Gen with the highest SRI (52/50/48
weeks after maintenance) for y = 1:3 if y == 1 T = 52*7*24; else if y == 2 %% 50% maintenance (2 weeks) Gen_AU(Gen,:) = xlsread('Jia_case14_Avail_R.xlsx','Gen 50%
Maintenance','B2:C2'); %% Gen=1 T = (52-2)*7*24; else if y ==3 %% 100% maintenance (4 weeks) Gen_AU(Gen,:) = xlsread('Jia_case14_Avail_R.xlsx','Gen 100%
Maintenance','B2:C2'); %% Gen=1 T = (52-4)*7*24; end end end % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end
91
[baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); postGM_f(y,OG+LN+1) = f; G_State2(OG+LN+1,y) = success; postGM_ENS(y,OG+LN+1) = sum(gen((OG+1):NG,2)); postGM_V(1:BN,OG+LN+1) = bus(1:BN,8); postGM_Gloading(1:OG,OG+LN+1)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postGM_Lloading(n,OG+LN+1) = branch(n,14); else postGM_Lloading(n,OG+LN+1) = branch(n,16); end end for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end postM_Total_GenEmis_Cost(y,OG+LN+1) = sum(GEmis_Cost)*T; %%
Total emission cost of all generatrors after 0%/50%/100% maintenance,$ for m = 1:OG GenAU(m,1) = Gen_AU(m,1); end for n = 1:LN LineAU(n,1) = Line_AU(n,1); end postGM_Prob(OG+LN+1,y) = prod(GenAU) * prod(LineAU); mpc = loadcase('Jia_case14R'); for p = 1:OG % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG
92
% mpc.gen(k,9) = gen(k,2); % end mpc.gen(p,8) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); postGM_f(y,p) = f; G_State2(p,y) = success; postGM_ENS(y,p) = sum(gen((OG+1):NG,2)); postGM_V(1:BN,p) = bus(1:BN,8); postGM_Gloading(1:OG,p)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postGM_Lloading(n,p) = branch(n,14); else postGM_Lloading(n,p) = branch(n,16); end end for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end postM_Total_GenEmis_Cost(y,p) = sum(GEmis_Cost)*T; %%
Total emission cost of all generatrors after 0%/50%/100% maintenance,$ for m = 1:OG if mpc.gen(m,8) == 0 GenAU(m,1) = Gen_AU(m,2); else GenAU(m,1) = Gen_AU(m,1); end end for n = 1:LN LineAU(n,1) = Line_AU(n,1); end
93
postGM_Prob(p,y) = prod(GenAU) * prod(LineAU); mpc = loadcase('Jia_case14R'); end for q = 1:LN % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.branch(q,11) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); postGM_f(y,q+OG) = f; G_State2(q+OG,y) = success; postGM_ENS(y,q+OG) = sum(gen((OG+1):NG,2)); postGM_V(1:BN,q+OG) = bus(1:BN,8); postGM_Gloading(1:OG,q+OG)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postGM_Lloading(n,q+OG) = branch(n,14); else postGM_Lloading(n,q+OG) = branch(n,16); end end for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end postM_Total_GenEmis_Cost(y,q+OG) = sum(GEmis_Cost)*T; %%
Total emission cost of all generatrors after 0%/50%/100% maintenance,$ for n = 1:LN if mpc.branch(n,11) == 0 LineAU(n,1) = Line_AU(n,2);
94
else LineAU(n,1) = Line_AU(n,1); end end for m = 1:OG GenAU(m,1) = Gen_AU(m,1); end postGM_Prob(q+OG,y) = prod(GenAU) * prod(LineAU); mpc = loadcase('Jia_case14R'); end for p = 1:OG if p ~= Gen % [baseMVA, bus, gen, gencost, branch, f, success, et] =
runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.gen(Gen,8) = 0; mpc.gen(p,8) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] =
runopf(mpc); if p < Gen postGM_f(y,p+OG+LN+1) = f; G_State2(p+OG+LN+1,y) = success; postGM_ENS(y,p+OG+LN+1) = sum(gen((OG+1):NG,2)); postGM_V(1:BN,p+OG+LN+1) = bus(1:BN,8); postGM_Gloading(1:OG,p+OG+LN+1)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postGM_Lloading(n,p+OG+LN+1) = branch(n,14); else postGM_Lloading(n,p+OG+LN+1) = branch(n,16); end end else if p > Gen postGM_f(y,p-1+OG+LN+1) = f; G_State2(p-1+OG+LN+1,y) = success; postGM_ENS(y,p-1+OG+LN+1) = sum(gen((OG+1):NG,2)); postGM_V(1:BN,p-1+OG+LN+1) = bus(1:BN,8); postGM_Gloading(1:OG,p-1+OG+LN+1)= gen(1:OG,2); for n = 1:LN
95
if branch(n,14) > 0 postGM_Lloading(n,p-1+OG+LN+1) = branch(n,14); else postGM_Lloading(n,p-1+OG+LN+1) = branch(n,16); end end end end for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end if p < Gen postM_Total_GenEmis_Cost(y,p+OG+LN+1) =
sum(GEmis_Cost)*T; %% Total emission cost of all generatrors
after 0%/50%/100% maintenance,$ else if p > Gen postM_Total_GenEmis_Cost(y,p-1+OG+LN+1) =
sum(GEmis_Cost)*T; end end for m = 1:OG if mpc.gen(m,8) == 0 GenAU(m,1) = Gen_AU(m,2); else GenAU(m,1) = Gen_AU(m,1); end end for n = 1:LN LineAU(n,1) = Line_AU(n,1); end if p < Gen postGM_Prob(p+OG+LN+1,y) = prod(GenAU) * prod(LineAU);
96
else if p > Gen postGM_Prob(p-1+OG+LN+1,y) = prod(GenAU) * prod(LineAU); end end mpc = loadcase('Jia_case14R'); end end for q = 1:LN % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.gen(Gen,8) = 0; mpc.branch(q,11) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); postGM_f(y,q+2*OG+LN) = f; G_State2(q+2*OG+LN,y) = success; postGM_ENS(y,q+2*OG+LN) = sum(gen((OG+1):NG,2)); postGM_V(1:BN,q+2*OG+LN) = bus(1:BN,8); postGM_Gloading(1:OG,q+2*OG+LN)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postGM_Lloading(n,q+2*OG+LN) = branch(n,14); else postGM_Lloading(n,q+2*OG+LN) = branch(n,16); end end for m = 1:OG if mpc.gencost(m,5) ~= 0 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end
97
postM_Total_GenEmis_Cost(y,q+2*OG+LN) =
sum(GEmis_Cost)*T; %% Total emission cost of all generatrors
after 0%/50%/100% maintenance,$ for n = 1:LN if mpc.branch(n,11) == 0 LineAU(n,1) = Line_AU(n,2); else LineAU(n,1) = Line_AU(n,1); end end for m = 1:OG if mpc.gen(m,8) == 0 GenAU(m,1) = Gen_AU(m,2); else GenAU(m,1) = Gen_AU(m,1); end end postGM_Prob(q+2*OG+LN,y) = prod(GenAU) * prod(LineAU); mpc = loadcase('Jia_case14R'); end Tot_postGM_Prob(y,1) = sum(postGM_Prob(1:2*(OG+LN),y)); postM_GenEmis_Cost(y,1) = postM_Total_GenEmis_Cost(y,1:2*(OG+LN)) *
postGM_Prob(1:2*(OG+LN),y); %% Emission cost post maintenance
Maintenance','B2:C21'); mpc = loadcase('Jia_case14R'); for y = 1:3 if y == 1 %% 0% maintenance (0 weeks) T = 52*7*24; else if y == 2 %% 50% maintenance (2 weeks) Line_AU(Line,:) = xlsread('Jia_case14_Avail_R.xlsx','Line 50%
Maintenance','B14:C14'); %% Line=13 T = (52-2)*7*24; else if y ==3 %% 100% maintenance (4 weeks) Line_AU(Line,:) = xlsread('Jia_case14_Avail_R.xlsx','Line
100% Maintenance','B14:C14'); %% Line=13 T = (52-4)*7*24; end end end % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); postLM_f(y,OG+LN+1) = f; L_State2(OG+LN+1,y) = success; postLM_ENS(y,OG+LN+1) = sum(gen((OG+1):NG,2)); postLM_V(1:BN,OG+LN+1) = bus(1:BN,8); postLM_Gloading(1:OG,OG+LN+1)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postLM_Lloading(n,OG+LN+1) = branch(n,14); else postLM_Lloading(n,OG+LN+1) = branch(n,16); end end
99
for m = 1:OG if mpc.gencost(m,5) ~= 0.01 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end postM_Total_GenEmis_Cost(y,q) = sum(GEmis_Cost)*T; %%
Total emission cost of all generatrors after 0%/50%/100% maintenance,$ for n = 1:LN if mpc.branch(n,11) == 0 LineAU(n,1) = Line_AU(n,2); else LineAU(n,1) = Line_AU(n,1); end end for m = 1:OG GenAU(m,1) = Gen_AU(m,1); end postLM_Prob(q,y) = prod(GenAU) * prod(LineAU); mpc = loadcase('Jia_case14R'); end for p = 1:OG % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.gen(p,8) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); postLM_f(y,p+LN) = f; L_State2(p+LN,y) = success;
101
postLM_ENS(y,p+LN) = sum(gen((OG+1):NG,2)); postLM_V(1:BN,p+LN) = bus(1:BN,8); postLM_Gloading(1:OG,p+LN)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postLM_Lloading(n,p+LN) = branch(n,14); else postLM_Lloading(n,p+LN) = branch(n,16); end end for m = 1:OG if mpc.gencost(m,5) ~= 0.01 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end postM_Total_GenEmis_Cost(y,p+LN) = sum(GEmis_Cost)*T; %%
Total emission cost of all generatrors after 0%/50%/100% maintenance,$ for m = 1:OG if mpc.gen(m,8) == 0 GenAU(m,1) = Gen_AU(m,2); else GenAU(m,1) = Gen_AU(m,1); end end for n = 1:LN LineAU(n,1) = Line_AU(n,1); end postLM_Prob(p+LN,y) = prod(GenAU) * prod(LineAU); mpc = loadcase('Jia_case14R'); end for q = 1:LN
102
if q ~= Line % [baseMVA, bus, gen, gencost, branch, f, success, et] =
runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end mpc.branch(Line,11) = 0; mpc.branch(q,11) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] =
runopf(mpc); if q < Line postLM_f(y,q+OG+LN+1) = f; L_State2(q+OG+LN+1,y) = success; postLM_ENS(y,q+OG+LN+1) = sum(gen((OG+1):NG,2)); postLM_V(1:BN,q+OG+LN+1) = bus(1:BN,8); postLM_Gloading(1:OG,q+OG+LN+1)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postLM_Lloading(n,q+OG+LN+1) = branch(n,14); else postLM_Lloading(n,q+OG+LN+1) = branch(n,16); end end else if q > Line postLM_f(y,q-1+OG+LN+1) = f; L_State2(q-1+OG+LN+1,y) = success; postLM_ENS(y,q-1+OG+LN+1) = sum(gen((OG+1):NG,2)); postLM_V(1:BN,q-1+OG+LN+1) = bus(1:BN,8); postLM_Gloading(1:OG,q-1+OG+LN+1)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postLM_Lloading(n,q-1+OG+LN+1) = branch(n,14); else postLM_Lloading(n,q-1+OG+LN+1) = branch(n,16); end end end end for m = 1:OG if mpc.gencost(m,5) ~= 0.01 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
103
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
generator emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social
Cost of Carbon (SCC) end end if q < Line postM_Total_GenEmis_Cost(y,q+OG+LN+1) =
sum(GEmis_Cost)*T; %% Total emission cost of all generatrors
after 0%/50%/100% maintenance,$ else if q > Line postM_Total_GenEmis_Cost(y,q-1+OG+LN+1) =
sum(GEmis_Cost)*T; end end for n = 1:LN if mpc.branch(n,11) == 0 LineAU(n,1) = Line_AU(n,2); else LineAU(n,1) = Line_AU(n,1); end end for m = 1:OG GenAU(m,1) = Gen_AU(m,1); end if q < Line postLM_Prob(q+OG+LN+1,y) = prod(GenAU) * prod(LineAU); else if q > Line postLM_Prob(q-1+OG+LN+1,y) = prod(GenAU) * prod(LineAU); end end mpc = loadcase('Jia_case14R'); end end for p = 1:OG % [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); % for k = 1:OG % mpc.gen(k,9) = gen(k,2); % end
104
mpc.branch(Line,11) = 0; mpc.gen(p,8) = 0; [baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(mpc); postLM_f(y,p+2*LN+OG) = f; L_State2(p+2*LN+OG,y) = success; postLM_ENS(y,p+2*LN+OG) = sum(gen(OG+1:NG,2)); postLM_V(1:BN,p+2*LN+OG) = bus(1:BN,8); postLM_Gloading(1:OG,p+2*LN+OG)= gen(1:OG,2); for n = 1:LN if branch(n,14) > 0 postLM_Lloading(n,p+2*LN+OG) = branch(n,14); else postLM_Lloading(n,p+2*LN+OG) = branch(n,16); end end for m = 1:OG if mpc.gencost(m,5) ~= 0.01 GEmis_Cost(m,1) =
gen(m,2)*10^3*8370*10^(-6)*117*0.45359237*10^(-3)*38; %% Gas generator
emission cost (mainly CO2), ton/h*$/ton=$/h, 38$/ton is Social Cost of
postLM_Prob(1:2*(OG+LN),y))/Tot_postLM_Prob(y,1); end %% For calculation of maintenance cost for 0%, 50% and 100% maintenance
for Gen for y = 1:3 if y ==1 %% 0% maintenance, 0 weeks GenM_Cost(y,1) = 0; %% $/repair else if y == 2 %% 50% maintenance, 2 weeks GenM_Cost(y,1) = 973*0.1*10^3*mpc.gen(Gen,9)*0.5; %% assume
Gen is a Gas generator with the capital cost of 973 $/kW else %% 50% maintenance, 4 weeks GenM_Cost(y,1) = 973*0.1*10^3*mpc.gen(Gen,9)*1; %% assume
Gen is a Gas generator with the capital cost of 973 $/kW end end end %% For calculation of maintenance cost for 0%, 50% and 100% maintenance
for Line
106
for y = 1:3 if y ==1 LineM_Cost(y,1) = 0; %% $/repair else if y == 2 LineM_Cost(y,1) = 20*10^6*0.5; %% Line with the highest SRI (L14,
connected to B7 and B8) in this calculation has a voltage level of 130kV
and its maintenance cost is roughly 20 M$/repair else LineM_Cost(y,1) = 20*10^6*1; end end end % %% Total Cost for carrying out different levels of maintenance on Gen
and Line (highest SRI) Tot_Gen_Cost = Tot_GenInterOpera_Cost + postGenMInterOpera_Cost +