solution04.tex 13.1 KB
Newer Older
sp2668's avatar
sp2668 committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
\documentclass[11pt,a4paper,fleqn]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[colorlinks=true, citecolor=blue, linkcolor=blue, filecolor=blue,urlcolor=blue]{hyperref}
\hypersetup{
     colorlinks   = true,
     citecolor    = gray
}
\usepackage{wrapfig}

\usepackage{caption}
\captionsetup{format=plain, indent=5pt, font=footnotesize, labelfont=bf}

\setkomafont{disposition}{\scshape\bfseries}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{bbm}
\usepackage{mathtools}
% \usepackage{epsfig}
% \usepackage{grffile}
%\usepackage{times}
%\usepackage{babel}
\usepackage{tikz}
\usepackage{paralist}
\usepackage{color}
\usepackage[top=3cm, bottom=2.5cm, left=2.5cm, right=3cm]{geometry}
%\setlength{\mathindent}{1ex}

% PGF
\usepackage{pgfplots}
\usepackage{pgf}
\usepackage{siunitx}
\usepackage{xfrac}
\usepackage{calculator}
\usepackage{calculus}
\usepackage{eurosym}
\usepackage{booktabs}
%\sisetup{per-mode=fraction,%
%	fraction-function=\sfrac}

%\newcommand{\eur}[1]{\EUR{#1}\si{\per\kilo\meter}}
\pgfplotsset{
  compat=newest,
  every axis/.append style={small, minor tick num=3}
}

%\usepackage[backend=biber,style=alphabetic,url=false,doi=false]{biblatex}
%\addbibresource{sheet01_biber.bib}
% \addbibresource{/home/coroa/papers/refs.bib}

\newcommand{\id}{\mathbbm{1}}
\newcommand{\NN}{{\mathbbm{N}}}
\newcommand{\ZZ}{{\mathbbm{Z}}}
\newcommand{\RR}{{\mathbbm{R}}}
\newcommand{\CC}{{\mathbbm{C}}}
\renewcommand{\vec}[1]{{\boldsymbol{#1}}}

\renewcommand{\i}{\mathrm{i}}

\newcommand{\expect}[1]{\langle\,#1\,\rangle}
\newcommand{\e}[1]{\ensuremath{\,\mathrm{#1}}}

\renewcommand{\O}{\mc{O}}
\newcommand{\veps}{\varepsilon}
\newcommand{\ud}[1]{\textup{d}#1\,}

\newcommand{\unclear}[1]{\color{green}#1}
\newcommand{\problem}[1]{\color{red}#1}
\newcommand{\rd}[1]{\num[round-mode=places,round-precision=1]{#1}}

%\DeclareSIUnit{\euro}{\EUR}
\DeclareSIUnit{\dollar}{\$}
\newcommand{\eur}{\text{\EUR{}}}

\usepackage{palatino}
\usepackage{mathpazo}
\setlength\parindent{0pt}
\usepackage{xcolor}
\usepackage{framed}
\definecolor{shadecolor}{rgb}{.9,.9,.9}

\def\cap{\text{Cap}}
\def\floor{\text{Floor}}
\def\l{\lambda}
\def\m{\mu}
\def\d{\partial}
\def\cL{\mathcal{L}}
\def\co2{CO${}_2$}

\def\mw{\text{ MW}}
\def\mwh{\text{ MWh}}
\def\gw{\text{ GW}}
\def\gwh{\text{ GWh}}
\def\emwh{\text{ \euro/MWh}}
\def\bemwh{\text{ [\euro/MWh]}}
\newcommand{\ubar}[1]{\text{\b{$#1$}}}

%=====================================================================
%=====================================================================
\begin{document}

\begin{center}
sp2668's avatar
sp2668 committed
106
107
 \textbf{\Large Energy System Modelling }\\
 {SS 2018, Karlsruhe Institute of Technology}\\
sp2668's avatar
sp2668 committed
108
 {Institute for Automation and Applied Informatics}\\ [1em]
sp2668's avatar
sp2668 committed
109
110
 \textbf{\textsc{\Large Solution IV: Electricity Markets}}\\
 \small Will be worked on in the exercise session on Tuesday, 17 July 2018.\\[1.5em]
sp2668's avatar
sp2668 committed
111
112
113
114
115
116
117
118
119
120
\end{center}

\vspace{1em}

%=============== ======================================================
\paragraph{Solution IV.1 \normalsize (Shadow prices of limits on consumption).}~\\
%=====================================================================

Suppose that the utility for the electricity consumption of an industrial company is given by
\[
sp2668's avatar
sp2668 committed
121
U(d) = 70d - 3d^2 [\textrm{\euro}/\si{\mega\watt\hour}] \quad , \quad d_{min}=2\leq d \leq d_{max}=10,
sp2668's avatar
sp2668 committed
122
\]
123
where $d$ is the demand in MW and $d_{min}, d_{max}$ are the minimum and maximum demand. \\
sp2668's avatar
sp2668 committed
124
[1em]
125
126
Assume that the company is maximising its net surplus for a given electricity price $\pi$, i.e. it maximises $\max_{d} \left[U(d) -
\pi d\right]$.
sp2668's avatar
sp2668 committed
127
\begin{enumerate}[(a)]
sp2668's avatar
sp2668 committed
128
 \begin{shaded} \item If the price is $\pi = 5$~\euro/MWh, what is the optimal
129
130
131
  demand $d^*$?  What is the value of the KKT multiplier $\mu_{max}$
  for the constraint $d \leq d_{max}=10$ at this optimal solution?
  What is the value of $\mu_{min}$ for $d \geq d_{min} = 2$?\end{shaded}
sp2668's avatar
sp2668 committed
132
133
 We convert the exercise to an optimisation problem with objective
 \begin{equation}
134
  \max_d U(d) - \pi d
sp2668's avatar
sp2668 committed
135
136
137
 \end{equation}
 with constraints
 \begin{align}
138
139
  d  & \leq d_{max} \hspace{1cm}\leftrightarrow\hspace{1cm} \m_{max}  \\
  -d & \leq -d_{min} \hspace{1cm}\leftrightarrow\hspace{1cm} \m_{min}
sp2668's avatar
sp2668 committed
140
141
142
143
 \end{align}

 From stationarity we get:
 \begin{align}
144
145
  0 & =   \frac{\d}{\d d} \left(U(d) - \pi d\right) - \m_{max} \frac{\d}{\d d} (d-d_{max})- \m_{min} \frac{\d}{\d d} (-d+d_{min}) \\
    & =  U'(d) - \pi - \m_{max} + \m_{min} \label{eq:2stat}
sp2668's avatar
sp2668 committed
146
147
 \end{align}

148
149
 The marginal utility curve is $U'(d) = 70 - 6d$ [\euro/MWh]. At
 $\pi = 5$, the demand would be determined by $5=70-6d$, i.e. $d =
sp2668's avatar
sp2668 committed
150
  65/6 = 10.8333$, which is above the consumption limit
151
 $d_{max} = 10$. Therefore the optimal demand is $d^* = 10$, the upper limit is binding $\mu_{max}
sp2668's avatar
sp2668 committed
152
153
154
  \geq 0$ and the lower limit is non-binding $\mu_{min} = 0$.

 To determine the value of $\mu_{max}$ we use \eqref{eq:2stat} to get
155
 $\m_{max} = U'(d^*) - \pi = U'(10) - 5 = 5$.
sp2668's avatar
sp2668 committed
156
157
158

 \begin{shaded}
  \item Suppose now the electricity price is $\pi = 60$~\euro/MWh. What are
159
  the optimal demand $d^*$, $\mu_{max}$ and $\mu_{min}$ now?
sp2668's avatar
sp2668 committed
160
161
 \end{shaded}

162
 At $\pi = 60$, the demand would be determined by $60=70-6d$, i.e. $d = 10/6 = 1.667$, which is below the consumption limit $d_{min} = 2$. Therefore the optimal demand is $d^* = 2$, the upper limit is non-binding $\mu_{max}
sp2668's avatar
sp2668 committed
163
164
165
  = 0$ and the lower limit is binding $\mu_{min} \geq 0$.

 To determine the value of $\mu_{min}$ we use \eqref{eq:2stat} to get
166
 $\m_{min} =  \pi - U'(d^*) = 60 - U'(2) = 2$.
sp2668's avatar
sp2668 committed
167
168
169
\end{enumerate}

%=============== ======================================================
sp2668's avatar
sp2668 committed
170
\paragraph{Solution IV.2 \normalsize (Economic dispatch in a single bidding zone).}~\\
sp2668's avatar
sp2668 committed
171
172
%=====================================================================

sp2668's avatar
sp2668 committed
173
Consider an electricity market with two generator types, one with the cost function $C_1(G_1)=c_1G_1$ with variable cost $c_1 = 20\emwh$, capacity $K_1 = 300\mw$ and a dispatch rate of $G_1$~[MW], and another with the cost function $C_2(G_2)=c_2G_2$ with variable cost $c_2=50\emwh$, capacity $K_2=400\mw$ and a dispatch rate of $G_2$~[MW]. The demand has utility function $U(D) = 8000D - 5D^2$~[\euro/h] for a consumption rate of $D$~[MW].
sp2668's avatar
sp2668 committed
174
\begin{enumerate}[(a)]
sp2668's avatar
sp2668 committed
175
176
177
178
 \begin{shaded}\item What are the objective function and constraints required for an optimisation problem to maximise short-run social welfare in this market?\end{shaded}

 The optimisation problem has objective function:
 \begin{equation*}
sp2668's avatar
sp2668 committed
179
  \max_{D,G_1,G_2}\left[ U(D) - C_1(G_1) - C_2(G_2) \right] =     \max_{D,G_1,G_2} \left[8000D-5D^2 - c_1G_1 - c_2G_2 \right]
sp2668's avatar
sp2668 committed
180
181
182
 \end{equation*}
 with constraints:
 \begin{align*}
sp2668's avatar
sp2668 committed
183
184
185
186
187
  D - G_1 - G_2 & = 0 \leftrightarrow \l              \\
  G_1           & \leq K_1 \leftrightarrow \bar{\m}_1 \\
  G_2           & \leq K_2 \leftrightarrow \bar{\m}_2 \\
  -G_1          & \leq 0 \leftrightarrow \ubar{\m}_1  \\
  -G_2          & \leq 0 \leftrightarrow \ubar{\m}_2
sp2668's avatar
sp2668 committed
188
189
190
191
 \end{align*}

 \begin{shaded}\item Write down the Karush-Kuhn-Tucker (KKT) conditions for this problem.\end{shaded}

192
 Stationarity gives for $D$:
sp2668's avatar
sp2668 committed
193
 \begin{equation*}
194
  \frac{\d U}{\d D} - \l  = 8000 - 10D - \l = 0
sp2668's avatar
sp2668 committed
195
 \end{equation*}
sp2668's avatar
sp2668 committed
196
 Stationarity for $G_1$ gives:
sp2668's avatar
sp2668 committed
197
 \begin{equation*}
sp2668's avatar
sp2668 committed
198
  -\frac{\d C_1}{\d G_1} + \l - \m_1  =  -c_1+ \l - \bar{\m}_1 + \ubar{\m_1} = 0
sp2668's avatar
sp2668 committed
199
 \end{equation*}
sp2668's avatar
sp2668 committed
200
 Stationarity for $G_2$ gives:
sp2668's avatar
sp2668 committed
201
 \begin{equation*}
sp2668's avatar
sp2668 committed
202
  -\frac{\d C_2}{\d G_2} + \l - \m_2  =  -c_2+ \l - \bar{\m}_2 + \ubar{\m_2} = 0
sp2668's avatar
sp2668 committed
203
 \end{equation*}
sp2668's avatar
sp2668 committed
204
 Primal feasibility is just the constraints above. Dual feasibility is $\bar{\m}_i,\ubar{\m}_i \geq 0$ and complementary slackness is $\bar{\m}_i(G_i-K) = 0$ and $\ubar{\m}_i G_i = 0$ for $i=1,2$.
sp2668's avatar
sp2668 committed
205
206
207
208
209

 \begin{shaded}\item Determine the optimal rate of production of the generators and the value of all KKT multipliers. What is the interpretation of the respective KKT multipliers?\end{shaded}
 The marginal utility at the full output of the generators, $K_1
  + K_2 = $ 700~MW is $U'(700) = 8000 - 10\cdot700 = 1000$ \euro/MWh,
 which is higher than the costs $c_i$, so we'll find optimal rates
sp2668's avatar
sp2668 committed
210
 $G_1^* = K_1$ and $G_2^* = K_2$ and $D^* = K_1+K_2$. This means $\l
sp2668's avatar
sp2668 committed
211
212
213
214
215
216
217
  = U'(K_1+K_2) = 1000$ \euro/MWh, which is the market price. Because
 the lower constraints on the generator output are not binding, from
 complementary slackness we have $\ubar{\m}_i = 0$. The upper
 constraints are binding, so $\bar{\m}_i \geq 0$.
 From stationarity $\bar{\m}_i =
  \l - c_i$, which is the increase in social welfare if Generator $i$
 could increase its capacity by a marginal amount.
sp2668's avatar
sp2668 committed
218
219
220
\end{enumerate}

%=============== ======================================================
sp2668's avatar
sp2668 committed
221
\paragraph{Solution IV.3 \normalsize (efficient dispatch in a two-bus power system).}~\\
sp2668's avatar
sp2668 committed
222
223
224
%=====================================================================

\begin{figure}[h]
sp2668's avatar
sp2668 committed
225
226
227
228
 \centering
 \includegraphics[width=14cm]{two-bus}
 \caption{A simple two-bus power system.}
 \label{twobus}
sp2668's avatar
sp2668 committed
229
230
\end{figure}

sp2668's avatar
sp2668 committed
231
Consider the two-bus power system shown in Figure \ref{twobus}, where the two nodes represent two markets, each with different total demand, and one generator at each node. At node A the demand is $D_A = 2000 \si{\mega\watt}$, whereas at node B the demand is $D_B = 1000 \si{\mega\watt}$. Furthermore, there is a transmission line with a capacity denoted by $F_{AB}$. The marginal cost of production of the generators connected to buses A and B are given respectively by the following expressions:
sp2668's avatar
sp2668 committed
232
\begin{align*}
sp2668's avatar
sp2668 committed
233
234
 MC_A & = 20 + 0.02 G_A \hspace{1cm}\eur/\si{\mega\watt\hour}  \\
 MC_B & = 15 + 0.03 G_B \hspace{1cm} \eur/\si{\mega\watt\hour}
sp2668's avatar
sp2668 committed
235
236
\end{align*}

sp2668's avatar
sp2668 committed
237
Assume that the demands $D_A$ and $D_B$ are constant and insensitive to price, that energy is sold at its marginal cost of production and that there are no limits on the output of the generators.
sp2668's avatar
sp2668 committed
238
239

\begin{enumerate}[(a)]
sp2668's avatar
sp2668 committed
240
241
242
 \begin{shaded}\item Calculate the price of electricity at each bus, the production
  of each generator, the flow on the line, and the value of any KKT
  multipliers for the following cases:\end{shaded}
sp2668's avatar
sp2668 committed
243
 Use the following nomenclature: price $\lambda_{A/B}$, generation $G_{A/B}$, flow $F_{AB}$.
sp2668's avatar
sp2668 committed
244
245
246
247
 \begin{enumerate}[(i)]
  \begin{shaded}\item The line between buses A and B is disconnected.\end{shaded}
  $\l_A= 80\emwh$, $\l_B=35\emwh$,

sp2668's avatar
sp2668 committed
248
  $G_{A}=2000$ MW, $G_B=1000$ MW, $F_{AB}=0$
sp2668's avatar
sp2668 committed
249
250
251
252

  \begin{shaded}\item The line between buses A and B is in service and has an unlimited capacity.\end{shaded}
  $\l_A= 53\emwh$, $\l_B=53\emwh$,

sp2668's avatar
sp2668 committed
253
  $G_{A}=1100\mw$, $G_B=1900$ MW, $F_{AB}=-900\mw$
sp2668's avatar
sp2668 committed
254
255
256
257

  \begin{shaded}\item The line between buses A and B is in service and has an unlimited capacity, but the maximum output of Generator B is 1500~MW.\end{shaded}
  $\l_A= 65\emwh$, $\l_B=65\emwh$,

sp2668's avatar
sp2668 committed
258
  $G_{A}=1500\mw$, $G_B=1500$ MW, $F_{AB}=-500\mw$
sp2668's avatar
sp2668 committed
259
260
261
262

  \begin{shaded}\item The   line between buses A and B is in service and has an unlimited capacity, but the maximum output of Generator A is 900~MW. The output of Generator B is unlimited.\end{shaded}
  $\l_A= 57\emwh$, $\l_B=57\emwh$,

sp2668's avatar
sp2668 committed
263
  $G_{A}=900\mw$, $G_B=2100$ MW, $F_{AB}=-1100\mw$
sp2668's avatar
sp2668 committed
264
265
266
267

  \begin{shaded}\item The line between buses A and B is in service but its capacity is limited to 600~MW. The output of the generators is unlimited.\end{shaded}
  $\l_A= 62\emwh$, $\l_B=47\emwh$,

sp2668's avatar
sp2668 committed
268
  $G_{A}=1400\mw$, $G_B=1600$ MW, $F_{AB}=-600\mw$
sp2668's avatar
sp2668 committed
269
270
 \end{enumerate}
 \begin{shaded}\item Calculate the generator revenues, generator profits, consumer payments and consumer net surplus for all the cases considered in the above problem. Who benefits from the line connecting these two buses?\end{shaded}
sp2668's avatar
sp2668 committed
271
 Generator revenues $R_{i}$, generator costs $C_{i}$, generator profits $P_{i}$, consumer payments $E_{i}$. Find the generator profits by subtracting the costs from the revenue. Costs are given by integrating the marginal cost, i.e. $C_A = 20G_A + 0.015G_A^2$ and $C_B = 15G_B + 0.01G_B^2$. The generator at $B$ and the consumers at $A$ benefit from the line (price increases at $B$, decreases at $B$).
sp2668's avatar
sp2668 committed
272
273
 \begin{table}[!h]
  \centering
sp2668's avatar
sp2668 committed
274
  \begin{tabular}{lrrrrr}
sp2668's avatar
sp2668 committed
275
   \toprule
sp2668's avatar
sp2668 committed
276
   Case          & (i)      & (ii)     & (iii)    & (iv)     & (v)      \\
sp2668's avatar
sp2668 committed
277
   \midrule
sp2668's avatar
sp2668 committed
278
279
280
281
   $E_A$ (\euro) & 160,000 & 106,000 & 130,000 & 114,000 & 124,000 \\
   $R_A$ (\euro) & 160,000 & 58,300  & 97,500  & 51,300  & 86,800  \\
   $C_A$ (\euro) & 100,000 & 40,150  & 63,750  & 30,150  & 57,400  \\
   $P_A$ (\euro) & 60,000  & 18,150  & 33,750  & 21,150  & 29,400  \\
sp2668's avatar
sp2668 committed
282
   \midrule
sp2668's avatar
sp2668 committed
283
284
285
286
   $E_B$ (\euro) & 35,000  & 53,000  & 65,000  & 57,000  & 47,000  \\
   $R_B$ (\euro) & 35,000  & 100,700 & 97,500  & 119,700 & 75,200  \\
   $C_B$ (\euro) & 25,000  & 64,600  & 45,000  & 75,600  & 49,600  \\
   $P_B$ (\euro) & 10,000  & 36,100  & 52,500  & 44,100  & 25,600  \\
sp2668's avatar
sp2668 committed
287
288
289
290
291
292
293
   \bottomrule
  \end{tabular}
 \end{table}

 \begin{shaded}\item Calculate the congestion surplus for case (v). For what values of the flow on the line between buses A and B is the congestion surplus equal to zero?\end{shaded}
 Congestion surplus is 9000 \euro:
 \begin{equation*}
sp2668's avatar
sp2668 committed
294
  \left(E_A + E_B\right) - (R_A + R_B) = |F_{AB}|\times (\l_A - \l_B)
sp2668's avatar
sp2668 committed
295
 \end{equation*}
sp2668's avatar
sp2668 committed
296
 Congestion surplus is equal to zero when the flow $F_{AB}=0$, or when it is equal to the unconstrained value $F_{AB}=-900\mw$ (then $\l_A = \l_B$).
sp2668's avatar
sp2668 committed
297
298
299
\end{enumerate}

%=============== ======================================================
sp2668's avatar
sp2668 committed
300
%\paragraph{Solution IV.4 \normalsize (bidding in africa with pypsa).}~\\
sp2668's avatar
sp2668 committed
301
302
303
304
305
%=====================================================================



\end{document}