2
2
# coding: utf-8
3
3
4
4
# <h1>Table of Contents <br></br><span class="tocSkip"></span></h1>
5
- # <div class="toc"><ul class="toc-item"><li><ul class="toc-item"><li><span><a href="#Imports-and-Data-loading" data-toc-modified-id="Imports-and-Data-loading-0.1"><span class="toc-item-num">0.1 </span>Imports and Data loading</a></span></li><li><span><a href="#Regular-Profit" data-toc-modified-id="Regular-Profit-0.2"><span class="toc-item-num">0.2 </span>Regular Profit</a></span></li><li><span><a href="#Charging-Stations" data-toc-modified-id="Charging-Stations-0.3"><span class="toc-item-num">0.3 </span>Charging Stations</a></span></li></ul></li><li><span><a href="#Baseline-Charging" data-toc-modified-id="Baseline-Charging-1"><span class="toc-item-num">1 </span>Baseline Charging</a></span></li><li><span><a href="#Intraday" data-toc-modified-id="Intraday-2"><span class="toc-item-num">2 </span>Intraday</a></span><ul class="toc-item"><li><span><a href="#Benchmark" data-toc-modified-id="Benchmark-2.1"><span class="toc-item-num">2.1 </span>Benchmark</a></span></li><li><span><a href="#Risk-Averse-(r=0.3,-acc=90)" data-toc-modified-id="Risk-Averse-(r=0.3,-acc=90)-2.2"><span class="toc-item-num">2.2 </span>Risk Averse (r=0.3, acc=90)</a></span></li></ul></li><li><span><a href="#Balancing" data-toc-modified-id="Balancing-3"><span class="toc-item-num">3 </span>Balancing</a></span><ul class="toc-item"><li><span><a href="#Benchmark" data-toc-modified-id="Benchmark-3.1"><span class="toc-item-num">3.1 </span>Benchmark</a></span></li><li><span><a href="#Risk-Averse-(r=0.5,-acc=70)" data-toc-modified-id="Risk-Averse-(r=0.5,-acc=70)-3.2"><span class="toc-item-num">3.2 </span>Risk Averse (r=0.5, acc=70)</a></span></li></ul></li><li><span><a href="#Integrated" data-toc-modified-id="Integrated-4"><span class="toc-item-num">4 </span>Integrated</a></span><ul class="toc-item"><li><span><a href="#Risk-Averse-(r=0.5,0.3,-acc=70,90)" data-toc-modified-id="Risk-Averse-(r=0.5,0.3,-acc=70,90)-4.1"><span class="toc-item-num">4.1 </span>Risk Averse (r=0.5,0.3, acc=70,90)</a></span></li><li><span><a href="#Risk-Seeking-(r=0.2,0.00,-acc=70,90)" data-toc-modified-id="Risk-Seeking-(r=0.2,0.00,-acc=70,90)-4.2"><span class="toc-item-num">4.2 </span>Risk Seeking (r=0.2,0.00, acc=70,90)</a></span></li></ul></li><li><span><a href="#Plots" data-toc-modified-id="Plots-5"><span class="toc-item-num">5 </span>Plots</a></span><ul class="toc-item"><li><span><a href="#Style" data-toc-modified-id="Style-5.1"><span class="toc-item-num">5.1 </span>Style</a></span></li><li><span><a href="#Fleet-Utilization" data-toc-modified-id="Fleet-Utilization-5.2"><span class="toc-item-num">5.2 </span>Fleet Utilization</a></span></li></ul></li></ul></div>
5
+ # <div class="toc"><ul class="toc-item"><li><ul class="toc-item"><li><span><a href="#Imports-and-Data-loading" data-toc-modified-id="Imports-and-Data-loading-0.1"><span class="toc-item-num">0.1 </span>Imports and Data loading</a></span></li><li><span><a href="#Regular-Profit" data-toc-modified-id="Regular-Profit-0.2"><span class="toc-item-num">0.2 </span>Regular Profit</a></span></li><li><span><a href="#Charging-Stations" data-toc-modified-id="Charging-Stations-0.3"><span class="toc-item-num">0.3 </span>Charging Stations</a></span></li></ul></li><li><span><a href="#Baseline-Charging" data-toc-modified-id="Baseline-Charging-1"><span class="toc-item-num">1 </span>Baseline Charging</a></span></li><li><span><a href="#Intraday" data-toc-modified-id="Intraday-2"><span class="toc-item-num">2 </span>Intraday</a></span><ul class="toc-item"><li><span><a href="#Benchmark" data-toc-modified-id="Benchmark-2.1"><span class="toc-item-num">2.1 </span>Benchmark</a></span></li><li><span><a href="#Risk-Averse-(r=0.3,-acc=90)" data-toc-modified-id="Risk-Averse-(r=0.3,-acc=90)-2.2"><span class="toc-item-num">2.2 </span>Risk Averse (r=0.3, acc=90)</a></span></li></ul></li><li><span><a href="#Balancing" data-toc-modified-id="Balancing-3"><span class="toc-item-num">3 </span>Balancing</a></span><ul class="toc-item"><li><span><a href="#Benchmark" data-toc-modified-id="Benchmark-3.1"><span class="toc-item-num">3.1 </span>Benchmark</a></span></li><li><span><a href="#Risk-Averse-(r=0.5,-acc=70)" data-toc-modified-id="Risk-Averse-(r=0.5,-acc=70)-3.2"><span class="toc-item-num">3.2 </span>Risk Averse (r=0.5, acc=70)</a></span></li></ul></li><li><span><a href="#Integrated" data-toc-modified-id="Integrated-4"><span class="toc-item-num">4 </span>Integrated</a></span><ul class="toc-item"><li><span><a href="#Risk-Averse-(r=0.5,0.3,-acc=70,90)" data-toc-modified-id="Risk-Averse-(r=0.5,0.3,-acc=70,90)-4.1"><span class="toc-item-num">4.1 </span>Risk Averse (r=0.5,0.3, acc=70,90)</a></span></li><li><span><a href="#Risk-Seeking-(r=0.2,0.00,-acc=70,90)" data-toc-modified-id="Risk-Seeking-(r=0.2,0.00,-acc=70,90)-4.2"><span class="toc-item-num">4.2 </span>Risk Seeking (r=0.2,0.00, acc=70,90)</a></span></li><li><span><a href="#RL-(acc=70,90)" data-toc-modified-id="RL-(acc=70,90)-4.3"><span class="toc-item-num">4.3 </span>RL (acc=70,90)</a></span></li><li><span><a href="#RL-(acc=80,95)" data-toc-modified-id="RL-(acc=80,95)-4.4"><span class="toc-item-num">4.4 </span>RL (acc=80,95)</a></span></li></ul></li><li><span><a href="#Plots" data-toc-modified-id="Plots-5"><span class="toc-item-num">5 </span>Plots</a></span><ul class="toc-item"><li><span><a href="#Style" data-toc-modified-id="Style-5.1"><span class="toc-item-num">5.1 </span>Style</a></span></li><li><span><a href="#Fleet-Utilization" data-toc-modified-id="Fleet-Utilization-5.2"><span class="toc-item-num">5.2 </span>Fleet Utilization</a></span></li></ul></li></ul></div>
6
6
7
7
# ## Imports and Data loading
8
8
@@ -89,11 +89,12 @@ def read_results(path):
89
89
90
90
# ## Risk Averse (r=0.3, acc=90)
91
91
92
- # In[8 ]:
92
+ # In[15 ]:
93
93
94
94
95
95
df_i = read_results ("../results/intraday-risk-averse.csv" )
96
- df_i .sum ()/ 1000
96
+ print (df_i .sum ()/ 1000 )
97
+ profit_intr = df_i ["profit_eur" ].sum () / 1000
97
98
98
99
99
100
# # Balancing
@@ -113,48 +114,73 @@ def read_results(path):
113
114
114
115
115
116
df_b = read_results ("../results/balancing-risk-averse.csv" )
116
- df_b .sum ()/ 1000
117
+ print (df_b .sum ()/ 1000 )
118
+ profit_bal = df_b ["profit_eur" ].sum () / 1000
117
119
118
120
119
121
# # Integrated
120
122
121
- # In[33 ]:
123
+ # In[11 ]:
122
124
123
125
124
126
df_in = read_results ("../results/integrated-benchmark-acc-1.csv" )
125
- df_in .sum ()/ 1000
127
+ print (df_in .sum ()/ 1000 )
128
+ profit_bench = df_in ["profit_eur" ].sum () / 1000
126
129
127
130
128
- # In[43]:
131
+ # ## Risk Averse (r=0.5,0.3, acc=70,90)
129
132
133
+ # In[12]:
130
134
131
- df_in = read_results ("../results/integrated-rl-1.csv" )
135
+
136
+ df_in = read_results ("../results/integrated-risk-averse.csv" )
137
+ print (df_in .sum ()/ 1000 )
138
+ profit_in = df_in ["profit_eur" ].sum () / 1000
139
+
140
+
141
+ # ## Risk Seeking (r=0.2,0.00, acc=70,90)
142
+
143
+ # In[13]:
144
+
145
+
146
+ df_in = read_results ("../results/integrated-risk-seeking.csv" )
132
147
df_in .sum ()/ 1000
133
148
134
149
135
- # ## Risk Averse (r=0.5,0.3, acc=70,90)
150
+ # ## RL ( acc=70,90)
136
151
137
- # In[17 ]:
152
+ # In[24 ]:
138
153
139
154
140
- df_in = read_results ("../results/integrated-risk-averse.csv" )
141
- len (df_in )
155
+ df_in = read_results ("../results/integrated-rl-1.csv" )
156
+ print (df_in .sum ()/ 1000 )
157
+ profit_rl = df_in ["profit_eur" ].sum () / 1000
158
+ print ("Risk factors - Balancing: {:.2f}. Intraday:{:.2f}" .format (df_in ["risk_bal" ].mean (), df_in ["risk_intr" ].mean ()))
142
159
160
+ print ("Profit comparison - Balancing: {:+.0%}, Intraday: {:+.0%}, Integrated: {:+.0%}, , Benchmark: {:+.0%}" .format (
161
+ profit_rl / profit_bal ,
162
+ profit_rl / profit_intr ,
163
+ profit_rl / profit_in ,
164
+ profit_rl / profit_bench
165
+ )
166
+ )
143
167
144
- # ## Risk Seeking (r=0.2,0.00, acc=70,90)
145
168
146
- # In[32]:
169
+ # ## RL (acc=80,95)
147
170
171
+ # In[27]:
148
172
149
- df_in = read_results ("../results/integrated-risk-seeking.csv" )
173
+
174
+ df_in = read_results ("../results/integrated-rl-80-95.csv" )
175
+ print ("Risk factors - Balancing: {:.2f}. Intraday:{:.2f}" .format (df_in ["risk_bal" ].mean (), df_in ["risk_intr" ].mean ()))
150
176
df_in .sum ()/ 1000
151
177
152
178
153
179
# # Plots
154
180
155
181
# ## Style
156
182
157
- # In[14 ]:
183
+ # In[ ]:
158
184
159
185
160
186
sns .set (rc = {'figure.figsize' :(10 ,6 )})
@@ -173,7 +199,7 @@ def read_results(path):
173
199
174
200
# ## Fleet Utilization
175
201
176
- # In[42 ]:
202
+ # In[ ]:
177
203
178
204
179
205
df_stats = read_results ("../results/stats-baseline.csv" )
@@ -192,7 +218,7 @@ def labels(y):
192
218
193
219
sns .despine (offset = 10 )
194
220
ax .set (xlabel = 'Hour' , ylabel = 'Number EVs' )
195
- plt .xticks (np .arange (0 , 24 , 2 ), rotation = 90 );
221
+ plt .xticks (np .arange (0 , 24 , 2 ));
196
222
plt .yticks (np .arange (0 , 500 , 50 ));
197
223
plt .savefig ("../results/fig/fleet-utilization.png" )
198
224
0 commit comments