Skip to content

Commit f737a43

Browse files
committed
Merge branch 'master' of ssh://github.com/pascalwhoop/masterthesis
2 parents e1b82cd + 07b422e commit f737a43

File tree

4 files changed

+96
-21
lines changed

4 files changed

+96
-21
lines changed

src/bibliography.bib

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,33 @@
1+
@inproceedings{tesauro2002strategic,
2+
title = {Strategic sequential bidding in auctions using dynamic programming},
3+
author = {Tesauro, Gerald and Bredin, Jonathan L},
4+
booktitle = {Proceedings of the first international joint conference on Autonomous agents and multiagent systems: part 2},
5+
pages = {591--598},
6+
year = {2002},
7+
organization = {ACM}
8+
}
9+
10+
@inproceedings{ozdemir2015winner,
11+
title = {A winner agent in a smart grid simulation platform},
12+
author = {Ozdemir, Serkan and Unland, Rainer},
13+
booktitle = {Web Intelligence and Intelligent Agent Technology (WI-IAT), 2015 IEEE/WIC/ACM International Conference on},
14+
volume = {2},
15+
pages = {206--213},
16+
year = {2015},
17+
organization = {IEEE}
18+
}
19+
20+
@inproceedings{ozdemir2017strategy,
21+
title = {The strategy and architecture of a winner broker in a renowned agent-based smart grid competition},
22+
author = {Ozdemir, Serkan and Unland, Rainer},
23+
booktitle = {Web Intelligence},
24+
volume = {15},
25+
number = {2},
26+
pages = {165--183},
27+
year = {2017},
28+
organization = {IOS Press}
29+
}
30+
131
@article{Hochreiter:1997:LSM:1246443.1246450,
232
author = {Hochreiter, Sepp and Schmidhuber, J\"{u}rgen},
333
title = {Long Short-Term Memory},

src/body.tex

Lines changed: 64 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -992,33 +992,77 @@ \subsubsection{Counterfactual analysis}%
992992

993993

994994

995-
\subsection{Existing broker concepts}%
995+
\subsection{Existing broker implementations}%
996996
\label{sub:existing_broker_concepts}
997997
Before designing my own agent, it is helpful to investigate previously developed agents and their design to understand
998998
the current state of research. For this, I have analyzed the papers of the AgentUDE, TacTex and COLDPower, as they
999-
performed well in previous tournaments. Their architectures, models and performances are summarized in the following
1000-
sections. These are based on publications that describe the TacTex, COLDPower and AgentUDE agents of 2015, as these are
1001-
the last publications of these brokers that are available on the \ac {PowerTAC} website. Unfortunatley, the source code
1002-
of these agents has not been made available, which does not allow introspection of the exact inner mechanics.
999+
performed well in previous tournaments and because their creators have published their concepts. Their architectures,
1000+
models and performances are summarized in the following sections. These are based on publications that describe the
1001+
TacTex, COLDPower and AgentUDE agents of 2015, as these are the last publications of these brokers that are available on
1002+
the \ac {PowerTAC} website. Unfortunatley, the source code of these agents has not been made available, which does not
1003+
allow introspection of the exact inner mechanics.
1004+
1005+
From what is visible by their shared binaries, all agents are based on java and do not employ any other technologies to
1006+
perform their actions during competitions.
1007+
1008+
1009+
\subsubsection{Tariff market strategies}%
1010+
\label{ssub:tariff_market_strategies}
1011+
1012+
AgentUDE deploys an agressive but rigid tariff market strategy, offering cheap tariffs at the beginning of the game to
1013+
trigger competing agents to react. It also places high transaction costs on the tariffs, by making use of early
1014+
withdrawl penalties and bonus payments \cite[]{ozdemir2017strategy}. While this may be beneficial for the success in the
1015+
competition, it doesn't translate into real-world scenarios as energy markets are not a round based, finite game.
1016+
1017+
TacTex does not target tariff fees such as early withdrawl fees to make a profit. It also doesn't publish tariffs for
1018+
production of energy \cite[]{tactexurieli2016mdp} although this is based on a 2016 paper and it is likely that the developers have improved
1019+
their algorithms in subsequent competitions. TacTex has modelled the entire competition as a \ac{MDP} and included the
1020+
tariff market actions in this model. It selects a tariff from a set of predefined fixed-rate consumption tariffs to
1021+
reduce the action space complexity of the agent. Ultimately though, it uses \ac{RL} to decide on its tariff market
1022+
actions, reducing the possible actions based on domain knowledge.
1023+
1024+
COLDPower also deploys \ac{RL} approaches with a Q-Learning based agent choosing from a range of predefined changes to
1025+
its existing tariff portfolio. It can perform the following actions: \emph{maintain, lower, raise, inline, minmax, wide,
1026+
bottom}. These actions describe fixed action strategies that have been constructed based on domain knowledge. The agent
1027+
is not \emph{learning} how to behave in the market on a low level but rather on a more abstract level. It can be
1028+
compared to an \ac{RL} agent that doesn't learn how to perform locomotion to move a controlable body through space but
1029+
rather one that may choose the direction of the walking, without the need to understand \emph{how} to walk. While this
1030+
leads to quick results, it may significantly reduce the possible performance as the solution space is greatly reduced.
1031+
1032+
\subsubsection{Wholesale market strategies}%
1033+
\label{ssub:wholesale_market_strategies}
1034+
1035+
1036+
AgentUDE considers the wholesale market to include both demand and price prediction. For the demand prediction, AgentUDE
1037+
uses a simple weighted estimation based on the previous time-step and the demand of 24 hours before the target time-step
1038+
\cite[]{ozdemir2015winner}. Their price prediction is more complex and involves a dynamic programming model based on
1039+
\cite[]{tesauro2002strategic} to find \emph{similar hours} in recent history and determine current prices using
1040+
Q-Learning \cite[]{ozdemir2017strategy}. Their \ac{MDP} is constructed in a way that the agent needs to determine the
1041+
limit price that minimizes costs. It only has one action dimension which describes the limit price and its environment
1042+
observation is represented by a belief function $f(s,a)$ which makes it a \ac{POMDP}. The agent uses value iteration to
1043+
solve the Bellman equations, determining the expected price. The ultimate limit prices are then determined based on a
1044+
heuristic that works by offering higher prices for "short-term" purchases and adjusting this to also offer higher prices
1045+
in the case of an expected higher overall trading volume \cite[]{ozdemir2017strategy}.
1046+
1047+
TacTex considers the wholesale market actions to be part of the overal complexity reduced \ac{MDP}. It uses a demand
1048+
predictor to determine the \ac{mWh} amount to order and sets this amount as the amount that is placed in the order. The
1049+
predictor is based on the actual customer models of the simulation server itself. While this surely leads to good
1050+
performance, it can be argued whether this is something that actually benefits the research goal. The price predictor is
1051+
a linear regression model based on the bootstrap period, corrected by a bias correction based on the prediction error of
1052+
the last 24 hours \cite[]{tactexurieli2016mdp}.
1053+
1054+
COLDPower deploys a linear regression model to predict prices and determines the demand by "using the energy demand
1055+
historical information" \cite[]{cuevas2015distributed}. The order is placed accordingly.
10031056

10041057

1005-
1006-
1007-
1008-
\subsubsection{Decision areas}%
1009-
\label{ssub:decision_areas}
1010-
Of the three main markets, all agents participate actively in the tariff market, only AgentUDE participates in the
1011-
balancing market and obviously every agent participates in the customer market. The way each agent approaches the
1012-
customer or tariff market is very different however.
1013-
%TODO STOP GOOD NIGHT
1014-
1015-
1016-
1017-
\subsubsection{Decision models}%
1018-
\label{ssub:decision_models}
1019-
10201058
\subsubsection{Past performances}%
10211059
\label{ssub:past_performances}
1060+
%TODO STOP :
1061+
% some summary on how they performed in comparison to each other in past competitions.
1062+
% summary pages 2017 http://powertac.org/log_archive/PowerTAC_2017_finals.html
1063+
% 2016 http://powertac.org/log_archive/PowerTAC_2016_finals.html
1064+
% also in-depth graphs of the balances from data, polished up with some python
1065+
10221066

10231067
\chapter{Implementation}
10241068
\label{cha:implementation}

src/drawio/Untitled Diagram.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" version="8.8.7" editor="www.draw.io" type="github"><diagram>UzV2zq1wL0osyPDNT0nNUTV2VTV2LsrPL4GwciucU3NyVI0MMlNUjV1UjYwMgFjVyA2HrCFY1qAgsSg1rwSLBiADYTaQg2Y1AA==</diagram></mxfile>

src/drawio/Usage Estimator

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<mxfile userAgent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" version="8.6.5" editor="www.draw.io" type="github"><diagram id="7a08d2a8-250a-dfc7-c4ee-d54462b0b821" name="Page-1">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</diagram></mxfile>
1+
<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" version="8.8.7" editor="www.draw.io" type="github"><diagram id="7a08d2a8-250a-dfc7-c4ee-d54462b0b821" name="Page-1">7VpLc6M4EP41PoYCxMvHsZPJHmZrUpvD7hxlkEEbQF4hv+bXr2TEQwhiJ8ZkUjU5xKjVEqK7v0/dghlYZodHCjfJnyRC6cw2o8MM3M9s2wIe4D9Cciwlvm+WgpjiSCo1gmf8E0lhpbbFESoURUZIyvBGFYYkz1HIFBmklOxVtTVJ1btuYIw0wXMIU136N45YUkoD12zkfyAcJ9WdLVP2rGD4ElOyzeX9ZjZYn/7K7gxWc0n9IoER2bdE4GEGlpQQVl5lhyVKhW0rs5Xjvg701uumKGeXDHCccsQOplv57EuSZdsch5BhkstVsmNlmdOzITHanIHFPsEMPW9gKHr3PBa4LGFZylsWv1zjNF2SlFDezknOlRY7RBmfO/2S4jjnYkbEGH3Z8kmEOjq0RPIxHhHJEKNHriJ73SrEZMgBr2zuG/9ZgVRJWr6z51IIZczE9dSN3fiFNF2/GT3NihHKIA8C20QFw9zt3Abc/STackN+GpvajnfOpsC8lU0tVzMqWa9TzB+ZEwtkkP+kCNIc5/EnMmknSt1Lo9S63qKOr9kJRZz3ZJNQlpCY5DB9aKQL1ZItq6EDZv8IseHK1g+pxK1Dj60u0fwhRxUMUvZFUHRj7JPsKxbrluOjSiNMYVHgsBRKFTHNv4ixo9w34JYRLmqW/40Ib530Bj1WkC0NK7YP5BYDaYykmiP1hIFe9StFKWfKnbpxXBX3gRb3j3898WHmlwhuGKKvBLv1tmBvdiewgDLSQ24pfo9Rgt0z1Wi3vJ5wt3vC3RuBP8D8d7T3RXtFOe1or/wyXrTLoU8E86XUAeF04iHo+LlckxzUcXW9isu8r+8eHBYUMrF7kJ1AkRnDjCeZnwZNrmq8eiuZAkzOuGCqIGO1AWMavjs9Zmpgt2FtBJ4v20+IYm4u4cSTzkUYq3YPZUcBN8EYtwM8thQ2AjzFMARdr4NB4LcD4ay+PXc7gVOu4L1A9fQK5GGHTitICHnR8cnRwtRwoqjAP+HqpCBcJE3Atd3FzL3vg2M3v8twFJ1iNoUrlC7qKq4P2wO4ratRuZJZDdB2sJRAGsS4afCSTFrkSq6989Tk/c7q8ADPpgt0Lc9Wkd5y38z2UuGhCO/4ZSwun7ar5+2q6uBztvp61O9xsYEsTARLl50r2lXvTvJZWLybEwUTpkRVOfc7JerQta3TdZWGT18AVKt5HVLfc1kKL0m2QQyXpzUXYaNI4EZcbigJUVGcx8cAKUrvfSR6gDNhEuROVD9PnQG9gtZT4+IUSCkpbpPuaNsccHzDVTMUt+PrEupaVdEzlWN4Dmdk3yr/q4mS5xhNl2PP1ZsMlC7D6dkVm66rHxE8URThUDyMmNg215j9qplTO3AqSF2cTQ0yw51pAN+zFZf54yRStqMmUm4VcONmUkBz6kNzdvxZ0hs7mPeDcQqC9izNUGNUqeZMqVI/sEitrsuF2O7FCQ7QCXr8E8531aMO6NSXnlJfntW3rFfqUZ3i5+po58K94j2FrZ7GSZLmmdovW9a2A8kbQv97yNn1/EAlZ3sUdraAyvl3/vwm9Ozp9Czfe3eza0bJS/3a2FZ9WqXe2SEWb86NdUr2YcJ5wxBvtFawQAN0/kYO73GZRhGD3gKmatJAp/B5D4MH7rDvLmZw/U0qoxDzysYU5Y1ZoP+2KA/1d6gjJOIqubpndoDezPhtVWmHec+yuNd3cg/OAc/0bRV4d9aVedG4uNIP6p9rJ5sxysWh/cQZ0FXo6RzTz21jwhMeL7hNBqRXhjcOdV8P9fKVzgQHMNXNWyH5vf7y4NvQJwcfe6oyZsje8lCFN5uvm0q6aD4hAw//Aw==</diagram></mxfile>

0 commit comments

Comments
 (0)