Smart Grid Optimization for Engineers
Smart Grid Optimization for Engineers
Rabab Haider
B.Sc. University of Toronto (2018)
C ertified by ...... L(
Signature
. . . . . . . . . .......
redacted ........ . .
.
Anuradha M. Annaswamy
Senior Research Scientist,(1j e f Mechanical Engineering
Signature redacted-Thesis Supervisor
LIBRARIES
77 Massachusetts Avenue
Cambridge, MA 02139
MITLibranes http://Iibraries.mit.edu/ask
DISCLAIMER NOTICE
Due to the condition of the original material, there are unavoidable
flaws in this reproduction. We have made every effort possible to
provide you with the best copy available.
Thank you.
Abstract
Modern active distribution grids are characterized by the increasing penetration of
distributed energy resources (DERs). The proper coordination and scheduling of a
large numbers of these DERs can only be achieved at the nexus of new technological
approaches and policies, primarily distributed computation and transactive energy.
Transactive energy is a control mechanism which uses economic incentives, such as
time-of-use or real-time electricity prices, to influence the behaviour of independent
agents (i.e. DERs in the grid) as needed by the grid operator. This thesis tackles
the problem of DER coordination by considering the role of distributed optimization
algorithms in solving the optimal power flow (OPF) problem, when a large number of
small scale DERs are present. The OPF problem minimizes costs to operate the grid,
while subject to network constraints. The distributed implementation makes large-
scale problems computationally tractable, while also maintaining privacy of local
information. First, we utilize a new convex formulation of the power grid based
on current injection (CI) and McCormick Envelopes, to model distribution grids of
meshed topology and unbalanced structure. The OPF problem is then solved for such
grid structures, using the distributed proximal atomic coordination (PAC) algorithm,
which has several advantages over other distributed algorithms. These advantages
include reduced network communication requirements, reduced local computational
effort, and improved privacy. The DER coordination problem is then extended to
consider storage devices. This requires a multi-period OPF formulation, which is also
solved using the PAC algorithm. Results from active configurations of the IEEE 123-
bus network corroborate the need for a multi-period optimization approach under high
penetration of renewable resources. Finally, we propose a retail market mechanism
which can be viewed as a transactive energy scheme within the distribution grid.
Through the retail market, DERs are optimally scheduled in an energy market, and
leveraged in alert system cases in an ancillary services market. The transactions of the
energy market are carried out at each primacy feeder through bilateral agreements
3
between the Distribution System Operator (DSO) and agents representing DERs
at feeder buses, leveraging the PAC algorithm. These interactions determine the
optimal real-time resource schedules and distributed Locational Marginal Price. The
PAC algorithm and proposed market are extensively validated on a real distribution
grid in Tokyo, a balanced IEEE 123-bus distribution grid, and a three feeder model
using the IEEE 13-bus. The energy market is shown to result in an overall increase
in revenue for the DSO.
4
Acknowledgments
To all those countless people, experiences, and mishaps which have made it possible
To my advisor for her words of wisdom, and reminders that research is the pro-
get me through.
5
6
Contents
1 Introduction 19
.
2 Background 27
.
2.1.1 Fundamentals of Electric Power . . . . . . . . . . . . . . . . 28
.
2.1.2 Electric Power Grid . . . . . . . . . . . . . . . . . . . . . . . 32
.
2.2 State of the Power System . . . . . . . . . . . . . . . . . . . . . . . 42
.
2.2.1 Challenges with DERs . . . . . . . . . . . . . . . . . . . . . 43
.
2.2.2 Paradigm Shift: Centralized to Decentralized . . . . . . . . . 43
.
2.3 Optimization Theory . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.3.1 D uality .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 45
2.3.2 Optimality Conditions . . . . . . . . . . . . . . . . . . . . . 46
.
7
3.4.1 Atomic Decomposition . . . . . . . . . . . . . 64
.
3.4.2 Statement of the PAC Algorithm . . . . . . . 66
.
3.4.3 Distributed Optimization with CI Model . . . 67
.
3.5 Reformulation of CI Model . . . . . . . . . . . . . . . . . . . . . . . 71
.
3.5.1 Source of Ill-Conditioning and Reformulation. . . . . . . . . 72
.
3.5.2 Analysis of System Condition Number . . . . . . . . . . . . 75
.
3.5.3 Eigenvalue analysis of Coordination Constraints . . . . . . . . 78
3.5.4 Eigenvalue analysis of Equality Constraints . . . . . . . . . . 82
.
3.6 Comparison with Branch Flow . . . . . . . . . . . . . . . . . . . . . 86
.
3.6.1 Qualitative Discussion on Simulation Results . . . . . . . . 89
.
3.6.2 Quantitative Discussion on Simulation Results . . . . . . . . 93
3.6.3 Additional Simulation Result . . . . . . . . . . . . . . . . . . 96
.
4.2 Application to Distribution Grid . . . . . . . . . . . . . . . . . . . . 103
.
4.2.1 Demand Response . . . . . . . . . . . . . . . . . . . . . . . 104
.
4.2.2 Distributed Generators . . . . . . . . . . . . . . . . . . . . . 105
.
4.2.3 Generator Capability Curves . . . . . . . . . . . . . . . . . . 106
.
4.2.4 Storage System Modeling . . . . . . . . . . . . . . . . . . . 107
.
8
4.3.2 Case 2: Understanding the need for Storage . . . . . . . . . . 121
6 Conclusions 171
9
B Case Study Data 183
B.1 Network 3 Node ...................... 183
B.1.1 Load and DER Configuration 1 ......... 184
B.2 Network IEEE 13 Node . . . . . . . . . . . . . . . . . 185
.
B.2.1 Default Configuration . . . . . . . . . . . . . 185
.
B.2.2 Balanced Configuration . . . . . . . . . . . . . 191
.
B.2.3 Configuration for Ancillary Market Simulations 192
B.3 Network IEEE 123 Node . . . . . . . . . . . . . . . . 195
.
B.3.1 Default Configuration . . . . . . . . . . . . . 195
.
B.3.2 Configuration for Energy Market Simulations 197
B.4 Network JST-CREST 126 Node . . . . . . . . . . . . 199
.
B.5 Electricity LMP Data . . . . . . . . . . . . . . . . . . 201
.
B.6 Electricity Demand Data . . . . . . . . . . . . . . . . 203
.
B.7 Renewable Generation Forecasts . . . . . . . . . . . . 205
.
B.7.1 Small scale distributed residential PV . . . . . 205
.
B.7.2 Large scale distributed residential PV . . . . . 207
B.7.3 Distributed commercial PV . . . . . . . . . . .
. 209
B.7.4 W ind Farm . . . . . . . . . . . . . . . . . . . 211
.
10
List of Figures
distribution systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
respectively. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2-7 Graphic of the interface between the transmission network and distri-
2-8 Image of nonconvex and convex surfaces, left and right respectively.
Local/global minima are indicated with yellow stars, and the initial
11
2-9 Image of convex (left) and nonconvex (right) sets. . . . . . . . . .. . 5
52
3-3 Pictorial description of the atomization, and the use of variable copies
time-period specific updates must be run each time the PAC algorithm
3-5 Convergence results for the IEEE 13 node network, modified to have
D E R s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3-6 Convergence results for the IEEE 13 node network, modified to have
3-7 Convergence results for the IEEE 123 node network with the modified
C I m odel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3-9 Convergence results for the IEEE 13-bus network, under balanced con-
3-10 Convergence results for the IEEE 13-bus network, under balanced con-
3-11 Convergence results for the IEEE 13-bus network, zoomed in on the
first 100 iterations to show the behaviour of the algorithm per each
m odel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3-12 Convergence results for the IEEE 13-bus network, zoomed in on the
first 100 iterations to show the behaviour of the algorithm per each
m odel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
12
3-13 Convergence results for the IEEE 13-bus network, under balanced con-
param eters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3-14 Convergence results for the IEEE 13-bus network, under balanced con-
ditions, for the CI model, with higher weight for the electrical losses
term , ( = 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
are also shown, giving the curve a more complex shape. For the simple
power factor bounds we are considering, the curve will take on a smooth
circular shape for each quadrant of operation. Recall that Pj > 0 for
4-7 Simulation results over 24hr period for the 13-bus network with high
DR capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4-8 Simulation results over 24hr period for the 13-bus network with high
4-9 Simulation results over 24hr period for the 13-bus network with DR
4-10 Simulation results over 24hr period for the 13-bus network with DR
4-11 Simulation results over 24hr period for the 13-bus network with DR
4-12 Simulation results over 24hr period for the 13-bus network with DR
13
4-13 Simulation results over 24hr period for the 13-bus network with DR
4-14 Simulation results over 24hr period for the 123-bus network with in-
5-1 Graphic showing the wholesale electric power markets in the US. The
5-2 Graphic showing the retail electric power markets in the US. The
5-4 Typical timeline for planning and operations within the US electricity
5-5 Data from PJM for the DY 2018/2019, for DERs participating as DR [4].140
5-7 Plot showing the variability in renewable energy production over a day
retail price. Further, fixed prices can't leverage the flexibility of DERs. 142
5-9 A market structure in the form of a retail market within the distribu-
tion grid is necessary to best utilize the DERs within the network. . . 143
14
5-13 Flowchart of the computational process. The PAC algorithm decom-
time-period specific updates must be run each time the PAC algorithm
is run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
distribution grid are served by the main grid, the blue graph to the
scenario with the fixed P-LMP and the red graph to the scenario with
5-18 The projected savings from the proposed retail market over a 24-hour
period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5-19 The projected savings from the proposed retail market over a 24-hour
period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
show the nodes B. The red, blue and green filled circles indicate loads,
B-2 Demand profile taken from the system-wide demand for ISO-NE. . . 201
B-3 Demand profile taken from the system-wide demand for ISO-NE. . . 203
15
B-6 Solar PV generation profile for distributed commercial resource, ob-
tained from NREL's SAM tool. . . . . . . . . . . . . . . . . . . . . . 209
B-7 Wind generation profile for wind farm, obtained from NREL's SAM tool.211
16
List of Tables
3.1 Parameters for PAC algorithm for the Active IEEE 13 node network,
3.2 Parameters for PAC algorithm for the Active IEEE 13 node network,
3.4 Comparison of the CI and BF model when using the distributed PAC
algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.5 Comparison of the CI and BF model when using the distributed PAC
algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.2 PAC Computational Time. All times measured in seconds, (s). . . . . 161
5.3 Weighted average cost of using DGs or DRs for each feeder . . . . . . 170
17
B.7 Distributed energy resources (DERs) for active configuration. Gener-
B.17 Base values and simulation parameters for IEEE 123 . . . . . . . . . 198
B.18 Base values and simulation parameters for J-CREST 126 . . . . . . . 200
B.19 Line and load node data for J-CREST 126 . . . . . . . . . . . . . . . 200
B.20 Generation node data for JST-CREST 126 . . . . . . . . . . . . . . . 200
B.21 Hourly electricity prices from the real-time WEM for ISO-NE. . . . . 202
B.22 Hourly demand coefficient taken from the system-wide demand for
ISO -N E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
B.23 Generation profile for a 3.85kW distributed residential solar PV resource206
source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
18
Chapter 1
Introduction
19
DR provides necessary load-side flexibility under the new paradigm of uncontrollable
2
generation
Distributed Solar
Smart inverters will enable voltVAR support, curtailment and ramping
Figure 1-1: Breakdown of behind-the-meter DER potential in the US, for 2017, as
measured by GTM Research and Department of Energy [1].
-o 120 104
E 100
80
0.40 (D 60 46.
.0 40
2 0
6L20
FiE 0--mu
2017 2018 2019 2020 2021 2022 2023
* Distributed Solar n CHP n Resi Smart Thermostats
* Electric Vehicles a Distributed Storage
20
typically located behind-the-meter, and as such are not visible to or accessible by
control authorities. Most small-scale renewable resources are solar PV: these are
highly variable resources whose output are entirely dependent on weather and cloud
cover. Accurate long-term solar forecasting is an open area of research - even 24hr
advance forecasting has high error margins. Another challenge comes in forecasting
demand, where net metering and EV charging can change consumer behaviour pat-
terns. Historical data which is currently (and successfully) used by grid operators to
autonomy. Many distribution grid DERs such as small-scale storage and DGs are
owned by small businesses in the distribution grid, which may prefer to retain opera-
tional control over the resources. These resource owners should then have the option
to behave on an opt-in basis, rather than being required to cede control to and share
The optimization problem (optimal power flow, OPF) which is needed to effi-
ciently schedule such a large number of resources (i.e. when and how each DER is
being utilized), which are all owned by different independent agents, is a compu-
solved by transmission grid operators and in the wholesale electricity market (WEM).
The transmission level OPF is concerned primarily with large-scale transmission level
resources, and determines their dispatch and scheduling decisions, along with the
electricity prices at every node in the transmission network (termed the locational
marginal prices, LMPs). In general, the OPF problem determines the desired set
point of resources constrained by power flow physics, grid limits, and meeting elec-
tricity demand, all subject to minimizing the cost of operating the grid. These OPF
regions, and may have complicated objective functions. The computational chal-
3
Note that many smart home appliances can be remotely controlled, such as smart thermostats or
refrigeration units. These resources are often aggregated within a residential building or unit. Access
is given to a central authority (like a utility), which can then adjust set points in the building based
on power generation and demand across the network. This is another form of demand response, but
is not the key focus of this thesis.
21
lenges are further increased when considering integer variables representing on-off
Compared to the transmission grid, however, the OPF formulation for the distri-
bution grid is more complex. An active distribution grid with high DER penetration
will have many more resources, decision variables, and little to no large controllable
resources. In addition, the physical structure of the distribution grid varies greatly
from the transmission system: distribution grids can have both radial and meshed
topologies and are highly unbalanced electrical systems, while the transmission grid
power flow models such as the popular Branch Flow (BF) model [5-71 unsuitable for
OPF formulations for the distribution grid 181; as such, new power flow models are
required.
mission level and locally within distribution grids) motivates the need for demand-side
management (such as DR) and storage. Storage can include large grid-scale batteries
which are typically owned and/or operated by utilities, small-scale batteries on-site
storage devices introduce new complexity to the OPF problem: there are constraints
coupled in time from the storage state of charge. Discharging a storage unit in one
period leaves less charged capacity for a future period. This requires the need for
multi-period optimization, to account for the impact current actions have on future
capabilities, and increases the size of the already large-scale optimization problem.
their flexibility, while also maintaining privacy and autonomy of DERs. This au-
control. The concept of transactive energy uses a service-based value of power gener-
DERs) at fast timescales [9, 10]. Price signals are used as the control signal. Agents
are compensated for the services they provide to the grid based on appropriately de-
signed market derivates. This "appropriate" design takes the form of a retail market
22
structure which behaves much like the WEM, but within the distribution grid. The
challenge here is to solve OPF problems in the distribution grid for resource schedul-
The large-scale nature of the OPF problem applied to the distribution grid would
tion problems tractable, various distributed optimization approaches have been devel-
oped, including many that employ distributed alternating direction method of multi-
pliers (ADMM) [5,6,11-19] and proximal atomic coordination (PAC) [20,21]. These
three key ideas. First, they properly allocate the computational burden of optimiz-
ing the problem's variables amongst different processing units. This can be different
processing units housed at the same facility, or units in different geographic loca-
tions which are also owned by different parties; we refer to these parties are "agents".
vergence. Third, they ensure that all agents agree on coupling variables so that the
distributed solution matches the original centralized solution, and a common objec-
5
tive is reached. To achieve agreement, agents must (at a minimum) communicate
with its' peers/neighbours. Ideally, a distributed algorithm should minimize the data
rely primarily on local computations at each node and peer-to-peer (P2P) exchange
tion of agents, while still realizing global objectives and meeting global constraints.
Indeed, distributed methods that are able to accomplish the above goals are highly
useful tools for solving optimization problems in various engineering and data science
4which are the best understood and most widely implemented class of optimization solvers
5
This is the objective function of the central optimization problem.
6
Especially compared to central methods which require all agents to send data to a central
entity,
which then solves a huge optimization problem.
23
problems. Further discussion of distributed optimization, and in particular the PAC
be distributed across the DERs, which are assumed to be independent agents with
computational capabilities 7. Private information for DERs can include the objective
be paid to or by the DER), and we desire for these to remain private. The PAC
algorithm has been applied to the OPF problem for radial balanced networks in [201,
to the OPF problem for meshed unbalanced networks in [8] (contributions by this
author, further discussed in Chapter 3), to the multi-period OPF problem (further
discussed in Chapter 4), and for coordinating a retail market in [22] (by this author,
further discussed in Chapter 5). A discussion on privacy of the PAC algorithm in the
when considering the optimal coordination of these resources. The three pillars of this
problem are: the high dimensionality of the OPF problem; the coupling constraints
introduced by storage devices; and the coordination of devices from independent
as a transactive energy scheme. These are the main contributions of this thesis. The
Optimal Power Flow for Meshed and Unbalanced Grids: Solutions with
relaxation of the OPF problem, based on current injection (CI) and McCormick
Envelopes (MCE), which can model meshed and unbalanced distribution grids. An
7
This is an assumption made for simplicity. It is not a requirement from the design of the
algorithm, nor the specific problem of distribution grid optimization.
24
eigenvalue analysis of the CI model and a proposed reformulation is carried out to
show how modelling decisions influence the applicability of distributed computation,
performance of the PAC when using the CI model is compared to that of the Branch
Flow (BF) model, which is a popular OPF formulation, but is applicable only to
tion Grids. The CI formulation of the OPF problem and the PAC algorithm are
extended to include decision variables with state retention, which require multi-period
optimization. Distributed computation is once again a tool used to tackle the large
scale problem of resource scheduling when there are many independent participating
agents within the distribution grid. This multi-period extension enables storage to
Market for Smart Distribution Grids. A novel retail market mechanism for
distribution grids under high penetration of DERs is proposed, where decisions are
carried out by a Distribution System Operator (DSO). The DSO oversees two markets:
(1) an energy market for DER scheduling and real-time market settlements (d-LMP)
through bilateral contracts; and (2) an ancillary market which oversees transactions
for alert conditions between primary feeders in the distribution network. The DSO
acts like a proactive utility, in that it accepts the LMP as traditionally determined
by the WEM, but optimally uses DERs within the distribution network, and only
requests service from the WEM for net loads beyond its DER capabilities. The
proposed market structure is numerically verified, showing potential savings for the
The rest of the thesis is organized as follows. Chapter 2 introduces necessary back-
this thesis, including an introduction to power physics, the changing distribution grid,
and optimization theory. Chapter 3 introduces the CI model and the PAC algorithm,
applies the distributed computation to the OPF problem, and makes computational
25
comparisons between the CI model and BF model. Chapter 4 discusses the extension
of the PAC algorithm to multi-period optimization, introduces models for DERs, and
presents simulation results for an active configuration of the IEEE 123-bus network.
ity markets, then introduces the proposed DSO-centric retail market with validation
metrics and simulation results on three different test networks. Finally, conclusions
26
Chapter 2
Background
the material in the thesis. Key nomenclature, notation, and terminology used through-
out the thesis will be introduced. An overview of electric power systems, the changing
The electric power system is a large, highly complex dynamic system operating over
varying spatial and temporal scales. Power systems describes the interconnected
subnetworks of generation, transmission, and distribution. Generation has typically
been comprised of larger, centralized units such as coal and gas-fired power plants,
nuclear plants, and hydroelectric plants. Once power has been generated 1, it is carried
across the transmission system, which consists of high voltage AC lines. Through a
series of primary and secondary substations, the electrical power is stepped down to
lower voltages in the distribution network, which then supply end loads. A more
complete discussion of the transmission and distribution networks will follow in a
subsequent subsection.
'We engineers use this term loosely, as energy cannot be in fact created nor destroyed. Rather,
more appropriate terminology would be "energy has been converted from chemical or thermal energy
to electrical energy".
27
2.1.1 Fundamentals of Electric Power
The basic power physics variables are current, I, and voltage, V. Loosely speaking,
these variables measure the flow of charge, and the difference in electrical potential
energy, respectively. In an ideal world where all elements are lossless, the voltage drop
across a section of wire would be zero. However, when considering realistic systems,
and frankly interesting problems, losses in the form of voltage drop or changes across
" Resistance, R, measured in Ohms [Q]. Voltage drop over an element or segment
" Inductance, L, measured in Henrys [H]. Change of voltage w.r.t. magnetic field
By way of the Fourier Transform and using complex numbers, a simpler representation
of these elements can be obtained, where w = 27rf, and f is the signal frequency, and
R ->R
L - jwL
1 j
Every electrical system can be described using these three elements. More precisely,
28
Thus the electrical relationship can be simplified to
By introducing reactance into our model, both voltage and current also take on com-
plex values. When dealing with complex numbers, there are three equivalent no-
tations: the rectangular, polar, and exponential forms. Polar form is often called
phasor notation when studying electrical systems. The exponential form is derived
These representations can be used interchangeably, although the ease with which the
complex variables can then be manipulated depends on the application. While they
are all equivalent, the polar and exponential forms provide some key insights. For a
purely resistive network (X = 0), angles will be zero; for a purely reactive network
(R = 0), angles will be 900. Thus for a network with both resistive and reactive
components, the angle will depend on the ratio of these elements. Further, the angle
of the current, #, and the voltage, 0, are related to one another by the ratio of the
resistance and reactance in the network. We will revisit this after discussing electrical
With knowledge of current and voltages in our network, one can calculate the
power drop across elements. When considering a circuit with reactive components,
the resulting power is complex (known as apparent power, S), with real and reactive
29
parts, denoted by P and Q respectively:
S = V(t)I(t)* (2.3)
IV(t)1 2 (2.4)
S= -
Z*
S = P + jQ (2.5)
where 1 9 |* indicates the complex conjugate. The real and reactive powers can also
be expressed as functions of the complex power and the power angle, as below:
P = ISIcos O (2.6)
Q= |Sjsin6 (2.7)
The concept of real and reactive power extends beyond being a mathematical
construct. In the most fundamental sense, real power P is the power used to do
actual work (dissipated by the load). Reactive power Q represents energy exchange
between reactive loads and parasitic elements (such as inductors and capacitors), and
does not contribute to work done. This "sloshing" back and forth of power increases
the overall current flowing in a circuit without contributing to any work, resulting in
increased thermal losses due to power line resistance. The power dissipated over an
element (or a segment of wire) is calculated as
p, = I2 R (2.8)
voltage lines are used, as halving the current (equivalently doubling the voltage)
results in a quarter of the losses due to the lines resistance. However, since loads are
typically 120/240 V, transformers are needed to step up voltages for transmission, and
step down voltages for distribution. A basic transformer consists of an ferromagnetic
core which can sustain a magnetic flux, and two sets of coils wrapped around either
side - a primary coil with Npri loops and a secondary coil with Nse loops. Transformers
30
make use of Ampere's Law, where a time-varying current induces a time-varying
magnetic field, and Faraday's Law of Induction, where a time-varying magnetic field
power system is built on alternating current (AC), rather than direct current (DC)
which is not time-varying. AC current typically follows a sinusoidal waveform, though
some specific applications may require a square or triangular waveform. Since power
is a product of the voltage and current, both of which are time-varying signals, the
power transfer is dependent on the phase angle between the two signals. Referring
back to the discussion on phasors, the difference in angle, 6 = ' - <, describes the
quality of power transfer. This is denoted as the power factor, pf:
P
pf = cos9 =1 (2.10)
A high power factor (close to 1) is preferred. Comparing two loads which draw the
same current at the same voltage, but have different power factors, the load with the
lower pf will have less useful power transferred - namely, Powpf < Phighpf. This means
there are more resistive losses due to the higher current, for less work being done.
Power factor correction is frequently employed using power electronics to increase the
power factor of a load, and thereby improve the efficiency of the distribution system.
Note a negative power factor implies the device is generating power - and similarly,
Within a given circuit, the currents and voltages can be determined based on the
31
generation and load at the different nodes. The two fundamental laws, Kirchhoff's
Current and Voltage Laws (KCL and KVL respectively) relate conservation of charge
a node (E In = T, I), while KVL dictates that the algebraic sum of voltage drops
around a loop equals zero (Z V = 0). These two laws, along with the definitions of
power and losses over elements, fully describe the power flow throughout a circuit or
electric grid.
The traditional electric grid is composed of three main sections: generation, transmis-
sion, and distribution, see Fig. 2-1. Generation has typically comprised of centralized
large-scale powerplants, including coal or gas fired plants, nuclear, and/or hydro, lo-
cated far from loads. The transmission grid consists of the necessary transformers,
substations, and high-voltage power lines which transport the electricity from gen-
eration centers to load centers. Finally, the transmission grid is connected to the
bution grid distributes the power to various loads, including industrial facilities, and
grid. However, to appreciate some of the more nuanced details, some background on
transmission line modeling and the differences between transmission and distribution
systems is warranted.
resistive losses, can be gained by using high voltage lines. However, this does not
32
Subtransmission
Customer
Transmission Lines
26kV and 69kV
765, 500, 345, 230, and 138 kV
f JAI
I I
I I 4 K. I I
Figure 2-1: Traditional Electric Power Grid, showing generation, transmission, and
distribution systems.
motivate why three-phase power is used within the power grid. To understand this,
we consider the cases of single phase and polyphase (specifically two and three phase)
power. We first recall that AC voltages and currents are of sinusoidal nature:
" Two Phases: Consider an AC voltage source supplying loads with two phases.
We have two cases:
- "Split Phase": The two phases are 1800 apart. This lends itself to zero
return current (Ia + Ib = 0). However, the total instantaneous power
33
delivered to the load is non-constant.
- "Two Phase": The two phases are 900 apart. This lends itself to constant
instantaneous power delivered. However, there is non-zero return current
(1a + lb # 0).
For these reasons (constant power delivery and zero return current), the power
system uses three phase power.
A fundamental part of modeling the power system is to model the electrical lines.
Consider a single power line, carrying a single phase of current. There will be elec-
trical resistances and inductances along the length of the line, due to the conductor's
electrical and electromagnetic properties. Additionally, the electromagnetic interac-
tions with the physical ground (i.e. Earth's surface) can be modeled as a capacitor,
34
T 2 Li1
Vt C C, Vi3 i Zrzr V
ZT Vtov
Vi 0-ZT Vi
as the charge imbalance between the wire and ground can be roughly imagined as two
capacitor plates with air as the dielectric medium. Although these impedances occur
over the entire power line, they can be approximated with lumped parameters, which
describe the entire line with a single resistor, inductor, and capacitor between nodes
i and Fig. 2-2a. For analysis, often approximations of this model are
j, as shown in
used to simplify the mathematics, lending to transmission line models in Fig. 2-2b
and Fig. 2-2c.
The simplest case as shown in Fig. 2-2d is often used to model short lines, which
considers the self-impedance (Z = R+jX) which is the wire's own resistance, R, and
inductance, X = wL. However, in three phase power systems, the three conducting
wires are in close proximity to one another, lending itself to electromagnetic interfer-
ence. This is captured as line-to-line impedances, as shown in Fig. 2-3. For the three
phase line, phases a, b and c, the matrix form of Ohm's law (Vbc = ZIa&c) can be
35
Ia I
+ Ib +b
C DC
Vagt bizc
Vbgi bgj 1-
written as
where Z., are the self impedance and Z,, are the mutual impedances between phases
x and y. Note that for a single or two phase line, the missing line(s) will have zero
entries in the impedance matrix.
With three phase lines and the corresponding line models introduced, the concept of
balanced and unbalanced systems can be discussed. We begin by introducing some
basic concepts, then discussing their implications on modeling transmission and dis-
tribution grids.
Definitions In a balanced system, each phases' line will have identical electrical prop-
erties. Specifically, between node i and j, the impedance of each line is the same. In
this case, when a balanced voltage is applied to each phase (same magnitude, just
shifted by 1200) and the loads are the same, the current drawn will also be balanced
(same magnitude, each shifted by 1200). In an unbalanced system, the electrical prop-
erties of the lines will be different. In this system, when a balanced voltage is applied
and the loads are the same, the current magnitudes along each phase will be different,
36
c B
C
At B
B/ C
and the phase shift between the voltage and currents of each phase (9 = 4 - #) will
also be different.
Sequence Domain Until now, the polyphase AC voltages and currents have been de-
noted by their phases, which for three phase systems are each 1200 (equivalently 27r/3)
apart. This is known as the phase domain. An equivalent representation is in the
three sets of independent components: positive, negative, and zero sequences. The
positive sequence is when phasors are 1200 apart with a clockwise rotation. The neg-
ative sequence is when phasors are 1200 apart with a counterclockwise rotation. The
zero sequence is composed of phasors which are equal in magnitude and phase (colin-
ear phasors). The sequence domain is shown in Fig. 2-4. The sequence domain will be
denoted with subscript [0 + -], denoting the zero, positive, and negative sequences
respectively.
only a non-zero positive sequence component. An unbalanced system will also have a
Fig. 2-5. Note in the balanced network, the three voltages are simply colinear vectors,
while the negative and zero sequence vectors are zero. In the unbalanced case, there
are non-zero negative and zero sequence components. The 'a' multiplicative factor in
the diagram is a rotational operator, and will be discussed in the next section which
37
-4
N, VC
A
'VI V" VC A
V,
,
".
3V a
V,
X Is xI
Ic
Figure 2-5: Examples showing decomposition of three-phase balanced (left) and un-
balanced (right) systems, using sequence components. Here, the positive, negative,
and zero sequence components are labeled as 1, 2, and 0 respectively.
ogy of working with the sequence domain in 1913, every three-phase system can be
cast into sequence domain. The conversion from phase domain ([Zac]) to sequence
domain ([Zo+_]) is done through the Fortescue Transformation T, and is applicable
1 1 1 1 1 1
T= 1 a2 a and T-1 = a 2 (2.24)
3
1a a2] 1 2 a_
Using Symmetrical Components The sequence domain is used when studying elec-
trical faults. The calculated sequence components are used as data inputs to pro-
tective relays, which act to minimize the impact of the outage, which could entail
islanding part of the grid. The sequence domain can also be used to understand the
degree of imbalance in a network - if the negative and zero sequence components are
large, the network has a high degree of imbalance. Symmetrical components can also
make analysis of balanced networks much simpler. Balanced networks are created
by transposing the cables, which is when the position of the cables relative to each
other are swapped in intervals, as in Fig. 2-6. By twisting the cables in this way,
38
the mutual impedances between the phases are equal, Zab = Zbc = Zac. The self and
mutual impedances for a transposed cable can be easily calculated, and the balanced
impedance is as below:
1
Zs = -(Zaa + Zbb + Zcc) (2.25)
3
1
ZM = -( Zab + Zc + Zac) (2.26)
3
Z Z Z
[Zbalanced] = Zm ZS Zm (2.27)
ZM ZM ZS
For transposed networks, the off-diagonals which describe the mutual coupling are
zero. The balanced impedance matrix in sequence domain is then
Zoo 0 0
(2.29)
[Z[0+1]] 0 Z++ 0
0 0 Z__
where:
Z 0 0 =Zs+2Zm (2.30)
Z++=Z__=Z+Zm (2.31)
Thus in the sequence domain, the three components are decoupled and can be repre-
sented with separate line diagrams. This decoupling makes the analysis much simpler,
as each circuit can be analyzed separately, and the final phase domain result deter-
39
a
Transmission Grids
The transmission grid isn't the primary focus of this work, but should be briefly dis-
cussed to highlight the challenges in modeling the distribution grid. Since the primary
purpose of the transmission system is to transport electricity over large distances, the
minimization of losses is a key concern. As such, the cables are designed to have very
low impedances resulting in low R/X ratios. The cables are transposed to minimize
mutual impedance losses. These design features result in networks with little or no
unbalances, and small difference in voltage angles between nodes.
Distribution Grid
The distribution grid handles power delivery to customers, including industrial facili-
ties, large buildings, and small-scale residential units. The distribution grid is broken
down into the primary lines and the secondary lines. The high voltage transmission
line systems arrive at a substation, which steps down the voltage for the primary feed-
ers of the distribution grid. A single substation is typically serviced by at least two
transmission lines, and can feed anywhere between three to 30 primary distribution
feeders. The primary feeders are typically still three-phase lines, and deliver power
to large industrial loads, large office buildings, and can have DERs such as large PV
arrays, wind turbines, and utility-scale storage units connected. In addition to these
loads, a primary feeder will also connect to distribution transformers which service
the secondary feeders. There can be over 100 secondary feeders for each primary
40
Substation
Prirnary lines
3#, 4-35 kV
Distribution
Distribution Transformer
25-50 kVA
Madmum Wt.g3e80 kv) HighVlage(..11lV) M Medium Volage (10 .. ) . v L tow Vt (40V)
Figure 2-7: Graphic of the interface between the transmission network and distri-
bution network, with details pertaining to the primary and secondary feeders in the
distribution network
feeder. These secondary feeders are typically one- or two-phase lines, and consist of
very short lines at 120/240 V. The secondary feeders service neighbourhoods and res-
idential units. The DERs in the secondary feeder are typically rooftop solar PV and
electric vehicles (EVs). Figure 2-7 shows this topology, and the connection between
the transmission and distribution grids.
The primary feeders are classified as medium voltage lines (between 1-35 kV), and
are often organized in a mesh topology. The redundancy in meshed networks allows
for increased reliability, as alternate paths for electricity flow are available in the event
of an outage. Critical loads, such as hospitals, police stations, and fire stations, are
typically connected to the primary feeder with backup substations, in case the primary
substation is damaged or inoperable. This, along with the meshed topology, ensures
critical loads are always serviced. Meshed networks are more expensive to build,
however, so most low voltage grids (secondary distribution lines) are radial topologies.
This means a single point of failure can take out the downstream branch in the grid,
and requires on-site repairs rather than rerouting through electronics or switches.
In North America, most distribution grids are radial topology, with the exception
of high-density urban areas, which enjoy meshed grids. Many European electricity
infrastructure enjoys meshed, looped, or tied-ring network structures, which are more
connective graph structures than radial networks. Meshed grids, however, are more
41
desirable due to increased resiliency and enabled bidirectional power transfer between
many nodes.
Since the distribution grid consists of lower voltage and shorter length lines, the
electrical impedances are typically higher than that of transmission lines - thus the
lines have a higher R/X ratio. Further, the distribution grid lines are not transposed,
and secondary feeders have many one- and two-phase lines, which connect residential
loads. These all contribute to a highly unbalanced distribution grid. Reactive power
support becomes more important in these grids, and are typically implemented as
power electronics and capacitor banks. These devices help minimize reactive power
in the grid, and improve the efficiency of power transfer. The unbalanced distribution
grid cannot be approximated as a balanced system, meaning the coupled three-phase
equations must be solved together.
From the above description, lets highlight the key points which motivate the work
presented in this thesis. The distribution grid:
2. is highly unbalanced, due to the impedances of the lines, and the presence of
single- and two-phase lines, and corresponding loads.
The section above introduced the fundamentals of electric power and the structure of
the power system, which have been present since the conception of a connected power
transmission and delivery system. Rather, the new challenges come from the increased
penetration of distributed energy resources, such as renewables and batteries.
42
2.2.1 Challenges with DERs
Within the transmission system, large-scale renewables such as wind and solar farms
have been integrated. While these resources are intermittent and uncontrollable, they
are large systems which can be operated directly by the load serving entity (LSE).
DERs in the distribution grid however, are small resources typically located behind
the meter where the LSEs and grid operators have little to no visibility. The penetra-
tion of these resources is increasing, including increased rooftop solar PV, storage and
batteries (which also include electric vehicles), and onsite nonrenewable generators
(such as controllable diesel generators). With more DERs in the distribution grid,
which has 100's of nodes on each secondary line, the number of devices which must
be controlled is very large. Finally, some residential units or small businesses may
have privacy concerns, meaning the LSE cannot (or perhaps should not) have direct
access to all information and control over the DERs. Thus the problems of visibility,
scale, and privacy are unique to DERs in the distribution grid. This, along with
requirement that supply meets demand in the power grid creates a rich and complex
Based on the challenges discussed above, much of the leading research and devel-
controllable with large scale powerplants and generators producing power in few point
locations. The grid operated by requiring that supply follow demand, and customers
paid flat rates for their electricity usage. However, with the increased penetration of
DERs, this paradigm no longer holds. First, renewables result in variable and uncon-
trollable supply. Thus enters the concept of demand-side management and demand
response, where both supply and demand are variable. This includes both direct
control over a load or using transactive energy schemes (such as time-of-use electric-
43
ity rates or real-time pricing) to influence consumer behaviour. This adds another
dimension to the overall problem - where the cost of compensating a customer for
changing their consumption as needed by the grid - must now be accounted for in the
optimization scheduling problem. With both distributed generation and demand re-
sponse spread within the distribution grid, resources are no longer large agglomerates
at point locations. These distributed resources can all provide important functions
to the grid operator; however, the grid operator cannot have direct control or full
knowledge of each of these resources as the coordination problem quickly gets out of
hand. Rather, these resources must be "smart". When equipped with computational
well as some shared information from neighbours and/or other nodes in the network.
Thus, the physical system and the operations both shift towards decentralized models,
control algorithms applied to electric power systems - the following terminology will
be used here:
agents.
44
2.3 Optimization Theory
We now shift the discussion to the mathematical formulation of the resource coordi-
nation problem. The concept of optimization is quite simple: find the minimum of
the minimum value of some curve within, say, a known box. The curve represents a
cost function. The box is represented by a set of equations. Extending this visual
in n-dimensions, the 'box' is now an n-dimensional surface with 'flat' surfaces; this is
called a polytope. The set of equations describing the boundaries are the constraints.
The function to be minimized is the objective. From these, an optimization problem
2.3.1 Duality
In the idea of duality, the constraints in the optimization problem are penalized by way
scalar A is used, whereby A -+ o when the constraint is not satisfied. Then for an
objective function of f(x) which we are trying to minimize, the Lagrangian is the fol-
lowing: L(x, A) = f(x)+ A(ax - b). Then the set of points which satisfy the feasibility
requirements can be found as J(x) = maxA £(x, A). However, what we really wanted
was to minimize the objective function (and also thereby the Lagrangian), so the
optimal solution would be for the following problem: min- maxA £(x, A). However,
the min-max problem is challenging to solve, but can be converted into a max-min
problem by simply reversing the order of operations. Then, the resulting maximiza-
tion problem of maxA mint £(x, A) = maxA g(A), where g(A) = minx C(x, A) is the
45
dual problem. The Lagrange multipliers A are also called the dual variables, and are
determined from the dual problem, as well as the optimality conditions discussed in
the next section. The dual problem gives the tightest upper bound for a minimiza-
tion problem (equivalently tightest lower bound for a maximization problem). For
the solution p* and d* as the optima for the primal and dual problems respectively,
Returning to the 2-dimensional case, consider a general curve which has some min-
imum and maximum points. From basic calculus principles, we know the slope of
the line describes the rate of change of the function, described by the first derivative
of the function, d. We know the derivative is zero when at an extreme point - this
includes both minima, maxima, and saddle points. To differentiate between these
points, we consider the curvature of the line, described by the second derivate of
the function, d. The simplest case is the saddle point, where the curvature of the
line does not change, thus m = 0. For a minimum point, the curvature is positive,
> 0, and for a maximum point, the curvature is negative, 4 < 0. Extending
to n-dimensions, the first and second derivates are the gradient and hessian of the
Gradient Hessian
II
2
-O _ 2 ° .2
.
Further, for a general curve, we also consider local and global extreme points.
A local minimum, x*, is defined as the minimum of the function within a ball of
some finite radius r: f(x*) < f(x) Vx E Br>o(x*). A global minimum extends
this definition to a ball of infinite radius, whereby f(x*) <= f(x) Vx E R'. We
46
will return to the notions of global and local optimality in the section on Convex
Optimization.
relations above may no long be valid within the feasible polytope. As such, new
relations are needed to determine optimality of a point. These are known as the
Karush-Kuhn-Tucker (KKT) optimality conditions, and are shown below in (2.35).
Here we take a geometric approach to reaching the KKT conditions, and introducing
the Lagrangian function (which is defined in (2.35a)). In order to do so, we need some
additional terminology and concepts around level sets, and make use of the gradient
vector.
VxL(x, y, A) = 0 (2.35b)
Ai > 0 (2.35e)
Level Sets
A level set, or contour of a function, is a set describing all points of function f(x)
where the function takes on a constant value c. Similarly a sub-level and supper-level
sets describe the inequality conditions, where the function takes on values less than
47
or greater than the constant c:
The gradient vector for any point on the level surface is perpendicular to the
surface. This falls simply from multivariable calculus, by looking at the dot product
of the gradient vector evaluated at a point on the surface, and a curve on the level
surface. Further, the gradient vector points in the direction of steepest ascent; thus
increase f(x).
Consider two functions, f(x) : R" -+ R and g(x) : R" -+ R, with level sets
{x E R" : f(x) = ci} and {x E Rn : g(x) = c2 }. Consider the point where these
two level sets intersect, in particular, where they are tangent to each other, at point
x*. At this point, the gradient vectors for the two functions (which are tangent
to the level sets) are perpendicular to each other. Thus, they can be related as
The equality constraints represent level sets. Points where these level sets are tangent
to the level sets of the function f(x) represent the minimum and maximum points. For
any other point where the constraint level set intersects with the level sets of f(x), the
negative gradient of f(x), -Vf(x) points in the direction of steepest descent, which
when followed, will eventually lead to another intersection point with the constraint
48
level sets. Thus, the tangency points indicate the maximum and minimum points.
From this, the necessary conditions for optimality can be written out, as in (2.41).
Note that these are no sufficient conditions, as these will give both minimum and
The equality constraints represent supper-level sets. In this problem, the uncon-
strained optimal point can exist outside (or on the boundary) of the the feasible
region, or lies within the feasible region. These two cases are similar to the equality
A, where the unconstrained optimal point lies outside of the feasible set, the extreme
point must lie on the boundary of the supper-level set. Thus, the extreme point
occurs at the tangent point between the two level sets, {x E R" : f(x) = ci} and
{x E R" : h(x) = c 2 , c 2 > 0}. More specifically, Vf(x) points in the same direc-
tion as Vg(x) as the steepest ascent directions will be the same - the unconstrained
minima lies outside of the feasible region, so the function is increasing in the same
space where function g(x) is increasing. In this case, the optimality conditions are the
same as with the equality constraints, with an additional constraint requiring A > 0,
to describe that both gradients point in the same direction. Thus for Case A, the
49
necessary conditions for optimality are described by (2.44).
A >0 (2.44d)
Considering Case B, the unconstrained minimum lies within the feasible region - the
unconstrained minimum is the same as the constrained minimum. We can then treat
first order condition that the gradient is zero. Recalling the level sets of the functions,
we then have no requirement on the two gradients being parallel. Thus for Case B,
A= 0 (2.45d)
Then combining the two cases, the necessary conditions for optimality in an inequality
A >0 (2.46d)
Ah(x) = 0 (2.46e)
50
5,
4 4
33
2 3
-0.5 -0.5
Figure 2-8: Image of nonconvex and convex surfaces, left and right respectively.
Local/global minima are indicated with yellow stars, and the initial started point for
the algorithm is indicated with yellow dots.
tion is a convex function and the feasible set is a convex set. In convex optimization,
there is a unique minimum, meaning there is only one minimum point which is both
local and global. This is unlike most nonlinear problems, where the function has many
local minima, and the point reached through and optimization algorithm is sensitive
to the initial condition. This is shown in Fig. 2-8, where the function on the right has
a global minimum which is guaranteed to be reached regardless of the starting point.
A convex set is a set in which the line connecting any two given points within the
set, is entirely within the set. Consider a convex set C, where Vx1 , x 2 E C, the linear
combination of these two points also lies within the set: Ox 1 + (1 - )x 2 E C, 9 E [0, 1],
A convex function f : R' -+ R is convex if the domain of f is a convex set and the
line connecting two points on the function lies above the function: f(6x 1 +(1-6)x 2) <
Of(x 1 ) + (1 - 6)f(x 2 ), VXi, x 2 E domf, 0 E [0, 1]. Note that the sum of two convex
51
I1
functions is also convex, and the negative of a convex function is a concave function.
Common convex functions include:
52
Chapter 3
The optimal power flow problem looks to find the operating levels for energy resources
so that supply meets demand, while minimizing some cost. Typically this problem is
solved by a central agent, such as a grid operator, which looks to minimize operating
costs of electric power plants and transmission costs, while ensuring that supply
equals demand. Note however, that the objective function need not be operating
costs - the objective could be to maintain voltages around desired setpoints (Volt-
The full AC formulation of the OPF problem is very challenging to solve. The
power flow equations are nonlinear and nonconvex functions which model the flow of
electricity throughout the network. Further, security constrained unit commitment
(SCUC) problems also use integer variables to help decide which generators will par-
are even more challenging to solve. To further complicate matters, real operation re-
quires the OPF problem to be solved for the full distribution system every 5 minutes,
53
to ensure demand is met. Because of these challenges, many different approaches to
solving OPF is taken. Many approaches look to linearize the power flow equations
assumption breaks down in the distribution grid where voltage angles are not close to
one another. Other approaches use heuristics to solve the OPF problem, and others
use assumptions which may result in results which are not physically implementable.
This problem is exacerbated in the distribution grid where the physics of the lines
prevent the DC approximations from being made. Further, there is an increasing pen-
etration of DERs including solar PV, storage devices such as batteries, and demand
response, which can all be utilized to provide services to the grid; however, the chal-
lenge of solving the OPF simply grows as the number of participating devices grows.
A more detailed model is required to appropriately utilize these resources, but makes
This suggests the need for distributed computation, where multiple computing
agents can be utilized to solve the OPF problem. This is discussed briefly in the next
section. We also need accurate models of the power physics of the distribution grid,
which retain the physical constraints of the system while enabling better computation
In this section we introduce the common formulations for power flow in AC grids. We
begin with the nonlinear branch flow (BF) model, then discuss the proposed current
injection (CI) model. We consider distribution grids with radial or meshed topologies
graph vertices and TD the graph directed edges denoted as (i,j) where i < j. For a
node j, the set of parent node(s) are i c {ij}V(i,j) E TD, and the set of child nodes
54
P2 3,Q23 123 V3
1Z12 2 P3, Q3
V4
P1, Q1 P2,0Q2 4
P24 ;Q24-, 124
nodal and line power flow quantities, which are shown in blue and red respectively.
The nodal quantities are the real and reactive power injection (Pj, Qj) and the voltage
at the node (V), where we denote vj = I 1V2. The line quantities for a line (j, k) E TD
are the power flows through the line (Pk, Qik), and the current through the line (Ijk),
where we denote ljk = |Ijk|2. These quantities will be used in the models as we move
forward. Any additional terms will be defined as they arise.
The branch flow model applies to primarily radial balanced networks, using branch
variables derived from Kirchhoff's laws to describe the power flow relationships. The
model leverages two relaxations to arrive at a convex formulation which can be readily
solved by commercial optimization solvers [5, 6]. The angle relaxation applies to
Ohm's law V - Vi = ZuIU, and assumes small angles and balanced flows to yield (3.1).
In this step we also change our variable space to use vj, lU (the squared magnitude of
the voltage and current) instead of V, IU. The second relaxation is to convexify (3.4)
in the form of a second-order cone (SOC) constraint, which yields (3.5). Then (3.1)-
(3.3) and (3.5) define the convex power flow relationships known as the BF model,
55
which can now be used within an OPF problem.
Qu = Xulu - QJ + Z
kE{kj}
Qjk (3.3)
The main limitations of the branch flow model are the requirements on the topology
and structure of the grid. First, the grid must have a radial topology. There are
proposed convexifications for meshed networks under the BF model, but these com-
plicate the formulation and increase the size of the problem, by adding additional
variables. Second, the grid must be balanced. There are proposed techniques to use
BF for unbalanced networks, but they apply only to networks with limited degree of
unbalances. In [24] and [25] the authors model an unbalanced distribution network
and modify the BF model by assuming that the reciprocal unbalance of the phases are
small. This implies that the relative difference between the angles of each phase are
ignored, which is not a valid assumption in most distribution grids where the system
is highly unbalanced, and many single- and two-phase lines and/or loads exist.
Further, the BF model restricts the total amount of power injections to ensure
an exact convex relaxation. In other words, there is a limit on how active a network
can be, and the total DG and storage penetration. Note however, that this is a
mild condition for most networks, and can be determined a priori, with knowledge of
the network and operating limits. This is condition C1 and Theorem 4 in [7]. The
condition C1 depends only on the line parameters (Rij, Xij), the upper power injection
bounds (Pj, Qj), and the lower voltage bound (vU). The physical interpretation of
this constraint is to limit the reverse power flows in the network: if power loss across a
56
line is reduced, upstream reverse power flows will increase. The power loss on a line is
reduced when the current is reduced, to the extreme where power flow reverses on the
line. Note however that from case studies in [71, C1 is shown to be a mild condition,
even for networks with high penetration of DGs. Further details and conditions under
To overcome the limitations of the BF model for distribution grid, a new convex model
is proposed. The Current Injection (CI) model which leverages McCormick envelopes
(MCE) [26] as the convex relaxation for the bilinear form of the power terms - recall
consider a segment of nodes i,j and k, which is radial and single-phase for simplicity
1. By applying Kirchhoff's Current Law (KCL) and Ohm's Law at node j, we obtain
V - Vk
Ija = Z = Yjk(V -kg (3.8)
Zjk
where Zij = Rij + jXij is the impendance and Yij = -- is the admittance between
nodes i and j 2. Note that all variables here can be complex numbers (namely X # 0).
'Note that the CI model does not require radial and single-phase balanced networks. Rather, the
benefit of the CI model is its applicability to networks of any topology and to unbalanced multi-phase
networks as found in distribution grids.
2
The imaginary number 'j' is not to be confused with the subscript j indicating the node. Note
also that the convention for using 'j' to denote the imaginary part of the complex number as done
in electrical engineering is used here, as opposed to the mathematical convention of using 'i'.
57
I
V1 V VV Vn
Iin
The nodal current injections and voltages can then be related, as follows:
Ij = Ijk - Ii (3.9)
j-Yj +Yi + Yj -
k k [Yj i Vi-
(3.12)
Similar equations can be written for every node in the network, with the nodal current
injections and voltages being related by the network admittance bus matrix, Y, which
is constructed as:
Y Ek=l,..,Nik if i (3.13)
- YU if i| j
where Yik / 0 only where a line exists between nodes i and k. Then, the relationship
We can also calculate the power injection at the nodes as below, noting that
the complex power (apparent power) is composed of the real and reactive power
58
components:
where the superscripts r and i denote the real and imaginary components, respec-
tively; the rectangular form here makes it very easy to manipulate the terms.
We can easily make the extension to three-phase systems. The fundamental equa-
tions stay the same, but now the nodal and line variables can be extended to 3-element
vectors, and the admittances Yij now become matrices Yij c R 3 x 3 . The diagonal el-
ements of Yj represent the resistance and inductance of the line (as before), while
the off-diagonal terms represent the coupling between lines resulting from the electro-
magnetic interactions between the lines which are in close proximity to one another.
Further, the admittance line matrices are symmetric, so knowing the upper triangu-
lar (or equivalently lower triangular) components fully characterize the matrix. The
network admittance bus matrix is then Y E RI3Nx3N where N is the number of nodes
in the network.
Moving forward, we generally assume that all the vectors are column vectors
composed of the real and reactive components of all phases. When a specific line
does not exist (for example a 2-phase line) the variable will simply be 0.
59
Statement of the CI Model
min f(y)
Y
s.t. I = YV (3.17)
I = IT + j II Vj E [N] (3.18)
V = VT + j V Vj E [N] (3.19)
+ V II
Pj-=Vj I -jJ Vj C [N] (3.20)
Vj E [N], j / j# (3.23)
Vr =1, V =0 (3.26)
where Ij = If+ jIj, Vj = Vr + jV , and I, V, P, Q are column vectors of all the nodal
currents, voltages, real power, and reactive power injections respectively. Specifi-
cally, (3.17)-(3.21) describe the power physics, and (3.22)-(3.25) describe the limits
on nodal voltages, and real and reactive power injections. Finally, (3.26) describes
the slack bus, denoted as node j#, which is the point of common coupling (PCC)
of the distribution grid to the transmission grid (i.e. the substation). Note that a
load will have j = Qj = 0, while a generator will have Pj = 0, as the convention for
Relaxed CI Model
Note that until now, there have been no approximations or assumptions made. We've
been using the definitions and power relationships to describe the power flow in the
network. While the OPF problem in (3.17)-(3.26) fully describes the network, the
60
constraints in (3.20)-(3.21) render the problem nonconvex. This is challenging from
constraints can be relaxed using McCormick Envelopes (MCE) [27], which provides a
lower bound on the original nonconvex problem. Tighter MCE bounds will produce
tighter lower bounds (thus closest to optimal), and will also decrease computation
time as the solution space is restricted. For a general bilinear form w = xy defined
over a set S c R3 = {x, y : x E [1, ], y E [y, V]}, the MCE convex relaxation is as
follows:
w >2 y + zy - xy (3.27)
w > Ty + xY - Xj (3.28)
w < zy + xF - fy (3.29)
w 5Ty + zy - Ty (3.30)
The (3.20)-(3.21) consist of four bilinear terms, requiring the introduction of four
new variables per node per phase, a, b, c, d which will then replace each term. This
relaxation also requires the introduction of current bounds. The calculation of the
tightest current bound is outside the scope of this thesis, but a possible technique to
61
formed with constraints (3.31)-(3.36).
min f(y)
y
Pj = aj + bj Vj E [N] (3.32)
Vj E [N] (3.34)
MCE bounds for aj, bj, cj, dj of form (3.27)-(3.30) Vj E [N] (3.36)
In order to apply the MCE convexification to the bilinear terms of the power flow
model, we require bounds on the current injection at the nodes. A simple set of
nonlinear optimization problems can be setup to determine upper and lower bounds
for the real and imaginary components of the current injection. For brevity, the
optimization problem is formulated for If, for a single phase. The same problem
max Ei
il
(3.38)
S~ p (3.39)
(3.40)
QJ - Ji:- Ji
Q Pivrn vi (3.41)
(3.42)
For a general 3-phase network with N nodes, this small nonlinear problem must
62
be solved 3 x N x 4 times, for the 4 current bounds per node per phase. While
each nonlinear problem is very small and can be solved quite efficiently with a solver
such as Ipopt 128], the processing for a small network of 100 nodes required 1200
problems to be solved. This is a large computational burden, and can be time-
methods to improve current bounds are outside the scope of this thesis. More details
the distribution grid under high DER penetration is a challenging problem. We can
DER location or shared amongst some smaller DERs. In order to do so, a distributed
algorithm is needed to ensure global optimality is reached while using only local
network.
rithm used in this thesis. It is based on proximal atomic coordination (PAC). For
more detailed information of the construction of the algorithm and proof of conver-
and employ different techniques to break this into smaller problems. In the global
problem, y denotes the global decision vector, y, denotes the components of the deci-
sion vector owned by agent j, and matrices G and H correspond to the global equality
typically easier to solve than those with more variables and constraints, especially
63
when dealing with nonlinear problems and/or integer constraints.
s.t. Gy = 0 (3.44)
Hy > 0 (3.45)
Often, these smaller problems can be solved concurrently, thus reducing computa-
tional time. When designed well, distributed algorithms can reduce communication
requirements as all agents are not required to communicate with a single central en-
tity. They can also be robust to various modes of failure as all computations are
not dependent on a single point. Finally, if designed well, they can also be privacy
preserving; agents do not have to disclose their cost functions, operating constraints,
or sensitivity to setpoints with other agents. These motivate the use of distributed
algorithms for a wide range of applications, especially for machine learning (fast com-
variables owned by the agent. This can limit the applicability of the algorithm on
different problems, or limits the number of agents which can be utilized. In compar-
ison, the PAC algorithm does not have this requirement. Instead, coupling between
i, which agent j also depends on; these estimates are termed as "copies". With the
introduction of these new variables, we also required new constraints to ensure that
the copies converge to the actual variable value. The inter-agent dependencies are
depicted in Fig. 3-3. The matrix graph on the left shows each agent numbered 1 thru
4, with the coloured blocks indicating a dependence on that variable; specifically, the
64
black blocks indicate owned variables, while the grey blocks indicated inter-agent de-
pendencies. We can then distribute the problem into "atoms", noting that PAC does
not require a one-to-one mapping of agents to atoms. Here, we distribute amongst
three atoms labelled A, B, and C, with colour coordination showing ownership of
variables in blue, orange, and purple respectively. Finally, the cross-colours indicate
a variable copy, which is required because of the inter-atomic dependency.
1 2 3 4
234
A 'B C
t1 74Ij.
A
B
1 A
2 Atomize B
3 C
4 L; I CB
Figure 3-3: Pictorial description of the atomization, and the use of variable copies in
PAC. The diagram also stresses that a one-to-one mapping of agents to atoms is not
required.
65
rows belonging to the coupling variables for atom j.
s.t. O aj = 0 Vj (3.47)
H aj > 0 Vj (3.48)
B ,_ aj > 0 Vj (3.49)
In the above, p > 0 is the step-size and gj, 'j > 0 are two over-relaxation terms with
-/j > ij. As shown in [20, 21] and summarized in Appendix A.2, the primal variables
a, and dual variables tt and v converge to the optimal solution a*, p*, and v*. A
66
key feature of the PAC algorithm is its privacy preserving structure; specifically, the
atomic objective functions, constraints, and dual variables (both pi and v, which act
as shadow prices describing the atom's sensitivity to the feasibility and coordination
constraints) are all kept private. This is discussed in more detail in [20], and the
The convergence results of the distributed PAC algorithm can be measured using
the following two metrics, as evaluated at each iteration r:
" Distance to Feasibility: 1a [r] . This metric describes the feasibility gap of
the solution (whether power flow equations are satisfied).
• Distance to Consistency: ||Ba [r]112. This metric describes how far the variable
copies are from their true values. This can also be thought of as distance
to coordination. Recall the variable copies were introduced to distribute the
problem.
With the CI model introduced in the previous section, we can now move on to discuss
the application of the PAC algorithm to solve the CI formulation of the OPF. We
begin first by assuming the objective function is convex. This is, in general, a very
reasonable assumption as costs typically follow a squared law (and so are convex).
Note that we do not require the objective function to be separable amongst the
nodes; this is because the decomposition profile for PAC details how to address the
coupling variables between atoms, and atoms are already coupled within the power
as follows:
I Vr V' P Q a b c d] (3.57)
y=[
67
where each term in the vector y is of the form:
where the superscripts r and i denote real and imaginary components respectively,
the subscript j denotes the node, and the subscripts a, b, c denote the phases. The
same follows for all other terms in y. The atomic vector, aj then takes on the form
of (3.60), where the last term are the coupling variables denoted by the symbol.
The OPF problem can be solved for voltage regulation, whereby the objective is
to regulate the real and imaginary components of the voltages about some desired
f(y) =
[(V,
- j)2 + (Vi - N?) 2] (3.61)
jc[N] pEa,b,c
where Zr and V? are the desired setpoints. In the rest of this section, Vr and Z.?
are the same for all nodes in the network; we note that node j# which is the point
of common coupling (PCC) to the transmission grid is treated as a slack node, with
allows us to uniquely determine power flows in the network for given nodal injections.
The OPF problem is run with different power flow models in the day-ahead and
real-time energy markets, for both scheduling and real-time operations. As such,
the computational setup must be efficient enough to run in real-time. Figure 3-4
describes the workflow as implemented in this work. The General Model is the PAC
decomposition of a specific network. This can be run when setting up the operations
68
to make use of the CI model and PAC algorithm, and only needs to be re-run if the
network topology or participating DER agents are changed.
The next set of steps is the integration of Scenario Specific Data, which must be
re-run for every run of the PAC algorithm. This means these steps must be run once
for every day-ahead OPF problem, and run every 5 minutes 3 for a real-time OPF
solution. Before these steps are run, the forecast for demand and generation must be
updated. For real-time operation, the forecasts for period r+ 1 can be developed while
the PAC algorithm is solving the OPF for period w. Once forecasts are generated, the
Scenario Specific Data can be integrated; thus, if the forecasts are ready before the
PAC solution for period T is completed, the problem can be setup for period T + 1,
giving more time for the PAC algorithm to converge for period T + 1. Note that the
function setup only needs to be rerun if any changed variable bounds or item costs
are present in the objective function.
The final step before running the PAC algorithm is the PAC setup, which includes
determining the optimal PAC step sizes (p and -/j), and the initial conditions for the
algorithm. Note that for most networks and scenarios, the PAC parameters are the
same; thus in real implementation, this step can be run with the General Model and
values saved. Finally, the initial conditions can be either computed to an estimated
optimal point, fixed at some values relative to the upper and lower bounds of the
variables, or for real-time operations, set to be the optimal solution from the previous
period.
Finally, the PAC algorithm must be run in parallel over multiple cores or worksta-
tions to mimic the distributed nature of the algorithm. Note that the implementation
for this thesis is in MATLAB, where only limited functionalities are present for par-
allelizing code, as MATLAB readily makes use of all cores in a machine. An imple-
mentation in Python, as a comparison, would enable separate computational agents
to be formed, which could each use data pipes to selectively share information. For
the scope of this thesis, a parf or loop is used to parallelize the primal update across
3
The 5 minute market clearing for the real-time market is for the New England ISO (ISO-NE).
This can vary from 15 minutes to 5 minutes, depending on the market structure within a given ISO
or RTO.
69
the computational agents. Once the primal update - which consists of solving the
atomic OPF for the kth iteration - is complete, the dual variables are updated in a
centralized manner. Note that this is not a limitation of the PAC algorithm, but
rather a design choice to simplify the implementation.
Grid Network Gnerate Model Problem Setup PFe-Pnroil nsh Setup Function Setup
Topology+Une Admittance Provide variable lighten bounds on bud on Generate
configurations matrix, PAC limits, cost MCE usIngvariable Geneal Model atomized
decomposition parameters bounds objective function
PAC
1: Update primal Palculae oer
cores/1Work1lstatons
OPF Solution
(KIh Iteration) Aggregate& Calculate PAC Setup
Update duals j: Update primal Price PAC parameters,
Predictions Initial conditions
N: Update primal
Rpe or K Rwagons
Figure 3-4: Flowchart of the computational process. The PAC algorithm decomposi-
tion is fixed for a network with a given topology. The scenario or time-period specific
updates must be run each time the PAC algorithm is run.
For simulations in Chapters 3-4, the following computational tools are used:
" General Model: the global optimization problem with the CI model is setup
using the YALMIP package, which takes a set of objective functions and con-
straints, and maps them into a format acceptable by a third-party solver [31].
• Pre-processing: the current bounds are obtained by solving the set of nonlinear
optimization problems using Ipopt, a nonlinear solver, within the OPTI package.
" PAC Setup: each atomic optimization problem is setup using the YALMIP
package, which formats the objective function and constraints into a format
acceptable by the Gurobi commercial optimization solver [32]. For each iteration
70
of the PAC algorithm, the augmented Lagrangian is updated with the new
predictions of the dual variables.
The proposed CI model is solved using the PAC decomposition profile and algorithm.
The simulation results for the IEEE 13 node network, which has been modified to
include DERs (see Appendix B.2 for data), is shown in Fig. 3-5. The convergence
From the convergence trajectory, we see that the algorithm takes an unreason-
ably long time to approach the optimal solution. In particular, the dual problem of
consistency is very slow. The step sizes (p, -y) are very small, as shown in Table 3.1.
These can be attributed to the ill-conditioned system matrix dT0 +BTB, which has
Table 3.1: Parameters for PAC algorithm for the Active IEEE 13 node network, using
the CI model.
The results from the previous section show unacceptable performance of the PAC
algorithm on the proposed CI model due to the ill-conditioned system matrix. There
are various approaches to dealing with ill-conditioned systems, however, the source
in better system conditioning and performance for the PAC algorithm. Then, a
comparison of the two formulations is presented, where the eigenvalues of the system
71
Distance to Feasibility
-10-----
0itiet egblt
0.4
0.3
0.1
Figure 3-5: Convergence results for the IEEE 13 node network, modified to have
DERs.
In this problem formulation, the modelling choices are the source of ill-conditioning,
particularly in the I = YV constraint. The other constraints are simply definitions
with unity coefficients; further all the variables are bounded on the order of 1, be-
cause we are dealing with per unit analysis of the electrical quantities. However, the
admittance per length are all on the order of 0.1, leading to larger coefficients once
the line length and per unit conversion are accounted for.
The first possibility is to reformulate the CI model ' to use the line impedances,
4
Hereby called CI-Y to indicate the CI model formulated using admittances, or CI-Z to indicate
72
rather than the admittances. Lets return to (3.6)-(3.8). Here we have KCL giving the
relationship between nodal injections and line flows, and Ohm's law relating the nodal
voltages to line flows. In our case, however, we want to stay in the realm of impedances
and not move towards the cleaner representation we get from admittances. We can
now define the graph incidence matrix, A. In this case, we define the outgoing edge
as positive and incoming edge as negative. Then, if we assemble the diagonal matrix
of line impedances, Z, and denote the vector of line currents as flow and the vector
AV = ZInow (3.62)
I = ATIoflw (3.63)
Then under this new model, we can rewrite the CI model using impedances (CI-Z)
as follows:
73
min f(y)
y
AV = ZIfow (3.65)
I= If + jI Vj C [N] (3.66)
P = aj + bj Vj E [N] (3.68)
Vj E [N] (3.70)
I <R
I I- J Vj E [N] (3.71)
Vj E [N] (3.75)
V = )1, V =0 (3.76)
MCE bounds for aj, bj, cj, dj of form (3.27)-(3.30) Vj E [N] (3.77)
where each term takes on the form of (3.58)-(3.59). The atomic vector, a then takes
on the form of (4.48), where the convention that an atom owns its downstream current
flows is used 5. Once again the last two terms gives the coupling variables denoted
5
This convention is chosen as most nodes will have more downstream nodes than upstream nodes.
Thus, by choosing that an atom owns downstream current flows, we attempt to minimize the number
of variables which must be copied to satisfy constraints.
74
by the-symbol.
ai [Ir I y y P Q a bj c3 dj { }vowJkVk,{(,k)}CED
We note that the CI-Z formulation has increased the number of variables, the
number of constraints, and the number of coupling variables (copies of the parent flows
are required). Despite the larger central and atomic optimization problems however,
this formulation significantly improves the performance of the PAC algorithm.
From the simulation results on the IEEE 13 node network (see Appendix B.2 for
data) with the CI-Z model, the performance improvement is readily seen as in Fig. 3-
6. The PAC algorithm now gets close to the optimal solution within 2000 iterations,
and converges within 3000 iterations, with just this simple modeling change. The
evolution of the objective cost is also shown in Fig. 3-6c for this model. In particular,
the matrix 5T5 + BTB now has much lower condition number, allowing for larger
step sizes, with the relevant parameters shown in Table 3.2.
Table 3.2: Parameters for PAC algorithm for the Active IEEE 13 node network, with
the modified CI model.
With this new formulation, larger networks can be simulated,, such as the IEEE
123 node network, as presented in Appendix B.3. The algorithm approaches optimal
within 20000 iterations, as shown in Fig. 3-7.
The performance of the PAC algorithm for the two models (CI-Y and CI-Z) can
be further analyzed by looking at the matrices G and B, which correspond to the
atomized equality constraint matrix and the coordination matrix respectively. In
particular, from [20, 21] we note the selection of the convergence rate parameters
75
Distance to iblt
0.25
0.15
0.1
0.05
0.25~
0.2
0.15
0,05
0.12 L
0.1
0.08
0.06
0.04
0.112
0
0 1 2 3000 5000 6000 7000 00 000 9 10
Figure 3-6: Convergence results for the IEEE 13 node network, modified to have
DERs with the modified CI model.
depends on these matrices; these are the step-size p which is common to all agents,
and the over-relaxation terms 7y3 and jj [r], the latter of which is time-varying. For
simplicity, here we consider the case where -yj is the same for all agents, and -y3 =
76
(a) toi MFooibeity
. D... tr e toC onitency
W0.3.
02
0.2
0. 15
0.01
0.3
0.2
0.11
0.05
Figure 3-7: Convergence results for the IEEE 123 node network with the modified CI
model.
1j,Vj, Vr.
G = diag(Gj)vj (3.80)
77
smooth. Then p* and y* are the convergence parameters which maximize the primal
convergence rate. For the CI-Y model, the convergence is very slow because p* and
-* are very small, as governed by the very large Amax(V). Thus, analysis of the
eigenvalues of matrix V is necessary; we will bound the value of the eigenvalues and
use the results to show why the CI-Z model outperforms the CI-Y model when solved
with PAC.
Theorem, we have
Let's first consider the eigenvalues of BTB, which is the Laplacian of the coordination
of a directed graph, where the nodes in the graph are the variables ai (a variable
owned by agent 1), and & (a variable copy of ai owned by another agent). Then the
Laplacian (BTB) will consist of the elements -1 on the off-diagonals, and the degree
of each self-owned variable on the diagonals (namely the number of times a variable
has been copied). We can apply Gershgorin'sCircle Theorem, which states that every
eigenvalue of a square matrix (E R"'X) lies within a Gershgorin disc, which is a circle
n
Ri = | bijI
j=1jA#i
bii is the element on the diagonal
78
Then:
For the Laplacian, the element on the diagonal is the degree of the ith variable,
denoted as dgi. We also know that Ri = dgi for all rows, as the sum of the rows of
the Laplacian are all zero. Then we can simplify the inequality as follows:
- Ai > 0 (3.89)
where the condition that Ai 2 0 is known as the Laplacian is a PSD matrix. Then
the maximum eigenvalue of BTB is bounded by the maximum degree:
Since the decomposition profile is determined by the model chosen and our rules on
which agents retain copies of which coupling variables, we can further analyze the
CI-Y and CI-Z models. Throughout our analysis, we will consider the two following
simple cases: a 3-node radial network, and a 3-node meshed network as in Fig. 3-8
2 3
(a) Radial network (b) Mesh network
Figure 3-8: Simple topologies for discussing the system condition number
79
Eigenvalues of Coordination: CI-Y Model
As seen in (3.60), the agents must retain copies of the voltages of all neighbouring
agents. Then for the radial network in Fig. 3-8a, agent 1 will require copies of voltages
from agent 2; agent 2 requires copies of voltages from agent 1, 3; agent 3 requires copies
of voltages from agent 2. We see that only the voltages from agent 2 are copied twice,
while the others are only copied once. Thus, max (dgi) = 2 for this example. For the
meshed network in Fig. 3-8b, all the voltages are copied by two other agents, thus
max (dgi) = 2 as well. In the CIY model, the maximum number of variable copies
is equal to the maximum degree of the nodes in the network (i.e. the number of
neighbours):
As seen in (4.48), the agents must retain copies of the voltages of downstream nodes
(Vk) and copies of the flows from upstream nodes (Iij). Note here, that a node j has
downstream nodes k where the numbers j < k (child nodes), and upstream nodes
i where the numbers i < j (parent nodes). Then, the voltages of a node are copied
by its parents, and the outward flows of a node are copied by its children. However,
we note that only voltages can be copied multiple times, as lines flows have unique
In a radial network, as in Fig. 3-8a, nodes can have only one parent. Then, we
80
can uniquely determine dgi for all radial networks as:
In the meshed case, this becomes more complicated as each node can have multiple
parents (consider node 3) or multiple children (consider node 1). Then we can define
" For a radial network, the CI-Z model always yields smaller Ama than the CI-Y
model (other than the trivial case of two connected nodes).
" For a meshed network, the CI-Z model will yield the same or smaller Ama, as
It's interesting to note that although the CI-Z model requires more coupling variables,
the impact on the maximum eigenvalues is the opposite - this is because of the partic-
ular decomposition chosen. We also note that the difference between CI-Y and CI-Z
here is quite small - there isn't an order of magnitude difference which could explain
81
the huge performance difference. Thus, the eigenvalues of 5T5 must dominate, and
will explain the difference between the two models. This will be discussed next.
We can now consider the eigenvalues of 5T0. We begin by noting that O is a block
We now have a simpler problem, where we just need to characterize the eigenvalues
where 11 -||2 denotes the usual Euclidean norm and 1 -||F denotes the Frobenius norm.
We also note the following for a matrix A EE Rmxn:
m n
2
I|AIIF= Tr(AtA) ZIaij= (3.102)
where At is the Hermitian transpose (conjugate transpose). We note that our matrix
OTdj is a real matrix, so this is just a transpose. Since the equality constraints
(feasibility) are fully defined for our two models, we can further analyze the CI-Y and
CI-Z models as we did for the coordination constraints.
constraints from the CI-Y model can be easily distributed, and the G matrix is
82
defined as:
Oj = 7 k7V))Vk,{ (j,k),(kj)}E'D
P=a~b
Q= c + d
where the same constraints are present for all nodes. Let's begin by considering a
single-phase network, and determine the functions gr and gj to characterize the first
two constraints.
V r+jV (3.105)
Yj= y= y + yi (3.106)
where 1 = {(i, j), (j,k)} E TD is the set of all connected nodes. Then from (3.107)-
We can now evaluate the Frobenius norm, j|j3j2 as is the sum of the following
terms:
" P - a - b = 0 -+ (1 + 1 + 1) = 3
" Q+c-d=0-+(1+1+1)=3
A discussion on this result will be left after the CI-Z model is discussed.
83
Eigenvalues of Feasibility: CI-Z Model
constraints from the CI-Z model can be easily distributed, and the 03 matrix can be
jY Zk,{(j,k),(kj)}ED 'j,k
P=a-Fb
Gj =(3.109)
Q=c~d
Vr
- Y = gr(Ij,k, Iji,k)Vk,(3,k)ETD
V Z=
k'- g,(f, I,k)Vk,(j,k)ETD
where the first 4 constraints are present for all nodes, and the last 2 are present only
for nodes with children. Then, much like in the CI-Y model, we begin by considering
two constraints.
Then from (3.112)-(3.113), we can fully characterize the matrix based on the impedances.
We can now evaluate the Frobenius norm, |j|03|| as is the sum of the following
• P- a - b= 0 - (1 + 1 + 1) = 3
84
* Q+c-d=O-*(1+1+1)=3
• Ek,(,k) (I
f V-- -gr(-) 0 -+ ( [(Zk) 2 + (Zik)2]
where 1 {(i, j), (j,k)} E TD is the set of all connected nodes. The last two constraints
where vecnorm() is the MATLAB command for the vector norm, and degout(j) denotes
In comparing the Frobenius norms of the CI-Y and CI-Z models, the key differences
are the two components depending on admittances for the CI-Y model, and the two
components depending on impedances in the CI-Z model. Note that the CI-Z model
also has two components which depend on the degree of the agents, but we will show
• The CI-Z model depends only on children voltages, and the impedances of
downstream lines, while the CI-Y model depends on all connections and the
" The per unit impedances and admittances are comparable, with the admit-
tances typically being smaller. Recall that distribution lines are more lossy
than transmission lines (have higher resistances), and so the corresponding per
* Distribution lines are typically quite short, so the line length measured in miles
is typically < 1. Since Y = 1/Z, the line admittances become larger when
divided by the line length. Equivalently, line impedances become smaller when
85
multiplied by the line length. For example, the IEEE 123 node network has a
maximum line length of 0.1894mi, as in Appendix B.3.
* All values are converted to per unit analysis. For the networks we are consid-
Recall that we divide by the base value to get to the per unit analysis. This
For a simple 3-node radial network as presented in Appendix B.1, we have the fol-
Table 3.3: Comparison of feasibility eigenvalues for CI-Y and CI-Z models
" The CI-Y model may work better for a transmission line where the lines are
longer. However, transmission lines have lower impedances, which would further
" Different base values can be chosen to scale the admittances to smaller values;
however, this would require lower SBase and VBase values, resulting in higher
86
For simplicity, we consider balanced radial networks under both the CI and BF
models. In order to make a fair comparison between the two models, the following
" The IEEE 13-bus network is modified to be a 3-phase balanced network. The
impedance matrices are modified under the assumption that the lines are all
3-phase transposed, as per (2.29) and (2.30). The configurations are converted
the cable (recall that the positive- and negative-sequences are identical). See
Appendix B.2.3.
" The loads are modified so every node has 3-phase balanced loads. Single-phase
spot loads were assumed to be 3-phase. All other loads are averaged over the
phases, to give balanced load on all three phases. See Appendix B.2.3.
and solving all three independent and identical problems together. This is
done to better align with the 3-phase CI formulation, which utilizes the 3-
" The objective function is changed from the example of Volt-VAr control to a
social welfare function. This has two components: electrical line losses, and the
cost of purchasing electricity from the grid. Under the BF model, the convex-
branch currents, lij = |I j12, are minimized. Minimizing the line losses thus in
turn minimizes lij, while retaining some physical and operational interpretation.
Note that the minimization of branch currents is not required in the CI model.
ing with the BF model, as we do not have access to voltage or current angles;
rather, once the convex BF OPF model is solved, the angles can be recovered
87
angle recovery does not enable us to employ such a simple Volt-VAr control
equation. To retain a simple formulation, we instead consider an economic ob-
jective function, where the LMP at the feeder, AP and A for real and reactive
power are considered 6. The two components of the social welfare function are
energy efficiency.
+ oss (3117)
fwelfare(Y) = fG-Cost (Y)
(i,j)eT
$10/MWh. Network data and configurations can be found in Appendix B.2.3. The
simulation is run to make sure both models converge, with feasibility and consistency
3
errors on the order of le . The PAC variables are initialized to the solution of the
atomized problem solved using a centralized program. For the CI model, we can
where the symbol * denotes the complex conjugate. To determine the optimal PAC
6
Note that in electricity markets today, reactive power is not priced. We however, set a small
price on reactive power to make the problem a little more interesting.
7
The convexity measure is bounded as 0 < a < 1, where larger a values correspond to more
strongly convex functions.
88
L-Lipschitz continuous 8. We set a = 0.5 9. We estimate the best Lipschitz constant
Note that the optimal step sizes are a strong function of both the system condition
number (which depends on the model, as discussed earlier in this chapter) and the
Lipschitz parameter. For the CI model, the Lipschitz parameter is calculated as:
where the factor of 3 in the first term comes from the 3-phase model of the network.
As a very conservative bound, we take I s0ig = Iji0ig = 5pu. This results in L = 610
for the CI model, and y = 48.5 and p = 0.0574. The same step-sizes and parameters
are used for the BF model as well in the following simulation results.
In what follows, we present results from the PAC algorithm applied to both the CI and
BF models, and make both qualitative and quantitative analysis. The convergence
results for the CI and BF models are shown in Figures 3-9 and 3-10 respectively, for
From a first glance, the BF model looks to converge much faster and with smoother
profile. The BF model approaches converges within 5000 iterations, while the CI
model has comparable approach in a over 10, 000 iterations. This shows the BF
model converging in about half of the number of iterations.
A close up of the first 100 iterations is shown in Fig. 3-11. Here we see that
the BF model deviates further from feasibility and consistency as shown by the peak
8
Lipschitz continuity describes the continuity of a function by bounding the slope of the function,
or in other words, how quickly a function can change value. The Lipschitz parameter is any such
that |f(y2 - f(y1))I < LIy 2 - y1|. The smallest constant is called the best Lipschitz constant. For
a differentiable function, Lipschitz continuity means the function has a bounded derivative.
9
The objective function is a simple convex function. As such, one would think a = 1 is a suitable
parameter. However, here we set it to a lower value to ensure stability and convergence in the
algorithm. Further simulation results for a = 1 are also presented after the discussion between CI
and BF models.
89
Distance to Feasibility
1.8 -
1.6
-
1.21
1.2
-
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5
4
x10
Distance to Consistency
0.7
0.6
0.5
-
0.
-
0.3
0.2
0.1 1
i I I
Figure 3-9: Convergence results for the IEEE 13-bus network, under balanced condi-
tions, for the CI model.
90
Distance to Feasibility
4.5 - -~
4
-
3.5
-
3
-
2.5
1.5
0.5
Distance to Consistency
.... PAC
4.5
3.5
2.5
1.5
0.5
Figure 3-10: Convergence results for the IEEE 13-bus network, under balanced con-
ditions, for the BF model.
91
Distace to Fe.aibility Distance toCnitry
2.- 2.4-
(a) Feasibility Metric for CI Model. (b) Consistency Metric for CI Model.
Dist.ance 00 Feasbility
0.2 Dmnn 1 n0 m
(c) Feasibility Metric for BF Model. (d) Consistency Metric for BF Model.
Figure 3-11: Convergence results for the IEEE 13-bus network, zoomed in on the first
100 iterations to show the behaviour of the algorithm per each model.
values of roughly 4.8 for both metrics, in comparison to the peak of 1.6 and 0.6 for
feasibility and consistency under the CI model. After the peak, both models show
sinusoidal behaviour, with the CI model exhibiting fewer jumps. Although the BF
model deviates further from the optimal solution, the two models reach comparable
levels around the 100 iteration mark, with BF potentially achieving lower error here.
Another set of close up graphs are shown for the CI and BF models in Fig. 3-12,
this time looking at the algorithm performance as it approaches convergence, here
we see that the BF model does indeed approach convergence 10 before the CI model.
However, this close up also gives us more information. Under the BF model, the PAC
algorithm is unable to improve the solution below errors of le~ 3 ; under the CI model,
10Here we are loosely using the term convergence, as when errors are on the order of 1e-3
.
Typically convergence would be when errors are on the order of 1e-6 , as the PAC algorithm does
indeed converge to the exact global optimum. This is compared to other distributed algorithms such
as dADMM which approaches the optimum, but does not reach it.
92
--1
C.5
- 4
3.5
thge ptimal thvrne PAexhibts iuoida bhehavious exetedrk fromeino the ildua
dynamics for both models, but with higher amplitude oscillations in the CI model.
When approaching the optimal solution, the algorithm is numerically limited with
the BF model. Recall that when solving OPF, per unit analysis is commonly used to
scale variables down for numerical stability. This means there is potential for some
variables to take on very small values; this is potentially problematic for the BF model
under PAC.
As such, the focus is on computational time and iterations, rather than on the exact
power flow solution. Quantitative metrics for comparison are outlined below.
1. Primal Atomic Update: The primal atomic optimization problem for the
cost function, the CI model is a quadratic program (QP) and the BF model is
93
of the CI model should result in lower computational time per atomic primal
update, as QPs are much easier to solve than QCQPs. However, the compu-
tational time also depends on how tight the MCE bounds are for the convex
• Average time per primal atomic iteration, averaged across atoms: tatomic
" Maximum time per primal atomic iteration: tatomic = maxj maxk tj, for
" Average standard deviation of time per primal atomic update: &atomic =
algorithm depends on many different factors: the initial conditions, the choice of
step-sizes p and -y, and the problem being solved ". Here the CI and BF models
will be compared by fixing both the initial conditions and step-sizes to be the
same and comparing number of iterations (Keq), and by fixing only the initial
These metrics are tabulated in Table 3.4 for the simulation results above, using the
setup as described above with CI and BF models having the same initial conditions
and convergence parameters (as calculated for the CI model), for all results except
Kdiff. For calculating Kdiff, we estimate the Lipschitz parameter for the BF model
objective function and re-calculate the convergence parameters. These values are
all tabulated in Table 3.5, including the eigenvalues which influence the condition
number.
"Note here that the problem consists of both the choice of model for the physical problem, as
well as the objective function. Of course, fixing the objective function to be the same between the
CI and BF models is necessary for comparison.
94
The key insights here are the time for primal update. We had expected the CI
the BF model. However, the two are comparable (both solved directly in Gurobi, a
commercial optimization solver), with the CI model actually taking slightly longer.
This may be attributed to the larger variable space and the coupling between the
real and imaginary components of current and voltage. The CI model also takes
more iterations than the BF model, and so overall would take more time to converge.
However, the major difference here is that the CI model solves the power flow or
OPF problem in full, including the voltage and current angles. In comparison, the
BF model does not solve for the voltage angles; rather a post-processing step (more
accurately, an angle recovery algorithm) is required to recover the full OPF solution.
A more fair comparison here would be to setup the angle recovery algorithm and
compare the time for the CI-OPF and BF-OPF with angle recovery. Further, more
networks should be tested, including meshed networks as they can be convexified for
the BF model. A better comparison would set up these models and then compare
From the data in Table 3.5 we see that the condition number for the CI-Z model
is better than the BF model as well, however, we've estimated a higher L parameter
• The value of ( heavily influences the L parameter (along with the actual optimal
objective cost). The per unit LMP for electricity (calculated as A/SBase, where
SBase is the base value for apparent power) is very large. In these simulations
The line resistances on the other hand are very small (order or 0.01pu), meaning
the influence of the line losses is minimal to the optimization problem. For a
higher weighting, the objective cost and L parameter would both be higher.
* The CI model has a higher L value because of the difference in model variables.
The CI model models the real and reactive components of branch current, while
the BF model considers only the squared magnitude of branch current. As such,
95
when taking the derivative of the objective function, the upper bounds on real
and reactive components of branch power are needed for the CI model; the
BF model does not require any information on the branch currents. Tighter
bounds on the branch current estimates would give a better bound on L for the
Table 3.4: Comparison of the CI and BF model when using the dis tributed PAC
algorithm.
Erom the discussions above, we can consider different simulations setups. We simulate
only the CI model and test the performance when a = 1 is used (as the objective
function is indeed convex) in Fig. 3-13 and ( = 10 to weight the energy efficiency
higher in Fig. 3-14. Here we see that having the higher a parameter does speed up
the case of a = 0.5. The results for the more weighted objective function also shows
better convergence. This may be attributed to the L value being higher (L = 696,
and thus larger step-sizes of -y = 55.47 and p = 0.0537). This could also be as
96
a result of more variables influencing the optimality: the branch currents are more
heavily weighted and so this may limit the solution space. Further, the branch current
variables can be bound better: the OPF solution has I = 0.2886pu, Ili=
1.2047e - 4pu. In the current problem setup, the branch current variables do not have
pre-set limits in the formulation of the optimization problem 12, but using estimates
from historical data can help to bound these variables, perhaps leading to smaller
1 2 However, note that this does not mean they are unbounded variables. Rather, the limits on
power injections at nodes and the power flow equations themselves limit branch power flow, and
thereby current flow. More specifically, the limits on branch current flow come primarily from line
thermal and ampacity limits, which are a result of cable specifications, rather than power physics.
97
A
Distance to Feasibility
1.6-
1A
-
1.2
-
0.8
0.6-
0.4
0.2
0 05 I 1.5 2 2.5
4
x10
(~ j?
Distance to Consistency
0.5-
0.4
-
0.3
-
0.2
0.1
Figure 3-13: Convergence results for the IEEE 13-bus network, under balanced con-
ditions, for the CI model, with a = 1, which influences the convergence parameters.
98
Distance to Fensibility
1.8
1.6
1.4
1.2
-
0.6
04A
0.2
ni
1 1.5
1
2.5
0 0.5 2
x10"
r)istance to Consistency
0.6
0.51-
0.4
0.3
0.2
0.1 .2
Figure 3-14: Convergence results for the IEEE 13-bus network, under balanced con-
ditions, for the CI model, with higher weight for the electrical losses term, 6 = 10.
99
100
Chapter 4
This chapter discusses the extended application of the PAC algorithm to address
rithm [20-221, all decision variables were assumed to have no state retention, lending
the problem to single period optimization. However, in the case of distribution grids
with a high penetration of DERs, and in particular storage devices, there is temporal
coupling between constraints. Using a storage unit during one hour lowers the state
of charge, and thus future available capacity. The extension for multi-period opti-
mization was evaluated in the context of DER scheduling and dispatch, primarily for
day-ahead decisions.
are the Y optimization variables for each of the T periods, subject to M optimization
101
constraints written in standard form.
consists of repeated units describing the system at each time instance of interest:
Yy=1 Yy,t=1
yy=Y Yy,t=T
-
denotes the dimension of the vector.
Following the decomposition profile for the PAC algorithm, introduced in Sec-
tion 3.4, the global multi-period optimization problem can be decomposed into smaller
subproblems. Note that each of the constraints in Gt can relate multiple variables
across time steps, regardless of which atoms the variables belong to, as the decompo-
sition profile makes use of variable copies to fully distribute the problem. Likewise,
the objective function fsj(y) can depend on variables across time steps, from any
atom. This is because each atom j retains a "copy" of the dependent variables from
The atomized equivalent of (4.1) can then be obtained, where B represents the
adjacency matrix of the directed graph of the atoms (as introduced in Section 3.4):
Bj,_a = 0, j E B
102
where Bj,_ represents the rows of B that correspond to the coupling variables along
(i,j) E TD. The equation Ojaj = 0 corresponds to the atomized equality constraints
from the global problem (4.1). The atomized decision vectors aj E R(ITxTI)xl can be
expanded to show temporal groups, like the decision vector of the y (4.2):
a=1 aja,t=l
aja=JT ajaxt-T_
For a single period optimization problem, we clearly lay out the copied and owned
variables. Note that these follow for the multi-period formulation as well, with copies
of a variable made for every time period.
a3 1
a3 2
Owned variables
aj all (4.5)
Copied variables
The multi-period extension of the PAC algorithm can now be applied to the problem of
day-ahead scheduling of resources within the distribution grid under high penetration
of DERs. By using the distributed PAC algorithm, the dispatch variables resulting in
lowest cost operation can be determined. Specifically, these variables include power
injection (Pj, Qj) 1 and storage control (Pj,Pjd) at each bus, for all time steps t E
103
the distribution grids are highly unbalanced and can contain meshed topologies. The
function for the unit commitment problem. Specifically, the storage capacity and
ramp rates, and generator ramp constraints introduce states that persist across time
periods. Thus, including these constraints requires the solution of multi-period OPF
(MOPF), also called dynamic OPF, with the constraints coupling variables across
The formulation for modeling the DER devices is discussed here, with a focus on
the multi-period constraints in the last two subsections. For notational simplicity,
we discuss the formulation for a single-phase network, thus removing the subscripts
Pi P< 0 (4.6)
Note that the above formulation implies demand response capability at node j, to
100% of base load, Ej. For a fixed load (no demand response capabilities), the power
injection is fixed as per (4.7). For a load with demand response capabilities of
(
percent, the power injection is variable as per the bounds in (4.8).
P <_ P P (4.7)
P Pj 5 (1 - ()P (4.8)
Qi Qi < Qi (4.9)
In this model, we consider demand response only for real power consumption, thus
reactive power is fixed as per (4.9). We note, however, that with increase in power
electronically controlled loads, and motor-based loads (i.e. induction motors), the
104
demand response is also enable on reactive power. To include this, the reactive power
bounds will follow a similar form to (4.8), with additional constraints likely required
to model the relationship between Pj and Qj.
Generators are modelled as power injections with both real and reactive power capa-
Controllable generators include traditional diesel generators and motors, where the
power output can be entirely controlled. The only limiting factors are availability of
fuel (which we can assume is not an issue), and the ramping up/down capabilities
where the power output is entirely dependent on the availability of solar or wind
resources. Note that renewable energy can be curtailed in most cases - production
beyond what is needed can be stored or curtailed (i.e. thrown away as waste), thus
be modelled as in (4.13) for controllable loads, and (4.11) for uncontrollable (renew-
grid operator may be required to utilize all renewable energy generation and so ( 0,
while another may have more flexibility in resource use so 0 < < 1.
P Fi t
P Pi (4.10)
P > 0
(4.12)
The values of Pj,t and Pj,t for controllable generators are determined by the technical
specifications of the generator. The value of Pjt for renewable resources is determined
by weather forecasts and historical data which estimate the generation capabilities
105
of the resource. These are assumed to be inputs to the OPF problem, and thus this
thesis does not focus on the forecasting of renewable energy generation. The same
can be said for the reactive power from the generators. Here for simplicity we assume
that only non-renewable generators can provide reactive power, and that this reactive
power can also be negative as it can be power electronically controlled. For renewable
resources, we assume Qj = 0.
Qj Qjt Q (4.13)
Qj> 0
is the capability curve, which dictates the relationship between Pj and Qj. The capa-
bility curve details the safe and desirable regions of operation, which can include (but
not limited to) maximum current, maximum power, and power factor relationships,
as shown in Fig. 4-1. To keep a simple formulation, here we only consider the power
factor for the capability curve. For renewable resources, pf = 1 already as we assume
a range of power factors (giving positive and negative Qj, the capability curve can be
modelled as:
where pfne,g is the negative power factor giving Qj 5 0, and pfPO, is the positive power
106
P1
A#:EE,(max)
3 V, EtlXs
#
N
E=0
x,
Lag
Figure 4-1: An example generator capability curve for a synchronous generator. Here
additional limitations for currents of field and excitor windings are also shown, giving
the curve a more complex shape. For the simple power factor bounds we are consid-
ering, the curve will take on a smooth circular shape for each quadrant of operation.
Recall that Pj > 0 for all generators, so we only have 2 quadrants of operation.
additional variables, Psd and PjF, which are the discharge and charge power for storage
unit at node j at time t respectively. These are related to the net power injection at
node j as:
1
P = -Pft - tP (4.15)
?j
For notational simplicity we assume that all storage units operate at unity power
factor, so Qy = OVt 2. The limitations on charge and discharge power can then be
specified as:
0 < P?!
It <
-
Ppd
J (4.16)
2
Many storage devices can actually be used to provide reactive power support as power electronics
can be used very easily to adjust power factor. In this work, we simplify the case and use storage
to either store excess renewable generation, energy arbitrage, or as reserve.
107
Now we are ready to add the capacity constraints on the storage units. These are
integral constraints, and require knowledge of the system's current state of charge
(SOC) bj,,, as described by the previous SOC bj,t- 1 minus losses due to self-discharge
(written as gjself), and the net charging during the period t, while also accounting for
charging and discharging efficiency ( f and qP respectively). This temporal coupling
is described as:
1
bj, = (1 - gjelf)bj,t_ 1 + fP (4.18)
Note the SOC of a storage device at time period t is a dependent property, given
knowledge of the initial SOC bj,o and the actuation over each prior period t = [1, ... , t-
1]. Thus bj,t need not be a decision variable in our optimization problem; rather, it
can be calculated based on the charge and discharge over each period, P and
where
s 1-elfAt)tbj
_ 77
____=__1 m-lj tD j,
+ Z(1-yefAt
'jI -j,t
tir[ fIPsp pJsd]) + 7P!Sc - pd
Self discharge
Self discharge of net charge over each period Net charge over
of initial SOC
current period
where the last two terms can be combined, and the upper bound on the summand
becoming t. Note that in most battery systems, a minimum non-zero SOC is desirable
at all times to keep the battery in good health - this is referred to as maximum depth of
electrochemistry of the battery. This may be on the order of 30 - 50% (so maximum
depth of discharge is 50 -70%) to avoid damage to the storage system from excessive
discharge [36], but can also be as low as 10% for vanadium flow chemistry. The lower
limit can also be a technical requirement of the grid, as a contingency to ensure there
108
is power available in case of loss of generator 3. Additionally, an ending capacity
constraint:
bj,0 = bj,T
Note that the SOC constraint is for the entire device, not per phase as the other
power constraints have been. The SOC constraint can be extended for a multi-phase
system by summing Pg and P over the phases at the node j, and aggregating it to
Another set of necessary temporal constraint are ramp constraints on generators and
storage devices4 . These are especially important for generators such as diesel gener-
ators which have non-negligible startup and shutdown times. Note that renewable
rapid variability. As such, the ramp rates on renewables are not modelled.
These constraints require knowledge of the power output of the previous time
period, and only couple pairs of consecutive times. With ramp limits typically given
in kW/h. For period t, the ramp constraint is modeled as (4.19) for both generators
where rj and Tj represent the decrease and increase ramp rate limits for the device at
bus j.
3
This is a form of an ancillary service. Energy reserves are important for the reliability of the
grid. This will be further discussed in Chapter 5, in the context of market derivatives for services.
4
Ramp constraints on electrical storage systems are typically only relevant for sub-second
timescales, as they lack the limiting inertia that systems like flywheels posses.
109
4.2.6 Defining Cost Function
The day-ahead unit commitment problem aims to minimize the total costs incurred
by the system. This typically includes the cost to generate power, and power losses
across the distribution grid lines. The cost function, fMOPF(y), is:
fLocal-Gen( aF 2
+ bFj+ c if j E B (4.21)
fstorage(y) = if j E B (4.22)
fOPF(yt) = [Import + f Local-Gen + fStorage(yt) Vt E T (4.23)
where
•A and are the locational marginal price (LMP) of electricity, for each
• aF, b, c are quadratic cost terms for the marginal cost of locally generating
power, as measured in $/MW. These costs typically include fuel costs and any
The price of electricity for a region (i.e. consider a single distribution grid) is de-
termined by the wholesale electricity market (WEM) and is termed the locational
marginal price (LMP). The WEM solves an optimization problem to determine the
price of electricity, which is the price at which load serving entities (LSE) such as
110
utilities purchase electricity and then sell to its customers at a retail price. The
LMP varies between different regions, reflecting operating characteristics and major
constraints on the transmission system, as well as losses resulting from the physical
transmission grid 5.
The LMP for the New England area are published online on the Independent
System Operator (ISO-NE) website [37], and is used in this thesis to determine Ag;
specifically the 5-minute real-time LMP data for May 14 2019 is queried. The 5-
minute data is averaged over 12 periods to give hourly LMP data. See Appendix B.5
for the hourly LMP data. The "LMP" for reactive power, A is not a concept currently
used in electricity markets; however, to show the potential of scheduling real and
reactive power with enhanced control in smart grids using DERs, we estimate A -=
0.1A . The LMP data is provided in $/MWh, and is converted to per unit analysis
($/pu) as:
SBase (4.25)
A# = # A$/MW 1e3
where SBase is the base value used for apparent power, to convert to per unit analysis.
Note that ISO-NE also uploads hourly day-ahead LMP prices, preliminary real-
time 5-min and hourly LMPs, and the actual real-time 5-min and hourly LMPs. Thus,
different simulations can be carried out to better understand the pricing data required
for best scheduling of DERs. This is outside the scope of this thesis, as the focus is
not on information availability for decision making, but is an interesting point worth
mentioning.
The IEEE test feeders all contain single period load data. In order to consider more
interesting and realistic problems with these test topologies, the provided load data
is treated as a base value, upon which a demand profile is used to generate multi-
5
The concept of the LMP and the structure of the US electricity market is discussed in more
detail in Chapter 5. This includes defining what the ISO is as a market and regulatory entity.
111
period load forecasts. A normalized base demand profile is obtained from the ISO-NE
reports on total recorded electricity demand for each five-minute interval [381, for real
power. As with the LMP data, the report is queried for May 14, 2019. The demand
data is averaged over 12 periods to give hourly demand data; see Appendix B.6 for
data.
This base demand profile is used to generate demand profiles for all N nodes
in the network. This is done to introduce some complexity into the model; rather
than assuming that all nodes follow the same demand profile, we perturb the base
profile and obtain more variability, as would be expected in a real load forecast. Let
a(t) refer to the base profile obtained directly from the ISO-NE report data. Then
the nodal real power demand profile for node j, apj(t), is obtained by introducing a
factor ofopj. This factor opj is a vector of normally distributed random variables,
such that oJp ~ A(0, 0.1) is of dimension T, where T is the number of time periods to
be simulated. Then apj(t) = a(t)(1 + S,j), resulting in every element of a(t) being
perturbed. This new profile is then smoothed using Gaussian filters to produce a
realistic demand profile. An example set of profiles is shown in Fig. 4-2, for a network
tion (i.e. they are not independent values). To introduce additional complexity, nor-
malized demand profiles for reactive power are also generated, using the nodal demand
Renewable generators modelled in this work include distributed residential and com-
mercial PV, and wind farms. The NREL's System Advisory Model (SAM) tool was
utilized to obtain hourly generation forecasts for three renewable generator classes,
using the "Photovoltaics (detailed)" class. Wind generation data is also obtain from
112
Perturbed demand profiles for 5 nodes
1.05
0.95
0.9-
0.85
-
S0.8-
0.75
0.7
0.65
0.6'
0 5 10 15 20 25
Time, 24hr
SAM, for a 600kW onshore wind farm. Generation profiles are queried for May 14 6.
See Appendix B.7 for the hourly generation profiles.
• Small scale distributed residential PV: This model is valid for up to 10kW
residential PV resources. Resource data for Phoenix, AZ 7, using the SunPower
SPR-X21-335 module, and SMA America (SB3800TL-US-22, 240V) inverter.
The DC to AC ratio is set to the default of 1.2. The desired array size is set to
4kWdc, giving a total AC capacity of 3.850kWac, and uses 1 inverter. All other
parameters are left unchanged.
• Large scale distributed residentialPV: This model is valid for resources larger
than 10kW residential PV. Resource data for Phoenix, AZ, using the SunPower
SPR-X21-335 module, and SMA America (SB3800TL-US-22, 240V) inverter.
The DC to AC ratio is set to the default of 1.2. The desired array size is set
to 12kWdc, giving a total AC capacity of 11.550kWac, and uses 3 inverters. All
other parameters are left unchanged.
" Distributed commercial PV: Resource data for Phoenix, AZ, using the Sun-
6
Note that SAM generation data is hourly data for the entire year. Thus, seasonal variations
can be readily captured using these profiles. The date of May 14 is chosen simply to align with the
ISO-NE LMP and demand data being utilized.
7
The generation data is only available for a few states, predominantly California.
113
Power SPR-E19-310-COM module, and SMA America (STP 60-US-10, 400V)
inverter. The DC to AC ratio is set to the default of 1.2. The desired array
size is set to 220kWdc, giving a total AC capacity of 179.58OkWac. All other
parameters are left unchanged.
Financial information for the resources is also included in the renewable generator
model. The capital cost and installation costs for the solar resources are obtain from
the default financial data in SAM: capital expenses (CAPEX) include the module
costs, inverter costs, and balance of system equipment; the installation expenses
include the installation labour, installer margin and overhead, and additional indirect
costs which consist of environmental studies and permitting. These values are given in
$. The annual operating and maintenance costs for solar obtained from the Annual
Technology Baseline report by NREL [39]. This is typically $25/kW/yr but can
be upwards of $40/kW/yr; a conservative value of $30/kW/yr is used for all solar
resources.
Financial information for the wind resource is also obtained from the NREL report.
We consider data for onshore wind for Techno-Resource Group (TRG)6 which has
average wind speed of 6.9m/s 8. The financial data lumps capital costs and installation
costs for an average total of $1640/kW [391. The annual operating and maintenance
costs are averaged to be $51/kW [39].
The NREL report also provides average capacity factors of 0.2 for solar and 0.4
for onshore wind [391.
8
The average desired wind speed for wind resources in New England is around 6.5m/s.
114
4.2.10 Statement of MOPF Problem
min fMOPF(Y)
y
AV = ZInow (4.27)
Ii = IT + jA, Vj E B (4.28)
V = Vr +jVi Vj E B (4.29)
P = aj + bj Vj E B (4.30)
Qj = -cj + dj Vj E B (4.31)
Vj E B, j j (4.34)
j-
J- j1
Vj E B, j = j# (4.35)
P.<P.ti<P.
J-<- pi Vj E B (4.36)
Vj E B (4.37)
V =1, = 0 (4.38)
115
where:
" S refers to the set of substations, T, to the set of feeders per substation s, and
B to the set of buses connected to (and including) feeder I at bus j#,
* The notation (_) and (-) represent the lower and upper limits on local bus
variables;
" T represents the total number of time periods over which MOPF is being solved,
• The decision variables at time t are captured by the global decision vector yt
The decision variable over all time steps is denoted by vector y = [yl,vT; Y2,VT; ... ; yY,VT]•
* bj,o is the initial capacity or energy level of the storage device at time t = 0, at
The OPF problem for the distribution grid with high penetration of DERs has high
transmission lines and buses respectively, and [<D] denotes the number of maximum
number of phases in the network '. As previously discussed, it may not be tractable
for central solvers to reach optimal solution within a reasonable time. The use of
9
Typically a distribution grid will have lines which are three-phase, and peripheral lines which
service single- or two-phase loads. For simplicity of the calculation, here we assume that all lines
have the same number of phases, namely [<f] = 3.
116
distributed solvers can address this. In particular, we will make use of the PAC
For the multi-period problem, the atomic vector, aj then takes on the form of
(4.48), where once again the last term are the coupling variables denoted by the ^
symbol. Note that we have omitted the subscript for time, t, on all variables inside
ai = [I IJ V Vj j i Qj aj bj Cj dj { f}owjk7 IflojkVk,{(j,k)}ETD
where every vector element of aj is composed of the variable over all time steps, as
With the decomposed problem, we can now employ the PAC algorithm to resource
tion grids with varying penetration of DERs, solved for different time periods. We
" Case 1: We consider the IEEE 13-bus network with fixed DER penetration
(demand response, renewable generation, and storage), and solve the MOPF
problem for different time periods: 2 hours, 5 hours, 8 hours, and finally 24
hours. We use these results to motivate the need for multi-period optimization.
" Case 2: We consider the IEEE 13-bus network with varying penetration of
DERs, and solve the MOPF problem for 24 hours. Namely, we consider net-
works with (a) only demand response; (b) (d) demand response and storage; (c)
117
demand response and renewables; and (d) demand response, renewables, and
storage. These simulation results help us understand the importance of storage
renewable generation, and solve the OPF problem over 24 hours. This test case
shows the scalability of the model, and the ability to consider more realistic
Here we consider the IEEE 13-bus network with small renewable energy penetration,
small demand response capabilities at 3 of the 5 loads, and 1MW of installed storage
capacity. The MOPF problem is solved for 2, 5, 8, and 24hours, and the results
are shown in Figs. 4-3, 4-4, 4-5, and 4-6 respectively. By comparing these results
we see that the storage unit is discharged more rapidly in the beginning of the day
when shorter time windows are used. While both the 8hr and 24hr simulations show
battery discharging in hours 1, 4, and 7, the 24hr simulation looks ahead to future
periods when electricity is more expensive (i.e. the evening, after 6pm) and charges in
additional periods, such as in hour 3. Further the 24hr period simulation is the only
one in which renewable generation is visible to the grid operator; the shorter windows
don't show any generation as solar doesn't become available until 8am. From these
results we see that longer windows are needed for efficient resource scheduling; else
a battery may be depleted too early on in the day, or it may not be charged when
118
Time Period (hr)
1.4
1.2
).4
Time Period (br)
7
OW MM--J
).2
E Uu -eio -br
Tim Peiod (hi)
l.2
119
Tie Period (h)
ir~ 2 3 4
Tim Period (hIa
-~ __
I~
- - - - - -
-
.-L
I2 3 m P 6 7
Time Period (br)
1 2 3 4 S8 10ii 12 1.31411II1718192421222324
VggggggggggWes 11 u 11 1
1 2 3 4 5 6 7 8 9 to 11 T 2P 1idr 14 is 16 17 is t0 2D 21 22 23 24
Tume Period (h)
1 2 3 4 b 6 7 8 9 10 11 1 3 14 16 t 1 - 17 l 19 2D 21 22 23 24
120
4.3.2 Case 2: Understanding the need for Storage
Here we consider 4 different combinations of DERs present in the IEEE 13-bus distri-
bution grid, and also vary the amount of storage and/or renewable generation. Data
for the simulations is provided in Appendix B.2 for the network default configuration.
Case 2.a: DR
In this test case, the only DER present is demand response, which is available at 5 of
the 7 loads. The amount of available DR varies from 10%-50% of the total load at the
node. See Appendix B.2.1 for full data. The simulation results in Fig. 4-7 over the
24hr horizon show roughly 10%-15% curtailment of load (through DR) throughout the
network, for every hour. This is quite a substantial amount of curtailment, especially
given that it persists throughout the day. A more reasonable DR strategy would
curtail load only for a portion of the day, or would shift load from one hour of the
day to another.
In this test case, both demand response and storage are present in the network.
Demand response is available at 3 of 5 loads in the network, and a battery of 1MW
capacity with initial charge of 150kW is present. See Appendix B.2.1 for full data. The
simulation results in Fig. 4-8 show steady use of DR capabilities throughout the day
- much like Case 2.a - and storage being continuously cycled. The battery is charged
during periods of lower cost, and is discharged when prices are higher, namely during
the morning hours of 7-9am and the evening after 6pm. In reality, the storage device
may be operated with more limited cycling - rapidly switching between charging and
discharging mode can wear the battery down. This suggests that the battery wear
cost is not appropriately selected; it likely does not account for installation costs, and
externalities such as environmental assessments and permitting fees.
121
9J WE1 LJ LLJI LJ LJ II I II LJ -TTTA
2 3 4 5 6 7 9 9 10 12 Id
(13 1 5 16 17 1 19 20 2 1 22 22 24
a 3 o 5a 7 9 10 11 12 13 14 15 1 17 Ii s 19 20 21 22 2.2b
r~me Period (br)
Tim P2lod (h)
qiureit of7
Fiureit 4-7 imlor
imulatied elrcty duering periods for 13-unetork
eltiit overingh e bnetok (namel high
8amhDRto
122
= hW-W9. MJ-W~fty
1 .5 15 17 18 19 20 21 22 23 24
1 2 3 4 5 6 7 8 9 10 11 .3
1 2 3 1 5 9 to II 12 13
Trim Period (hr)
1I I 18 I 1 8 19 20 21 22 23 24
the day is not feasible. A more realistic policy could include having a limit on the
amount of curtailable load per node participating in DR, either over a 24hr period or
over a week. This would ensure that grid operator only utilizes the DR resources when
it most needed. Further, DR is currently modelled as a fixed percentage applied to
load over every hour. This is not a realistic model. Rather, the percentage of allowable
curtailment should vary throughout the day, and some base amount of electricity is
likely always to be consumed by loads. Better development of DR policies is outside
the scope of this thesis, but these simulation results show great potential for aiding
in these decisions.
In this test case, we consider the presence of all resources (DR, renewables, and
storage), with varying installed storage capacity. The network has DR present at
123
___I, ..-b .im 6
1 2 3 4 5 a 7 8 9 1 10 11 12 1 4 1; 1 17 3i 1 20 21 22 23 24
o - 0
1 2 3 4 5 6 7 8 9 10 11 P1 (r 14 15 0 17 18 19 20 21 22 23 24
::L L IL JI I I I I LJ I h hIm
Thu~ Pu1hod (ho)
1 2 23 4
Tim IM (ho)
M in C. 4WIlOW
F 4- Sn ovr 2 period12 14 16 4h 17bs o9rk wt D
:.
J 0 2 2 23 'L
1 o 1 S
TIMM Period (br)
500kW initial charge, 0.5MW with 100kW initial charge, and 2MW with 300kW initial
charge. Note that in the last two test cases, the day begins with the battery near or
at the minimum charge it must maintain through operation (due to minimum SOC
requirements). See Appendix B.2.1 for full data.
The results for these configurations are shown in Fig. 4-11, 4-12, and 4-13 re-
spectively. Similar to other test cases, we see that DR resources are used steadily
throughout the day, while solar PV generation is used once it comes available from
8am to 6pm. The use of storage is the most interesting between these test cases: the
hourly LMP data is the same between all 3, while the specific demand values vary
based on the generated demand profiles.
In all three cases, the battery is discharged during the night hours (6pm and
onwards), even when there is limited capacity available (as with the 0.5MW case).
124
0 1 2 1 4 1 6 17 IS 19 20 21 22 23 24
1
---
15 10 17 1s I9 20 21 22 3 2
9 10 11 92 M 12 4
1
Ion MMW)
maPil~
2n
is 19 17 18 19 20 21 32 23 24
5 06 7 a 9 10 91 92 13 14
1 2 2 94
Tam Palod (hr)
0NN
4
1 2 2 1I 9 202122323
4 0a79to 19121 141is141I
Figure 4-10: Simulation results over 24hr period for the 13-bus network with DR
capabilities and higher PV penetration (265kW).
These are the hours when the LMP is the highest. Interestingly, when storage capacity
is limited as with the 0.5MW capacity or is large as with the 2MW installed capacity,
there is less cycling between charge and discharge, as compared to the case with 1MW
installed capacity. When limited, the battery is used only for the highest prices during
the day, and charged at the lowest prices, both in intervals of around 2hrs. When
very large, the battery can be charged when electricity is cheaper and the stored
power can be discharged over more periods, both in intervals of around 3hrs. For the
middle case of 1MW installed capacity, the battery is discharged over more periods
than for the 0.5MW case, but requires more charging than the 2MW case in order to
meet network loads. These simple results show the importance of system planning,
which must include battery placement and sizing for networks with DERs and varying
demand profiles. Else, the resource will be strained to meet requirements, or may be
oversized and too expensive.
125
1 2 8 9 t0 01 12 13 11 15 0 17 i1 I 20 21 2 2
rt mod (hi)
W--(Dbha)
1 2 2 4 0 8 7 8 0 10 i1 12 1tr
3 14I 15 10 17 18 19 20 21 22 23 24
20
1 2 3 4 567 9 02821o1 (~3N4is 1617is 18No21222324
Time Pefed (o
Figure 4-11: Simulation results over 24hr period for the 13-bus network with DR
capabilities, PV penetration of 135kW, and 0.5MW storage capacity.
Here we consider the IEEE 123-bus network which has been modified to include high
penetration of distributed renewable generation, in the form of residential solar PV
(installed capacity of 179kW). Full network data is available in Appendix B.3 for
the default network configuration. Here a very simple problem of fixed loads (no
DR) and distributed renewable resources is considered. Note that this is still an
optimization problem as the renewable generation can be curtailed. The results are
shown in Fig. 4-14, where once again, renewable generation is utilized during the
mid-day when generation is available.
For the network, we have N = 119, M = 118, T = 24 and 3-phase network, leading
to (10 x N + 2 x M) x T x 3 = 102672 variables which need to be solved for. This is
quite a sizeable problem, for what is still a small model network used as an academic
example. A real distribution grid will have many more nodes, and as such, be a much
126
- WE [an lki
13 14 15 16 17 is 19 20 21 22 23 24
10 11 12
1 2 3 4 5 6 7 8 9
Time Period (hr)
2 0
Peio (hr)
Time
1 2 3 4 5 6 7 8 9 1 11 1 1 14 i5 16 17 Is 19 20 21 22 23 24
I I J L LJI I LL J lI I J L L_
1 2 3 4 5 6 7 8 9 10 11
Fsr
12 13
eriod (
14
fn)
15 16 17 is 19 20 21 22 23 24
22 2324
1 2 a 4 5 T 8 D 10 11 12
Ti... Period (hr)
13 14 1 I 17 I 1 8 19 2 0 21
123
Figure 4-12: Simulation results over 24hr period for the 13-bus network with DR
capabilities, PV penetration of 135kW, and 1MW storage capacity.
larger problem.
127
A
1 2 23 4 5 6 7 8 9 to 11 12 13 14 is i6 17 3s 10 20 23 22 23 24
Tim Niod NOi
123 011321s14153617Is1920212222 24
Time PaOod (hr)
1 2 3 4 6 7 a 9 0 3 12 13 it Is 5I 1 7 1 6to 2 3 21 22 2 24
Time Pdd (hk)
Figure 4-13: Simulation results over 24hr period for the 13-bus network with DR
capabilities, PV penetration of 135kW, and 2MW storage capacity.
1 2 3 4 5 6 7 8 1 30 11 12 12
ime Pusod (ur)
34 1S 3s 17 Is 12 2 3 ~ umorwOm iundely
9-wflhohoupdw)
3 2 3 4 5 6 7 8 9 0 36 i 12 13 34 15 1s 17 to 20 1 3 2
Time PMuOd (hr) 3 L.
3 3 4 6 7toI 1 11 1 2 1 3 4 14 I 17 12 1 2 0 1 23 U
raw. Pulod (hr) WA I.
1 2 3 4 5 a 7 6 0 30 11 12 13 14 is15 1 37 is 19 20 21 22 M3
Tim. Peuod Chi)
Figure 4-14: Simulation results over 24hr period for the 123-bus network with installed
capacity of 179kW of renewable generation.
128
Chapter 5
In this chapter of the thesis, we shift away from day-ahead resource scheduling (i.e.
hourly basis, or day-ahead schedules) and navigate towards real-time decision making
and electricity pricing. The PAC algorithm introduced in Chapter 3 can once again
be utilized to solve the OPF problem; this time however, the results of interest are
both primal and dual variables. The primal variables once again describe the opti-
mal scheduling of generating units and loads. The dual variables now give us the
retail price for electricity - namely, the shadow prices tell us how much a customer
should pay to consume electricity, and how much a DG should be paid for generating
electricity.
power market 1, then proceed to describe the proposed retail market and present
'While the proposed retail market mechanism can be used in any electric system, the focus within
this thesis is on the US electric power market.
129
5.1 Introduction to US Electric Power System
The US electricity grid is composed of three main interconnections, which are con-
nected to each other via high-voltage DC power transmission lines (DC tie lines) or
variable-frequency transformers (VFTs). These tie lines and VFTs isolate the in-
terconnections and allow them to operate largely independently, but still allow for
some electricity transfer as needed for emergency balancing. The three interconnects
consist of the Eastern Interconnect, the Western Interconnect, and the Electric Reli-
ability Council of Texas (ERCOT). Both the Eastern and Western Interconnections
poration (NERC) and Federal Energy Regulatory Commission (FERC), which are
covering the US, Canada, and the northern portion of Mexico. NERC is the elec-
tric reliability organization (ERO) for North America, and oversees the reliability
and security of the grid. NERC is overseen by FERC in the US, and governmental
sees interstate transmission of electricity, natural gas, and oil. Under the Energy
Policy Act of 2005, FERC's responsibilities include regulating the transmission and
wholesale electricity markets, and overseeing the reliability of high voltage interstate
grid. ISOs typically operate within a single US state or multiple states, but
over smaller geographical areas as RTOs. The ISOs were formed upon recom-
2
Note that here only two of the main responsibilities of FERC are considered, as we are concerned
only with the electric grid operation and markets. FERC has additional responsibilities including
overseeing mergers and acquisitions (M&A) of electricity companies and various other tasks per-
taining to natural gas, oil pipelines, hydroelectric projects, and environmental considerations of
electricity production and transportation tasks.
130
mendation by FERC, and act as an independent Federally regulated entity.
" Balancing Authority: Controls transmission and generation within its region to
ensure supply meets demand at all times, throughout the network. Balancing
is primarily done by turning on/off generators, and/or importing/exporting
electricity from neighbouring balancing authorities. Within an interconnect
there are multiple balancing authorities. All RTOs in the US are also balancing
authorities, and are subject to the reliability standards issued by NERC and
approved by FERC. ' 1421
The roles of ISOs and RTOs are similar, as they both operate regional electricity
grids, oversee the wholesale and retail electricity markets to ensure open access for
supply, and provide reliability planning. However, RTOs have greater responsibil-
ity for the transmission network. Within North America, there are currently seven
RTOs: California ISO (CAISO), ISO-New England (ISO-NE), Electric Reliability
Council of Texas (ERCOT), Midcontinent ISO (MISO), New York ISO (NYISO),
PJM Interconnection (PJM), and Southwest Power Pool (SPP).
The US electricity markets have two components: wholesale and retail. Wholesale
electricity market (WEM) encompass electricity sale and exchange between electric
utilities and electricity traders. The retail market involves the sale of electricity
to end-use consumers, which includes large-scale facilities, small-scale businesses and
buildings, and residential units. A utility (or more generally known as a Load Serving
3
Note that the Electric Reliability Council of Texas (ERCOT) is a unique entity in that it is a
balancing authority, interconnect, and RTO at the same time. Also note that ERCOT is not subject
to FERC jurisdiction.
131
Wholesale Electric Power Markets
*CS auoaEPM
aMISO 4SPP
0 ISO-NE E ERDT
Soume:FederalEwVerj Regulatry Comision U NIso
Figure 5-1: Graphic showing the wholesale electric power markets in the US. The grey
regions are under traditionally regulated wholesale markets. The coloured regions are
the ISOs/RTOs where deregulated competitive markets exist. [2]
Entity (LSE)) will purchase electricity from the wholesale market (at wholesale price)
from producers and/or traders, and resell the electricity to end-use consumers.
Within the US, both traditionally regulated electricity markets and competitive
markets exist, as shown in Fig. 5-1. In the traditionally regulated markets, utilities
are vertically integrated, and are responsible for (and own) the generation, transmis-
sion, and distribution systems to serve consumers. In competitive markets, which
are overseen by the ISOs (and RTOs), independent power producers and non-utility
generators trade power, which is purchased by LSEs who sell power to consumers.
Similarly, within the retail market space, both traditionally regulated and com-
petitive markets exist, as shown in Fig. 5-2. In traditionally regulated retail markets,
consumers cannot choose who to purchase power from or where their electricity is
generated. In competitive retail markets, consumers are given the choice between
competitive retail suppliers; these can be directly from power producers or an LSE.
Note that even in competitive retail markets, some municipally-owned utilities may
not offer customer retail choice; different states and jurisdictions structure the market
in different ways. [2]
132
Retail Electric Power Markets
-+
9 Traditionally Regulated
N compeitve
Figure 5-2: Graphic showing the retail electric power markets in the US. The grey
regions are under traditionally regulated wholesale markets. The coloured regions are
states where deregulated competitive markets exist. [2]
The structure of the wholesale and retail markets impacts the ability for renewable
generation to become part of the electricity mix. In traditionally regulated markets,
the utilities must invest into renewable energy or "green pricing" products which may
include renewable energy certificates (RECs). In these markets, renewable electricity
is typically more costly, and barriers to entry are higher for renewable generation
as decisions are made top-down. Within deregulated and competitive markets (for
both wholesale and retail), customers have electricity choice and so have more power
over how much renewable energy or green pricing products are available; a higher
demand for these products will encourage LSEs to purchase electricity from green
resources. Finally, the market structure also influences whether customers can take
part in power purchase agreements (PPAs) with renewable resources '. For any PPA,
4
Most renewable/green energy projects in the US are supported on the basis of PPA. The PPA
is a contract between the electricity generator - in this case a renewable generator such as a wind or
solar farm - and an electricity buyer. They are typically long-term contracts which outline the sale
and price of electricity, and schedule for delivery. Financial counter parties can also take part in
PPA agreements as they can absorb the higher risk of engaging in a PPA with a renewable project,
which have uncontrollable and intermittent generation. PPAs are overseen by FERC.
133
Generator End user
Reseller
i.e., electricity utility companies,
competitive power providers
and electricity marketers
Figure 5-3: Infographic of the wholesale and retail markets from PJM, under a com-
petitive market framework [3]. Other ISOs/RTOs have the same general structure.
the project must be within a competitive wholesale market. For physical (direct)
PPAs, the consumer must also be within a competitive retail market and the project
must be interconnected with the consumer's ISO. For financial PPAs, the consumer
can be located anywhere in the US. [2]
Within this thesis, we consider the more interesting problem of integrating DERs
within the distribution grid, many of which are behind-the-meter, through market
mechanisms. To do so, we consider regions with competitive wholesale electricity
markets, where more complex market structures exist. In this section, we introduce
the different electricity markets which work together to create the WEM. Within com-
petitive wholesale electricity markets there exists energy markets, capacity markets,
and ancillary services markets. These will be briefly described below.
Energy Market
The energy market is the largest component of the WEM, and deals with real-time and
day-to-day energy balancing. This market ensures supply meets demand, by balancing
the needs of buyers, sellers, and other market participants. The energy market is
134
I
Real-time
Figure 5-4: Typical timeline for planning and operations within the US electricity
system. Markets include day-ahead and real-time segments.
composed of the day-ahead and real-time energy markets. A general timeline for grid
planning and market operations is presented in Fig. 5-4, noting that the focus of this
thesis is on the markets side of the figure. Note that in some WEMs, the price of
electricity can be predetermined through bilateral contracts, which are between an
electricity buyer and a seller, determining the price of electricity, and the quantities
to be purchased (or sold), rather than through organized wholesale markets [3].
Day-Ahead Market The day-ahead energy market is a forward market: the prices
for electricity are set on an hourly basis (typically) for the next day of operation. Typ-
ically the day-ahead market closes 24-36 hours in advance of the operating day. The
hourly prices are determined through an optimization problem, which seeks to mini-
mize costs incurred, using the offers from generators, and bids from power consumers
'. Generally, the lowest-priced generators are "cleared" first (commitment to pur-
chase power from them over the next day is made), save for any resources which
may have prior purchase agreements. Generator offers are cleared from the lowest-
to highest-priced offers until the demand bid is met, along with some extra reserves.
The prices and schedule in the day-ahead market are binding, and allow buyers and
sellers to hedge against price volatility in the real-time market. However, deviations
from the schedule will be cleared in the real-time market. [3,43]
'Note that this includes both LSEs and market-related financial transactions.
135
Real-Time Market The real-time energy market is a spot market: the prices
and quantity of electricity is determined for immediate procurement and delivery
to balance differences in day-ahead commitments and actual real-time production
or demand. The real-time market can clear anywhere between every 5-15 minutes,
depending on the ISO under which it is coordinated 6. Any deviations from the
schedule determined in the day-ahead market is cleared in the real-time market.
The real-time market establishes a locational marginal price (LMP) that is paid or
charged to participants in the day-ahead market for demand or generation which
deviates from day-ahead commitments 143]. Note that the real-time market can have
significant volatility, but the average price of electricity remains fairly stable.
Capacity Market
The capacity market is a smaller component of the WEM and is concerned with
near long-term energy needs. Through the capacity market, the ISOs must ensure
there will be enough power supply in the future, to meet the forecasted average and
peak demand. Capacity markets are forward markets where contracts are determined
through Forward Capacity Auctions (FCA) which are held annually, three years before
6
ISONE and PJM clear every 5 minutes [3,43]. CAISO operates real-time markets which dispatch
power every 5 and 15 minutes [44]
136
the operating period (for both ISONE and PJM [3,43]). In the auction, different
electricity (or limit demand for demand-response resources) when needed, especially
in the case of emergencies, for the year in which they are committed. The structure
of the capacity market supports the development of new resources to meet future
electricity needs, and help retain existing resources. Resources which clear in the
capacity market receive a stable revenue stream, even those which only serve peak
The ancillary services market work in tandem with the energy market to ensure that
supply meets demand at all times. This balancing is done through the regulation mar-
ket and reserves market, which make up the ancillary services. Other ancillary services
include voltage regulation and black-start, but there are no clear market derivatives
for these functions. In some competitive WEMs, the ancillary services may be pro-
having ancillary services markets ensure that resources are priced adequately under
shortage conditions, and provides structured market derivates for operating practices
Regulation Market The regulation market operates on the seconds timescale and
liability of the system. The regulation market includes Automatic Generation Control
6 seconds 7, in response to automated signals. This may also be called the regulation
reserve [45].
7ISONE
requires AGC every 4 seconds [43]
137
Reserve Market The reserve market operates on the minutes timescale and meets
is composed of spinning and supplemental reserves, which both use resources which
meet emergency needs. Spinning reserves are a contingency element, which consist
of resources already synchronized with the grid to reach targeted output within 10
minutes. The supplemental reserves consist of resources which may or may not be
synchronized with the grid, but can be ramped up to supply the required energy
within 10 minutes. The reserve market is necessary for emergency situations and
The current practice in the US for the integration of DGs is for them to participate
in the WEM [46]. While this participation largely pertains to DGs, certain amount
of participation also occurs from DR units and storage devices. FERC order 841
[471. Despite this, there is no clear treatment of value stack benefit for storage, or
aggregated distribution connected storage.
Further there is limited ability for small-scale DERs and behind-the-meter re-
(AMI) is not available. While some DER participation is allowed in the WEM, this
which still limit DER participation. Different ISOs/RTOs have made their own de-
cisions on how to treat different DER classes. For example, CAISO allows demand
response to participate and submit bids, with aggregation of a minimum of 100 kW,
as long as these resources do not inject energy into the grid. In comparison, most
prohibit the easy integration of small-scale DERs into the electricity system.
138
Demand response participation in the WEM is also documented by PJM, as shown
in Fig. 5-5. From Fig. 5-5a we see that DER units which participate as DR primarily
take part in the capacity market. The report goes on to detail that most DERs
participating as economic DR are certified to provide ancillary services [4]. This
looks very promising for DERs in the PJM region. However, we note that from
Fig. 5-5b, all of the behind-the-meter participating units are generators which use
carbon-based fuels; there is no participation of solar PV or storage in these programs,
despite their penetration in the grid.
One of the central features of the emerging Smart Grid is a highly transformed dis-
tribution grid with a high penetration of DERs. Within New England, the expected
growth of solar PV shows high penetration of small-scale rooftop solar resources, see
Fig. 5-6. Following this trend, the current electricity market structure - namely only
having a competitive WEM - may not be sufficient for efficiently integrating these
resources and realizing efficient and reliable power delivery. Thus these highly flex-
ible, low-cost, and distributed resources will be under-utilized if the current market
structure persists.
The WEM largely takes on a centralized architecture, with the ISO/RTO oversee-
ing the market. Multiple participants take part, but the overall optimization problem
which considers the resource allocation based on the bids made by generators and
consumers, is solved in a centralized manner. As discussed in Chapter 2, the in-
creased penetration of DERs is pushing the structure of the distribution grid towards
a decentralized - perhaps distributed - form. Thus a centralized approach which con-
siders all resources seems to be inefficient, and such large-scale optimization problems
can quickly become intractable. Thus, we may want to move towards decentralized or
distributed architectures for the market as well as the computations associated with
decision making.
As briefly introduced in the discussion of DER participation in the WEM, we
note that minimum resource size requirements force DERs to be aggregated and
139
7
/AiI K
K
Natural Gas
15.4%
Waste Products, 0.25%
Gasoline, 0.2%
011, 0.1%
Propane, 0.1%
(b) Fuel types for behind the meter DR generation units which participate in the capacity market as
DR units for DY 2018/2019.
Figure 5-5: Data from PJM for the DY 2018/2019, for DERs participating as DR [4].
140
Solar PV Projected Growth 6,700
New England, 2019 MW
2,900
MW
40W
Jan 2010 2018
IIi 2028
Figure 5-6: Plot showing the expected growth of solar PV in New England, as of
2019. This is primarily rooftop and small-sc'ale solar resources.
bid directly into the WEM. This can be limiting for many DERs, and also further
exacerbates the immense computational requirement of coordinating a large number
of resources. We reiterate that the transmission system consists of far fewer resources
The lack of a real-time retail market also means the volatility of renewables (or
similar resources) is not reflected in hourly energy prices. A plot of renewable energy
production in a sample day for the New England system is shown in Fig. 5-7. Over the
course of the day, the output from wind and solar varies greatly. Further, the demand
for electricity, which is not shown on this plot, will also vary. Using a fixed-rate pricing
structure means the flexibility of DERs and the variability in their availability will
not be adequately accounted for. Figure 5-8 shows a sample set of price-demand
curves and highlights the inefficiencies associated for fixed retail prices, where both
supply and demand will vary continuously throughout the day. During times of high
demand, resources should be paid more for meeting the requirements (also for peak
demand hours), while during times of low demand, the resources should be paid less.
This picture becomes more complex when considering the flexibility of DR units,
which won't be adequately compensated for the services they can provide under a
fixed pricing structure. When demand is high and generation is low, DR units are
more valuable to the system operator, as they can be leveraged to help balance the
system, and so should be paid accordingly.
141
Renewable Generation, MW
400 New England, Sept 12 2019
200
-Wind
Solar
0
00hr 12hr 24hr
Figure 5-7: Plot showing the variability in renewable energy production over a day
in New England.
P Demand,,.k
PP~
Supply
DemandoM
Qo.M Qn Q
Figure 5-8: A set of price-demand curves showing the inefficiencies of using a fixed
retail price. Further, fixed prices can't leverage the flexibility of DERs.
Finally, these DERs can be owned and operated by different stakeholders. The
efficient and reliable operation of the distribution grid thus requires an overall market
structure that allows the procurement and integration of power generation from these
DERs, while maintaining data privacy. A retail market that oversees the participation
of DERs in the distribution grid and implements a suitable mechanism for their
scheduling and compensation is highly necessary. Figure 5-9 shows a schematic of
the desired retail market structure and interactions between different stakeholders,
142
including the WEM and the DERs.
Retail Market
Price4 Schedules Prices Schedules
Distributed Generators (DG) Demand Response (DR)
Renewables Residential Industrial
CHP Storage
Trains
o
Figure 5-9: A market structure in the form of a retail market within the distribution
grid is necessary to best utilize the DERs within the network.
The need for such a market has gained considerable traction, with various ap-
proaches being taken. The concept of transactive energy is one such promising design,
whereby a service-based value of power is used to influence desirable behaviours from
various autonomous agents, which include prosumers and DERs at the gridAA2s edge,
at fast timescales [9,101. In this way, transactive energy is providing a link between
the physical power flow in the grid, and market derivatives and regulatory constructs.
In this framework, an independent agent does not have to cede control of its DERs
to a centralized authority; rather it reacts to price signals to provide services to the
grid, for which it will be compensated.
As the number of DERs and prosumers increases, more structure is warranted to
coordinate and carry out the underlying transactive energy schemes. New operational
entities such as a Distributed System Operator (DSO) and a retail market coordinated
by DSOs may be needed. The DSO can take on various roles, including maintaining
system reliability, facilitating transactions between agents and aggregators, and acting
in the capacity of a utility whereby the DSO procures energy and coordinates a retail
143
market [481. The latter is the focus of this thesis, in which a structured set of market
interactions are proposed for the distribution grid, each one of which may be viewed
as a transactive energy scheme. A discussion of approaches taken in literature and
the design of the proposed retail market are presented in the next two sections.
The coordination of power delivery as well as the overall market design as the number
of DERs begins to increase are areas of active research [49-75]. The literature herein
can be broadly grouped into centralized [52-58], decentralized [59-64], and distributed
approaches [65-75], with this paper being a member of the third category. Reference
[51] is a survey paper that gives an excellent overview of different market approaches
to integrating DERs, particularly focusing on prosumers and flexible loads.
References [52-581 consist of centralized market perspectives. A hierarchical mar-
ket structure is proposed in [52] and [53] to interlace the operation of the WEM with
the retail market, where a Distributed Network Operator (DNO) is responsible for
operating the market and load aggregators for smooth interactions with the WEM.
In [54] the optimal dispatch of DR units in a distribution grid occurs through collective
participation in the WEM, while in [55], competitive participation for the provision of
ancillary services is used. The authors in [56] propose a centralized market where the
DSO schedules the day-ahead transactions for DERs in the distribution grid. Bids
are made by prosumers, generators, and microgrids, and both the DSO market and
WEM are simulated iteratively until both wholesale price and distribution-level Lo-
cational Marginal Prices (d-LMP) are determined. The DSO is assumed to maximize
their payoff. In this design, DC power flow is used, which can yield large errors for
the highly unbalanced distribution grids. Meanwhile, [57] and [58] use an iterative
procedure to solve the Optimal Power Flow (OPF) problem based on a Three-Phase
Current Injection Method (TCIM), and determine d-LMPs per phase per bus through
difference of power constraints. Due to the centralized perspective proposed in these
papers, agents are required to disclose operating constraints and utility functions to
144
a central entity. In doing so, the agents lose data privacy; additionally, in market de-
signs where the DSO is maximizing its own profit, this acts against the best interest
grid is computationally significantly harder than the typically smaller sized transmis-
sion grid, and the central optimization problem can quickly become intractable with
large number of DERs participating. Finally, these papers focus largely on d-LMP
each agent is assumed to use local information to make decisions, but is otherwise
unaware of the presence of others and do not therefore communicate with them. Such
decentralized EMS are proposed in [59] and [601, to coordinate the operation of DERs
and networked microgrids in the distribution grid. Decentralized market designs have
also been proposed in 61-641. The authors of [611 introduce a decentralized market
with bilateral trading rules which result in fair allocation of the line losses. However,
the relation between trading rules and optimal dispatch of DERs are not addressed.
More recent works are those in [62-641, each of which consist of different approaches.
The market in [62] is a peer-to-peer (P2P) structure in which different agents bid in
the marketplace to determine day-ahead energy schedules. The market in [63] uses
approaches to determine real-time d-LMPs. All of these proposed markets have either
limited interactions or do not accommodate interactions with the WEM. The main
disadvantage of decentralized solutions simply stems from the fact that each agent's
decision is local and therefore predicated on the assumption that coupling with others
is weak. This leads to limited applicability without intervention from a centralized
decision maker and therefore cannot be scaled up, especially as the number of DERs
increases.
This brings us to the third category, of distributed solutions, where the agents
rely primarily on local computations at each node and P2P exchange of information,
145
they are computationally tractable. Moreover, if well designed, they can be resilient
to communication link and single-point failures, and can preserve the private infor-
mation of the DERs, while still realizing network-level objectives. Papers [65-691
correspond to this category. The work in [651 introduces an algorithm with a parallel
architecture that can concurrently yield price discovery along with optimal scheduling
of resources in both transmission and distribution grids. Although the problem for-
mulation is very detailed, the proposed algorithm is quite complex and thus practical
using the predictor corrector proximal multiplier method. The DNO maximizes its
profits while determining a retail price for the DERs. In the proposed structure,
all agents share the same retail price, leading to inefficient pricing; since agents are
providing different grid services, they should be compensated based on the need for
their specific flexibility during the scheduled period. Many papers such as [67-69] use
electricity prices, when neglecting network constraints and congestion limits. In [681,
generator set points are determined; however, generators must share marginal costs
with neighbours in order to determine the global price of energy, reducing privacy
in the network. Further, the interpretation of this global price is unclear. Finally,
for economic dispatch, the marginal costs at each bus are required to be the same at
optimality. This assumption is relaxed for the OPF problem, however only for con-
gested networks. Further, agents are still required to share their marginal costs with
neighbours. A discussion on the overall structure of the market and interactions with
the WEM are also lacking in these works. For the most part, consensus based ap-
for market applications, where even marginal prices should be kept private. It should
be noted that distributed approaches have also been employed for general EMS appli-
cations (see for example [70-75]). By in large, EMS systems focus on the operational
146
aspects of the grid, and deal with system monitoring and control, generation and
dispatch set points, and energy scheduling. These functions are not concerned with
market derivatives for services provided to the grid by DERs. As our focus is on a
market design with DERs, a discussion of these papers is beyond the scope and is
therefore omitted.
In contrast to previous works, the focus here is to develop a comprehensive retail
market with appropriate pricing for DERs in a distribution grid. This is discussed in
the next section.
The proposed retail market consists of a Distribution System Operator (DSO) which
is designated to carry out transactions in a distribution grid through two markets:
(1) an energy market for DER scheduling and real-time market settlements (d-LMP)
through bilateral contracts utilizing the distributed PAC optimization algorithm; and
(2) in an ancillary services market which oversees transactions for alert conditions
between primary feeders in the distribution network utilizing a simple optimization
based algorithm. The DSO acts like a proactive utility, in that it accepts the LMP
as traditionally determined by the WEM, but optimally uses DERs within the dis-
tribution network, and only requests services from the WEM for net loads beyond
its DER capabilities. In both markets, DERs are compensated based on the need for
their specific service.
A schematic of both the physical layer and the market layer of the proposed retail
market is shown in Fig. 5-10. All data communication coming from the WEM is
shown with purple arrows, while data communication moving upstream through the
DSO is shown with orange arrows.
The DSO is composed of DSO Representatives (DSOr) and DSO Workers (DSOw),
located at each primary feeder and substation, respectively. The energy market trans-
actions occur at each primary feeder, between the DSOr and agents representing DERs
at each bus of that feeder. The ancillary market transactions occur between primary
147
I ~ Physical Layer IMarket I ayer
Transmission Grid I Wholesale Electricity Market (WEM)
IJVPl'E8
S Worker 1 Workers Worker S
Substation I Substation s Substation S
Primary
Feeder I
Primary
Feeder2
Primary
Feeder1
Primary
Feeder L
j Rpresentative
1Rpeattv
I2
Representative
2
Representative
1
Rpresentative
L j
At PAC values,J E B {I;* 2 QL'
feeders and substations. The DERs are assumed to live at the primary feeder level;
any DERs and uncontrollable loads at the secondary feeder level and below are rep-
resented through aggregators and do not directly participate in this retail market.
Thus, each bus j in the physical layer is an independent agent in the market layer,
acting to minimize its expenses while subjected to network constraints 8. Each agent
is also an atom j in the PAC algorithm, which specifies how these agents interact with
one another 1. Through the PAC algorithm, agents securely share information so as
to converge to the optimal schedules and retail prices (d-LMPs) for each DER. These
converged values are the basis of a bilateral agreement between the DSOr and each
agent. The DSOr is responsible for making payments to the DERs, and charging all
agents for their consumption (net their generation).
The DSOr will then aggregate all data from its agents, and send the aggregated
load and generation information to its respective DSO,. Prior to the next WEM
8
Note that this is not a limitation of the PAC algorithm or the market design. Any DERs in
the primary feeder can also be aggregated to form a larger agent, but for simplicity, a one-to-one
mapping is used here.
'Again, the one-to-one mapping is done for simplicity and proof-of-concept. In reality, a group
of agents can be aggregated to form a single atom, but the system model would then move away
from the a purely physical model to a more abstracted network model.
148
clearing, and under normal grid operation, the DSO, will convey the net load (or
generation) to the WEM. The assumption is that the WEM will accept to serve
this net load (equivalently, accept to receive this net generation). The DSO, is also
responsible for making payments to (or accepting payments from) the WEM for power
The ancillary services market deals with alert system conditions. Each agent must
notify its status of operation to the DSOr, which aggregates this data and flags any
risks of service disruption. In turn, the DSO, must notify its DSO, which monitors
the status of all its feeders. Then, the DSO, will carry out an "emergency procedure",
receives an alert status from one of its agents who will no longer be able to generate
the amount of power it had committed. Then, through AlgEx, the DSOw will find,
among the L connected feeders (in F,), the lowest cost generators to make up the
The details pertaining to both of these market structures will be discussed in the
next subsections.
The energy market employs the PAC algorithm to determine the optimal scheduling
of P9 *
QG* of the generating units, PY*,Q,V of the loads, and their d-LMPs P* pQ*
at node j, for all j in the distribution grid. For this application, we consider the BF
149
model of the power grid, and can state the central OPF problem as follows:
min fOPF(Y)
yERIYI
subject to:
PG <pG
J - 3 -
pG PC
J'
Vj C B
J - J - 3
Vj E B
Q9
Q9 <Q
- Q9 < Qy, Vj E B
,
Vj E B
vj : Vj ;J, Vj E B
V (i, j) E T (5.1)
P?23+Q? < -g2j,
V(i,j) E T
Q?-Qj = -Qij+Xijlij+Ek:(j,k)ET Qj,k,
PFG _pL = Zk:(i,k)ET Pi,k, Vi E F
f
G-Cost
(y) =
f1-A 3PG pG 2 + G)2,
J
ifj E BB\F
(5.2)
AF PG + A9Q9, ifj E F
L _ pLO)
2 9
L(Qj _ 0 2 ifjE
-_y
(5.3)
0, if j E F
jCB (ij)ET
150
tion for curtailing their consumption, fLo' to the power losses cost function where
losses are due to the line resistances, and foPF to the aggregate cost function of the
OPF problem.
Since the BF model is being used, only distribution grids with radial topology
and balanced networks are considered. These can be represented as a directed graph
I'D =(B,TD), where B represents the graph vertices and TD C T the graph directed
edges. The PAC decomposition for this OPF problem using the BF model depends
on the type of bus (i.e. feeder, end node). In particular, if (i,j) , {(j, hj)}jc l TD,
the vector yj would be:
Then as per the PAC decomposition presented in Chapter 3, the dependent vari-
ables between atoms must be accounted for, in the form of variable copies, which are
the estimate an atom j makes of a dependency on atom i. In the BF model, the de-
pendencies are the line flow variables and the nodal voltages; namely, atom j makes a
copy of the downstream power flows {Pj,h; Qj,h}, and the nodal voltage of the parent
vi. Thus the global problem which can be compactly written in matrix form for the
lowing atomized OPF problem, where the last three constraints are the coordination
151
minEfj (aj)
a EB
subject to:
Gaj = 0, jE B
y- vi 0=, Vi E 3
fIl - Pj,= 0, V(j,h) E T
Qh- Qj,h= 0, V(j, h) E T
the market clearing periods of the WEM and the retail market, respectively. For
ease of exposition, we assume that AT « AT, so the DSO market clears multiple
times within a single WEM clearance period. However, in general, these two clearing
We make the following additional assumption: Between any two market clearings
To and To + AT of the WEM, the LMP of all feeder buses A is fixed, for all feeders
Note that in PAC, the feeder node j# is treated as a generator of infinite capacity
exported to the main grid. Depending on whether the power is imported or exported,
either P'* = 0 or PG* = 0, respectively. Then for time period [To, To + AT] the aver-
age load (generation) of the distribution grid which will be imported from (exported
to) the main grid is calculated as PI* = P,*, - P* VE h,,VsES.
With the above assumptions in place, the operation of the energy market can now
prices at each j E B in the distribution grid, using the PAC algorithm, over every
152
(B) To+ Ar (C) To + AT
(A) TO
I II*- - I
WEM Dsori WEM
DSO, DSO - - • DSOAgn Agent Agent Aget Agent DSOw - DSOw, DSOs
DS~j ..DCAsDSOSt 2 J# 4 1 S-...DOS.. SW
PAC
A1 Multiple iterationst betwe Tv -4 To ± ,-
PACConvereto to Q*1
DSO market clearing period Ar. Note that the PAC algorithm is run independently
Fig. 5-11 shows the interactions between the WEM, DSO, and agents for the
proposed energy market over one clearing of the WEM. The energy retail market
will consist of three interactions denoted as (A), (B), and (C). The first interaction
(A) occurs between the WEM and DSO,s, when the WEM clears: at time To the
WEM passes to each DSOw the forecasted load/generation over the period, and the
LMPs for each of its DSOrs, 1 E -,, Vs E S. This information is passed down to
each DSOr, which shares the LMP with its agents. The second set of interactions (B)
occur between the DSOr and the agents every Ar, prior to the next WEM clearing.
For each interaction (B), the agents will coordinate amongst each other, through the
PAC algorithm, and converge in some K iterations. In doing so, the converged values
PG* G* pL* QL
for each bus,
of the real and reactive power generation and load
in the distribution grid will be determined, along with their respective d-LMPs, pl.
The agents will enter into bilateral contracts with the DSOr with these scheduled
values. The d-LMPs are valid for the period Ar. This interaction repeats until the
next WEM clearing. Prior to the next clearing of the WEM, the DSOr will send to
the DSO, the load to be imported from (exported to) the main grid, P1*rT, which has
been aggregated over the N DSO clearings. The last interaction (C) from Figure 5-11,
is between the WEM and the DSO,s, and occurs at the next clearing of the WEM,
153
To + AT. Each DSO, will send to the WEM per each feeder, the load to be imported
from (exported to) the main grid, P*T, which has been aggregated over the N DSO
clearings.
The sections above detail the market under normal grid operation. However, with
increased DER penetration comes more flexibility within the network, which should
be leveraged to address alert conditions at lower costs. Under the proposed market
structure, the ancillary services market is employed when an alert status from a
DSOr is received. The ancillary market addresses the shortfall in generation or load
reduction. The alert code, codea, details whether a generator or a demand response
resource is no longer capable of generating or reducing demand as committed in the
market period, respectively. Once received, the DSOw runs the AlgEX procedure,
whereby the optimization problem in (5.7) is solved to meet the shortfall in feeder
x, AP, while minimizing the cost of deploying ancillary resources. In doing so, the
subject to:
Z1 I(p(PG'/
1G'pL') min (1APX, LG
P*) (5.7)
pG' p' Vic6 8
PLG pL' Vi E
PGL
where PG' is the additional generation required from feeder 1, and PL' is the additional
load reduction required from feeder 1 in order to meet the shortfall in feeder x.
In order to run AlgEx, the DSO, requires the following data from each of its
DSOrs, regarding their respective distribution networks:
154
* Minimum load requirement: PL = , P;
" Optimal load set point, as determined by PAC and committed in the energy
market: P1 L* Bi
" Alert information: [codea AP,], where AP, is the change in power quantity
-
either a decrease in generation capabilities, or a decrease in demand response
capabilities (i.e. increase in P for some j in feeder x). We note AP, > 0.
The AlgEX procedure is described next for generation shortfall, and a similar
procedure is carried out for load reduction. For ease of exposition, suppose DSO,
1 sends an alert code of 0 with a shortfall quantity of AP. The new maximum
generation capacity for the feeder is then pG - PG - AP1 . Under this shortfall, the
remain the same. Finally, the new uncommitted generation and DR limits for the
The proposed market design must be evaluated. First, the PAC algorithm must be
evaluated for privacy considerations. In a market system where individual agents
(DER owners) may have sensitive information they do not wish to disclose, privacy is
performance of the distributed PAC algorithm as applied to the OPF problem for
retail market must be evaluated. The algorithm must converge within the 6 7 time,
while accounting for computational time and potential latencies in the communication
155
network. Third, the economic performance of the market must be evaluated. At
a minimum, we desire an increased DSO revenue which reflects better utilization
of resources within the distribution grid. With better resource utilization, we also
expect lower electricity prices for customers ". This can manifest in two main ways:
the retail prices from the proposed market mechanism can be lower than fixed utility
retail prices (i.e. F* < Ata), or higher profit for the DSO will result in lower energy
costs for all consumers in the market over time. These three areas of validation will
be further explored.
The PAC algorithm is privacy preserving, thus satisfying the first requirement for use
in a retail market. The cost functions of the DERs fj(a3 ), the retail prices 1j , and the
coordination costs vj, all remain private to each atom j. The only outside variables
needed at each j are a of the neighbours, and iDj. Comparing PAC briefly to another
tion Method of Multipliers), we see that PAC is a more private algorithm. Namely,
both the cost functions and pj remain private to each atom for both the PAC and
dADMM algorithms. However, unlike dADMM, the dual variable Vj remains private
to atom j in PAC.
The dual variable vj can be thought of as a coordination price. This indicates how
far an atom j must deviate from its atomic optimal point (which it would operate at
when making decisions as an independent agent) in order to achieve coordination by
taking into account network constraints. This latter case, when an agent accounts
for network constraints, is required for efficient and lowest-cost resource use, and
algorithm. If vj is high, then atom j is further from its atomic optimal point AAS
thus, vj describes the tension between atomic and network optimality.
10
We expect lower electricity prices on average. Note that in a real-time market, prices can
fluctuate and can peak at high values during periods of lower generation and high consumption.
However, better resource utilization can help reduce these peak values while also reducing average
electricity prices.
156
The importance of privacy of vj can be explained thus: with knowledge of the
vj values, a rogue agent can carry out a cyberattack, deliberately manipulating the
variables that are communicated between atoms to be maximally different from one
another. This action has two implications: First, it will take longer to converge.
Second, since the values are maximally different, each atom j will be forced further
away from its atomic optimal point, incurring "losses" as it tries to coordinate with its
neighbors to achieve optimality. The losses can be thought of as an opportunity cost:
to meet network constraints, atom j has to sacrifice revenue it could have received
had it been operating closer to atomic optimality. We note that there may be more
targeted ways to use the j values, such as by agents to coerce neighbors into certain
behaviours. Detailed investigation into this, however, is beyond the scope of this
thesis. Thus, by keeping vj private to each atom, the PAC algorithm has added privacy
characteristics and may exhibit more resiliency to cyberattacks than dADMM (and
other distributed algorithms or architectures). Thus, the PAC algorithm protects the
interests of each agent, while ensuring no agent has enough information (of d-LMPs
or coordination prices) to exercise market power, or to destabilize the market and
prevent it from reaching equilibrium.
PAC Algorithm
The PAC algorithm was then tested to ensure satisfactory performance for use in a
retail market. In particular, we require the PAC algorithm to converge within the
retail market clearing period " which we propose to be shorter than (or at most
equivalent to) the WEM clearing period.
Initial numerical simulations were conducted on a 2.6GHz CPU Intel Core i7-
5600U PC using MATLAB and CVX. To improve performance, the algorithm was
then implemented using MATLAB, with optimization problems being setup using the
YALMIP interface, and solved directly with Gurobi Optimizer (similar to the setup in
11
which can be anywhere between 1-15 minutes depending on the ISO/RTO requirements
157
MR
_ZU
-optima
76 -PAC
-ADMM
74
-
t-72
070
-
68
66
64
0 50 100 150 20C
Iteration r
Chapter 3. These simulations were conducted on a 3.00GHz CPU Intel Xeon E5-1660
v3, 8 core workstation, with 128GB RAM. The analysis below was conducted for the
JST-CREST 126 Distribution Feeder Model (see Appendix B.4 for complete data).
Preliminary Analysis
The parameters p, -yj, and jj of the PAC algorithm were tuned to guarantee con-
vergence of the PAC algorithm (for more details see [20, 21]) and the vector a was
initiated at the optimal solution of the atomized central OPF problem, at i = 19h.
The PAC algorithm was compared with the popular dADMM [76,77] algorithm. Both
algorithms were run for 200 iterations, and results are shown in Fig. 5-12, where the
black graph shows the optimal cost obtained using a centralized optimization solver.
the PAC algorithm converging slightly faster. From the initial implementation using
MATLAB/CVX, the total time required to complete 200 iterations with PAC is 130s
(0.65s/iteration/atom) and with dADMM is 203s (1.Ols/iteration/atom). Hence,
when the initial conditions are initiated close to the optimal solution, the proposed
PAC algorithm can converge in less than 5 minutes which is the standard time be-
12
for the ISO-NE WEM market
158
Implementation Considerations
The improved implementation considered the fact that the grid topology can be as-
sumed to be fixed; thus, the constraint matrices, G and Aj,_ in the PAC algorithm
are constant. Only the cost function (augmented Lagrangian) must be updated for
each PAC iteration, and the inequality constraints (limits on power generation and
load) updated for each time period.
Similar to in Chapter 3, the computational setup used to run the market sim-
ulations is provided in Figure 5-13. We note the main difference is that the PAC
decomposition does not use the Yalmip package to setup the centralized model, and
the Benchmarking is an optional step which compares the PAC algorithm to the
dADMM algorithm (while plotting the centralized solution). Finally, there is no
pre-processing step to recover current bounds, as the power flow model used for the
markets work is the BF model. We note again, that the PAC algorithm is imple-
mented in MATLAB, where a parfor loop is used to parallelize the primal update
across the computational agents. Once the primal update - which consists of solving
the atomic OPF for the kth iteration - is complete, the dual variables are updated in
a centralized manner. Note that this is not a limitation of the PAC algorithm, but
rather a design choice to simplify the implementation.
For worst-case computational time, the vector a was initiated at 'zero' - all node
variables are initiated at their lower bounds (PG pL Qf,Q,V); all line variables are
initiated at 0. To guarantee convergence, we run PAC for 4500 iterations. Tables 5.1
and 5.2 provide a summary of estimated computational times and latencies associated
with PAC that would correspond to a parallel implementation. Latency is defined as
the time between data generation and when it is acted upon by the next agent [78].
We also differentiate between latency and computational delays, which are times
associated with application/script execution [78-801. References [78-80] were used to
obtain reasonable approximations for latencies and computational delays.
These tables show that the retail market completes execution in 8.8 minutes. We
expect this time to be reduced by an order of magnitude through better initialization
159
MR
PAC
1: Update primal PNNtup
OPF Sho S nPAC parametes, Initial
(Kihird) Aueae Calculate
.- Udaeul duals 4 j: Update primal Price. Pert otm
Update Predictions solutionwitiyc
2/% 1
solution within hypercujbe
.Optimal etra
solution (best)
N:Update primal
Figure 5-13: Flowchart of the computational process. The PAC algorithm decom-
position is fixed for a network with a given topology. The scenario or time-period
specific updates must be run each time the PAC algorithm is run.
(not zero). For example, a reduction of iterations from 4500 to 450 will reduce
execution time from 8.8 to 1.4 minutes. Execution time can be further reduced
as latency requirements reduce, to say 0.76 minutes, for lOms latency compared to
looms, at 450 iterations.
160
SINGLE COMPUTATIONS Market Agent(s) Time
Data Processing: aggregating agent data DSOr 5
Data Processing: check for 'alert' system status DSOw 5
Algorithm Execution: run Alggy DSOw 10
LATENCY REQUIREMENTS Market Agent(s) Time
Data communication: at PAC convergence Agents -* DSOr 1
Data communication: before next market clearing DSOr -> DSOw 15
Table 5.1: Computational Delays and Latency Requirements. All times measured in
seconds, (s).
PAC COMPUTATION PER ITER Market Agent(s) Time No. Iter Total Time
Algorithm Execution Atom 0.0092 4500 41.4473
PAC information exchange (latency) Atom j ++ Atom i 0.1 4499 449.9
Total PAC Computational Time 491.35
Table 5.2: PAC Computational Time. All times measured in seconds, (s).
The proposed market operation can be validated to increase DSO revenue, as per the
with the different components that contribute to the net revenue defined as follows:
-S QL*))E
Q* (QL° -_ ))
To evaluate this net revenue, a benchmark system is needed. Consider a market which
consists of a utility that purchases power from the WEM and sells to customers at a
fixed retail price, Are.tai In this system, DERs are assumed to not be compensated
for their services, as they are small-scale behind-the-meter resources and not visible
161
to the utility. Thus, the DSO's profit without the retail market is:
where the first term denotes the revenue earned from all loads, given by
From (5.8)-(5.9), it follows that the additional revenue earned by the DSO when using
the retail market mechanism is given by:
Similarly, we can also quantify the savings for an inflexible consumer, j as:
Note that flexible consumers will receive additional compensation in the form of
The proposed retail market clears every AT seconds (or minutes) 13. A 24-hour period
can be grouped into 24 hour-long intervals T = [i, i + 1], where i corresponds to the
ith hour, i = 0, ... , 23, over this 24 hour period. Suppose that over this T, there are
clearings of the WEM, which occur at t = i+mAT, m = 1, ... , M. Since AT < AT,
it follows that n > m 14. Denoting n' = i + nAT and m' = i + mAT, we can then
13
We propose the retail market clears more frequently than the real-time WEM to leverage the
flexibility from the DERs. In particular, renewable generation is more volatile than traditional
generation, so a retail market which clears more frequently would be able to react to these fluctuations
with prices which better reflect the renewables.
14
Again, assuming the retail market clears more frequently than the WEM.
162
represent the profit calculated above as a function of time:
N
PDSO-increase j Dso(n', m') - Pno-DSO (n', m') (5.14)
where the n' is carried through to the pj, Pj, and Qj, and the m' is carried through
Case Studies
To validate the market design (both DSO revenue and functionality of the ancillary
services market), consider three networks. They will be introduced briefly here, and
more detailed information provided in Appendices B.4, B.3.2 and B.2.3.
JST-CREST 126 The original network model, presented in detail in [81], rep-
resents a distribution grid in Komae city in Tokyo, Japan with an area of 5 km22
Our model contains |B| =84 nodes and 6 lines all connected to the feeder node in a
star topology. Details of base values, parameters, and information on electrical lines,
loads, and generators used in the simulation can be found in Appendix B.4.
The time-dependent ratio a(i) which governs the demand in the network, varies
according to the FY2017 average consumption profile in the Tokyo area [821. The
24-hour profile of a(T) is shown in Fig. 5-14 (top). In addition, vi = 1.023 pu (with
nominal value 6750V), and all loads are taken as unity power factor loads. We assume
that the reactive power of flexible consumers can be adjusted through proper control
time-varying and varies according to the yearly average profile of the FY2017 system
price in Japan Electric Power eXchange (JEPX) [83] as shown in Fig. 5-15 (top) The
retail price for electricity is fixed at 26 JY/kWh, as per average retail electricity prices
in Japan [84,85].
163
IEEE 123 The IEEE 123 bus network was modified to be a balanced 3-phase
distribution network as further detailed in Appendix B.3.2. Further details on lines,
The time-dependent ratio a(i) is deduced from the ISO-NE report of total recorded
electricity demand for each five-minute interval of May 14, 2019 [38], as shown in
Fig. 5-14 (middle). Loads are not assumed to be unity power factor. Finally, we
assume the P-LMP, .4,is either fixed at $30/MWh or is time-varying and varies
according to the ISO-NE report of the final approved LMPs for each five-minute
interval for May 14, 2019 [37], as shown in Fig. 5-15 (middle).
IEEE 13 To test the alert case, a multi-feeder network was developed, with |iF, = 3
and |BiJ = 13V1 E F,. The IEEE 13-bus network [86] was modified to be balanced
3-phase (see Appendix B.2.3). Variations of the network were developed by adding
generators of varying capacity at different locations (see Appendix B.2.3), and per-
demand report [38] from May 14, 2019 as ai(i) = a(i)6i, where 61 - NP(0, 0.075) and
smoothing the resulting profile. The three demand curves are shown in Fig. 5-14
(bottom). The feeder P-LMPs, A', are either fixed at $30/MWh or are time-varying
and varies according to the ISO-NE five-minute LMPs for May 14, 2019 [37], taken
from different location IDs for each feeder, 1 E F, as shown in Fig. 5-15 (bottom).
The results are benchmarked using the following scenarios: (1) When all the loads
in the distribution grid are served only by the main grid, and (2) when the retail
market dispatches DERs through the PAC algorithm with the LMP being either
The results from PAC across the JST-CREST distribution grid (see Appendix B.4 for
data) are shown in Fig. 5-16. Figure 5-16a shows the voltages across lines A and F
are higher than across other lines in the network. This is reasonable as the generation
164
1 I - I I I I
. 0.9
-
0.8
0.7
6 9 12 15 18 21 24
0 3
1
Time [h]
0.8 -~
6 9 12 15 18 21 24
0.0
Time [h]
Figure 5-14: The profiles of the time-dependent demand ratio a(i), i = 0, ... , 24, for
Networks JST-CREST 126 (top), IEEE-123 (middle), and IEEE-13 (bottom).
from local generators exceeds the local demand of the loads. Similarly, the voltages
across line C are suppressed as the total load connected to line C is higher than the
local generated power at node 53. Figure 5-16b shows that the Lagrange multipliers
corresponding to the voltage equality constraint, y4,,tend to be lower for nodes with
of the
higher voltages and vice versa. The local active generation and consumption
distribution grid can be seen in Fig. 5-16e and Fig. 5-16f, and the reactive power
generation and demand response throughout the network can be seen in Fig. 5-16g
and Fig. 5-16h.
To evaluate the impact of the retail market, we compare Scenario (1) and (2),
running the PAC algorithm using both LMP profiles shown in Fig. 5-15. Figure 5-
17a shows that generation and electricity imports are lower for Scenario (2), using
the market mechanism. Specifically, the DR units are sharing some of the load. This
is also illustrated in Fig. 5-17b which shows that DR units accommodate about 5 to
165
14
-
12-
8
0500 1000 1100
Time [h]
80
-
60
40
-j -
-
0 50 100 I [h 200 250 300
Timne[h]
/1 AA L
L-60-
40---
620
-
0 50 100 150 200 250 300
Time [h]
Figure 5-15: Profiles of P-LMP A where red denotes the yearly average profile and
blue a constant LMP, for Networks JST-CREST 126 (top), IEEE-123 (middle), and
modified IEEE-13 (bottom).
166
1.0
13.E
9 78 83 1.
1. 13
1.0
12.1
1.0
18 1.0 12
11.1
1.0
1.01 11
1.
53
1 ic
(a) Bus voltage vj and power flow. (b) Lagrange multiplier p [1/pu]
1
0.9 0.9
0. 0.8
0.7 0.7
0.6 0.6
0.5 0.5
0.4 0.4
0.3 0.3
0.2 0.2
0.1 0.1
01
0
P
(c) Lagrange multiplier (P-LMP) pLj
(d) Lagrange multiplier (Q-LMP) yp9 [1/pu]
[1000JPY/pu]
100 04
90 0.35
80
0.3
70
0.25
60
50 0.2
40 0.15
30
0.1
20
0.05
101
(e) Ratio of active power generation to maxi- (f) Active power consumption PL [pu]
mum capacity PG/PG G 0.
0.5 30
0.4
2C
0.3
0.2
0.1
0 0
-0.1
-10
-0.2
-0.3 -20
-0.4
-0.5
(g) Reactive power generation Qf [pu] (h) Ratio of demand response to baseline active
power consumption -(P,,L - PL(19))/PL(19)
[%]
Figure 5-16: Terminal configurations with the PAC algorithm and time-variant P-
LMP 4.
167
MM
1o, 7
16
9-
5
- 8 94
13
2
6- E
0 3 6 9 12 15
0 3 6 2 1 8 2 24 _0 3 6 18 21 24
9 Tie2h 15
Time [h] 'ime [h]
(a) Active power generations (j PG). (b) Demand response ratio (E -(PL
-
PP(r))/Z PO(r))
30 800C0-
7000-
5 25 ,rjJ-L
10
cz~ U~ 000
10 30(
Ei
(5
'0 3 6 9 12 15 18 21 24 0 3 6 9 12 15 18 21 24
ime [hJ Time [h]
(c) Economic compensation of flexible loads. (d) Economic compensation of generators.
(Ei Ch). (Ei CG)
Figure 5-17: The black graphs correspond to the scenario where all the loads of the
distribution grid are served by the main grid, the blue graph to the scenario with the
fixed P-LMP and the red graph to the scenario with the time-varying P-LMP A.
wholesale and retail price; thus, when the wholesale price of electricity is low, such as
during the hours of 1-5, the revenue is high. Compared to the retail cost (26 JY/kWh),
the retail market d-LMPs, pf*, are much lower, thus the increase in revenue is small
during hours 1-5. However, as LMPs rise and DERs are efficiently scheduled, the DSO
generates additional revenue despite the added costs from compensating the DERs
for their services. At the end of the day when the LMP is lower but network demand
is high, the retail market continues to make additional revenue. This corroborates
the fact that the proposed local retail market can result in lower overall generation
cost for serving a given load by efficiently dispatching DG and DR units through the
distributed PAC algorithm.
168
260
-
240
-
220
-
200 --
m180-
10 3 6 9 12
Time [h]
15 18 21 24
Figure 5-18: The projected savings from the proposed retail market over a 24-hour
period
The proposed market mechanism was also evaluated on the IEEE 123 network (see
Appendix B.3.2 for data). As in the JST-CREST 126 network, the retail market
results in an increase in revenue for the DSO, as seen in Fig. 5-19. The increase in
revenue is similar to Fig. 5-18, as the demand profiles are very similar. The increase
in revenue is lowest during the first 5 hours, where the LMP and demand are both
low, and increases as demand increases. The usage of DGs also follows the demand
curve, while the demand response ratio is relatively constant over the 24 hours at
6.5%. In this way, PAC makes use of the DGs during periods of higher electricity
prices and demand, to lower the network cost of generation. Another key observation
is that during the high demand hours of 17-21 where the electricity prices are more
volatile, the DSO revenue profile is still smooth, from efficient DER management.
44
42
-
~4040
-
38
-
-36
6 9 12 15 18 21 24
0 3
Time [h]
Figure 5-19: The projected savings from the proposed retail market over a 24-hour
period
169
Results from IEEE 13
The proposed ancillary market was evaluated on the 3 feeder modified IEEE 13 net-
work (see Appendix B.2.3 for data). The PAC algorithm was used to calculate the
optimal DR schedule, based on the demand and LMP profiles in Figs. 5-14 and 5-15.
A contingency was then initiated, whereby feeder 3 loses all generating capabilities
(AP = 2.25 MW at T = 230), some of which was committed. Upon receiving the
alert from DSO, = 3,the DSO, carries out AlgEX (5.7). The weighted average cost
calculated by each DSO, is shown in Table 5.3. The resulting additional generation
or load reduction needed is shown in Table 5.4. In this test case, feeder 2 has the
lowest cost and picks up the slack from feeder 3. If the generating capacity of feeder
2 was all committed, then the DR units in feeder 2 would be deployed, followed by
DR units in feeder 3, and so on. The additional cost to the network, based on the
Table 5.3: Weighted average cost of using DGs or DRs for each feeder
170
Chapter 6
Conclusions
In this section we summarize the contributions of the thesis and key results. We then
discuss future research direction that can improve upon or extend the work presented
here.
6.1 Contributions
In this thesis, we have addressed the challenges of optimally coordinating a large num-
ber of distributed energy resources (DERs) within the distribution grid. We consider
the curse of dimensionality for large-scale optimization problems, the modelling and
scheduling of storage devices, and the required incentives to coordinate the indepen-
rithm, PAC) to a new convex relaxation of the OPF problem, which is able to model
meshed and unbalanced grids. This is done by modeling current injections (CI) and
scheduling of resources. We also consider the role of storage sizing through these
171
simulations.
Third, we propose a retail market mechanism for distribution grids, which pro-
which utilizes the PAC algorithm to recover real-time scheduling and market dispatch
oversees the market, and interacts with the WEM. The proposed market structure is
numerically verified, showing potential savings for the DSO under this new market
mechanism.
There are many future avenues for research and development. Among these are future
work for the CI model, PAC algorithm, and proposed retail market. Some of these
The CI model has been shown to be effective in solving load flow and optimiza-
tion problems for meshed and unbalanced grids. A more detailed comparison with
ification techniques for the BF model; and (3) if possible, trying to compare the two
The techniques used to obtain the current bounds must also be investigated. The
performance of the CI model is intimately tied with the tightness of the MCE relax-
ation. Using heuristics, detailed network data, or insights from operations may help
172
6.2.2 Development & Analysis of Distributed Optimization
While the PAC algorithm shows great potential, there remains the issue that many
iterations are needed for the algorithm to converge. In addition, every iteration de-
failures such as packet drops or cyber-events. The performance of the PAC algorithm
performance enhancement features. Time-varying learning rates (for -y) should also
ing units and secure communication protocols. Islanding events within distribution
grids can then be examined: the hypothesis is that the PAC algorithm should be able
to achieve global solutions for each islanded section of the grid. What this looks like
from a power systems and stability point of view is also an interesting question.
The current retail market design discusses the interactions of agents within the dis-
tribution grid, the DSO, and the WEM. The market structure must be extended
to consider the interactions with the Transmission System Operator (TSO). There
are various models for TSO-DSO interactions and responsibilities of each party as
outlined by their coordination schemes. Most notably, [87] compares five different
schemes between the DSO and the TSO to appropriately operate and compensate
posed retail market structure and the DSO entity can work with the TSO to bring
Assumptions about the exchange and ownership of information made in the pro-
173
posed design depend heavily on the current paradigm; however, when many distri-
bution grids begin coordinating their own retail markets and having a DSO, there
may be changes to the overall structure. More analysis is needed here. For exam-
ple, the proposed market structure and interactions (A)-(C) outlined in Chapter 5
have assumed that the WEM specifies the LMP Af at the initiation of the market
interactions, but that the DSO is free to determine the net generation and load seen
by the WEM. In practice, the DSO may be obligated to purchase power quantities
P*, Qi (assuming the DSO is importing power) over the period [To, To + AT]. In
such an event, the proposed PAC can still be used, but with an additional boundary
condition: between any two WEM market clearings To and To + AT, the net power
from the main grid, P* r is constant, VI EF, Vs E S.
When evaluating an energy market, there are additional considerations which must be
made. The market design must not allow agents to gain market power and influence
over prices and resource allocation, so to benefit themselves unfairly. The retail
prices determined by the market mechanism must also be evaluated to limit price
volatility, as volatile markets can be hard to predict, and result in high costs for
market participants. Historically, electricity prices have been tied with oil and gas
prices as these resources were the primary fuel for electricity generation. However,
as electricity production shifts to include more renewable resources, the ability for
policymakers and market analysts to project and estimate electricity prices to help
develop policies, rules, and make predictions on the future of the system, becomes
harder.
to paying incremental cost of service, customers also pay a portion of the residual cost.
The method by which this residual cost is allocated to different consumers largely
depends on the equity of the electricity tariff design, as opposed to just the economic
efficiency - of which there may be multiple solutions. One of the key issues with high
DER penetration in the distribution grid is that DER adoption is primarily by high
174
income customers, resulting in a shift of residual cost from high income to low income
customers [88]. Some reports analyzing real-time electricity rates have also concluded
that these rate designs may be inequitable to low income customers [89).
The applicability of the proposed market design to different electric power systems
across the US and over the world can be investigated. Different electricity prices,
generation mixes, weather conditions, and of course, policy frameworks and existing
market structures, will all influence the success (or failure) of such a market.
175
176
Appendix A
Supplementary Results
For complete information about the PAC algorithm, see [20,211. Here a summary of
the algorithm design is provided for completeness, as taken from the original works
on PAC.
min E fj (aj)
aERIaIjE|B|
± ZL. (ajq, v)
.
jEB
We note that the two variables that are of most importance are a, the decision
177
active and reactive power, and p, the price associated with the decision variable. By
introducing augmentation and proximal regularization terms to £ (a, y, v) we obtain
jEB
Given that, (aj, p , v; aj) = L (a, v)+ | |jaj - aj| 1we can express it more
compactly as:
where p > 0 is the step-size and -y > 0 is the over-relaxation term. The augmentation
terms can be linearized around a prior primal iteration (aj and a') as:
2 - 2 2 (A.4)
relaxation terms: yj, 'j > 0 where 7j > ij. Thus, we can express the new 'predicted'
178
dual updates in (A.6) as:
3 =pj + pijadjaj, Vj E B
179
A.2 Convergence of the PAC Algorithm
For complete convergence proofs and results, see [20, 211. Key results are provided
Before stating the main result regarding the convergence of the PAC algorithm,
G = diag 1l,..., K
V1= dT + ATA
established through the following theorem. [20,21] Consider the ROPF formulation
of (5.1) and its atomized variant (A.1).
Let f# be a closed, convex and proper (CCP) function for all j E B and a [r] , p [-r] , fj [r] , v [r],
and i' [T] be the primal and dual variable trajectories of (3.50)-(3.55) under zero ini-
tial conditions. Further, let a* be the optimal primal solution to (A.1) and p,yj, j
the PAC parameters.
We define Amax A max {Amax(Vi)} , Amin A min {Amin(V1)}, 7max max {7j}, and
3EB 3EB jEB
7minAE {7j}•
jEB
Then, we have that:
a) If:
1 > P 2 ymaxnAmx (V1 ) (A.8)
b) If:
180
then for the ergodic averaged trajectory a [r] 0 K a [s], we have:
where:
and:
r 2 I -1
P112 ,~J
(E1 (p, i\
max) =-P |la*|| (A.13)
2 7minAmin (V 1
+
)
I- *|1 + 4p2 + 4P 2
(E2 (p, 7max) = (A.14)
2 2 7minAmin (V 1
)
where < sUPzEaf(a-) {||z11| 2}
Intuitively, Theorem A.2 guarantees that the nodal generation and consumption
profiles obtained upon convergence of the PAC algorithm coincide with the optimal
solution of the centralized OPF problem.
'The root R exists since V1 is square p.s.d. matrix. Specifically, if V1 = UEUT is a suitable
eigenvalue decomposition, then R = [U2UTI
181
182
Appendix B
Parent Node Child Node Line length (mi) Impedance Configuration Code
1 2 0.0568 1
2 3 0.0568 1
V =0.95; V=1.05
6 -0.01; = 0.01
183
B.1.1 Load and DER Configuration 1
184
B.2 Network IEEE 13 Node
This configuration of the IEEE 13-bus network is used in Chapter 3 for preliminary
Parent Node Child Node Line length (ft) Impedance Configuration Code
1 2 2000 1
2 3 500 3
2 5 500 2
5 6 300 1
3 4 300 3
2 7 2000 1
7 9 300 4
9 10 300 5
9 11 800 7
7 8 500 6
7 12 1000 1
185
Impedances for each configuration are labelled as Z., for configuration x.
0 0 0
Z3 = 1.3294 + 1.3471j 0.2066 + 0.4591j
1.3238 + 1.3569j
0 0 0
Z5 = 0 0
1.3292 + 1.3475j
1.3425 + 0.5124j 0 0
0 0
0
V = 0.9; V = 1.1
_ = -0.08; 6 = 0.08
186
Load and DER Configuration 1
This is the active configuration created for Chapter 3. Load data is unchanged from
configuration 1.
Table B.5: Distributed energy resources (DERs) for active configuration. Generation
capabilities in kW and kVA.
187
Load and DER Configuration 3
This is the active configuration used for simulations in Chapter 4, where the penetra-
tion of renewable resources is varied. Note that the loads at node 3 and 8 have been
removed, and renewable generation has been introduced. Two different test cases are
presented for this configuration: a lower penetration of renewables (test case 1), and
a higher penetration of renewables (test case 2). The type of resource is indicated,
where 'PV' is photovoltaic, 'Comm' is commercial, 'Res S' is small residential, and
'Res L' is large residential. Refer to Appendix B.7 for information and generation
profiles of each resource type. All power and capacity data in kW and kWh.
Table B.6: Distributed energy resources (DERs) for active configuration. Generation
capabilities in kW and kVA.
This is the active configuration used for simulations in Chapter 4, where the total
installed storage capacity is varied. Note this uses the data from Configuration 3
(above), for test case 1. Three different test cases are presented, over which the
capacity of storage present at node 12 is varied. The type of renewable energy resource
188
is indicated, where 'PV' is photovoltaic, 'Comm' is commercial, 'Res S' is small
residential, and 'Res L' is large residential. Refer to Appendix B.7 for information
and generation profiles of each resource type. All power and capacity data in kW and
kWh.
Table B.7: Distributed energy resources (DERs) for active configuration. Generation
capabilities in kW and kVA, and capacities in kWh.
This is the active configuration used for simulations in Chapter 4, where only DR and
storage are added to the grid. The loads are the same as the passive configuration.
189
Distributed generation, real power
Node P, Phase A P, Phase B P, Phase C P, Phase A P, Phase B P, Phase C
9 150 150 150 0 0 0
Distributed generation, reactive power
Node Q, Phase A Q, Phase B Q, Phase C Q, Phase A Q, Phase B Q, Phase C
9 75 75 75 -75 -75 -75
Storage
Node Capacity Power Ramp r/C/77 r/self Initial SOC
12 1000 700 600 0.95/0.95 0.021 150
Demand Response
Node % enabled
3 40
4 20
6 50
8 10
11 30
Table B.8: Distributed energy resources (DERs) for active configuration. Generation
capabilities in kW and kVA, and capacities in kWh.
This is the active configuration used for simulations in Chapter 4, where only DR is
added to the grid. The loads are the same as the passive configuration. All power
Table B.9: Distributed energy resources (DERs) for active configuration. Generation
capabilities in kW and kVA, and capacities in kWh.
190
B.2.2 Balanced Configuration
The balanced configuration of the 13-bus network is used to compare current injection
and branch flow models. All cables were assumed to be 3-phase transposed, with con-
figurations 1 thru 7 converted to symmetric matrices, and using the positive sequence
component. The impedance configurations are provided below, and are labelled as
Z, for configuration x.
0.1860 + 0.59684 0 0
Zi = 0.1860 + 0.5968i 0
0.1860 + 0.5968iJ
0.5921 + 0.76022 0 0
Z2 = 0.5921 + 0.7602i 0
0.5921 + 0.7602iJ
0.8155 + 0.7483zi 0 0
Z3 = 0.8155 + 0.7483i 0
0.8155 + 0.7483iJ
0.8155 + 0.7483i* 0 0
Z4 = 0.8155 + 0.7483i 0
0.8155 + 0.7483iJ
0.4431 + 0.4492" 0 0
Z5 = 0.4431 + 0.4492i 0
0.4431 + 0.4492iJ
0.4874 + 0.4151 0 0
Z= 0.4874 + 0.4151i 0
0.4874 + 0.4151i
191
0.4475 + 0.1708i 0 0
Z7 = 0.4475 + 0.1708i 0
0.4475 + 0.1708i
V = 0.9; V=1.1
This is the passive configuration. The IEEE 13 bus network was modified to be a
Node P Q
3 170 125
4 230 132
6 133 97
7 385 220
8 281 154
10 170 80
11 128 86
192
* shunt capacitors were modeled as reactive power generators, and were assumed
to be 3-phase
The configuration of nodes and lines varies slightly, as all nodes from the original
network are retained and a new line impedance configuration is created to connect to
Parent Node Child Node Line length (ft) Impedance Configuration Code
1 2 2000 1
2 3 500 2
2 5 500 3
5 6 300 3
3 4 1 8
2 7 2000 1
7 8 1 8
7 10 300 4
7 13 1000 1
8 9 500 6
10 11 800 7
10 12 300 5
The impedances are the same as in Appendix , with the additional configuration
being a matrix of zeros.
The loads are the same as in Appendix B.2.3, except the labelling of the nodes
Node P Q
4 133 97
5 170 125
6 230 132
7 385 220
8 170 151
9 281 154
11 128 86
12 170 80
The three feeder variations were developed by adding generators of varying ca-
193
pacity at different locations as in Table B.13.
j EB 1 4 10 13
Feeder 1
pG [MW] 40 0.8 0.5 0.3
jEB 1 5 8 12
Feeder 2
pG [MW] 40 1 1.5 1.5
j EB 1 10 8
Feeder 3
pG [MW] 40 2 0.25
194
B.3 Network IEEE 123 Node
This configuration of the IEEE 123-bus network is used in Chapter 3 for prelimi-
nary results of OPF solved in distributed way using the CI model, and Chapter4 for
multi-period optimization. Due to the large data size, the information on electrical
line/loads and generators can be found in IEEE documentation [86]. Key data is
provided below.
Some buses (switches) were removed, and some were relabelled. This data is
summarized here:
Buses 120, 135, 160, and 197 were removed (switches) and the new line configu-
rations are:
This is the passive configuration. See IEEE documentation [86] for loads.
This is the first active configuration created for Chapter 3. Load data is unchanged
195
Distributed generation, reactive power
Node Q, Phase A Q, Phase B Q, Phase C Q, Phase A Q, Phase B Q, Phase C
82 200 200 200 -200 -200 -200
90 50 50 50 -50 -50 -50
92 50 50 50 -50 -50 -50
94 50 50 50 -50 -50 -50
Renewable Generation
Node Capacity Phases Type
4 9 c PV, Res S
9 3 a-b-c PV, Res S
14 12 a-b-c PV, Res L
15 6 a PV, Res S
16 5 c PV, Res S
19 7 a-b-c PV, Res S
22 10 a-b-c PV, Res S
24 3 a-b-c PV, Res S
26 7 a-b-c PV, Res S
28 4 a-c PV, Res S
37 3 a-b-c PV, Res S
41 5 c PV, Res S
45 8 a-b-c PV, Res S
55 12 a-b-c PV, Res L
58 3 a-b-c PV, Res S
62 6 a-b-c PV, Res S
73 9 a-b-c PV, Res S
79 6 a-b-c PV, Res S
98 10 a-b-c PV, Res S
102 10 a-b-c PV, Res S
106 14 a-b-c PV, Res L
109 4 a-b-c PV, Res S
111 2 a PV, Res S
116 2 a-b-c PV, Res S
117 9 a-b-c PV, Res S
118 2 a-b-c PV, Res S
119 8 a-b- PV
Table B.15: Distributed energy resources (DERs) for active configuration. Generation
capabilities in kW and kVA.
196
B.3.2 Configuration for Energy Market Simulations
The IEEE 123 bus network was modified to be 3-phase balanced as below:
" shunt capacitors were modeled as reactive power generators, and were assumed
to be 3-phase
Electrical line/loads and generators data is in IEEE documentation [86]. Base values
j cB 1 25 40 67 81 94
PG [MW] 20 0.5 0.7 0.8 1.2 0.75
197
Table B.17: Base values and simulation parameters for IEEE 123
PP 0
QL See [86]
QI 0
E [400,800]
E [4, 8]
,3QG [4, 8]
100
1
198
B.4 Network JST-CREST 126 Node
The original network model is presented in detail in [81]. Here we employ a compressed
version of that network, shown in Fig. B-1. Our model contains |Bl =84 nodes and 6
lines all connected to the feeder node in a star topology.
9 62 LINE D LINE F 78 83
LINE A 33
LINE B
LINE C 18
LINE E
53
Figure B-1: An illustration of the distribution network model. The filled circles show
the nodes B. The red, blue and green filled circles indicate loads, local generators
and both, respectively.
Details of base values and parameters are provided in Table B.18, with base values
determined as typical to power systems in Japan [90]. Information on electrical
lines/loads and generators can be found in Table B.19 and Table B.20, respectively.
The parameters PL are obtained randomly, to satisfy the total upper capacity values
in Table B.19.
199
Table B.18: Base values and simulation parameters for J-CREST 126
Table B.19: Line and load node data for J-CREST 126
LINE A B C D E F
Nodes in $ 8 31 18 8 8 10
Branchesin T 1 14 6 1 1 4
Total # of loads j 4 17 12 4 4 6
Sum of P,L [MW] 0.84 3.56 2.51 0.84 0.84 1.26
jE B 1 9 18 33 53 62 78 83
P [MW] 10 5 0.6 1.2 0.6 0.3 1.8 3
PL [MW] 0 0 0.14 0.08 0.31 0.08 0.32 0.07
200
B.5 Electricity LMP Data
The locational marginal price (LMP) for the New England are is published online by
the Independent System Operator (ISO-NE) [371. The 5-minute real-time LMP data
for May 14 2019 is queried and averaged over 12 periods to give hourly LMP data.
This is the A# in $/kWh, and is provided below. Note that we take A# = 0A#.
0.035
-
0.03
-
0.025
-
0.02
-
0.015
-
0 5 10 15 20 25
Time, 24hr
Figure B-2: Demand profile taken from the system-wide demand for ISO-NE.
201
Time (hr) LMP ($/kWh)
00 0.0218
01 0.0192
02 0.0193
03 0.0194
04 0.0191
05 0.0189
06 0.0321
07 0.0266
08 0.0229
09 0.0204
10 0.0206
11 0.0215
12 0.0217
13 0.0216
14 0.0216
15 0.0212
16 0.0215
17 0.0273
18 0.0316
19 0.0291
20 0.0266
21 0.0258
22 0.0394
23 0.0350
Table B.21: Hourly electricity prices from the real-time WEM for ISO-NE.
202
B.6 Electricity Demand Data
The electricity demand profile is obtained from the ISO-NE reports on total recorded
electricity demand for each five-minute interval [38], for real power. The report is
queried for May 14, 2019, and normalized. The 5-minute data is then averaged over
0.95
0.9
-
0.85
-
0.8 k
0.75
0.7
0 5 10 15 20 25
Time, 24hr
Figure B-3: Demand profile taken from the system-wide demand for ISO-NE.
203
Time (hr) Demand coefficient
00 0.7366
01 0.7364
02 0.7251
03 0.7252
04 0.7437
05 0.7922
06 0.8646
07 0.9288
08 0.9330
09 0.9290
10 0.9268
11 0.9264
12 0.9227
13 0.9215
14 0.9181
15 0.9170
16 0.9434
17 0.9778
18 0.9892
19 0.9940
20 0.9880
21 0.9293
22 0.8423
23 0.7625
Table B.22: Hourly demand coefficient taken from the system-wide demand for ISO-
NE.
204
B.7 Renewable Generation Forecasts
Generation profile for a 3.85kW distributed residential solar PV resource (small re-
source), obtained from NREL's System Advisory Model (SAM) tool, queried for May
14. This model is used for residential resources up to 10kW size. Resource data
is for Phoenix, AZ, using the SunPower SPR-X21-335 module, and SMA America
The desired array size is set to 4kWdc, giving a total AC capacity of 3.85OkWac, and
uses 1 inverter. All other parameters are left unchanged in the SAM setup.
2.5 V
2
-z
0
1.5 k
0.5
0
0 5 10 15 20 25
Time, 24hr
Figure B-4: Solar PV generation profile for small distributed residential resource,
obtained from NREL's SAM tool.
205
Time (hr) Power (kW)
00 0
01 0
02 0
03 0
04 0
05 0
06 0.207588
07 0.796325
08 1.75089
09 2.62495
10 3.29244
11 3.74114
12 3.95503
13 3.92816
14 3.63557
15 3.09874
16 2.31529
17 1.29041
18 0.21557
19 0
20 0
21 0
22 0
23 0
Table B.23: Generation profile for a 3.85kW distributed residential solar PV resource
206
B.7.2 Large scale distributed residential PV
resource), obtained from NREL's System Advisory Model (SAM) tool, queried for
May 14. This model is used for residential resources larger than 10kW size. Resource
data for Phoenix, AZ, using the SunPower SPR-X21-335 module, and SMA America
The desired array size is set to 12kWdc, giving a total AC capacity of 11.550kWac,
and uses 3 inverters. All other parameters are left unchanged in the SAM setup.
S4
0 I I I
0 5 10 15 20 25
Time, 24hr
Figure B-5: Solar PV generation profile for large distributed residential resource,
obtained from NREL's SAM tool.
207
Time (hr) Power (kW)
00 0
01 0
02 0
03 0
04 0
05 0
06 0.518969
07 1.99081
08 4.37724
09 6.56236
10 8.23361
11 9.35284
12 9.88759
13 9.8204
14 9.08893
15 7.74686
16 5.78823
17 3.22603
18 0.538925
19 0
20 0
21 0
22 0
23 0
Table B.24: Generation profile for a 11.55kW distributed residential solar PV resource
208
B.7.3 Distributed commercial PV
from NREL's System Advisory Model (SAM) tool, queried for May 14. Resource
data is for Phoenix, AZ, using the SunPower SPR-E19-310-COM module, and SMA
America (STP 60-US-10, 400V) inverter. The DC to AC ratio is set to the default
of 1.2. The desired array size is set to 220kWdc, giving a total AC capacity of
179.58OkWac. All other parameters are left unchanged in the SAM setup.
100 k
50 |-
0 .................
0 5 10 15 20 25
Time, 24hr
Figure B-6: Solar PV generation profile for distributed commercial resource, obtained
from NREL's SAM tool.
209
Time (hr) Power (kW)
00 0
01 0
02 0
03 0
04 0
05 0
06 9.23617
07 35.5421
08 78.1584
09 117.068
10 147.029
11 167.309
12 177.106
13 176.132
14 162.819
15 138.732
16 103.488
17 57.5034
18 9.51637
19 0
20 0
21 0
22 0
23 0
Table B.25: Generation profile for an 185kW distributed commercial solar PV resource
210
B.7.4 Wind Farm
Generation profile for a 600kW wind farm resource, obtained from NREL's System
350
-
300
-
250
-
200-
150
-
100
-
50
-
0 L
0 5 10 15 20 25
Time, 24hr
Figure B-7: Wind generation profile for wind farm, obtained from NREL's SAM tool.
211
Time (hr) Power (kW)
00 157.248
01 120.554
02 38.0912
03 18.6316
04 16.78
05 16.9781
06 21.9101
07 24.9154
08 29.0332
09 50.1929
10 81.6055
11 167.594
12 352.588
13 402.553
14 459.247
15 468.504
16 477.276
17 425.394
18 420.121
19 422.718
20 426.086
21 426.088
22 462.448
23 462.949
212
Appendix C
MATLAB Code
masterSolver.m
function masterSolver(gridID,dataConfigCode,T,K,initCondStatus,fnc,testParam)
MarkerSize = 16;
213
set (0, 'defaultAxesTickLabelInterpreter', 'latex');
set(0, 'defaultLineLinewidth',LineWdith);
runSetup = 1; runPAC = 0;
runCIOPF = 1; runADMM = 0;
solveOPF;
end
solveOPF.m
dbstop if error
if runSetup
if isfile(strcat(pathname,filename))
load(strcat(pathname,filename))
else
ret urn;
end
%et pr data,
aio in atominzed rm
214
uo dat e vats for st orag e (dercomosimtion aireacv upD 1atedC.)
if ~isempty (battInds)
aInds = cumsum(Tj);
muInds = cumsum(Cj);
Oidlx=[];%rosf
ori=1:si-ze(Oset,2)
Otmp=Oset{i}';
atom=ones(size(O-tmp))*i;
end
Tidx=[];
for i=1:size(Tset,2)
T-tmp=Tset{i}';
atom=ones(size(T-tmp))*i;
end
uniqueVars = unique(Oidx(:,l));
vals = [];
rowidx = [
colidx = H;
for i=1:size(uniqueVars,1)
var = uniqueVars(i);
row = rowgroup{i};
col = colgroup{i};
215
owner = setdiff(atomT,atomO);%nd owner of v (in T, not in
)
owneridx = col(atomT == owner); find index in T of owner o var , not
% 0 rW , col Umn)
% are
Oid _-ro ws, Tid x ar colums
end
%oj(this
i _(j,- matrix)
Bj={}; Bj{N}={};
nuInds=zeros(1,N);
totalidxl = 0;
Bj2={}; Bj2{N}={};
totalidx2 = 0;
for j = 1:N
numrows = size(Oset{j},2);
Bj{j} = B(totalidx_1+1:(totalidx_1+numrows),:);
nuInds(j) = totalidxl;
% B_(-,
)
numcols = size(Tset{j},2);
Bj2{j} = B(:,totalidx_2+1:(totalidx_2+numcols));
end
indsAct = (13:18); to ge'>t P and Q from every aj will need to update tor MOiD
216
indsActAll = indsActrep + indsAct2rep;
%
end
P_max = limits{1O};
Ibranchrmax = ones(3*M*T,1);
Ibranchimax = ones(3*M*T,1);
%e
enerated a tr.omi7ei obecti
[objfncs,globalObjfnc,L) = getObj-economic(N,T,costs,P-max);
end
arge problenS
skip = cumsum(Tj);
cols =
for j 1:N
if j == 1
cols vertcat(cols,(1:Lj(j))');
else
cols = vertcat(cols,((1:Lj(j))+skip(j-1))');
end
end
invPhiL = sparse(1:numT,horzcat(Tset{:}),ones(1,numT),numT,numTotalVars); a
G_tilda = blkdiag(Gj{:});
%
217
IrIndsAll = (1:3*N*T); % Ir is 1st set ofvar's
.
if ~isempty (battInds)
else
PdisIndsAll =
PchargeIndsAll = [];
end
%r CIOPF
% run ACIOPF
H_tilda = blkdiag(Hj{:});
e_tilda = vertcat(ej{:});
it error == 1
fprint f (\n\t RROR IN ACIOPF\n);
return;
218
e nd
end
if runPAC
if runSetup
alpha = 0.5;
if runPAC
timePAC = zeros(N,K);
sigMaxPAC = max(eigsPAC);
rhoPAC = 1/sqr-t(gammaPAC*sigMaxPAC);
gammaHPAC = gammaPAC;
end
end
switch fnc
case 1
[aPAC, yPAC, muPAC, nuPAC, timePAC, totaltimePAC, aPACCVX, muPACCVX, nuPACCVX] =so
runSetup, initCondStatus,N,M,K,kInit,eps,...
numT,numTotalVars,numCVs,numTotalnG,Tj,muInds,nuInds,aInds,
219
rhoPAC,gammaPAC,gammaPAC,aCIOPF,muEq,nuEq);
fprintf ('\n\t
metrics = calculateMetrics(K,N,globalObjfnc,PhiL,PhiAct,G-tilda,B,aPAC,runC:
case 2
% p P r S
iters = size(Lrange,2);
paramTestRes = {};
paramTestRes{iters} = {};
timeTestRes = zeros(1,iters);
maxFeasTest = zeros(1,iters);
maxConsisTest = zeros(1,iters);
endFeasTest = zeros(1,iters);
endConsisTest = zeros(1,iters);
mkdir(filepath)
for i = 1:iters
Ltest = Lrange(i);
gammatest = gammarange(i);
rhotest = rhorange(i);
220
runSetup, initCondStatus, N, M, K, kInit, eps, ...
numT,numTotalVars,numCVs,numTotalnG,Tj,muInds,nuInds,aInds,
G-tilda,B,Gj,Bj,Bj2,Hj,ej,PhiL,invPhiL,objfncs,
rhotest,gammatest,gammatest,aCIOPF,muEq,nuEq);
metrics = calculateMetrics(K,N,globalObjfnc,PhiL,PhiAct,G-tilda,B,aPAC,:
[maxFeas,maxFeasInd] = max(metrics(4,:));
[maxConsis,maxConsisInd] = max(metrics(5,:));
paramTestRes{i} = {Ltest,gammatest,rhotest,totaltimePAC,aPAC(:,end),...
maxFeas,maxFeasInd,maxConsis,maxConsisInd,metrics (4,end),metrics(5,
timeTestRes(i) = totaltimePAC;
maxFeasTest(i) = maxFeas;
maxConsisTest(i) = maxConsis;
endFeasTest(i) = metrics(4,end);
endConsisTest(i) = metrics(5,end);
i ,cnsitancy) currentd
%o(ea sibiiy consistency) 1-
end
otherwise
end
end
221
% fpr intf ('_\n\t
%Yp~ac = PhiL*Apac;
iters = 100;
switch testParam
case "L"
Llow = 0.1;
Lupp = 4160*3*N*100;
case "gamma"
222
gammalow = gamma/10;
gammaupp = gamma*10;
gammarange = linspace(gammalow,gammaupp,iters);
Lrange = L*ones(1,iters);
ig~OaxfP AC)
rhorange = rho*ones(1,iters);
case "rho"
rholow = rho/10;
rhoupp = rho*10;
rhorange = linspace(rholow,rhoupp,iters);
Lrange = L*ones(1,iters);
gammarange = gamma*ones(1,iters);
otherwise
end
end
N,M,K,kInit,eps,numT,numTotalVars,numCVs,numTotalnG,Tj,muInds,nuInds,aInds,
Gtilda,B,Gj,Bj,Bj2,Hj,ej,PhiL,invPhiL,objfncs,rhoPAC,gammaPAC,gammaHPAC,aC:
if runSetup
switch initCondStatus
case 1 %a m i l o
aO = invPhiL*yO;
ul s ata TA>freasibil It
muEqO = rhoPAC*gammaPAC*Gtilda*aO;
223
nuEqO = rhoPAC*gammaPAC*B*aO;
aO = aCIOPF;
muEqO = -muEq;
nuEqO = -nuEq;
yO = PhiL*aO;
eps = le-2;
aO = aCIOPF + 2*eps.*(rand(numT,1)-0.5);
% d m ntain feail
muEqO = rhoPAC*gammaPAC*Gtilda*aO;
nuEqO = rhoPAC*gammaPAC*B*aO;
yO = PhiL*aO;
end
n i n i e ec
aPAC = zeros(numT,K);
aPAC(:,1) = aO;
yPAC = zeros(numTotalVars,K);
yPAC(:,1) = yO;
muPAC = zeros(numTotalnG,K);
muPAC(:,1) = muEqO;
nuPAC = zeros(numCVs,K);
nuPAC(:,1) = nuEqO;
aPACCVX(:,1) = aO;
yPACCVX = zeros(numTotalVars,K);
yPACCVX(:,1) = yO;
muPACCVX = zeros(numTotalnG,K);
muPACCVX(:,1) = muEqO;
nuPACCVX(:,1) = nuEqO;
224
timePAC = zeros(N,K);
end
%iiilzmodels inGurob
[models,newTj] = initAtomsGur(objfncs,Tj,Hj,ej,rhoPAC);
for j = 1:N
if j == 1
else
midx = muInds(j-1)+1;
nidx = nuInds(j-1)+1;
aidx = aInds(j-1)+1;
end
mujInds{j} = midx:muInds(j);
nujInds{j} = nidx:nuInds(j);
ajInds{j} = aidx:aInds(j);
end
tstart = clock;
for k=kInit:K
[aPAC(:,k),muPAC(:,k),nuPAC(:,k),timePAC(:,k),aPACCVX(:,k),muPACCVX(:,k),nuPACCI
updatePACOPFg(models,aPAC(:,k-1),muPAC(:,k-1),nuPAC(:,k-1),...
objfncs,Tj,Gj,Bj,Bj2,Hj,ej,mujInds,nujInds,ajInds,rhoPAC,gammaPAC,gammaHPAC,
aPACCVX(:,k-1),muPACCVX(:,k-1),nuPACCVX(:,k-1));
225
yPAC(:,k) = PhiL*aPAC(:,k);
if rem(k,500)==O
end
end
tend = clock;
totaltimePAC = etime(tend,tstart);
end
metrics = zeros(9,K);
if runCIOPF etrcs
end
for k = 2:K
metrics(2,k) = globalObjfnc(PhiL*aPAC(:,k));
distance
% to feasibilitV
metrics(4,k) = norm(G-tilda*aPAC(:,k),2);
metrics(5,k) = norm(B*aPAC(:,k),2);
metrics(6,k) = globalObjfnc(PhiL*aPACCVX(:,k));
metrics(8,k) = norm(G-tilda*aPACCVX(:,k),2);
dstac
% t consistency
226
metrics(9,k) = norm(B*aPACCVX(:,k),2);
if runCIOPF
end
end
end
kVec = 1:K;
f igu-re('-visible', visibility);
subplot (2,2,1);
subplot(2,2,2);
subplot (2,2,3);
subplot (2,2,4);
227
if saveInd
if isempty(filepath)
else
savefig(filename)
end
end
close (gcf);
end
end
generate rraphchsched fm P l
if isempty(filepath)
f = strcat(filepath,filename);
end
end
close(gcf);
end
228
function graphRes(N,aPAC,yPAC,limits,battInds)
%
e o; v--wars
QIndsAll = 3*5*N*T + (1:3*N*T);
%
6h S o 0 of i varS
MCEaIndsAll = 3*6*N*T + (1:3*N*T);
%b s7hst
MCEbIndsAll = 3*7*N*T + (1:3*N*T);
% bs hSet
MCEcIndsAll = 3*8*N*T + (1:3*N*T);
if -isempty (battInds)
else
PdisIndsAll =
PchargeIndsAll =
end
resP = yPAC(PIndsAll);
resQ = yPAC(QIndsAll);
figure;
229
scatter(1:N*T,resP(1:3:end,:),'*','k');
hline.Color = 'b';
hline.LineWidth = 0.5;
xlim([O N+1]);
title('Phase A');
ylabel('Power, P [pu]');
hline.Color = 'b';
hline.LineWidth = 0.5;
xlim([O N+1]);
tite('Phase B');
ylabel('Power, P [pu]');
scatter(1:N*T,resP(3:3:end,:),'*','k');
scatter(1:N*T,P-min(3:3:end,:),'o','k');
hline.Color = 'b';
hline.LineWidth = 0.5;
xlim([0 N+1]);
title('Phase C');
ylabel('Power, P [pu]');
xlabel('Node');
figure;
230
scatter(1:N,Qmin(1:3:end,:),'o','k');
hline.Color = 'b';
hline.LineWidth = 0.5;
xlim([0 N+1]);
)
scatter (1:N, [0;Q_max (5:3:end,:)],'o','k'); % feeder has max unbounded
scatter(1:N,Q_min(2:3:end,:),'o','k');
hline.Color = 'b';
hline.LineWidth = 0.5;
xlim([O N+1]);
title('P-hase B');
scatter(1:N,resQ(3:3:end,:),'*','k');
scatter(1:N,Q_in(3:3:end,:),'o','k');
hline.Color = 'b';
hline.LineWidth = 0.5;
xlim([0 N+1]);
title('Phase C');
xlabel('Node');
figure;
231
plot(1:N,V-min(1:3:end),'k');
plot(1:N,V-max(1:3:end),'*k');
% scatter(I:N,abs(resV(1:3:end)), .','k');
xlim([O N+1]);
plot(1:N,V-min(2:3:end),'k.');
-plot(1:N,V-max(2:3:end),''k');
olot(1:N,abs(resV(2:3:end)),'b');
xlim([O N+1]);
plot(1:N,V min(3:3:end),'k');
plot(1:N,V max(3:3:end),'k');
plot(1:N,abs(resV(3:3:end)),'b');
s-atter(1:N,abs(resV(3:3:end)
xlim([O N+1]);
end
aciopf.m
error = 0;
a% y lmp1-111.D
a = sdpvar(numT,1);
y = sdpvar(numTotalVars,1);
cl = [y == PhiL*a];
232
c4 = [B*a == zeros (size(B,1) , 1)];
%
ops = sdpsett ings ('solver', 'gurobi');
optimize([cl;c2;c3;c4],globalObjfnc(y),ops);
aOpt = value(a);
yOpt = value(y);
muEq = dual(c2);
muIneq = dual(c3);
nuEq = dual(c4);
end
initAtomsGur.m
N = length(Tj);
for j = 1:N
objfnc = objfncs{j};
rM,
aj = sdpvar(NTj,1,'full');
233
objfnc = @(aj, j_,len) objfnc(aj, j_,len) + (1/(2*rho))*(aj)'*(aj);
models{j} = modelj;
newNj{j} = size(modelj.obj,1);
end
end
updatePACOPFg.m
updatePACOPFg(models,aPACOld,muPACOld,nuPACOld,objfncs,Tj,Gj,Bj,Bj2,Hj,ej,
nuPACNew = nuPACOld;
muBarPACOld = muPACOld;
% mu~arPC~ew:-mBarly
nuBarPACOld = nuPACOld;
p fo performance tsting:
N = Iength(Tj)
timeNew = zeros(N,1);
234
for j = 1:N
mujInds = muInds{j};
nujInds = nuInds{j};
ajInds = aInds{j};
ajPACOld = aPACOld(ajInds);
ajPACOldCVX = aPACOldCVX(ajInds);
end
parfor j = 1:N
muBarj = parvars{j}{l};
ajOld = parvars{j}{2};
Gjatom = parvars{j}{3};
Bj2atom = parvars{j}{4};
NTj = parvars{j}{5};
model = models{j};
cLinj = model.obj';
cConstj = model.objcon;
ximal
cConstj cConstj + 1/(2*rho)*dot(ajOld,ajOld); % ter-m
235
cLinj(1:NTj) = cLinj(1:NTj) + nuBarPACOld'*Bj2atom;
tic;
timeNew(j) = toc;
if strcmp(resG.status, 'OPTIMAL')
augA = resG.x;
aPACNewVals{j} = augA(1:NTj,:);
else
end
% fr
bE Larangan
vxeg qu Ie
v a Ibe a NT j)
ze (obj (aj,
)
sb aomm
vx end
t.imeNew() =-oc
aPACNewVallsj = a
end
236
added for para llel im.lementation
for j = 1:N
ajInds = aInds{j};
ajPACNew = aPACNewVals{j};
if size(ajInds') ~ size(ajPACNew)
end
aPACNew(ajInds) = ajPACNew;
end
for j = 1:N
mujInds = muInds{j};
nujInds = nuInds{j};
ajInds = aInds{j};
end
eja o =C ej" En ;
j'
% update Lagrania
bj c I aj j_ -aen)
237
bn @ (j, ', ) bjlne]j (a, j_, leen) + nuBarPACOld'*Bj'' j*a];
CIvx-solver sedllumi-
-vxpr eciinig;
v ara ble aj(
suAlbject to
FN
Ude u = n j} ;
for j = s:
= {A } ;
end
atomicGurobiOPT.m
model.obj = cLinj';
model.objcon = cConstj;
238
S et Some paraMEAerS
result = gurobi(model,params);
end
setupNetwork.m
%% GENEATE MODELF
run(modelpath);
Y = zeros(3*N,3*N); % m e time
A = zeros (3*M,3*N);
for i=1:size(arcs,1)
linelength=arcs (i,3);
c_val = admittances{arcs(i,4)};
Y ( [3*,1--2:3*11, [3*r-2:3*r])=-c-val/linelength/YBase;
Y ( [3*r-2:3*r], [3*1-2:3*1])=-c-val/linelength/YBase;
239
Y([3*1-2:3*1], [3*1-2:3*1])=Y([3*1-2:3*1], [3*1-2:3*1])+c-val/linelength/YBase;
Y([3*r-2:3*r], [3*r-2:3*rI)=Y([3*r-2:3*r], [3*r-2:3*r])+c-val/linelength/YBase;
z_val = impedances{arcs(i,4)};
Zlist{i} = z-val*linelength/ZBase;
A([3*i-2:3*i],[3*r-2:3*r]) = -eye(3);
parent = branchParent(i);
RMatj{parent} = blkdiag(RMatj{parent},real(zval));
end
Ir=sdpvar(3*N*T,1);
Ii=sdpvar(3*N*T,1);
Vr=sdpvar(3*N*T,1);
Vi=sdpvar(3*N*T,1);
P=sdpvar(3*N*T,1);
Q=sdpvar(3*N*T,1);
a=sdpvar(3*N*T,1); MCE
b=sdpvar(3*N*T,1); % MCIE
c=sdpvar(3*N*T,1); MCE
fo, r Z ersetto
d=sdpvar(3*N*T,1); % Mc
Ibranchr=sdpvar(3*M*T,1); 1 fo o eresetaton
Ibranchi=sdpvar(3*M*T,1);
%
V=Vr+li*Vi;
I=Ir+1i*Ii;
240
F = [];
for t = 1:T
inds = 3*N*(t-l)+1:3*N*t;
indsLine = 3*M*(t-l)+1:3*M*t;
F = [F;
Ir(inds) == real(A'*Ibranch(indsLine));
Ii(inds) == imag(A'*Ibranch(indsLine));
real(A*V(inds)) == real(Zij*Ibranch(indsLine));
irnag(A*V(inds)) == imag(Zij*Ibranch(indsLine));
end
decomposePAC
end
decomposePAC.m
241
% Gx == 0
G=full(model.A);
% x <=
Lset={}; Lset{N}={};
%
etO -coied± vari.LOales required
Oset={}; Oset{N}={};
n t ar y vaa sh p t inices in G
Gtmp={}; Gtmp{N}={};
Tset={}; Tset{N}={};
PhiLmats={}; PhiLmats{N}={};
invPhiLmats={}; invPhiLmats{N}={};
deco-mose the matrix of th'e in e qualIty cstrais to obtain te one necessary for the
for j = 1:N
242
ind1 = (0:numVars*T-1)*3*N + 3*(j-1) + 1; % beginnin ndex + pases*node + ofset
Cset{j} = tempInds;
Hjidx{j} = idx;
end
ierate ro ara on
Lindstart = numVars*3*N*T; % rea
Hindstart = nH*3*N*T; a
indRep = 3*M*T;
fo>r m=1:M
243
vindsrep = vindsrep + temprep;
if j < k
s upstream, k is downstream
Lset{j} = [Lset{j},vindsrep,vindsrep+indRep];
Oset{k) = s vnds e
elseif j > k
s P isownstram
Lset{k} = [Lset{k},vindsrep,vindsrep+indRep];
Osetj = se
else
return;
end
end
Cinds = Cset{j};
row=Cset{j};
Gtmp=(G(row,:));
col=Lset{j};
244
[nonzeroRow,nonzeroCol] = find(Gtmp); % get.eeded var copies
Oset{j} = unique(nonzeroCol)';
Tset{j}=[cell2mat(Lset(j)) cell2mat(Oset(j))];
% Cequalty constraints
Gj{j} = G(row,Tset{j});
d = a, C, T ;
Eet ( = Lns
i) + ier
mt ep;
aux s =
x = x Z,I
end
Tj = cellfun(@numel, Tset); % ze of om
each atom ,")
aInds = cumsum(Tj);
245
muInds = cumsum(Cj);
cols =
for j = 1:N
if j == 1
cols = vertcat(cols,(1:Lj(j))');
else
cols = vertcat(cols,((l:Lj(j))+skip(j-1))');
end
end
for i=1:size(Oset,2)
Otmp=Oset{i}';
atom=ones(si ze(O_tmp))*i;
Oidx=[Oidx;[O-tmp, atom]];
end
Tidx=[]; % columns of B
for i=1:size(Tset,2)
T_tmp=Tset{i}';
atom=ones(size(Ttmp))*i;
end
uniqueVars = unique(Oidx(:,1));
246
colgroup = arrayfun(@ (x) find(Tidx(:,1)==x) ,uniqueVars, 'niformOutput',false);
% -roi
x = : ze ( i x,1)
vals = [
rowidx = [];
colidx = [];
for i=l:size(uniqueVars,l)
var = uniqueVars(i);
row = rowgroup{i};
col = colgroup{i};
vals = [vals,repmat([-1,1],l,size(copieridx,l))];
end
B = sparse(rowidx,colidx,vals,size(Oidx,l),size(Tidx,l));
Bj={}; Bj{N}={};
nuInds=zeros(1,N);
totalidx_1 = 0;
totalidx_2 = 0;
for j = 1:N
numrows = slze(Oset{j},2);
247
totalidx_1 = totalidx_1 + numrows;
nuInds(j) = totalidx-l;
% B_( ,j
numcols = size(Tset{j},2);
Bj2{j} = B(:,totalidx_2+1:(totalidx_2+numcols));
end
PhiAct = sparse(1:2*3*N*T,colsAct,ones(1,2*3*N*T),2*3*N*T,numT);
setLimCost.m
Case data
Fo sembe variable bounds and costs
V_min,Vrmax,delta-min,deltamax,N,M,A,Tset,Lset,Oset,Gj,Cj,nG,Hjidx,SBase,Stran,numI
P_max = zeros(N*3*T,1);
P_min = zeros(N*3*T,1);
Q_max = zeros(N*3*T,1);
248
Q_min = zeros(N*3*T,1);
for i = 1:size(loadsP,1)
row = loadsP(i,:);
end
for i = 1:size(loadsP,1)
row = loadsQ(i,:);
if T > 1
[mmdP,mmdQ] = demandProfiles(demandProfileID,N,T-1);
dP = reshape(repmat(mmdP',3,1),[],1); % eplicate fo 3 eS
dQ = reshape(repmat(mmdQ',3,1),[],1); %c, a f 3 he s
P_max(3*N+1:end) = repmat(P-max(1:3*N),T-1,1).*dP;
P_min(3*N+1:end) = repmat(P-min(1:3*N),T-1,1).*dP;
Qjmax(3*N+1:end) = repmat(Qmax(1:3*N),T-1,1).*dQ;
Q-min(3*N+1:end) = repmat(Qmin(1:3*N),T-1,1).*dQ;
end
feeder P, Q brounds
% E=P^2 + Q^; _P = rr +v l ;Q = -r i +Vi
feedP = 0; feedQ = 0;
if size(loadsP,1) > 0
249
feedP = maxPLoad*1.5;
end
if size(loadsQ,1) > 0
end
costbPs = zeros (N*3*T, i terms for storage (P pos and neg issue)
H2jidx={}; H2jidx{N}={};
H2ind = 1;
H6ind = 1;
delPGup = [];
delPGdown = [];
%add onrollable Ds
for i = 1:size(gensP,1)
row = gensP(i,:);
j = row(1);
idxT = repmat(idx,1,T)+3*N*reshape(repmat((0:T-1),3,1),1,[]);
250
pfneg = [pfneg row(9)];
H2jidx{j} = [H2ind:H2ind+numConst-1];
end
if size(row)> 11
end
d o fr aave s ea sy oca.luLae
H6jidx{j} = [H6ind:H6ind+numConst-1];
end
end
t for ml--peids
row = gensQ(i,:);
i = row(1);
idx = ( (j--1) *3 + 1): ((j-1) *3 + 3);
251
idxT = repmat(idx,1,T)+3*N*reshape(repmat((0:T-1),3,1),1, []);
end
rengenInds =
for i = 1:size(rengens,2)
row = rengens{i};
j = row{1};
phaseOut = V(idx(tf));
numPhases = length(phaseOut);
rengenspecs-i = rengenmodel(row{4},row{2},T);
if rengenspecsi == 0
return;
end
252
% update P and Q r feeder
feederInds = repmat(1:3,1,T);
timeInds = (O:T-1)*3*N;
P-max(repfeederInds) = Pfeed;
Q_max(repfeederInds) = Qfeed;
for i = 1:size(demRes,1)
row = demRes(i,:);
j = row(1);
idxT = repmat(idx,1,T)+3*N*reshape(repmat((0:T-1),3,1),1,[]);
end
delPup = [];
delPdown = [];
253
H3jidx={}; H3jidx{N}={}; %for storage Pdis nonnegativitv
H3ind = 1;
H4ind = 1;
H5jidx={}; H5jidx{N}={}; fo sr rm ot
H5ind = 1;
battInds =
for i = 1:size(storage,1)
j = str2num(row(1));
battID = row(2);
V = [1 2 3]; S = {'a','b','c'};
[tf, idx] =ismember(phases,S);
phaseOut = V(idx(tf));
numPhases = length(phaseOut);
%,
oad battery miodel
r
% relae re ular -onst t:
% w h e P < pwrdch,ar
%sorageonly constraints:
254
% ci> pe ie.1 peri (aggr,egate o-,ver phases)
Sindsnew = [Sinds new Sidx]; % index or ori (Pcare easy to calculate afs
Sindsnewsizej{j} = numPhases;
Sidx = Sidx + 1;
% cpaci
lr ty consrai
%
maxCapAll = [maxCapAll bSpecs('capa citv' ) *ones (1,T)]; t'rplcaedor easy vec
delPdown = [delPdown -bSpecs ( 'rampDown' ) *ones (1,T)]; % replicated for easy vecL
delPup (end-T+1) = delPup (end-T+1) + sum (PtO);
%
aeidx onyfrPds> ;teothaers are eas to calculat
numConst =1
H4jidx{j} = [H4ind:H4ind+numConst-1];
255
Snew inequality constraints: ramp for battery
H5jidx{j} = [H5ind:H5ind+numConst-1];
end
if~ isempty(storage)
end
P_max = Pmax./SBase;
P_min = Pmin./SBase;
Q_max = Qmax./SBase;
Q_nin = Q_min./SBase;
minCapAll = minCapAll./SBase;
maxCapAll = maxCapAll./SBase;
initCapsAll = initCapsAll./SBase;
delPup = delPup./SBase;
delPdown = delPdown./SBase;
delPGup = delPGup./SBase;
delPGdown = delPGdown./SBase;
cost-bP(repfeederInds) = mmp;
256
cost-bQ(repfeederInds) = mmq;
.
genLimits (N,T,Vjmin,V max,delta min,delta_max,P-min,P-max,Q_min,Q_max,Y,battInd-
Sgtaoizeine
[Hj,ej,ineqcon,battInds,newTotalVars,newTotalnG,Tset,Lset,Gj,Cj) = ineqCon(N,M,A,T,
pfpos,pfneg,betaSDAll,etaCAll,etaDAll,maxCapAll,minCapAll,initCapsAll,delPup,de
G2jidx,Hjidx,H2jidx,H3jidx,H4jidx,H5jidx,H6jidx,numVars,nG,Y,Zij,costs); Pi
end
if isfile(strcat(pathname,filename))
load(strcat (pathname, filename), 'mm p', 'units') ; % /kWh for
else
return;
end
257
assumne all profile data i.s needed per nour
n 12;
end
esl = Vmax.*(cos(de-max)+li*sin(de-max));
es2 = Vmax.*(cos(de-min)+li*sin(de-min));
es3 = Vmax.*(cos(de-max)+li*sin(de-min));
es4 = Vmax.*(cos(de-min)+li*sin(de-max));
es5 = Vmin.*(cos(de-max)+li*sin(de-max));
es6 = V_min.*(cos(demin)+1i*sin(demin));
es7 = Vmin.*(cos(de-max)+li*sin(de-min));
es8 = Vmin.*(cos(de-min)+li*sin(de-max));
Vr-min = min(real(esAll));
Vrmax = max(reaI(esAll));
Vi_min = min(imag(esAll));
Vimax = mx(imag(esA11));
%
sigl peri od
Vr_min_tl = [ones(3,1);Vr-min.*ones(3*(N-1),1)];
Vr_max_tl = [ones(3,1);Vr-max.*ones(3*(N-1),1)];
Vi_min_tl = [zeros(3,1);Vi-min.*ones(3*(N-1),1)];
Vimax_tl = [zeros(3,1);Viniax.*ones(3*(N-1),1)];
258
Vr_min = repmat(Vr _min_tl,T,1);
Ir = sdpvar(1,1);
Ii = sdpvar(1,1);
ables
Vr = sdpvar(1,1);
Vi = sdpvar(1,1);
P = Vr.*Ir+Vi.*Ii;
Q = -Vr.*Ii+Vi.*Ir;
z Cosr
Irmax = zeros(N*3*T,
N3T1);
feederInds = repmat(1:3,1,T);
timeInds = (O:T-1)*3*N;
%nedtgecurnlits baSed(nalDhApwr
for j 4:N*3*T
if ismember(j,repfeederInds)
continue
end
F=[
259
Vr-min(j) <= Vr <= Vr-max(j),...
];
obj=Ir;
%Ir_min
1;
obj=Ir;
ops = sdpsettings('solver','ipopt','verbose',0);
optimize(F,obj,ops);
];
obj=Ii;
Ii_max(j) = value(Ii);
260
F= [
];
obj=Ii;
optimize(F,obj,ops);
Ii-min(j) = value(Ii);
end
Ir_max(repfeederInds) = P-max(repfeederInds)./Vr-min(repfeederInds);
Ii_max(repfeederInds) = Qmax(repfeederInds)./Vr-min(repfeederInds);
i-f ~isempty(battInds)
battID = battInds(i);
Ii-min(idxrepT) = zeros(3*T,1);
Ii-max(idxrepT) = zeros(3*T,1);
end
end
end
261
matri
Assemble iequ ali ty constr ants ces and vector
%
Pnds, Qinds (after imit)s fmast;.er
%. c .onst.raiLnts
(currentx4, amacityx2, voltagex4, powerx4, MClx4x4)
Ir=sdpvar(3*N*T,1);
Ii=sdpvar(3*N*T,1);
Vr=sdpvar(3*N*T,1);
Vi=sdpvar(3*N*T,1);
P=sdpvar(3*N*T,1);
Q=sdpvar(3*N*T,1);
b=sdpvar(3*N*T,1);
c=sdpvar(3*N*T,1);
d=sdpvar(3*N*T,1);
V=Vr+li*Vi;
I=Ir+li*Ii;
% iqui irry
sai
262
ineqcon = [ % curren lits
Ir_min<=Ir, ...
Ir<=Ir-max, ...
Ti_min<=Ii, ...
Ii<=Ii-max, . .
.
Vr_min<=Vr,...
Vr<=Vr-max, . ..
Vi_min<=Vi, ...
Vi<=Vi-max, ...
P_min<=P, ...
P<=P-max,...
Q_min<=Q, ...
Q<=Qmax, ...
a>=Vrmin.*Ir+Vr.*Ir_min-Vrmin.*Ir_min
a>=Vrmax.*Ir+Vr.*Ir_max-Vr_max.*Ir_max,
a<=Vrmax.*Ir+Vr.*Ir_min-Vrmax.*Ir_min,
a<=Vr min.*Ir+Vr.*Irjmax-Vrjmin.*Irmax,
% MCE. -Fo3r br
b>=Vimin.*Ii+Vi.*Ii_min-Vimin.*Ii_m,i
b>=Vimax.*Ii+Vi.*Iimax-Vimax.*Ii_max,...
b<=Vimin.*Ii+Vi.*Ii_max-Vimin.*Ii_max,...
c>=Vrmin.*Ii+Vr.*Ii_min-Vrmin.*Ii_min,...
c>=Vrmax.*Ii+Vr.*Ii_max-Vrmax.*Ii_max,...
c<=Vrmin.*Ii+Vr.*Iimax-Vrmin.*Ii_max,...
d>=Vimin.*Ir+Vi.*Ir_min-Vimin.*Ir_min,...
d>=Vimax.*ir+Vi.*Irmax-Vimax.*Ir_max,...
d<=Vimax.*Ir+Vi.*Ir_min-Vimax.*Ir_min...
d<=Vimin.*Ir+Vi.*Ir_max-Vimin.*Ir_max,
263
Ibranchi <= 1. 5 % dummy bounds
ineqconDER =
numbatts = length(battInds);
n = length(Sinds_new)/T;
if isa(Sinds,'cell')
end
eqcon = [];
Sidx = 0;
if numbatts > 0
for i = 1:numbatts
batt = battInds(i);
nphases = Sindsnewsizej{batt};
Pidx = Sinds(Sidx+(1:nphases*T));
PSidx = i:numbatts:numbatts*T;
end
end
264
%
storage constrais I > ases + '' (non-negativity and capac-t)
ineqconBattdefn =
Pdis >= 0;
zdis == 0;%DBUGN
Pcharge >= 0;
%
Pcharge <= max([abs(delPup) ,abs(delPdown) ])*ones(lerigth(Sindsnew),1);
%
P charge > max (as(delup) , ans (deldown) ] ) *cnes ( lenh(Sinds new) 1);
];
for i = 1:numbatts
battID = battInds(i);
nphases = Sindsnewsizej{battID};
PSid = i;
betaSD = betaSDAll(i);
etaC = etaCAll(i);
etaD = etaDAll(i);
%or capacity
i)neqconxp = Cneqc.o1xp*
(.-betaSd) +. cr( ); %DEBUGGING
end
265
%ramp constraints for batteries
Sindsbatt = Sindsj{battID};
Sindsbattidx = 1:nphases;
.
ineqrampExp = sum(P(idx new)); % for t.= 1 -Pt
ineqrampExps = [ineqrampExp];
%
idxold = idx_new;
idxnew = Sindsbatt(Sindsbatt-idx);
ineqrampExp = sum(P(idx-new)-P(idxold));
end
ineqconVal(T*(i-1)+1:T*i) = (1-betaSD).^(1:T);
end
% ssemble.. capaciycnsrit
is 3consrit o bateris
numPGr = length(PGrampInds);
ineqrampGExps = [];
for i = 1:numPGr
pgrampID = PGrampInds(i);
Prinds = Prindsj{pgrampID};
Pramp_idx = 1:3;
266
ineqrampGExps = [ineqrampGExp];f% fort
idxold = idxnew;
idxnew = Prinds(Prampidx);
idxold = idxnew;
end
end
[model,~] = export([ineqcon,ineqconDER,ineqconBattdefn,ineqconBattCap,ineqconBattRar
0,sdpsettings('solver','Gurobi'))
H=model.A;
e=model.rhs;
sense=model.sense;
Hj={}; Hj{N}={};
ej={}; ej{N}={};
Lstart = numVars;
G2indstart = find(sense=='=',1) 1; % i s a r
Hindstart = find(sense-='=',1) - 1a
numG2cons = cellfun(@max,G2jidx(~cellfun(@isempty,G2jidx))); index to reoeat
if isempty (numG2cons)
267
numG2cons = 0;
end
newTotalnG = nG + numG2cons;
numH2cons = max(cellfun(@max,H2jidx(~cellfun(@isempty,H2jidx))));
else
numH2cons = 0;
end
numH3cons = max(cellfun(@max,H3jidx(cellfun(@isempty,H3jidx))));
numH4cons = max(cellfun(@max,H4jidx(~cellfun(@isempty,H4jidx))));
numH5cons = max(cellfun(@max,H5jidx(-cellfun(@isempty,H5jidx))));
else
numH3cons = 0;
numH4cons = 0;
numH5cons = 0;
end
numH6cons = max(cellfun(@max,H6jidx(~cellfun(@isempty,H6jidx))));
else
numH6cons = 0;
end
for j = 1:N
268
- e for P--p co ai
if ismember(j,DGpfInds)
H2idxl = H2jidx{j};
end
if ismember(j,battInds)
s og s at the no d.e
nphase = Sindsnew-sizej{j};
%
bgi updat of Gj~ by irs inse0ring ne.w coils for owned vars P0dis
% P0hrg (for T,- periods), -i C
oldGj = Gj{j};
[rowsGj,-] = size(oldGj);
Gj{j} = newGj;
end
269
% storage...
if ismember(j,battInds)
H4idxl = H4jidx{j};
H5idxl = H5jidx{j};
end
if ismember(j,PGrampInds)
H6idxl = H6jidx{j};
end
ej{j} = e(elems,:);
end
270
F = [];
for t = 1:T
inds = 3*N*(t-1)+1:3*N*t;
indsLine = 3*M*(t-1)+1:3*M*t;
F = [F;
Ir(inds) == real(A'*Ibranch(indsLine));
Ii (inds) == imag(A'*Ibranch(indsLine));
A*V(inds) == Zij*Ibranch(indsLine);
]n;
endi
yCENTRAL-storage = [value (Ir) ;value (Ii) ;value (Vr) ;value (Vi) ;value (P) ;value (Q) ;value
end
rengenmodel.m
O 0.0
er proucio limi
271
[%]
napcity Fact.or
if strcmp(rengenID, "solardistressmall")
specs = rengenIDSAMsolardistres-small(capacity,T);
specs = rengenID_SAMsolardistres-large(capacity,T);
specs = rengenID_SAMsolardistcomm(capacity,T);
specs = rengenID_SAMwind-farm(capacity,T);
specs = rengenID_IITChinaSolar(;
specs = rengenID_IITChinaWind(;
else
specs = 0;
end
end
% cpait i k
maxGen = capacity;
minGen = 0;
272
rampDown = 0.8*capacity; % gie i' kW
curtailLimit = 1;
% ncial Informi
[genP,genQ] = generationProfiles(genID,T);
end
% cpcity in kWi
dataCapacity = 11.89;
%
maxGen =.capacity;
minGen = 0;
rampUp = 0.8*capacity;
%
rampDown = 0.8*capacity;
curtailLimit = 1;
capacityFactor = 0.2;
%
sysInstall = 17200/dataCapacity; 0, A
sysCap = 14400/dataCapacity; % a st M
273
genID = 'solar_distressmall'; genFlag = 0;
[genP,genQ] = generationProfiles(genID,T);
end
dist:ruted
% commercial solar
%capaCct in kW
maxGen = capacity;
minGen = 0;
rampUp = 0.8*capacity; i
curtailLimit = 1;
%finncal iormationf
[genP,genQ] = generationProfiles(genID,T);
end
274
function [specs,genFlag] = rengenIDSAMwindfarm(capacity,T)
cm
% ical wdf
capVacitV inkW
maxGen = capacity;
minGen = 0;
rampDown = 0.8*capacity;
curtailLimit = 1;
sysInstall = 0;
sysReplace = 0;
[genP,genQ] = generationProfiles(genID,T);
end
capacity = 1000;
maxGen = capacity;
minGen = 0;
rampUp = maxGen*10;
rampDown = maxGen*10;
capacityFactor = 0.2;
275
financial intformt ion
sysOM = 100;
sysInstall = 1200;
sysReplace = 0;
genProfile =
0.1
0.5
0.7
0.9
0.89
0.76
0.65
0.23
0]; aa
276
pf = 1;
capacity = 3000;
maxGen = capacity;
minGen = 0;
rampUp = maxGen*10;
rampDown = maxGen*10;
capacityFactor 0.4;
sysOM = 100;
sysInstall = 1200;
sysReplace = 0;
genProfile =
0.75
1.5
1.9
2.1
2.2
1.45
0.8
1.5
277
1.4
0.2
0.45
0.4
1.05
1.2
2.5
2.8
2.7
2.75
pf = 1;
end
battmodel.m
%Maximum dep th of di
nd diSc e)
%Self di-schargerae
[W/h
an dichrg)
%% Japta
nua cost o
&(,ossy F'Mh
[count
% In j
278
ny trougput
%
atery wiear cost
if stre-mp(battID, "1")
specs = battID-l();
specs = battID_IIT16();
specs = battID_IIT17();
specs = battID_IITChinao;
else
specs = 0;
end
end
maxDOD = 0.85; % dt fi a
betaSD 0.021;
f =D ; etD, 1
S0, 300
rampUp = 600;
%
cycleLife = 5000;
279
battOM = 100;
battInstall = 1200;
battCap = 5000;
battReplace = 1000;
%
energythru = cycleLife*capacity*maxDOD*2; 80% DOD, trips/ccle
valueSet = {capacity, power, maxDOD, etaC, etaD, betaSD, rampUp, rampDown, cycleLif
end
capacity = 880;
power = 330;
rampUp = 300; ;ee paer: Optipmal Alloation of Dispersed Enery Storage Systems i
%
cycleLife = 10000;
finnial infora
battOM = 100;
battInstall = 1200;
battCap = 5000;
battReplace = 1000; %/
280
keySet = {'capacity', '-power', 'mnaxDOD', 'etaC', 'etaD', 'betaSD', 'rampUp', 'rampD
valueSet = {capacity, power, maxDOD, etaC, etaD, betaSD, rampUp, rampDown, cycleLiff
end
capacity = 960;
power = 880;
etaC = 0.95; h
1 .fficiency
cycleLife = 10000;
% , iacia iorm-atn
battOM = 100;
battInstall = 1200;
battCap = 5000;
battReplace = 1000;
%
end
281
function specs = battID_IITChina()
capacity = 3000;
power = 500;
betaSD = 0; R low ba
battOM = 100;
battInstall = 0;
battCap = 900;
%
valueSet = {capacity, power, maxDOD, etaC, etaD, betaSD, rampUp, rampDown, cycleLif
end
getObj.m
282
objfncs={}; objfncs{N}={};
for j = 1:N
objf n cs Ij} = @ (aj, j_,len) sum((a j(Vr Inds) -one s(3*T, 1)).2 + (a j(Vi Inds) -z er o s(3
end
globalObjfnc = globalObj(N,T);
L = getObjL(N,T,Vr-max,Vimax);
end
Vr vi PT Q a.oe
ay -de :
VrI" V i PQao c
%v de :
Vr Vi P Q a oe L. (Ibranc r 0b
vr iPQaoe dIranch b
(
(
end
end
getObjeconomic.m
objfncs={}; objfncs{N}={};
283
costaP = costs{l};
costbP = costs{2};
costcP = costs{3};
costbPs = costs{4};
cost-bQ = costs{5};
for j = 1:N
end
globalObjfnc = globalObj(N,T,costs);
L = getObjL(N,T,costs,P-max);
end
Dyrde:
% irer: ( -v
% yrerI [Ir ii V i Q(
[I l V V PQ ed banhrIbaChi, dw
[4
Pdis Pcare](gob l e
%arde: id
[IrY Vr Vi N'i N Irnh baci~dw dsPhre|(rtle
%v multi
costaP = costs{1};
costbP = costs{2};
costcP = costs{3};
costbPs = costs{4};
cost-bQ = costs{5};
284
val = @(y) cost-aP'*y(PInds).^2 + costbP'*y(PInds) + sum(cost-cP) + abs(costbPs'*1
end
cost aP = costs{1};
cost bP = costs{2};
costcP = costs{3};
costbPs = costs{4};
costbQ = costs{5};
end
getObj socialwelfare.m
objfncs={}; objfncs{N}={};
costaP = costs{1};
costbP = costs{2};
costcP = costs{3};
costbPs costs{4};
costbQ = costs{5};
_ lP(eedr + LM * (edr
eCt
% l d cS
for j = 1:N
numChildj = numChildren(j);
285
if numChildj > 0
else
objfncs{j} = @(aj,j_,len) 0;
end
end
RMat = real(Zij);
globalObjfnc = globalObj(N,M,T,xi,costs,RMat);
L = getObjL(N,T,xi,costs,RMat,Ibranchr max,Ibranchimax,Pjmax);
end
costaP = costs{l};
costbP = costs{2};
costcP = costs{3};
costbPs = costs{4};
286
costbQ = costs{5};
RMatT = repmat({RMat},1,T);
.
cost-aP'*y(PInds).^2 + cost-bP'*y(PInds) + sum(cost_cP) + abs(cost bPs'*y(PInds'
end
SS s
%
(V^2 - 2*r + 1) + Vi^2 -- >ddy=Cr V 2 (size ofVr-)
costaP = costs{1};
costbP = costs{2};
costcP = costs{3};
costbPs = costs{4};
cost-bQ = costs{5};
RMatT = repmat({RMat},1,T);
287
end
generateResGraphs.m
%l :include some ei
Include rm ratesn imits forenera
time (1:T);
periodend = T;
end
288
fu-ction plotGenNLoad(N, T, P, Q, time, rengenInds, battInds, Sindsj, Pmin)
feedinds = [1:3*N:3*N*T];
if -isempty(rengenInds)
repPhasel = reshape(repmat(3*(rengenInds-1),3, 1) 1)
repPhase2 = reshape(repmat((1:3),size(rengenInds,2),1)',1,[])';
else
rengensP = zeros(1,T);
rengensQ = zeros(1,T);
e nd
% alothe-r gfen~s
indsStorage = [Sindsj{:}];
if isa(indsStorage, 'cell')
289
end
netStorageP = sum(P(indsStorageT));
netStorageQ = sum(Q(indsStorageT));
else
netStorageP = zeros(1,T);
netStorageQ = zeros(1,T);
end
%-LAD S
P_minT = reshape (Pmin (loadInds) , [],T); I each column is for time pert(
P_load = P(loadInds);
P_loadT = reshape (P load, [],T); each coumn is for time eriod t (T columns)
loadsServicedP = sum(PloadT);
Q_load = Q(loadInds);
loadsServicedQ = sum(Q_loadT);
subplot (5,1,1)
if size(time,2)==1
290
bar([1;nan], [[feederP;netStorageP.*(netStorageP>0);rengensP] '; nan(1,3)], 'staf
else
end
xticks((time(1):1:time(end)));
xlabel('Time Period (I ))
ylabe1('Real p owr in pu
legend(' Imored Elect icitv', 'Storage Generation (D- scharge) ', 'Renewable Generatio
leen (' emore EetrIcity', 'Nneeal Geeaion' 'Ren ew -abl Gene rato','
subplot (5,1,2)
Sfstck ba
else
end
xticks((time(1):1:time(end)));
subplot (5,1,3)
if size(time,2)==1
else
end
xticks((time(1):1:time(end)));
subplot (5, 1, 4)
291
if size(time,2)==1
else
bar( [loadsServicedQ; netSt orageQ. * (netSt orageQ<0) ] ', 't acked');
end
xticks((time(1):1:time(end)));
subplot (5,1,5)
if size(time,2)==1
scatter(time,loadDRpercent)
else
scatter(time,loadDRpercent)
end
xlim([O,time(end)]);
xticks((time(1):1:time(end)));
xlabel('Time Period (hr)');
vlabel( 'Percentage of Forecasted Load');
end
are shown for completeness of understanding code structure and dependencies. Net-
work3NodeModel.m
% af t configuration nd topoog
%~~~ ~
U: n ~entCha
Cosi
292
ene bse values
%
SBase=5e3; % kVA
VBase=4160; % V
ZBase=VBase^2/(SBase)/le3; % OII
N = 3;
arcs =
1 2 0.0568 1
2 3 0.0568 2
M;
M = size(arcs,1);
[i, j]=find(adj);
numParents = cellfun(@numel,parents);
numChildren = cellfun(@numel,children);
% CC trnsformerrtn
Stran = 5e3/SBase;
% adittnces oflnectg
293
c_602 = [0.5270 - 0.6756i -0.1416 + 0.1426i -0.2026 + 0.1600i
-0.1416 + 0.1426i 0.4648 - 0.6689i -0.1030 + 0.1309i
admittances = {c_601,c_602};
impedances = {z_601,z_602};
Network3NodeData.m
%%NETWOR~_K _PEFI
%3NO"DEN-ETWORK
classdef Network3NodeData
methods (Static)
switch configCode
294
case 1
[loadsP,loadsQ,demRes,gensP,gensQ,rengens, storage,demandProfileID]
case 2
case 3
otherwise default
fprintf('\n~t - Default Network Configuration Usedn
end
V_min,V-max,delta-min,delta-max,N,M,A,Tset,Lset,Oset,Gj,Cj,nG,Hjidx,SBa.
end
end
end
demandProfileID = 'ISONE';
loadsP =
loadsQ =
demRes =];
gensP
295
S[node maxGenA maxGen:B maxGenC minGenA mindenB miInenC
gensQ = [];
.
rengens =
end
demandProfileID = 'ISONE';
loadsP = [
loadsQ =
m
m axx eenie
m a nxoe
me m eEz minpen orpos pn rampup ramponn
gensP = [];
-9, 6. C)
gensQ = [;
r{o e, oa ~~o
%ine capityW pases, rengen D' , }
rengens = { };
% ~~ rnes= (,1,'ac','slrdi istres sma ll
storagye = [];.....500 0 0
296
end
demandProfileID = ISONE';
loadsP = [
loadsQ = [
2 100 150 300
3 80 3 50 20]; % -node
Cload
demRes = [
2 0.71;
gensP = [];
gensQ = [];
rengens
storage = [];
end
generationProfiles.m
switch generationID
filename =
297
startDay = 'May 14, 12: 00 an';
pf = 1; % f po we act f inverter
case 'windfarm'
pf = 1; % e power factoro hi t
end
if isfile(strcat(pathname,filename))
genProfile = readtable(strcat(pathname,filename));
else
ret urn;
end
else
end
if -isempty (startInd)
return;
end
298
mmgPT = table2array(genProfile(startInd:startInd+T-1,2) )/DCtoAC;
mmgQT = mmgPT.*tan(acos(pf));
else
end
mmgP = rescale(mmgPT);
mmgQ = rescale(mmgQT);
end
demandProfiles.m
%
m cPemand profLe fo
-
msQ- d n rol f
N isnumbr o nods i netork(so achno gets a uni~que poritle)
nominalP = ones(N,1); nominalQ = ones (N, 1); % t em, (may not need)
switch demandID
case 'ISONE'
case 'normal'
case 'randoim'
end
end
dateid = 'Mayl42019';
299
filename = strcat ('isonedata_', dateid, '.mat');
if isfile(strcat(pathname,filename))
else
return;
end
n = 12;
mm-d-hourly = mean(mm_d_reshaped);
1'C 01,M
LL Ar......0C1
sigmaP = 0.1;
rP = normrnd(0,sigmaP,[N,24]); % need N by vi s
mm-dP-dup = mm_d_hourly.*(1+rP); % N
mmdP = smoothdata (smoothdata (smoothdata (mm dP dup', 1, ' aussian') ,2), ' gaussian') ';
sigmaQ = 0.01;
mm-dQT = mm-dQ(:,1:T);
end
300
mmdP = round(abs(normrnd(1,O.3, [N*T,1])),2); ;Tmor variatiOn in 9?
nominalP = repmat(nominalP,T,1);
nominalQ = repmat(nominalQ,T,1);
end
nominalP = repmat(nominalP,T,1);
nominalQ = repmat(nominalQ,T,1);
end
%ruyrandom eadpoie
end
301
302
Bibliography
[11 Jeff St. John. Distributed energy poised for AAexplosive growthAA2 on the us
grid. June 2018.
[4] PJM Demand Side Response Operations. 2018 distributed energy resources (der)
that participate in pjm markets as demand response. https://www.pjm.com/-
/media/markets-ops/demand-response/2018-der-annual-report.ashx?la=en,
2019. Accessed: 2020-01-06.
[5] M. Farivar and S. Low. Branch flow model: Relaxations and convexification part
i. IEEE Transactions on Power Systems, 28(3):2554-2564, 2013.
[61 M. Farivar and S. Low. Branch flow model: Relaxations and convexification part
ii. IEEE Transactions on Power Systems, 28(3):2565-2572, 2013.
[7] L. Gan, N. Li, U. Topcu, and S. H. Low. Exact convex relaxation of optimal power
flow in radial networks. IEEE Transactions on Automatic Control, 60(1):72-87,
Jan 2015.
[9] F.C. Schweppe, M.C. Caramanis, R.D. Tabors, and R.E Bohn. Spot Pricing of
Electricity. Kluwer Academic Publishers, 1998.
[11] B. Stott, J. Jardim, and 0. Alsac. De power flow revisited. IEEE Transactions
on Power Systems, 24(3):1290-1300, 2009.
303
[12] M. Baran and F.Wu. Optimal sizing of capacitors placed on a radial distribution
system. IEEE Transactions on Power Delivery, 4(1):735-743, 1989.
[13] M. Baran and F.Wu. Optimal capacitor placement on radial distribution systems.
IEEE Transactions on Power Delivery, 4(1):725-734, 1989.
[23] Daniel K. Molzahn, Florian D6rfler, Henrik Sandberg, Steven H. Low, Sambud-
dha Chakrabarti, Ross Baldick, and Javad Lavaei. A survey of distributed opti-
mization and control algorithms for electric power systems. IEEE Transactions
on Smart Grid, 8(6):2941-2962, 2017.
[24] Emiliano Dell'anese, Hao Zhu, and Georgios B. Giannakis. Distributed op-
timal power flow for smart microgrids. IEEE Transactions on Smart Grid,
4(3):1464AA*1475, 2013.
304
1251 Brett A. Robbins and Alejandro D. Dominguez-Garcia. Optimal reactive power
dispatch for voltage regulation in unbalanced distribution systems. IEEE Trans-
actions on Power Systems, 31(4):2903dA2913, 2016.
[29] Giulio Ferro, Michela Robba, Mansueto Rossi, and Anuradha M. Annaswamy. A
new convex relaxation of the optimal power flow problem for distribution grids
with unbalanced structure and mesh topology. 2020 (unpublished).
[331 S. Gill and G. W. Ault. Dynamic optimal power flow for active distribution
networks. IEEE Transactions on Power Systems, 29(1):121-131, Jan. 2014.
305
[40] NERC. About nerc. https://www.nerc.com/AboutNERC/Pages/default.aspx,
2017. Accessed: 2020-01-05.
[46] ISO New England. Iso new england pricing reports. https://www.iso-
ne.com/isoexpress/web/reports/pricing/-/tree/ancillary, 2018.
[47] P. Maloney. FERC order opens 'floodgates' for energy storage in wholesale mar-
kets. https://www.utilitydive.com/news/ferc-order-opens-floodgates-for-energy-
storage-in-wholesale-markets/517326/, Feb. 2018.
[48] Farrokh Rahimi and Ali Ipakchi. Using a transactive energy framework. IEEE
ElectrificationMagazine, Dec 2016.
[51] Tao Chen, Qais Alsafasfeh, Hajir Pourbabak, and Wencong Su. The next-
generation us retail electricity market with customers and prosumers AA$ a
bibliographical survey. Energies, 2018.
306
153] M. Hofling, F. Heimgartner, B. Litfinski, and M. Menth. A Perspective on the
Future Retail Energy Market. In Proceedings of the International Workshops
SOCNET 2014 and FGENET 2014, pages 87-95, 2014.
[56] Yahya K. Renani, Mehdi Ehsan, and Mohammad Shahidehpour. Optimal trans-
active market operations with distribution system operators. IEEE Transactions
on Smart Grids, 9(6), Nov 2018.
[58] J. Wei, L. Corson, and A. K. Srivastava. Three-phase optimal power flow based
distribution locational marginal pricing and associated price stability. IEEE
Power and Energy Society General Meeting, July 2015.
[59] C-H Lo and N. Ansari. Decentralized Controls and Communications for Au-
tonomous Distribution Networks in Smart Grid. IEEE Transactions on Smart
Grid, 4(1):66-77, March 2013.
[63] Claudia Pop, Tudor Cioara, Marcel Antal, Ionut Anghel, Ioan Salomie, and
Massimo Bertoncini. Blockchain based decentralized management of demand
response programs in smart energy grids. Sensors, 2018.
307
[65] M. Caramanis, E. Ntakou, W. W. Hogan, A. Chakrabortty, and J. Schoene.
Co-Optimization of Power and Reserves in Dynamic T and D Power Markets
With Nondispatchable Renewable Generation and Distributed Energy Resources.
Proceedings of the IEEE, 104(4):807-836, Apr. 2016.
[66] Kuo Feng Hong Zhou, Zhi-Wei Liu, and Dandan Hu. Retail market pricing design
in smart distribution networks considering wholesale market price uncertainty.
In JECON 2017 - 43rd Annual Conference of the IEEE Industrial Electronics
Society, Nov 2017.
[67] Hajir Pourbabak, Tao Chen, and Wencong Su. Consensus-based distributed
control for economic operation of distribution grid with multiple consumers and
prosumers. In 2016 IEEE Power and Energy Society General Meeting (PESGM),
July 2016.
[68] Navid Rahbari-Asr, Unnati Ojha, Ziang Zhang, and Mo-Yuen Chow. Incremen-
tal welfare consensus algorithm for cooperative distributed generation/demand
response in smart grid. IEEE Transactions on Smart Grid, Nov 2014.
[69] Soummya Kar, Gabriela Hug, Javad Mohammadi, and Moura Jose M.F. Dis-
tributed state estimation and energy management in smart grids: A consen-
sus+innovations approach. IEEE Journal of Selected Topics in Signal Processing,
Dec 2014.
[70] W. Shi, X. Xie, Chi-Cheng Chu, and R. Gadh. Distributed Optimal Energy
Management in Microgrids. IEEE Transactions on Smart Grid, 6(3):1137-1146,
May 2015.
[71] Y. Zhang, N. Gatsis, and G. B. Giannakis. Robust Energy Management for Mi-
crogrids With High-Penetration Renewables. IEEE Transactions on Sustainable
Energy, 4(4):944-953, October 2013.
[72] H. S. V. S. K. Nunna and S. Doolla. Multiagent-Based Distributed-Energy-
Resource Management for Intelligent Microgrids. IEEE Transactions on Indus-
trial Electronics, 60(4):1678-1687, April 2013.
[73] Y. Xu and Z. Li. Distributed Optimal Resource Management Based on the Con-
sensus Algorithm in a Microgrid. IEEE Transactions on Industrial Electronics,
62(4):2584-2592, April 2015.
[74] Qiuye Sun, Renke Han, Huaguang Zhang, Jianguo Zhou, and Josep M Guerrero.
A multiagent-based consensus algorithm for distributed coordinated control of
distribued generators in the energy internet. IEEE Transactions on Smart Grid,
Nov 2015.
308
[761 A. Makhdoumi and A. Ozdaglar. Convergence rate of distributed admm over
networks. IEEE Transactions on Automatic Control, 52(10):5082-5095, 2017.
[78] P. Kansal and A. Bose. Bandwidth and latency requirements for smart trans-
mission grid applications. IEEE Transactions on Smart Grid, 2(3), Sept. 2012.
[791 Y-J Kim, M. Thottan, V. Kolesnikov, and W Lee. A secure decentralized data-
centric information infrastructure for smart grid. IEEE Communications Maga-
zine, 48(11):58-65, Nov. 2010.
[811 Y. Hayashi et al. Versatile Modeling Platform for Cooperative Energy Manage-
ment Systems in Smart Cities. Proceedings of the IEEE, 106(4):594-612, Mar.
2018.
[84] OVO Energy. Average electricity prices around the world: $/kwh.
https://www.ovoenergy.com/guides/energy-guides/average-electricity-prices-
kwh.html, 2019.
[86] IEEE Power and Energy Society. Ieee pes amps dsas test feeder working group:
Resources. Technical report.
[871 Helena Gerard, Enrique Israel Rivero Puente, and Daan Six. Coordination be-
tween transmission and distribution system operators in the electricity sector: A
conceptual framework. Utilities Policy, 50:40-48, 2018.
[89] Scott Burger, Ian Schneider, Audun Botterud, and Ignacio PAfrez-Arriaga. Con-
sumers, prosumers, prosumagers: How service innovations will disrupt the utility
business model. 2019.
309
[901 Standard models for Japanese power system. IEEJ Tech. Report, no. 754 (in
Japanese), 1999.
310