solution01-2.ipynb 92.3 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 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Energy System Modelling - Solutions to Tutorial II.1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.integrate as integrate\n",
    "from scipy.optimize import minimize\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Parameters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "A_w = 0.4\n",
    "A_s = 0.75\n",
    "A_l = 0.1\n",
    "T = 1\n",
    "phi = 0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def w(t, phi=0):\n",
    "    return 1 + A_w * np.cos(2*t*np.pi/T-phi)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def s(t):\n",
    "    return 1 - A_s * np.cos(2*t*np.pi/T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def l(t):\n",
    "    return 1 + A_l * np.cos(2*t*np.pi/T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def c(gamma):\n",
    "    return 1 - gamma"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "def mismatch_a(alpha, t, phi=phi):\n",
    "    return alpha*w(t, phi) + (1-alpha)*s(t)-l(t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "def mismatch_c(alpha, gamma, t):\n",
    "    return gamma*(alpha*w(t) + (1-alpha)*s(t))+c(t)-l(t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "def objective_a(alpha):\n",
    "    return 1/T * integrate.quad(lambda t: mismatch_a(alpha,t,phi=phi)**2, 0, T)[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "def objective_c(alpha):\n",
    "    return 1/T * integrate.quad(lambda t: mismatch_c(alpha,gamma,t)**2, 0, T)[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.arange(0,1,0.01)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Availability time series"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd4VMX6wPHvpPdeIYSEEmoghBAIUsUCiCg2mghYEEXs2K7XguWqV3/XgoCAgChS7YgVkSIJJAFC7yQQSO+97M7vjwMRNZAQNjnZzXyeJ4+GnT3nDey+mZ3yjpBSoiiKolgWK70DUBRFUUxPJXdFURQLpJK7oiiKBVLJXVEUxQKp5K4oimKBVHJXFEWxQCq5K4qiWCCV3BVFUSyQSu6KoigWyKauBkKIxcAoIFNK2b2Wx92Bz4Dgc9d7W0q5pK7r+vj4yJCQkMsOWFEUpSVLTEzMllL61tWuzuQOLAXmAMsu8vgM4ICU8kYhhC9wWAixXEpZeamLhoSEkJCQUI/bK4qiKOcJIVLq067OYRkp5WYg91JNAFchhABczrWtrs/NFUVRlMZRn557XeYA3wJnAVdgrJTSaILrKoqiKA1kignV64HdQCsgApgjhHCrraEQYpoQIkEIkZCVlWWCWyuKoii1MUXPfSrwhtRqBx8TQpwEOgM7/t5QSrkAWAAQFRWlag0rinJZqqqqSE1Npby8XO9QGp2DgwNBQUHY2to26PmmSO6ngGHAFiGEP9AJOGGC6yqKovxFamoqrq6uhISEoE3zWSYpJTk5OaSmphIaGtqga9RnKeQKYAjgI4RIBV4EbM8FMB94BVgqhNgLCOBpKWV2g6JRFEW5hPLycotP7ABCCLy9vbmS4es6k7uUcnwdj58FrmtwBIqiKJfB0hP7eVf6c5piWEZRzF9lCWQcgPwUKC/QvowGcHDXvlz8ICAcnH30jlRR6kUld6VlqiqHE7/DoXVwejtkH0XbslEH10Bo3RvChkOnESrZK38xcuRIPv/8czw8POrVPjk5mVGjRrFv3z6Tx6KSu9KynNkJ2+fDwXVQVQL2bhAyALrfqvXMvdqDo4fWW7ey+bMXX5AK6XshfQ+kxGq/FIQVtL0K+twLnUeBtXo7tXTr16/XO4Qa6tWoWD4p4fB6+ON9OB0Hdq7Q43bociOEDAIbu4s/19lH+/JuD+0G/3m99D3aL4g9q2DNZPAIhr7TIepusHVsmp9LaXJvvfUWDg4OPPzwwzz22GMkJSXx22+/sWHDBpYsWcLWrVtJSEiguLiYESNGMGDAALZt20br1q355ptvcHR0JDExkbvvvhsnJycGDBjQaLGq5K5YtjM74ad/walt4NEWhr8BERPBodZ9dvUjBAT21L6GPKP94oidCz89p/33mpcg/DatndJoXv5uPwfOFpr0ml1bufHijd0u+vigQYN45513ePjhh0lISKCiooKqqiq2bt3KwIED2bp1a03bo0ePsmLFChYuXMgdd9zBF198wZ133snUqVP54IMPGDx4MLNmzTJp/BdSJX8Vy1SaC189AAuHQs5RGPUuzNwJ/R64ssT+d1bW2ieAu3+AyevAyQu+vBcWXQPpph9HVfTVu3dvEhMTKSoqwt7enpiYGBISEtiyZQsDBw78S9vQ0FAiIiJqnpecnExBQQH5+fkMHqx9Cpw0aVKjxap67orlOfoLfPMQlGbDgMdgwOOmTegXEzoQpm2CPSvhlxdgwRAY+hxc9Yj2S0AxqUv1sBuLra0tISEhLFmyhP79+9OjRw82btzI8ePH6dKly1/a2tvb1/y/tbU1ZWVlSCmbbCmn6rkrlqOqDL57FJbfpvWg7/tNGyJpisR+npUVREyAB7dD55Gw4WVYPBzy6lWlVTEDgwYN4u2332bQoEEMHDiQ+fPnExERUa+k7eHhgbu7e83wzfLlyxstTpXcFctQkKol0cQl0H8m3LdRGxPXi7M33P4J3LIIsg5rvfgTm/SLRzGZgQMHkpaWRkxMDP7+/jg4OPxjSOZSlixZwowZM4iJicHRsfEm34VW76vpRUVFSXVYh2ISyX/A6rugugJuWaD1mJuTnOOwYjzkHIPrXtXG/dVka4McPHjwH8Mflqy2n1cIkSiljKrruarnrpi3PWtg2Whw9NSGYZpbYgdtGeV9G7RNTz89C98/ru1+VZRGpJK7Yr7i5msrU4JjtOTpG6Z3RBdn7wp3fKpN8CYshrVTtU8aitJI1GoZxfxICb+9Clve1naG3vox2DroHVXdrKy0CV5nX21NfFkejPtcS/yKYmKq566YFym1ZYZb3oZek7RJS3NI7BeKmQE3z9fmCj67DSqK9Y5IsUAquSvmZeNrsO19iLoHRn9gvvVcIsbDbYshNR5WjIPKUr0jUiyMSu6K+dj0X9j8X4i8C0a+bf4rTrrdDGM+guStsGqiVqlSUUxEJXfFPOxYCBtfhR7jtFICVhby0u1xO9z0IRz/Db64R62isSBDhgxBz+Xedb5DhBCLhRCZQoiLFsoQQgwRQuwWQuwXQqidGoppHVwH62dBp5FaIrS0rfy9JsLwN7Uywj8+q80rKC2OwWDaX+z16f4sBYZf7EEhhAcwFxgtpewG3G6a0BQFOL1D69G27q2tijHXMfa69JsOMQ/Bjo8gdo7e0SgXUVJSwg033EDPnj3p3r07q1atYsOGDfTq1Yvw8HDuvvtuKir+ucT1gQceICoqim7duvHiiy/W/HlISAizZ89mwIABrFmzxqSx1ucM1c1CiJBLNJkAfCmlPHWufaZpQlNavJzj8PlYcGsFE1aBnZPeETWua1+BwjPw8/Pg1hq636J3RM3bD89oB6iYUkA4jHjjog//+OOPtGrViu+//x6AgoICunfvzoYNGwgLC+Ouu+5i3rx5PProo3953muvvYaXlxcGg4Fhw4axZ88eevToAYCDg8NfSgWbiikGLsMATyHE70KIRCHEXSa4ptLSVRTBygna/09c2zKOs7Oy0pZIBsfA1w9CWpLeESl/Ex4ezq+//srTTz/Nli1bSE5OJjQ0lLAwbQPd5MmT2bx58z+et3r1aiIjI+nVqxf79+/nwIEDNY+NHTu2UWI1xWdcG6A3MAxwBGKFEHFSyiN/byiEmAZMAwgODjbBrRWLZDTCV9O1c00nfaVt328pbB20nawLBsPKiTDt95bxi60hLtHDbixhYWEkJiayfv16nn32Wa677ro6n3Py5Enefvtt4uPj8fT0ZMqUKZSX/7kyytnZuVFiNUXPPRX4UUpZIqXMBjYDtZbjk1IukFJGSSmjfH19TXBrxSJtfkubXLz+tT+PtmtJXHxh3HIoyYLVk8FQpXdEyjlnz57FycmJO++8kyeffJJt27aRnJzMsWPHAPj0009rDuI4r7CwEGdnZ9zd3cnIyOCHH35oklhN0XP/BpgjhLAB7IC+wP9McF2lJTr8A/z+H+g5QTuTtKVq1UvbpPXlfdoY/Ig39Y5IAfbu3cusWbOwsrLC1taWefPmUVBQwO233051dTV9+vRh+vS/vm579uxJr1696NatG+3ateOqq65qkljrLPkrhFgBDAF8gAzgRcAWQEo5/1ybWcBUwAgsklK+W9eNVclf5R/yUuCjgeAZAnf/bH5lBRrDj89C3Fy4Yxl0vUnvaHSnSv7Wv+RvfVbLjK9Hm/8C/62rnaJcVHUlrL1bW+N9+1KV2M+75mU4vV07NjCgB3iF6h2RYiYsZJufYvY2vAxnErShCK92ekfTfNjYwW1LtFILa6aoMsFKvankrujv8A/axp0+92n1VpS/8mwLN82FtN1aRUxFqQeV3BV9FWdqQw7+4doRdErtuozSJpi3z4djv+odjWIGVHJX9COlltgriuDWhWqcvS7XvAS+neHrGVCaq3c0SjOnkruin8QlcPQnuHY2+LWcFRANZusItyyE0hz47hFVYEy5JJXcFX1kH4Of/gXthkL0NL2jMR+BPeDq5+Hgt5C0Qu9oWiQXFxeTXOell17i7bffNsm1aqOSu9L0jAb4+gGwtoOb51pObfam0n8mtB0A65+CglS9o1GaKfWuUppe3DxI3QEj/6tVfFQuj5U13DQHpEENz+hISsmsWbPo3r074eHhrFq1CoDi4mKGDRtGZGQk4eHhfPPNNzXPee211+jUqRPXXHMNhw8fbtT4LLQ4ttJs5RyH316BsBEQrkr/N5hXqDbB+sNTsPtz7cCPFubNHW9yKPeQSa/Z2aszT0c/Xa+2X375Jbt37yYpKYns7Gz69OnDoEGD8PX15auvvsLNzY3s7Gz69evH6NGj2blzJytXrmTXrl1UV1cTGRlJ7969TRr/hVTPXWk6RqO2OsbGHkb9z/zPQNVbn/sguD/89CwUpukdTYuzdetWxo8fj7W1Nf7+/gwePJj4+HiklDz33HP06NGDa665hjNnzpCRkcGWLVsYM2YMTk5OuLm5MXr06EaNT/XclaYTvwhObdM25LgF6h2N+bOy0oZn5vWHdY/B+BUt6hdmfXvYjeVidbmWL19OVlYWiYmJ2NraEhISUlPiVzThv4/quStNo+CMVmKg/TCImKB3NJbDu722eubID9oKGqXJDBo0iFWrVmEwGMjKymLz5s1ER0dTUFCAn58ftra2bNy4kZSUlJr2X331FWVlZRQVFfHdd981anyq5640jR+e0lbJjPq/FtW7bBJ9H4A9q7XVM+2GgIO73hG1CGPGjCE2NpaePXsihOCtt94iICCAiRMncuONNxIVFUVERASdO3cGIDIykrFjxxIREUHbtm0ZOHBgo8ZXZ8nfxqJK/rYgB9fBqolahcMBj9bdXrl8Z3bComEQdQ/c0Hhrp/WmSv7Wv+SvGpZRGldFkdZr9+sGMTP0jsZytY7UNoPFL4JU1WlSVHJXGtvG16HwLNz4Hljb6h2NZRv6L3AN1Na+G6r1jkbRmUruSuNJ36dVMYyaCm366B2N5XNw047jy9gH8Qv1jqbR6DWU3NSu9OdUyV1pHFLC+ifBwQOu/rfe0bQcXW7UViRtfB2KMvSOxuQcHBzIycmx+AQvpSQnJwcHh4ZXSq1ztYwQYjEwCsiUUna/RLs+QBwwVkq5tsERKZZhz2o4FQs3vg9OXnpH03IIASPegrn94NcXYcx8vSMyqaCgIFJTU8nKytI7lEbn4OBAUFBQg59fn6WQS4E5wLKLNRBCWANvAj81OBLFcpQXwM/PQ+ve0GuS3tG0PD4d4KqHYcs7EDkZ2sboHZHJ2NraEhqqzpGtj/ockL1ZCBFSR7OZwBdAow+sns4tJfZ4Dva2VtjbWONkZ42Piz3+bvZ4OtlhZaXWUOvu9zehJAsmrFIVH/Uy8AlIWqUNjU3bBNZqS4uepJQUV1STUVhBZmE5fm4OdPAzTengi7nif3EhRGtgDHA1dSR3IcQ0YBpAcHBwg+63+3Q+T32xp9bH7KytCPVxpqO/C538XYkI9qBXsCcu9uqF3WSyDsOOj6D3ZG15nqIPO2cY/jqsvgt2fgJ97tE7ohajymDkwNlCElPyOJxexJHMIo5lFFNU8ecKpvsHtePZkY27Xr9em5jO9dzX1TbmLoRYA7wjpYwTQiw9167OMfeGbmIqrzKQU1JJeZWB8ioDpZUGsosqyCgsJ62gnGOZxRzJLOJ0bhkAVgK6tnJjQAdfru3qR0QbT6xV777xfHYrnI6Hh3eCs4/e0bRsUsLSUZB5QPv3cPTUOyKLdSKrmA0HM/n9SCY7U/IpqzIA4O1sR0d/Fzr6uRLk6UiAuwN+rg6E+jgT4N6wydL6bmIyRZc2Clh5riCODzBSCFEtpfzaBNf+Bwdba1p7ONbZrqi8il2n8klIziXuZC4Lt5xg/qbjeDnbMbx7ALf0ak3vtp5NWsjH4h35WTu8+brXVGJvDoSA4f+BBYNh01va/ysmk5JTwle7zvBt0llOZJUAEObvwh1RQfQJ9SKqrVeDE7gpXHHP/W/tltLIPfeGKiirYtORLH45kMGvBzIoqzIQ7OXE2D5tGNenDd4u9k0Wi0WqrtSqEyLhgViwsdM7IuW87x6BXZ9p/y6+YXpHY9Yqqg2s35vG8rhTJKTkIQT0DfVieLcAhnXxp42XU6PHUN+ee53JXQixAhiC1ivPAF4EbAGklPP/1nYpzTS5X6i4opof96XzRWIqsSdysLOxYnTPVtwzIJQugW66xGT2Yj+En56DCash7Hq9o1EuVJwFH0RCm75wp1ql3BDZxRUsi03h8+0pZBdX0s7Hmduigrg5ojWt6jGSYEomS+6NpbkUDjuWWcQn21L4YmcqpZUGru3qz8NXdyQ8SFXWq7fSXHg/AlpHwZ1fqKqPzdG2OfDzv2DiF9DxGr2jMRsZheV8tOkEn+9IoaLayNWd/JhyVQgDOvjoNqSrkvtlKiitYsm2kyzeepLC8mqGdfbj6RGdCfN31Tu05u+HZ7QVMtP/AP+uekej1Ka6Ej6MBltHmL5VO4dVuai8kkrmbDzGp3EpGIySmyJaMWNoB9r7Nu7yxfpQyb2BisqrWBabwvxNxympqOaOqDY8dm0Y/m76TYw0aznHtaQRMRFGv693NMql7P8a1kyG0R9A5F16R9MslVcZ+GRbMnM2HqOkoppbI4OYeXVHgr0bfyy9vlRyv0J5JZV88NsxPo1Lxtbaikev6cjUq0KxtVabcv5i1Z1w7Dd4eBe4+usdjXIpUsLH10F+CszcCfb690Kbk42HMnnx2/2cyi1laCdfnh7Rmc4BzW8OTtVzv0Kezna8cGNXfn18MDHtvHl9/SFueH8L20/k6B1a85ESCwe/0w7gUIm9+RMCrn8NijNg2wd6R9NsnMkv4/5PE5i6NB4ba8Fn9/RlydToZpnYL4fqudfTLwcyeOnb/ZzJL2NSv7Y8PaJzy975KiUsugYKz8DMRG1HpGIeVk+Goz9rvfcWfFC50Sj5fMcp/rP+IEYJM4d14N4B7bCzad59XtVzN7Fru/rzy+ODuPuqUD7bnsL1/9vM1qPZeoelnwPfwJkE7YAIldjNyzUvgqEKNr2hdyS6OZ1bysRF23n+631EBHvw82ODeHBIh2af2C+H5fwkTcDJzoYXbuzKmvtjsLex4s6PtzP7uwOUn9tq3GIYqmDDbPDtAhET9I5GuVxe7SDqbtj5KWQd0TuaJiWl5IvEVIa/u5m9Zwr4zy3hfHZP3ybZfNTUVHJvgKgQL9Y/MpDJMW1Z/MdJbv7wD45kFOkdVtPZuQxyj2s9QLWkzjwNmqUti/xttt6RNJmCsioeXrmbJ9Yk0a2VOz8+OpDx0cEWW4JEJfcGcrC15uWburNkSh+yiyu48YOtrI4/rXdYja+iGH5/A4JjIGy43tEoDeXiC/0f1ibET8frHU2jSzqdzw3vb2H93jRmXd+JFdP6EeRpeb31C6nkfoWGdvbjh0cG0SfEi6e+2MOTa5Ioq7TgYZq4eVCSCdfOVjtRzV3MDHD2g19e0CbILZCUkmWxydw+PxYpYc30GGYM7dAiKsOq5G4Cvq72fHJ3NA8P68gXO1MZM/cPkrNL9A7L9Epy4I/3oPMoaBOtdzTKlbJ3gSFPw6lt2uoZC1NaWc0jK3fzwjf7uaqDN+tmDiAyuOWUPVbJ3USsrQSPXxvG0qnRpBeWM3rOVjYfsbBzHrf+H1SVwLAX9I5EMZXIyeAZChteAaNR72hM5nRuKbfOi+W7PWeZdX0nPp7cB0/nllWpVCV3Exsc5su3MwbQysORKUt2sGDzccs4qb3gDOxYCD3Hg28nvaNRTMXaVlvOmrEX9n+pdzQmEXs8h9FztpKaV8riKX2YMbRDizx+UyX3RhDs7cQXD/RnePcAXl9/iFlr91BZbea9ok1vgjTCkGf0jkQxte63gn932PiatszVjK3YcYpJH2/H28Web2ZcxdBOfnqHpBuV3BuJs70NH06I5JFhHVmbmMqkj7eTX1qpd1gNk31MO+wh6m7waNjZt0ozZmUFV/8bck9o/85myGiU/Gf9QZ79ci/9O/jw5YP9adcMKjjqSSX3RiSE4LFrw3h3bAS7TuUzZu42UnLMcKJ142tg4wCDntQ7EqWxhF2vHeax6U2oKtM7mstSXmXggeWJfLT5BJP6tWXx5CjcHGz1Dkt3Krk3gZt7tebz+/qSX1rJLXO3sSc1X++Q6i/93Fhsv+ng0nI/4lo8IbSJ8qI0iF+kdzT1lldSyYSFcfx8IIMXRnVl9k3dsFGVW4F6JHchxGIhRKYQYt9FHp8ohNhz7mubEKKn6cM0f1EhXqx9oD+OdtaMWxDHxsOZeodUPxtfBwd3bcOLYtlCBkD7q2Hr/7TNas3c6dxSbp2/jX1nC5k7IZK7B4Ra7G7ThqjPr7ilwKW2Ip4EBkspewCvAAtMEJdFau/rwpcP9ifUx5l7P0ngi8RUvUO6tNREOLwe+s8ERw+9o1GawtDnoTQHts+vu62ODqYVcsu8bWQXVfDZPX0ZEd5yq1teTJ3JXUq5Gci9xOPbpJR5576NA4JMFJtF8nN1YNX9MfRr58UTa5JYvPWk3iFd3MZXwckb+k7XOxKlqQT1hk4jYdv7UNY8hw8TU3IZ+1Es1kKw9oH+RId66R1Ss2Tqwal7gB9MfE2L42Jvw+IpfRjeLYDZ6w7wfz8fbn5r4ZP/gOO/wYDHwF6dI9uiDH0Oygsg9kO9I/mH3w9nMnGRttRx7QMx6ozjSzBZchdCDEVL7k9fos00IUSCECIhK8vCdm9eJnsba+ZM6MXYqDa8/9sxXv7uAEZjM0nwUsJvr4JLAETdo3c0SlMLCIeuN0PcXK3kRDPxw9407luWQDsfF1bfH2Pxhb+ulEmSuxCiB7AIuElKedFXg5RygZQySkoZ5evra4pbmzUbayveuDWceweEsnRbMs9+uRdDc0jwJzZq9UYGPgF26g3UIg19DqpK4Y//6R0JAF/tSmXG5zvpGeTByvv74etqr3dIzd4VJ3chRDDwJTBJStmyKv+bgBCCf93QhYev7sCqhNM8vno31QYdd7NKqa2QcQuC3pP1i0PRl28nCL8ddiyCYn1Xdn2+/RSPr06iXztvlt0Trdaw11N9lkKuAGKBTkKIVCHEPUKI6UKI87NsLwDewFwhxG4hhPkcjNpMCCF4/LpOPDW8E9/sPsvMFbuo0ivBH9sAqfEw6AmwUb2jFm3w02Co1CqB6uSTbck899VehoT5snhKH5zsWvC5xZdJHZDdzHy89SSvrDvA9d38+WB8ZNOe6SglLLwaSrK1Q69tWlYVPaUWXz8I+76AR5LANaBJb71460lmrzvAdV39mTOhid8LzZg6INtM3TMglBdv7MpP+zOY8fnOpi04duQnOLsTBs9SiV3RDJqlFRPb2rRj74u2nGD2ugMM7xbAhxNVYm8I9TfWDE29KpSXR3fjlwMZPLi8iRK8lFoNGc8QrayvogB4hUKviZCwRCv73AQWbTnBq98fZGR4AB9M6IWtKifQIOpvrZma3D+EV27qxq8HM5i5Ymfjj8EfXg/pe2DQU1qNb0U5b9Asrdzz1v9r9Fst3nqyJrG/N04l9iuh/uaasUkxIbx0bojm4cacZJUSfv8PeLWDHmMb5x6K+fIIhl53ws5lUNB4JTOWxSYz+9x8k0rsV0797TVzU64K5d+juvLDvnQeW7W7cdbBH/peq/446CmwVqsRlFoMfFzrBDTS2Pvy7Sm88M1+ru2qLSRQif3Kqb9BM3DPgFCeG9mZdXvSmLU2ybQ7WY1G+P0N8GqvrWtWlNo0Yu99bWIq//pqH0M7+TJnQi81eWoi6m/RTEwb1J7Hrw3jy51neP6bfaarRXP4e+38zMGq167UYeATWu99i+nG3r9LOstTa5MY0MGHeXf2xt7G2mTXbunM7t28JXULb8a/iZWwwgorrKyssLWyxdbKFjtrOxysHXC0ccTBxgEXWxdc7FxwtXXF3d4dD3sPPBw88HLwwsfRBycbJ7Oq/zzz6g5UVBv4cONx7G2seGFU1yuL32iE39/Ueu3dbzNdoIpl8mgDkZO03vvAx8H9ygrA/rQ/nUdX7SYqxIuFd0XhYGteib3SUElOWQ455TnkleeRX5FPQUUBRZVFFFUVUVJVQmlVKeXV5ZRVl1FprKTSUEmVsYqbO9zMpK6TGjU+s0vubvZudPXqihEjRmnEYDRQLaupMlRRaawktzyXsuoyyqrLKK4qpriyGEntvVwHawd8HH3wd/bHz8mPAOcAWju3JtAlkCCXIFq7tsbeuvns0hRC8OR1nSivMvLx1pM429nw5PWdGn7B8732MQtUr12pnwGPw85PYcs7MKrh4++bj2Qx8/Nd9AhyZ/GUPjjaNa/EbjAaSC9N50zRGc4UnyGtJI20kjQySjLILM0ksyyTosqiiz7f0cYRV1tXnGydajqbdtZ2ONs6Y2dlh4d945+PYHbv6J6+Pek5uP6HPRmlkdKqUgoqC8ivyCe/PJ/c8lxyynLIKssiqyyLjJIM9mTt4ZeUX6g2Vtc8VyDwc/Ij2C2YELcQQtxCCHUPpb1HewKcA7ASTT+qJYTg+Ru6UFpZzZyNx3Cyt+bBIR0u/0J/6bXfavpAFcvk0ebc2Pun2jBNA3rvO07mMu3TBDr4ubB0SjQu9vqlobzyPI7nH+dEwQmSC5NJKUwhpTCFM8Vn/pELfBx9CHAOIMQ9hOjAaHwcffBx9MHLwQsPew88HTxxt3PHxc4FGyv9U6v+ETQyK2GFi502PNPapfUl2xqlkeyybM4WnyW1OJXTRadJLUolpTCFn1N+pqCioKato40j7d3b09GzIx09OxLmGUZnr86427s39o+EEIJXbw6ntNLAWz8extnOhsn9Qy7vIofXn+u1f6R67crlGfg47PpMWzlzwzuX9dSk0/ncvTSe1h6OLLsnGnenptlTUWGo4GjeUY7kHeFI3hGO5h3lWP4xcsv/PIfIwdqBYLdgwjzDGBY8jDaubQhyDaK1c2sCnAOwNbP9H6q2zGXIK8/jRMEJ7Sv/BEfzj3I07+hfXiCtnFvR2aszXb270s2nG129u+Ll0DgnxVQZjDy4fCe/HMjgndt7cmvvevaipISPBkJlCcyIV8lduXzfPQK7P4eHd4P7pTtN5x3JKOKOj2Jxsbdh7fT+BLg7NEoLaIchAAAgAElEQVRoZdVlHM49zP6c/RzIOcCBnAOcLDiJQRoArWPW0aMjHTw70N69Pe092hPqHqrbp/HLVd/aMiq5m0B2WTZHco9wKO8Qh3IOcTD3IMmFyTWPt3ZpTbhPOOE+4fTw7UFX767YWZumdkt5lYF7Pokn9ngOcyf2Znj3ehR3OvQ9rJwAN8+DiAkmiUNpYfJS4INI6D0Vbni7zuanckq5bf42ANZO70+wt2nOCTBKI8kFySRlJbEnew/7svdxNO9oTSL3cfShi1cXOnt1pot3Fzp5diLINcgskvjFqOSus6LKIg7lHmJf9j72Zu9lX/Y+0krSALC1sqWrd1cifCPo5deLCL8IvB29G3yvkopqJn28nX1nClk0OYpBYZc4CEVK+GgQVBTBQwmq16403LcPQ9IKrWKkW6uLNksvKOf2j7ZRXF7Nqvuv7Gi80qpS9mXvY1fmLnZn7SYpK6lmYtPV1pXuPt3p7tOdcJ9wuvl0w8/Jr8H3aq5Ucm+Gskqz2JO1h6SsJHZn7WZ/9n4qjZUAhLiF0Nu/d81XK5eLv1lqU1BaxbiFcSRnl/DZvdH0bnuRoaBD62HleLhprlYQSlEa6nzvPepuGPnfWpvkllRyx0expBeU8/l9fekRdHmrRAorC9mVsYvEjEQSMxI5kHOAaqlNdHbw6KAtsPDtSU+/noS4hZh1j7y+VHI3A5WGSg7kHGBn5k52ZuxkZ+bOml5IK+dWRAVEEeUfRXRgdJ2TwQBZRRXc8VEsOcUVrLo/hi6Bbn9tICUsGKwdfvxQgioQply5bx6CPavP9d4D//JQcUU1ExbGcTi9iE/ujqZfu7o/nRZUFJCQkUBCegIJGQkczj2MRGJrZUt3n+5E+kUS6R9JT9+eTbJ4oTlSyd0MGaWRo3lHSchIIDEjkYT0BPIq8gBt3D46IJrowGiiA6Iv+nEzNa+U2+bFUm2UrJkeQ6iP858PHv4RVoyF0XO0zSiKcqVyT8IHvSH6PhjxZs0fl1cZmLoknh3JuSyY1JthXfxrfXppVSmJGYnsSN/B9rTtHMo9hERib21PT9+eNR2ccJ9wHGwaZwLW3JgsuQshFgOjgEwpZfdaHhfAe8BIoBSYIqXcWdeNVXKvm1EaOZ5/nB3pO4hPjyc+PZ7CykIAQt1D6RfYj76BfekT0Ac3uz976ccyi7h9fixOdjZ88cC5VQnnT1kqzdFOWVK9dsVUvp4B+9bWnNZUbTAy/bOd/Howg3fHRnBzrz8/dVYZqkjKSmJ7+na2p21nb9ZeqmU1tla29PTtSXRANH0C+tDDt4fJFh1YGlMm90FAMbDsIsl9JDATLbn3Bd6TUvat68YquV8+g9HAkbwjbE/bTlx6HDszdlJWXYaVsKK7d3f6BvalX2A/IvwiOJRWyvgFcbTycGT1/TF4nt0Ey2+DG99XB18rppV7Aj6Igr7TMV73Gk+uTeLLnWd4eXQ37oppy5G8I8SlxRGXFkdiRmLNa7abdzf6Bvalb2BfInwjVM+8nkw6LCOECAHWXSS5fwT8LqVcce77w8AQKWXapa6pkvuVu7AXFHc2jr3ZezFIA442jkT6RxJo24PPNznQyasjX9m9iHVJJszcqY7QU0zvq+nI/V/zdpc1zN11mhuii3D2OMH2tO3klOcAl/60qdRffZO7KdbBtQZOX/B96rk/u2RyV66crbWtNiYZEMWMiBkUVxYTnx5PXFocsWmx/FHwB3Zt4XS1A/8qzyG62xgGVObjZ2N5y8MU/ZRUlZDQaQjbTv/IDzmP4dKxgk154FXmRb/AfsS0iqFfYD8CnJv2gO2WzhTJvbayhLV+HBBCTAOmAQQHB5vg1sqFXOxcGBo8lKHBQwFIL0kn9mwsm35/la2OTnyf9jOs+Zn27u1r3nBRAVE42zrXcWVF+VO1sZp92fuITYsl7mwce7L2UC2rsXF1I6qikP7dH6Z/6LV09OzYIpYmNlemSO6pQJsLvg8CztbWUEq5AFgA2rCMCe6tXEKAcwBjrDwYc+YYWzs9y12HvInslImXUwprjqzhs4OfYSNs6OHbg36B/ejXqh/dfbpja6UmW5U/SSk5WXiSuLPauHl8ejzFVcUIBF28uxDjcws/JbhxR6tAXs+4H5GbCb2voFqpYhKmSO7fAg8JIVaiTagW1DXerjQRKWHTm+DaigG3P8bMjSm8t+Eo9w4Yw/vj2pGUlUTs2Vji0uKYlzSPuUlzcbJxIiogir4B2kSX6n21TOkl6TXLE+POxpFZlglAkEsQw0OHaxOhAX3ZebKSaZ8mEh3ixYuT+yC+/Rl2LIL+j4Bzw3ddK1euzuQuhFgBDAF8hBCpwIuALYCUcj6wHm2lzDG0pZBTGytY5TKd3AynYmHEf8HGnkev6UhBWRWLtp7Ew8mWh67WEjhom0fOv5m3p21nc+pmADztPekT0EdbohbYh1C3ULM64ESpn+yybBLSE9iRvoMd6TtIKUwBwMvBi+iA6JpVLW1c//yQHncihweX76RroBsL7uqtHbYxaBbsXQuxH8A1L+nzwyiA2sRk2ZaM1JapPbwbbLVlZkaj5Mk1SXy56wyv3NSNSTEhtT71wp7b9rTtZJRmAODr6EuUf1TN5pJQd5XszdH5ZJ6QkUB8ejwnCk4A4GzrrO2KPpfQL/bJbW9qAeMXxhHg7sDq+2Pwcr5gBdaaqXD0Z3h0Lzg1TkXUlqwpV8sozVHyVkj5A4a/WZPYAaysBG/e1oPC8mpe+HY/bo623BTxz9IGAc4BjG4/mtHtRyOl5HTR6ZpeXWJ6Ij8k/wBoPbtIv0h6+/eml38vOnl2ahYHFSh/klKSWpTKrqw/a7Sc75k72TjRy68Xo9uPJjogmi7eXer89zuWWczkJTtwd7Tl03ui/5rYQTuPd/9XEDsHhr3QWD+WUgfVc7dUS0dB9hFt16Ct4z8eLq8yMGXJDhKS85h/Z2+u6Vr79vDanE/258skJGYkcqb4DKDVyu7h24MI3wh6+vakh2+PFlsDRC/naxYlZSWRlJXErsxdZJdlA+Bm51ZTnyXKP6peyfxCqXml3D4/liqDZO30GEJ8LrLSavVkOLYBHt2jeu8mpmrLtGTJf8DSkXD9fyDmwYs2K66oZuLCOA6mF7F0ah/6t/dp8C3TS9LZlblLK8WauZvDeYcxSiOgbV45X8++u093wjzD1NZyEzFKIymFKezP2c/eLK209MHcg1QZqwCtJlEvv141paU7eHRo8AR5ZlE5d8yPJbeksvbCdBfK2A/z+mtj8Fc/36D7KbVTyb0l++RGyDyk9Zpq6bVfKK+kkrELYjmTV8Zn9/alV7CnSUI4X3c7KSuJPVl72JO9p+bEKhsrGzp6dKSrd1c6e3Wms1dnwjzDcLI1zQEOlqraWM3JgpMcyj3EodxDHMg5wMHcg5RUlQDap6au3l3p4dOjpgyuj2PDf2FfKL+0krEfxXE6r5TP7u1LZH1eJ6smwYnftU+PqvduMiq5t1Qp22DJCLj+dYiZUa+nZBaWc9v8WArKqlh1fz86B5h+W7iUkrSSNPbn7Gd/9n725+znYO7BmnNpBYJgt2A6emhn0rb3aE979/a0dWtrdmdXXimjNJJeks6x/GN/Oc7xeP7xmvr/9tb2hHmGacc5emvHObb3aN8o8x3FFdXcuWg7B84WsnhKHwZ0rOcvjPR9MP8qGPQUXP0vk8fVUqnk3lJ9MhoyD2q9Jbv694RP52pjqdVGyer7+9HO16URg9RIKUkvSedg7kEO5x6uSWIphSnIc5ucrYU1rV1aE+IeQohbCG1c29R8BToHmm3iN0ojWaVZNQexny46TUphCskFyZwqOkVZdVlNW19HX8I8w/5yEHuoe2iTTFyfn5uJT85j7sRIru92mSUEVt0JJzZpnyIdTfOpsKVTyb0lSomFJcPhuteg/0OX/fRjmcWM/SgWexsrVk+PIchTn2GS8upykguTOZ5/nOP5x0kuTCa5MJlThaeoMFTUtBMIfJ18aeXcCn9nf/yd/PFz8sPX0RdvR2+8HbzxdPDE3d69yVbwGKWRosoi8ivyySnLIac8h+yybDJLM8kszSSjJIOzJWdJL0mvGRcHsBJW2i8xtxBC3EMIdQ+lg0cH2rm3021CurLayLRPE9h0JIt3x0bUuqqqTul7Yf4AGPwMDH3W9EG2QCq5t0TLbtImsh7Zc1m99gsdOFvIuAWxeDrbsfr+GPzdmk8Z1vO93fM93bSSNM4Wn+VsydmaxFluKK/1ua52rrjZueFi64KLnQvOts442jjiaOOIvbU9tla22FrbYiNssBJWWAkrBAKDNGCURgzSQJWxiipDFVXGKkqrSymrLqOsqoyiqiKKK4spriqmoKKg5nDmC9kIG3ycfPBz8qOVcysCXQJp5dzqz08hLoHNquxDtcHIzBW7+GFfOv+5JZzx0VdQC2rlRDi55Vzv/fKO2VP+SSX3lqam1/4q9J95RZfadSqPOxdtJ9DDkZXT+uHjYm+iIBuXlJLCykJyynO0XnNZDnkVeeSX55NXkUdRZRHFVcUUVxZTUlVCuaGcsuoyKg2VVBoqqTJWUW2sxiiNNcNCoA0NWQkr7KztsLWyxc7KDkdb7ReDg7UDLnYuuNq64mrniru9Ox72Hng6eOLt4K19gnD0xsvBy2zKOBiMkidW7+br3Wd5/oYu3Duw3ZVdMG0PfDRQ9d5NRCX3lqam154Edlde5XH7iRwmL9lBiLczK6f1w8OpZS1dlFIikWaTkE3FaJQ8++VeViWcZtb1nZgxtINpLrxyolYOQ429X7H6JveW9cq1VCmx2pKzqx41SWIH6NvOm4V3RXEiu4RJH++goKyq7idZECFEi0vsUkpe+m4/qxJO8/DVHUyX2AGGPAMVhRA3z3TXVC6pZb16LdXv/wFnP4i626SXHdjRl3kTIzmUXsjkxTsoKm9ZCb4lkVIye90BlsWmMG1QOx67Nsy0NwgIhy43asm9LM+011ZqpZK7uUvZBic3wYBHGzyJeinDuvgzZ0Ik+84UMGVJPMUV1Sa/h6IvKSWvfX+QJX8kM/WqEJ4d0blxisENPtd7j51r+msr/6CSu7k732vv3XiVlq/vFsAH43ux+3Q+U5fsoEQleIshpeSNHw+xaOtJJse05YVRXRuvymdAd+gyWuu9l+Y2zj2UGiq5m7Pkrdok1YDHGqXXfqER4YG8P64XO0/lM2XJDtWDtwDnE/tHm05wZ79gXhrdrfHLNw95BiqLIPbDxr2PopK72ZISNr4OLgEQ1TTno9zQI5D3xkVoCV6NwZs1KSWvrz9Yk9hnj+7eNHX5/btBtzGwfT6U5DT+/VowldzN1cnNWr32gU/UWRzMlEb1aFUzRDN58Q4KVYI3O1JKXv3+IAu3nOSumLa8clN3rKya8MCVwc9AZQlse7/p7tkCqeRujs732t1aQ+RdTX77keGBzJnQiz2pBUxatJ380somj0FpGKNR8sI3+/l460mm9A/h5aYYivk7v84QfhvsWADFWU177xakXsldCDFcCHFYCHFMCPFMLY8HCyE2CiF2CSH2CCFGmj5Upcbx3+B03Lleuz7lAYZ3D2T+nb05mFbEuAVxZBdX1P0kRVcGo+TpL/bwaZy23PHFGxtx8rQug5+G6nL441197t8C1JnchRDWwIfACKArMF4I0fVvzZ4HVkspewHjALXWqbFICRtfA/c20GuSrqFc09Wfj6dEkZxTwtiPYskorL2ui6K/KoORR1ftZk1iKo8M69h4yx3ry6cj9BgL8R9DUbp+cViw+vTco4FjUsoTUspKYCVw09/aSOB8EXB34KzpQlT+4siPcCZRO+HGRv+SAAM7+vLJ1GjSC8q5bf42UnJK9A5J+ZvyKgPTP03ku6SzPDOiM49dG9Y8DjUf/BQYKmHL/+kdiUWqT3JvDZy+4PvUc392oZeAO4UQqcB6oNbKVUKIaUKIBCFEQlaWGmu7bEaj1mv3agcRE/SOpkbfdt6smNaP4vJqbpsfy8G0Qr1DUs4pLK/irsU7+O1wJq/c3J3pg9vrHdKfvNpBrzshcQnkn667vXJZ6pPca/sV//dqY+OBpVLKIGAk8KkQ/yzMIaVcIKWMklJG+fr6Xn60Ld3Bb7X62EOehWZ2SEWPIA/WTI/BWgju+CiWhGS1SUVv2cUVjF8Qx86UPN4b14tJ/drqHdI/DZql/Xfzf/WNwwLVJ7mnAm0u+D6Ifw673AOsBpBSxgIOgGkOb1Q0RoO2Qsa3M3S/Ve9oatXBz5W1D8Tg42LPxEXb+Wm/GkvVS3J2CbfO28bxrGIWTY5idM9WeodUO4822u7qXZ9BznG9o7Eo9Unu8UBHIUSoEMIObcL027+1OQUMAxBCdEFL7mrcxZT2roXswzD0ObCy1juaiwrydGLt9Bg6B7rxwGeJfBaXondILc7u0/ncOm8bReXVrLivH0M6+ekd0qUNfBys7WDTW3pHYlHqTO5SymrgIeAn4CDaqpj9QojZQojR55o9AdwnhEgCVgBTpF6F4i2RoUqrIRMQDp1v1DuaOnm72LPivr4M7eTH81/v478/HcJoVC+HpvDboQzGL4jDyd6atdNj6BVsBrXTXQMg+j7YswoyD+kdjcVQh3WYg/iP4fvHYcIaCLtO72jqrdpg5N/f7GPFjtPc0COQd27viYNt8/3UYc6klCz5I5lXvz9At1buLJ7SB19X8zhBC9BKEbzXE9oNhnHL9Y6mWVOHdViKylLt42qbftDxWr2juSw21la8PiacZ0d0Zv3eNMYtiCOrSG12MrVqg5EXvtnP7HUHuKaLP6vu72deiR3A2Vs71P3QOm2pr3LFVHJv7nYsgOJ0uOZFaA5rky+TEIL7B7dn3sTeHEov5OYP/2DfmQK9w7IY+aWVTF0az6dxKdw/uB3z7+yNk52N3mE1TMwMcPKGDbP1jsQiqOTenJUXwNb/QYdroW1/vaO5IsO7B7Dm/v4YpeS2+dv4ZvcZvUMye4fSCxk95w+2n8jlrVt78OyILk1bAMzU7F21khonfocTm/SOxuyp5N6cbfsAyvNh2L/1jsQkwoPc+fahAYS3dueRlbv5z/qDVBuMeodlltbvTeOWudsorzKw8v5+3NGnTd1PMgdR92gF8TbM1kptKA2mkntzVZShHUfWbQwE9tQ7GpPxdbVn+b39uLNfMB9tPsGERdvJVDVp6q2y2sjL3+3nweU76RTgynczBxBpDiti6svWQSsqdiZBG39XGkwl9+Zq81tgqICrLaPXfiE7GytevTmc/43tyd7UAka+v4Vtx7L1DqvZO5tfxtgFsSz5I5kp/UNYNS0Gfzd9qoI2qoiJ4BOm9d4N6sSvhlLJvTnKOQ6JS6H3FPBuRrVATGxMryC+eegqPJzsmPjxdt768RBVapimVuv3pjHivS0czSjmwwmRvDS6G3Y2Fvr2tbaBYS9C9hHYrZZFNpSFvjrM3IbZYG0Pg57SO5JGF+bvyjczrmJsVBvm/n6cW+dt42S2qix5XklFNbPWJPHg8p2E+DizbuYAbugRqHdYja/zDRAUrW3eqyzVOxqzpJJ7c5OaCAe+1tb8uvrrHU2TcLa34Y1bezBvYiQpOaWMfG8LS/842eJ3tcYez2HEe1v4YmcqM6/uwNrpMYT4OOsdVtMQAq59GYrSYPs8vaMxSyq5NydSwq8vgpMPxDykdzRNbkR4ID89Ooi+7bx46bsDjFsQ1yJ78cUV1Tz/9V7GL4zDSsCq+2N44rpO2Fq3sLdr2/4QNgK2vqsO026AFvZqaeaO/gzJW7RDDBzc6m5vgQLcHVgypQ//va0HB9MLGf7uZj7YcJSKaoPeoTU6KSU/7kvjuv/bxPLtp7h3QCg/PDKIPiFeeoemn2tehMpiVRK4AVRyby4M1fDzv8GrvVYCtQUTQnB7VBt+fXwww7r48c4vRxj+7hY2H7HcQqPJ2SVMWRLP9M924uZoy9rp/Xl+VFcc7Vp4LR6/LtpxkvELVUngy6SSe3Oxa5lW0vfa2c3i+LzmwN/NgbkTe/PJ3dEA3LV4B3cvjedIRpHOkZlOXkklr6w7wLX/20RiSh7/HtWVdTMH0LutBa1dv1JD/6UtMPj1Rb0jMSuqKmRzUFEE7/cC744wdb1Z1pBpbBXVBpb8kcyHG49RUlHN7b3bMHNYB4I8nfQOrUFKKqpZFpvC3N///Hkevy7MMtetm8Kmt7QjJqf+CG1j9I5GV/WtCqmSe3Pw26vamOK9v0FQb72jadbySiqZs/EYy2KTkRJujQziwaHtaettHqtIisqrWBabwqItJ8grrWJoJ1+eGdGFTgGueofWvFWWwAe9wa0V3LuhRXeAVHI3FwWp8EGUtq73to/1jsZsnM0vY/6m46yMP43BKBneLYDJ/UPoE+KJaIZv/NO5pSyLTWZl/GmKyqsZ2smXh67uqIZfLseuz+CbGXDrxxB+m97R6EYld3Ox9h6thsZD8eARrHc0ZiezsJyPt55kxY5TFJZX0zXQjfHRbRjVoxWezvrOXVRUG9h4KIu1iafZcCgTKyEY3j2A6YPaEx7krmtsZslogAVDoDQHHkoAO/MckrtSJk3uQojhwHuANbBISvlGLW3uAF4CJJAkpZxwqWuq5A6cioPF12s7Ua/+l97RmLXSymq+3nWWZbHJHEovwtZaMLSTHzf0CGRwmC8eTk2T6CuqDWw/kcvPB9JZtyeN/NIqfFzsGR/dhol92xLgrsbUr0jKNlgyAoY8C0Oe0TsaXZgsuQshrIEjwLVAKtqB2eOllAcuaNMRWA1cLaXME0L4SSkzL3XdFp/cjUZYOBSKM2FmAtiZx5hxcyel5EBaIV/tPMM3SWfJKqrA2krQu60nAzv40CfUi4g2HiY77s9glBxOLyIhJZfY4zlsPpJFSaUBB1srrusawJjI1gzs4INNS9uA1JhWT4YjP2nvG/cgvaNpcvVN7vU5siUaOCalPHHuwiuBm4ADF7S5D/hQSpkHUFdiV4CkFZC2G25ZqBK7CQkh6NbKnW6t3HluZBd2p+az4WAGGw5m8s4vRwCwtRaE+bsS5u9KR38XQryd8Xezx8/VAU9nOxxsrGqSsdEoqag2UlReRUZhBRmF5ZzJL+NIRhFHM4o5mF5IUblWuTDAzYHREa0Y1tmfqzr4qDXqjeXa2XDkR/j1Jbh1kd7RNFv1Se6tgdMXfJ8K9P1bmzAAIcQfaEM3L0kpfzRJhJaoogg2vAxBfSD8dr2jsVhWVoLIYE8igz2ZdX1n8ksrSUzJIz45jwNphcSdyOGrXbWfCGVjJbASgsqLVKl0c7ChU4ArN0W0ondbT6LaehHk6dgsJ3Mtjmdb6D9TW2HW5z4I/ns6UqB+yb22V+vfx3JsgI7AECAI2CKE6C6lzP/LhYSYBkwDCA5uwZOHv7+hDceMW9Gil3Q1NQ8nO4Z18WdYlz8LshWWV3Emr4yMwnIyCyvIL6ukvMpIRbUBgxEcbK1wsLXG2d4Gf1d7/NwcaOXugK+rvUrkehrwGOxaDuufhGm/g5X6lPR39UnuqcCFZ3gFAWdraRMnpawCTgohDqMl+/gLG0kpFwALQBtzb2jQZi3zEGyfD5GT1Jr2ZsDNwRa3QFu6BLbMWj5my84Zrn8N1k6FhMUQfZ/eETU79ZnliQc6CiFChRB2wDjg27+1+RoYCiCE8EEbpjlhykAtgpRaT8POBYa9pHc0imLeuo2B0EHw2ytQok7y+rs6k7uUshp4CPgJOAisllLuF0LMFkKMPtfsJyBHCHEA2AjMklKqGp1/t/9LrerjsH+Ds7fe0SiKeRMCRr6t7V799SW9o2l21CamplJRBHP6gIsf3LdRjREqiqn8/G/Y9j7c8yu06aN3NI2uvksh1eLbprLxdShKh5HvqMSuKKY0+ClwbQXrHgVDld7RNBsquTeFs7u0SdSou1tEz0JRmpS9K4x8CzL2QZw6ku88ldwbm6EavnsEnH1h2At6R6MolqnzKOg0UjtQOy9F72iaBZXcG9uOBZCWBCPeBEcPvaNRFMskBIz8LyC0FWk6zSU2Jyq5N6b801qt9o7XQdeb9Y5GUSybexBc/bx2FvH+r/SORncquTcWKbXhGNCWa6ndjIrS+KKnQWAErJ8FJS17NbZK7o1l93I4vgGueUmrhaEoSuOztoGb50J5AfzwlN7R6Eol98ZQeBZ+fA7aXgV97tU7GkVpWfy7waBZsG8tHPpe72h0o5K7qUkJ6x4DQyWM/gCs1F+xojS5gY+Df7j2XizN1TsaXajMY2pJK7Va08P+Dd7t9Y5GUVoma1u4+UPtSL4fntY7Gl2o5G5KeSnaRE5wf+g7Xe9oFKVlC+ypDc/sXQ37vtQ7miankrupGA3w1bmEPma+KjGgKM3BwCehdZQ2PFNQ+8Eslkold1P54z04tU3bSKFWxyhK82BtA7cs0ObAvn5AO7u4hVDJ3RTO7tYKg3W9CXqO0zsaRVEu5N0ern8dTm6C7S2n9oxK7leqvFA7DcbZF0a9qzYrKUpz1HuKVnvmlxfhzE69o2kSKrlfifO7UPNS4LbF4OSld0SKotRGCLjpQ3ANgDVToCy/zqeYO5Xcr0TCYu10pav/BW1j9I5GUZRLcfLSOmGFZ+Dbhyy+uFi9krsQYrgQ4rAQ4pgQ4plLtLtNCCGFEHWeEmL20vbAj89C+2Fw1WN6R6MoSn20iYZhL8LB77SKrRaszuQuhLAGPgRGAF2B8UKIrrW0cwUeBrabOshmpyQHVk0EJ29tJl7tQlUU8xHzEISNgJ+eg5RtekfTaOqTlaKBY1LKE1LKSmAlcFMt7V4B3gLKTRhf82OohrVToCgDxn0Gzj56R6QoyuWwstL2oniGwKpJWmluC1Sf5N4auPCnTz33ZzWEEL2ANlLKdSaMrXn6+Xk4uRlufBda99Y7GkVRGsLRA8Z9DtUV2qfwylK9IzK5+iT32tb21cxECCGsgP8BT9R5ISGmCSEShHJU5ywAAAkFSURBVBAJWVlZ9Y+yudj1mbZOtu8DEDFB72gURbkSvp3g1oXa/Nm3My1ugrU+yT0VaHPB90HA2Qu+dwW6A78LIZKBfsC3tU2qSikXSCmjpJRRvr6+DY9aD8d/05Y9thsC172qdzSKophCpxHa6U371sJvr+gdjUnZ1KNNPNBRCBEKnAHGATXdVillAVAz8CyE+B14UkqZYNpQdZS+F1bdBb6d4Y5l2pZmRVEsw8AnIP8UbHlHO6ov6m69IzKJOrOUlLJaCPEQ8BNgDSyWUu4XQswGEqSU3zZ2kLrKPw3LbwcHN5i4Bhzc9Y5IURRTEgJu+D8oSoPvnwDXVvD/7d1/kFV1Gcfx94PID5XEAsRRFjCgINqK2VFsClMJkAxohmQhAwNCceqf/mhs/MehmByasnRwEoIMjF/RD1ZLLJAfhaKsoyIwooSIW/wMxBYGBPbpj+/RdtZl79nde++595zPa+bO3LP33L3Ps+feZ7/3nO95zifGJB1Vu5kntJ+pqqrKa2tLfHD/30Pw2Feg/jBMXwtXfmgGqIikxZn68Hk/sjsM5Pp/MemImmVmL7p7znOJNEH7Qk4ehSXjw9lsU1aqsIukXefL4BurQ1fXZZNg/9akI2oXFffmnDoGSybA8TdDYVdrAZFsuKwnTF0TetA8PhHqXkw6ojZTcW+q/nAYsR/dDdW/hf4jko5IRIqpW2+Y9kToRbP0a/DWc0lH1CYq7o0d3weLR8N/9kD1chgwMumIRCQJl18Ndz4ZRvJLJ8DrTycdUaupuL/v0E5YNDrskpm6BgaqsItkWvcKmP50mAK9fDK8siLpiFpFxR3gtT+Hwm4dwqyYPtclHZGIlIJLe4QRfL8vwB/vgvVzwvWSy0C2i3tDA2z4MayYAj0GwMx10Gtw0lGJSCnp3C1MjRw2LZzotGxSWVzsI7vFvf4wLK+GTQ/AZ6bAt9aG/WwiIk117AzjHoLbHoS9G2HhTfCv0p5Jk83ivqsGHhkeNtKtP4EJj8DFXZKOSkRKXdX0sJvm3Bn41Zfhmblw/mzSUTUrW8X93QPw+5mw6puhh8Rdm+D6WbqotYjEVzEcZj8LlbfD5nmw8GZ4e1vSUX1INor7eydh4wPw8DDYtQZuvBdmrtf+dRFpm67dwwU/Jj0O9Ydg0UhYPSM0ICsR6W5veOpYuIj1Cwuh/iAMmQAj74eP9k86MhFJg8FfDW3At/wCnn04XJv1s5Nh+D2hX3yC0tc47PxZ2PcP2PkH2L4Kzp2Gj98MI76vNgIiUjgn6mDTPNi+MtSdASOhshoGjcprN9m4jcPKv7iffjecgHRwO9TVwht/hdPvQMeuUPn18B9Uu19EpFhOHoXaX0PtotBGuMPFoY1J389D70q4qjK0OGij9Bb3N/4Ga38Ap0+E2/kz/3/s0p7hv+Unbwuj9U6X5C9gEZHWaGiAum3w2hOw+6nQ1uR9N3wHRs9t06+NW9zLb5971yug99DwNadL97Dca3D4j9itt2a+iEhp6NABKq4Pt1E/CoPRgzvCld2u/FTBX778Ru4iIhmmi3WIiGRYrOJuZmPMbLeZ7TGze5t5/HtmtsvMtpvZejPrm/9QRUQkrpzF3cwuAuYDtwJDgMlm1vSacy8BVe5eCawG5uU7UBERiS/OyP06YI+773X394AVwPjGK7j7Bnc/FS1uBa7Jb5giItIacYr71cDbjZbrop9dyAzgqfYEJSIi7RNnKmRzcwubnWJjZncAVcCNF3h8FjALoKKiImaIIiLSWnFG7nVAn0bL1wD/brqSmY0E7gPGufuZpo8DuPsCd69y96qePXu2JV4REYkhTnHfBgw0s/5m1gmoBmoar2BmnwMeJRT2w/kPU0REWiPWSUxmNhb4OXARsNjd55rZHKDW3WvMbB3waeBA9JT97j4ux+88ArzVxrh7AEfb+NxylsW8s5gzZDPvLOYMrc+7r7vn3PWR2Bmq7WFmtXHO0EqbLOadxZwhm3lnMWcoXN46Q1VEJIVU3EVEUqhci/uCpANISBbzzmLOkM28s5gzFCjvstznLiIiLSvXkbuIiLSgpIt7jG6Unc1sZfT482bWr/hR5l8Wu3DmyrnRehPNzM0sFbMq4uRtZrdH23unmS0rdoz5FuP9XWFmG8zspeg9PjaJOPPJzBab2WEz23GBx83MHor+JtvNbFi7X9TdS/JGmFP/T+BaoBPwCjCkyTr3AL+M7lcDK5OOu0h53wRcEt2fXe55x8k5Wq8bsJnQnK4q6biLtK0HErquXhEt90o67iLkvACYHd0fAuxLOu485D0CGAbsuMDjYwk9uQwYDjzf3tcs5ZF7zm6U0fJvovurgVvMyv46e1nswhlnWwP8kNBO+nQxgyugOHl/G5jv7scBvPzPAI+TswMfie5fTjPtTsqNu28GjrWwynhgiQdbge5mdlV7XrOUi3ucbpQfrOPu54ATwMeKEl3hZLELZ86coxYXfdz9yWIGVmBxtvUgYJCZbTGzrWY2pmjRFUacnO8H7jCzOuAvwHeLE1qiWvu5z6mUL5Adpxtl7I6VZSRvXTjLSIs5m1kH4EHgzmIFVCRxtnVHwq6ZLxG+of3dzIa6+zsFjq1Q4uQ8GXjM3X9qZjcAS6OcGwofXmLyXstKeeQepxvlB+uYWUfCV7iWvvqUg7x14SwjuXLuBgwFNprZPsI+yZoUHFSN+x5f4+5n3f1NYDeh2JerODnPAFYBuPtzQBdC/5U0i/W5b41SLu45u1FGy9Oi+xOBZzw6OlHGstiFs8Wc3f2Eu/dw937u3o9wnGGcu9cmE27exHmP/4lwAB0z60HYTbO3qFHmV5yc9wO3AJjZYEJxP1LUKIuvBpgazZoZDpxw9wO5ntSipI8i5zjCPBZ4nXB0/b7oZ3MIH2wIG/13wB7gBeDapGMuUt7rgEPAy9GtJumYC51zk3U3koLZMjG3tQE/A3YBrwLVScdchJyHAFsIM2leBkYlHXMecl5O6Jp7ljBKnwHcDdzdaDvPj/4mr+bj/a0zVEVEUqiUd8uIiEgbqbiLiKSQiruISAqpuIuIpJCKu4hICqm4i4ikkIq7iEgKqbiLiKTQ/wBJP0YAD3kWlwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "wind = plt.plot(x, w(x), label='wind')\n",
    "solar = plt.plot(x, s(x), label='solar')\n",
    "load = plt.plot(x, l(x), label='load')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Mismatch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "alphas = [0, 0.25, 0.5, 0.75, 1]\n",
    "for a in alphas:\n",
    "    plt.plot(x, mismatch_a(a,x),label='wind share = '+str(a))\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Solution"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***\n",
    "**(a) What is the seasonal optimal mix $\\alpha$, which minimizes**\n",
    "$$\\langle\\left[ \\alpha W(\\cdot) + (1-\\alpha) S(\\cdot) - L(\\cdot) \\right]^2 \\rangle = \\frac1T \\int_0^T \\left[ \\alpha W(t) + (1-\\alpha) S(t) - L(t) \\right]^2 \\,\\mathrm d t$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization terminated successfully.\n",
      "         Current function value: 0.000000\n",
      "         Iterations: 37\n",
      "         Function evaluations: 74\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.739130432128907"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "alpha = minimize(objective_a, x0=0, method='nelder-mead', options={'xtol': 1e-8, 'disp': True}).x[0]\n",
    "alpha"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***\n",
    "**(b) How does the optimal mix change if we replace $A_L \\to -A_L$?**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "A_l *= (-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization terminated successfully.\n",
      "         Current function value: 0.000000\n",
      "         Iterations: 36\n",
      "         Function evaluations: 72\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.5652173919677739"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "alpha = minimize(objective_a, x0=0, method='nelder-mead', options={'xtol': 1e-8, 'disp': True}).x[0]\n",
    "alpha"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "A_l *= (-1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***\n",
    "**(c) Now assume that there is a seasonal shift in the wind signal\n",
    "$$ W(t) = 1 + A_W \\cos \\left( \\omega t - \\phi \\right).$$\n",
    "Express the optimal mix $\\alpha$ as a function of $\\phi$.**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f6a03f0f5c0>]"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "phis = np.arange(0,2*np.pi,np.pi/100)\n",
    "alphas = []\n",
    "for p in phis:\n",
    "    phi = p\n",
    "    bnds = [(0, 1)]\n",
    "    alpha = minimize(objective_a, x0=0, method='TNC', bounds=bnds, options={'xtol': 1e-8}).x[0]\n",
    "    alphas.append(alpha)\n",
    "    \n",
    "plt.plot(phis, alphas)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***\n",
    "**(d) A constant conventional power source $C(t) = 1 - \\gamma$ is now introduced. The mismatch then becomes\n",
    "$$\\Delta(t) = \\gamma \\left[ \\alpha W(t) + (1-\\alpha) S(t) \\right] + C(t) - L(t)$$\n",
    "Analogously to (a), find the optimal mix $\\alpha$ as a function of $0 \\leq \\gamma \\leq 1$, which minimizes $\\langle{\\Delta^2}\\rangle$.**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f6a03f4d630>]"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "gammas = np.arange(0,1,0.01)\n",
    "alphas = []\n",
    "for g in gammas:\n",
    "    gamma = g\n",
    "    bnds = [(0, 1)]\n",
    "    alpha = minimize(objective_c, x0=0, method='TNC', bounds=bnds, options={'xtol': 1e-8}).x[0]\n",
    "    alphas.append(alpha)\n",
    "    \n",
    "plt.plot(gammas, alphas)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}