{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "8C_vr6C0Jf8I" }, "source": [ "# Soft Landing Apollo 11 on the Moon\n", "\n", "Keywords: optimal control, ipopt usage, dae, differential-algebraic equations, rescaling time" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "IJIPVYupiSrk" }, "source": [ "Landing a rocket on the surface of a planet was once a staple of science fiction, and then realized in the 1960's through multiple manned and unmanned landings on the moon. It's hard to overestimate the degree to which these missions inspired a new generation \n", "\n", "![](https://upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Eagle_In_Lunar_Orbit_-_GPN-2000-001210.jpg/368px-Eagle_In_Lunar_Orbit_-_GPN-2000-001210.jpg)\n", "\n", "\n", "NASA Michael Collins [Public domain]\n", "\n", "**Rocket Landing Videos** (these never get old):\n", "\n", "* [Apollo 11 Landing on the Moon, July 20, 1969](https://youtu.be/k_OD2V6fMLQ)\n", "* [SpaceX Falcon Heavy Side Boosters Landing at Kennedy Space Center, February 6, 2018 ](https://youtu.be/u0-pfzKbh2k)\n", "* [Blue Origin, November 24, 2014](https://youtu.be/9pillaOxGCo?t=103)\n", "\n", "Inspired by these examples, this notebook uses Pyomo and a simple model of a rocket to compute a control policy for a soft landing. The parameters used correspond to the descent of the Apollo 11 Lunar Module to the moon on July 20, 1969." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "r1DkXPM5wif0" }, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "import shutil\n", "import sys\n", "import os.path\n", "\n", "if not shutil.which(\"pyomo\"):\n", " !pip install -q pyomo\n", " assert(shutil.which(\"pyomo\"))\n", "\n", "if not (shutil.which(\"ipopt\") or os.path.isfile(\"ipopt\")):\n", " if \"google.colab\" in sys.modules:\n", " !wget -N -q \"https://ampl.com/dl/open/ipopt/ipopt-linux64.zip\"\n", " !unzip -o -q ipopt-linux64\n", " else:\n", " try:\n", " !conda install -c conda-forge ipopt \n", " except:\n", " pass\n", "\n", "assert(shutil.which(\"ipopt\") or os.path.isfile(\"ipopt\"))\n", "from pyomo.environ import *\n", "from pyomo.dae import *" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "6VFVBpH9pt0M" }, "source": [ "## Version 1: Vertical dynamics of a rocket with constant mass\n", "\n", "For a rocket with a mass $m$ in vertical flight at altitude $h$, a momentum balance yields the model\n", "\n", "$$\n", "\\begin{align*}\n", "m\\frac{d^2h}{dt^2} & = - m g + v_eu \\\\\n", "\\end{align*}\n", "$$\n", "\n", "where $u$ is the mass flow of propellant and $v_e$ is the velocity of the exhaust relative to the rocket. In this first attempt at modeling and control we will neglect the change in rocket mass due to fuel burn.\n", "\n", "![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/13/LM_illustration_02-IT.png/368px-LM_illustration_02-IT.png)\n", "\n", "\n", "\n", "LM_illustration_02.jpg: NASA Marshall Space Flight Center (NASA-MSFC)derivative work: Adert [Public domain]\n", "\n", "The complete Apollo lunar module was composed of descent and ascent stages, each containing a rocket engine and associated fuel tanks. The descent stage carried the entire assembly to the lunar surface. The total mass $m$ in the above model therefore consists of the dry and fuel masses of both stages. For the purpose of analyzing the descent of the lunar module to the lunar surface, the 'dry' mass consists of the total mass of the ascent stage plus the dry mass of the descent stage. \n", "\n", "The following data is for the [Apollo 11 Lunar Module](https://nssdc.gsfc.nasa.gov/nmc/spacecraft/display.action?id=1969-059C)." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": {}, "colab_type": "code", "id": "r-GXDIYS4bao" }, "outputs": [], "source": [ "# lunar module\n", "m_ascent_dry = 2445.0 # kg mass of ascent stage without fuel\n", "m_ascent_fuel = 2376.0 # kg mass of ascent stage fuel\n", "m_descent_dry = 2034.0 # kg mass of descent stage without fuel\n", "m_descent_fuel = 8248.0 # kg mass of descent stage fuel\n", "\n", "m_fuel = m_descent_fuel\n", "m_dry = m_ascent_dry + m_ascent_fuel + m_descent_dry\n", "m_total = m_dry + m_fuel\n", "\n", "# descent engine characteristics\n", "v_exhaust = 3050.0 # m/s\n", "u_max = 45050.0/v_exhaust # 45050 newtons / exhaust velocity\n", "\n", "# landing mission specifications\n", "h_initial = 100000.0 # meters\n", "v_initial = 1520 # orbital velocity m/s\n", "g = 1.62 # m/s**2" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "xCL3kAIJ0hDU" }, "source": [ "### First attempt at a solution\n", "\n", "For this first attempt at a solution, we will choose an arbitrary value for the length of the landing mission. The integration will start with the initial conditions, and we'll see what happens." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 226 }, "colab_type": "code", "executionInfo": { "elapsed": 948, "status": "ok", "timestamp": 1558787408585, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "O10AnUPfr9GY", "outputId": "966146e5-b774-4187-a93e-787372fe76bf" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t_f = 100\n", "\n", "m = ConcreteModel()\n", "m.t = ContinuousSet(bounds=(0, t_f))\n", "m.h = Var(m.t)\n", "m.u = Var(m.t, domain=NonNegativeReals)\n", "\n", "m.v = DerivativeVar(m.h, wrt=m.t)\n", "m.a = DerivativeVar(m.v, wrt=m.t)\n", "\n", "m.ode1 = Constraint(m.t, rule = lambda m, t: m_total*m.a[t] == -m_total*g + v_exhaust*m.u[t])\n", "\n", "m.h[0].fix(h_initial)\n", "m.v[0].fix(-v_initial)\n", "\n", "def solve(m):\n", " \n", " TransformationFactory('dae.finite_difference').apply_to(m, nfe=200, scheme='FORWARD')\n", " SolverFactory('ipopt').solve(m)\n", " \n", " tsim = [t for t in m.t]\n", " hsim = [m.h[t]() for t in m.t]\n", " usim = [m.u[t]() for t in m.t]\n", "\n", " plt.figure(figsize=(10, 8))\n", " plt.subplot(3,1,1)\n", " plt.plot(tsim, hsim)\n", " plt.title('altitude')\n", " plt.xlabel('time / seconds')\n", " plt.ylabel('meters')\n", " plt.grid(True)\n", "\n", " plt.subplot(3,1,2)\n", " plt.plot(tsim, usim)\n", " plt.title('engine mass flow')\n", " plt.xlabel('time / seconds')\n", " plt.ylabel('kg/sec')\n", " plt.grid(True)\n", "\n", " plt.tight_layout()\n", "\n", "solve(m)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "oKNqzok9f6U8" }, "source": [ "This first attempt at a solution included no specification related to landing on the lunar surface. The solver reported a solution where the engine doesn't fire, and the lunar module crashes into the lunar surface at full speed about 66 seconds after the start of the descent mission." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "rRPLHyG16Qfo" }, "source": [ "### Land on the surface, not above or below the surface." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "1LlcohOc1IqZ" }, "source": [ "The mission crashed! It's clear now that we haven't fully specified the desired outcome of the mission. Let's start by specifying the final condition as being on the surface\n", "\n", "$$h(t_f) = 0$$\n", "\n", "This condition is implemented in Pyomo by fixing the terminal value of $h$." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 226 }, "colab_type": "code", "executionInfo": { "elapsed": 767, "status": "ok", "timestamp": 1558787411311, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "WJzcGDHm1H2p", "outputId": "678ca1bb-cad3-47e7-9471-666616c499b3" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t_f = 100\n", "\n", "m = ConcreteModel()\n", "m.t = ContinuousSet(bounds=(0, t_f))\n", "m.h = Var(m.t)\n", "m.u = Var(m.t, domain=NonNegativeReals)\n", "\n", "m.v = DerivativeVar(m.h, wrt=m.t)\n", "m.a = DerivativeVar(m.v, wrt=m.t)\n", "\n", "m.ode1 = Constraint(m.t, rule = lambda m, t: m_total*m.a[t] == -m_total*g + v_exhaust*m.u[t])\n", "\n", "m.h[0].fix(h_initial)\n", "m.v[0].fix(-v_initial)\n", "\n", "m.h[t_f].fix(0) # land on surface\n", "\n", "solve(m)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "PoYrTis6hdhF" }, "source": [ "The descent mission now finishes the descent at the lunar surface, but unfortunately arrives with sufficient velocity to still be considered a crash." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "3S3MHmIt6ZTD" }, "source": [ "### Make that a soft landing\n", "\n", "To ensure a soft landing, we also need to specify a terminal velocity. The terminal conditions are now\n", "\n", "$$\n", "\\begin{align*}\n", "h(t_f) & = 0 \\\\\n", "v(t_f) & = 0\n", "\\end{align*}\n", "$$\n", "\n", "These conditions are implement by fixing terminal values of the associated Pyomo variables." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 226 }, "colab_type": "code", "executionInfo": { "elapsed": 1110, "status": "ok", "timestamp": 1558787413778, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "aukLNi483BJp", "outputId": "735786ed-e261-4f26-f75a-69f7485476a7" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t_f = 100\n", "\n", "m = ConcreteModel()\n", "m.t = ContinuousSet(bounds=(0, t_f))\n", "m.h = Var(m.t)\n", "m.u = Var(m.t, domain=NonNegativeReals)\n", "\n", "m.v = DerivativeVar(m.h, wrt=m.t)\n", "m.a = DerivativeVar(m.v, wrt=m.t)\n", "\n", "m.ode1 = Constraint(m.t, rule = lambda m, t: m_total*m.a[t] == -m_total*g + v_exhaust*m.u[t])\n", "\n", "m.h[0].fix(h_initial)\n", "m.v[0].fix(-v_initial)\n", "\n", "m.h[t_f].fix(0) # land on surface\n", "m.v[t_f].fix(0) # soft landing\n", "\n", "solve(m)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "_HGVey32iyk0" }, "source": [ "The lunar module now is now successfully landing on the lunar surface, but the fuel flow requirement exceeds the maximum capacity of the descent engine." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Yto7Dr_M78yh" }, "source": [ "### Restrict fuel flow to engine capacity\n", "\n", "The next step is establish constraints on the control action by limiting fuel flow to the mass flow limits of the descent engine.\n", "\n", "$$ 0 \\leq u(t) \\leq u_{max}$$\n", "\n", "Since less thrust is available, we may need to extend the length of the landing mission to find a feasible solution to the optimization problem." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 226 }, "colab_type": "code", "executionInfo": { "elapsed": 688, "status": "ok", "timestamp": 1558787415506, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "8tKc70HL68e5", "outputId": "3016a414-7bc8-4b6f-828a-ad93a36375d9" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t_f = 3000\n", "\n", "m = ConcreteModel()\n", "m.t = ContinuousSet(bounds=(0, t_f))\n", "m.h = Var(m.t)\n", "m.u = Var(m.t, bounds=(0, u_max))\n", "\n", "m.v = DerivativeVar(m.h, wrt=m.t)\n", "m.a = DerivativeVar(m.v, wrt=m.t)\n", "\n", "m.ode1 = Constraint(m.t, rule = lambda m, t: m_total*m.a[t] == -m_total*g + v_exhaust*m.u[t])\n", "\n", "m.h[0].fix(h_initial)\n", "m.v[0].fix(-v_initial)\n", "\n", "m.h[t_f].fix(0) # land on surface\n", "m.v[t_f].fix(0) # soft landing\n", "\n", "solve(m)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "rLx0_brhUzl9" }, "source": [ "## Version 2: Rescaled model\n", "\n", "At this point, it's now clear the first version of this model has run into some serious problems:\n", "\n", "* The calculated trajectory takes us through a crash landing and trip through the interior of the moon. \n", "* The engine thrust never goes to zero, even when the lander is at zero velocity and on the surface. The reason is that the model doesn't account for the reaction force of the surface on the lander. So the lander is really just hoovering rather than landing.\n", "* There is no obvious means of estimating the time required for the mission. \n", "\n", "Let's begin with the last issue. We will introduce an additional decision variable $T$ denoting the length of the mission. Time is then rescaled as\n", "\n", "$$\\tau = \\frac{t}{T}\\quad\\implies\\quad t =\\tau T$$\n", "\n", "The differential equation model then becomes\n", "\n", "$$\n", "\\begin{align*}\n", "\\frac{m}{T^2}\\frac{d^2h}{d\\tau^2} & = - m g + v_eu \\\\\n", "\\end{align*}\n", "$$\n", "\n", "The net result is that an additional variable, $T$, denoting the duration of the descent mission has been introduced into the optimization problem." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 297 }, "colab_type": "code", "executionInfo": { "elapsed": 953, "status": "ok", "timestamp": 1558787417491, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "6KLIZeb8UzKG", "outputId": "a0d4c720-fcba-47e5-a0e8-687e2d5defed" }, "outputs": [ { "data": { "image/png": "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cYJZs2ZxySWXVO7zzDPPVHusWbNmcfz4cfLz88nLy6v2u547dy4PPfQQc+bMISKi+gfxt23bRseOHfnJT37Ctddey5dffsmIESP47LPP2LRpE+Dc49u4cSO9e/dmx44dLF3qPBJ6+PBhysrKGDNmDC+88AIAGzdu5Ouvv6ZXr15n/J6GDx9OTk4Oe/fupbS0lFdeeaVyXXW/e03JWlDGL0SEejg3owPnZnQAerOv5ASfbSri07wiPt1UxLw1zkC86YmRjOnZgbG9OjCiW0LAPDxck9tvv528vDxUlfHjx1d2f37++ecJCQmhU6dO/Pa3vz1ln8suu4xFixbRv39/RIQ//vGPdOrUifXr19fr3KGhobz66qvccsstHDx4kLKyMm677bbKexTVufHGG5k+fTpZWVkMHDiQrKysystK119/PVlZWQwaNIj77z/tscgGO/fcc1m/fj3FxcWkpqbyxBNPMGnSJB566CGuuOIKfv3rXzNw4ECuvfZaAC688ELeffddevToQUREBE899RQAHo+HRx55hEmTJlFaWsp1111XGeuMGTOYMmUKTzzxBF27dq38Q96nTx+mTJlCZmYmHo+Hf/zjH5X3LK+77jpuuOEGhgwZws9//nOOHz9eebl0xIgRPProo6fEkZOTw8MPP0xISAhRUVE8++yzdOjQgaeffporr7yS48ePA3DffffRs2dPZs+ezc0338zRo0dp164d8+fP58Ybb+SGG26gX79+eDwenn766VNaTlUlJydzzz33MHLkSJKTkxk0aFBlS7a6372mJPbcimPIkCG6bNmyBu/flgZMra/mjl1VyS8q4eONe1i4cQ+LtuzlWOlJQj1BDO8WT3avjpzXuyPdEhs/u+m6des4++yz67WPjclWv9jLy8spLS0lPDyczZs3M378eDZu3EhoaPMOatzU7Odet9ir+zclIstVdUht+1oLyvg9ESG9QxTpHaK4+pxuHCstZ0n+PhZu3EPOht38/u21/P7ttXRLjGScm6yGdYu3gXD91JEjRxg3bhylpaWoKv/6179aXXIyLcMSlGl1wkOCGdOzA2N6duA3F2Wyfd8RPly/mw/X7+Z5t3dgVJiH0T0SOT8zifN6dyS+nqPGm+YTHR1NY65WmMBhCcq0el3iI5g+Ko3po9I4cqKMzzbtdRPWLuau2UmQwOCz4jj/bKfbe/cO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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "m = ConcreteModel()\n", "m.t = ContinuousSet(bounds=(0, 1))\n", "m.h = Var(m.t)\n", "m.u = Var(m.t, bounds=(0, u_max))\n", "m.T = Var(domain=NonNegativeReals)\n", "\n", "m.v = DerivativeVar(m.h, wrt=m.t)\n", "m.a = DerivativeVar(m.v, wrt=m.t)\n", "\n", "m.ode1 = Constraint(m.t, rule = lambda m, t: \n", " m_total*m.a[t]/m.T**2 == -m_total*g + v_exhaust*m.u[t])\n", "\n", "m.h[0].fix(h_initial)\n", "m.v[0].fix(-v_initial)\n", "\n", "m.h[1].fix(0) # land on surface\n", "m.v[1].fix(0) # soft landing\n", "\n", "def solve(m):\n", " \n", " TransformationFactory('dae.finite_difference').apply_to(m, nfe=50, scheme='FORWARD')\n", " SolverFactory('ipopt').solve(m)\n", " \n", " tsim = [t*m.T() for t in m.t]\n", " hsim = [m.h[t]() for t in m.t]\n", " usim = [m.u[t]() for t in m.t]\n", "\n", " plt.subplot(2,1,1)\n", " plt.plot(tsim, hsim)\n", " plt.title('altitude')\n", " plt.xlabel('time / seconds')\n", " plt.ylabel('meters')\n", " plt.legend(['mission length =' + str(round(m.T(),1)) + ' seconds'])\n", " plt.grid(True)\n", " \n", " plt.subplot(2,1,2)\n", " plt.plot(tsim, usim)\n", " plt.title('engine mass flow')\n", " plt.xlabel('time / seconds')\n", " plt.ylabel('kg/sec')\n", " plt.grid(True)\n", " \n", " plt.tight_layout()\n", "\n", "solve(m)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "UA9lSKK8dgch" }, "source": [ "### How much fuel is burned?\n", "\n", "Fuel consumption can be calculated as\n", "\n", "$$\n", "\\begin{align*}\n", "\\mbox{fuel consumed} & = \\int_0^T u(t)\\,dt = T \\int_0^1u(\\tau)\\,d\\tau\n", "\\end{align*}\n", "$$" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 297 }, "colab_type": "code", "executionInfo": { "elapsed": 1097, "status": "ok", "timestamp": 1558787419299, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "3-y5SLyWdkyJ", "outputId": "7eb3d8e1-a9c7-44f7-9197-29a6e3b6e6aa" }, "outputs": [ { "data": { "image/png": "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8+26PcUJKz4ymAHt4xjQIY6zOsXRPMI3b3QsrW3btvTs2ROA7t27M3ToUESEnj17lriWUWTAgAFce+21jB49mssuuwyAM844g8cee4ysrCwuu+wyOnbsWGKbb775hjFjxuDv7098fDxnn302P/zwA5GRkfTt27f4izc1NZVNmzaVm6BWr17N8uXLGTZsGIWFhahq8Zc8UFyf9PT04rp/88033H777QD06NGDXr16VfheFCUwz314Gjt2bPEZV20o6wxSRMotr+o2ZXnjjTeYP38+X3755UnLevbsyV133cW9997LhRdeyFlnncXy5cuLPw9w/mFKSEjg0KFDbN26lUsvvRSgOHmc7u9BeHg4bdu2Lf59uvrqq3n++ecB5/fwzjvvZOzYsVx22WUlkndNsARlakVCVBMu6Z3EJb2TUFW27D3Ct+v28O363WSu2VXcW7BbQiSDOjVjUKc4MlrHeP1+rFOd6ZSlJm7YDA4OLn7u5+dX/NrPz4/8/PyT1h8/fjxz587l448/JjU1lcWLF/Pzn/+cfv368fHHHzNixAheeuklzjnnnOJtKmq28zy+v79/mcf03E/37t2ZM2dOmbEX7ctzP6dqMqyoLmU18dXUGVR8fDzZ2dkkJCSQnZ1N8+bO6GvJycn89NOJEdOysrJITEwkOTm5RNNbUbnnNsnJyeTn53PgwAFiYmJITk4uMSxQVlZWuSOvfPbZZzz22GN8+eWXJd6HIp06dWLBggVMnz6d+++/n+HDh3PppZcWfx6eDh4suyWgKr8H5SXU++67jwsuuIDp06fTv39/PvvsM7p06VLu/k+XXYMytU5EaB0bxs/7teK5n6cx/4Fz+ei3A7l7RGciQgJ46esN/PzFuaQ+MotfvfoDb3y/ma37q3/doTFbv349/fr145FHHiEuLo6ffvqJDRs20K5dO2677TZGjRrF0qVLS2wzaNAg3n77bQoKCti1axdfffUVffv2Pe1jd+7cmV27dhV/Iebl5bFixYoKtxk4cCDvvPMOACtXrmTZsmXFywIDA8nLyzutOowdO5bFixef9DjdXoajRo0q7lX36quvcvHFFxeXT5o0iWPHjrFx40bWrl1L3759SUhIICIigu+//x5V5bXXXiuxTdG+pkyZwjnnnIOIMGLECGbNmsW+ffvYt28fs2bNYsSIESfVZdGiRdx0001Mmzat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978nLS2NoUOHsmvXLgAGDx5cPOTT7t27KRqfcOLEiVxxxRVcdNFFDB8+nIkTJ3LZZZcxcuRIUlNTueeee4r3O2vWLM444wzS0tK44oorijuZzJgxgy5dujBw4EDee++9mniLEBEOHjwIwIEDB0hMTARg6tSpXHPNNYgI/fv3Z//+/WRnOyfRgwYNIiYmpkaOX2Tt2rXs3LmTs84666RloaGhxckoNzf3lD1Cjx49ysiRI3nxxRcB+Mtf/kKXLl0YNmwYY8aMKfE7YExtiQ0L4tCxfI7n18x9blVh/8JV0sMfrmDltoPlLi8oKMDf3/+09tktMZI/X9S93OXjx49nxowZzJ49m7i4OB566KEy11u1ahVvv/023377LYGBgdx6663873//K/MMocjhw4dJS0vjH//4B4888ggPP/wwzz77bIX1nTNnDkuXLiUmJoaJEyeyePFiFi1axPHjx8nIyOC3v/0tTZo04dFHH+Wzzz4jLCyMv/3tb/zzn//knnvu4YYbbuCLL76gQ4cOXHnllWUeY/Xq1eUuy8zMpGnTpiXKXnrpJc4//3yaNGlCZGQk33/vjGqwdetWWrY8cRkyOTmZrVu3kpCQUGGMzz77LK+99hoZGRn84x//IDo6GoCNGzfSu3dvIiMjefTRR09KRG+99RZXXnllucln7ty5XHfddWzevJnXX3+93LOnnJwcrrrqKq655hquueYa5s+fz7vvvsuiRYvIz88nLS2N9PT0CmMwpiZEhwUBsP/IcZpHeuc+P0tQjcDnn3/OggUL6NPH6W1z9OhRmjdvXuE2fn5+xYng6quvLrNpqrRhw4aVOPMYOnQoUVFRHDp0iG7durF582b279/PypUrGTBgAADHjx/njDPO4Mcff6Rt27Z07Nix+JgTJkw46RidO3c+qSmtIk8//TTTp0+nX79+PPnkk9x555289NJLZQ4bdKozl1tuuYU//elPiAh/+tOf+P3vf88rr7xCQkICW7ZsITY2lgULFnDJJZewYsWKEj08J02axOuvv17uvvv168eKFStYtWoV48aN47zzzivz5t6LL76Ye+65p/ia4zfffMPFF19MkyZNALjooosq9b4YU10xboLac9gSVL1X0ZkO1E1X44CAAAoLT5xuF41woaqMGzeOxx9/vMr7Lvry9jxG6RE0Sg+vHxwcXPzc39+f/Px8VJVh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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "m = ConcreteModel()\n", "m.t = ContinuousSet(bounds=(0, 1))\n", "m.h = Var(m.t)\n", "m.u = Var(m.t, bounds=(0, u_max))\n", "m.T = Var(domain=NonNegativeReals)\n", "\n", "m.v = DerivativeVar(m.h, wrt=m.t)\n", "m.a = DerivativeVar(m.v, wrt=m.t)\n", "\n", "m.fuel = Integral(m.t, wrt=m.t, rule = lambda m, t: m.u[t]*m.T)\n", "\n", "m.ode1 = Constraint(m.t, rule = lambda m, t: \n", " m_total*m.a[t]/m.T**2 == -m_total*g + v_exhaust*m.u[t])\n", "\n", "m.h[0].fix(h_initial)\n", "m.v[0].fix(-v_initial)\n", "\n", "m.h[1].fix(0) # land on surface\n", "m.v[1].fix(0) # soft landing\n", "\n", "def solve(m):\n", " TransformationFactory('dae.finite_difference').apply_to(m, nfe=50, scheme='FORWARD')\n", " SolverFactory('ipopt').solve(m)\n", " \n", " tsim = [t*m.T() for t in m.t]\n", " hsim = [m.h[t]() for t in m.t]\n", " usim = [m.u[t]() for t in m.t]\n", "\n", " plt.subplot(2,1,1)\n", " plt.plot(tsim, hsim)\n", " plt.title('altitude')\n", " plt.ylabel('meters')\n", " plt.legend(['mission length = ' + str(round(m.T(),1)) + ' seconds'])\n", " plt.grid(True)\n", "\n", " plt.subplot(2,1,2)\n", " plt.plot(tsim, usim)\n", " plt.title('engine mass flow')\n", " plt.xlabel('time / seconds')\n", " plt.ylabel('kg/sec')\n", " plt.legend(['fuel burned = ' + str(round(m.fuel(),1)) + ' kg'])\n", " plt.grid(True)\n", "\n", " plt.tight_layout()\n", "\n", "solve(m)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "S7sI82VUcSii" }, "source": [ "### Minimize fuel consumption\n", "\n", "$$\\min_{u(\\tau), T} T\\int_0^1 u(\\tau)\\, d\\tau$$" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 297 }, "colab_type": "code", "executionInfo": { "elapsed": 893, "status": "ok", "timestamp": 1558787420151, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "Aefhp6mubQ5e", "outputId": "3998d628-2c56-483e-f817-00fe14e98bab" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABIA0lEQVR4nO3dd3xV9f348dc7mwwgIYMwgxAIECBsEUQQGVULauug2qK1jtpqbevA2uEW9Vfb+rW1xVG0FUWc1A1KUBBBRth7R8IMCYSQ/f79cU7iBQKEJDf35ub9fDzu4577OevzviR58znncz4fUVWMMcYYfxPk6woYY4wx1bEEZYwxxi9ZgjLGGOOXLEEZY4zxS5agjDHG+CVLUMYYY/ySJShj/ISIXC8i80+z/nwR2VCP5xshItn1dTxj6pslKGP8lIioiHSp/KyqX6pqN4/120XkIt/UzhjvswRljDHGL1mCMqaBichkEdkiIkdEZK2IXF7NNl+4iytEpEBErva8JCci/wE6AP9z199T3SU7z1aWiDQTkWkickhE1gIDT9i2jYi8JSL7RWSbiNzhjfiNqSlLUMY0vC3A+UAL4EHgvyKS7LmBqg53F/uoarSqzjhh/Y+BncD33fVP1uC8fwI6u6+xwKTKFSISBPwPWAG0BUYBd4rI2FrEZ0y9sARlTANT1ZmqultVK9zEswkY1ACnvgp4VFVzVXUX8IzHuoFAgqo+pKolqroVeB64pgHqZUy1QnxdAWOaGhH5CfAbIMUtigbigXIvn7oNsMvj8w6P5Y5AGxHJ8ygLBr70cp2MOSVLUMY0IBHpiNMyGQUsVNVyEckCpBaHO3EqgqNApMe5goEEj/U5QHtgjfu5g8e6XcA2VU2tRT2M8Qq7xGdMw4rCSSz7AUTkBiD9FNvuBc45zbFOXL8RiBCRS0QkFPg9EO6x/g3gPhGJFZF2wO0e6xYDh0XkXrczRbCIpIvIcR0pjGlIlqCMaUCquhb4M7AQJ8H0AhacYvMHgJdFJE9Erqpm/ePA7931d6lqPnAb8ALwLU6LyrNX34M4l/W2AZ8C//GoVznwfSDDXX/APU6LWgVqTD0Qm7DQGGOMP7IWlDHGGL9kCcoYY4xfsgRljDHGL1mCMsYY45fsOShXfHy8pqSk1Hr/o0ePEhUVVX8VaiQs7qajKcYMFndDWLp06QFVTThphap65QW8BOwDVnuUxQGzcYZ2mQ3Eeqy7D9gMbADGepT3B1a5657hu56H4cAMt3wRkOKxzyT3HJuASTWpb//+/bUu5s6dW6f9GyuLu+loijGrWtwNAVii1fxd9uYlvmnAuBPKJgOfqfO0+mfuZ0SkB86YXz3dff7hPgUP8BxwM5DqviqPeSNwSFW7AH8BnnCPFYczKOZgnPHN/iQisV6IzxhjjBd57RKfqn4hIiknFE8ARrjLLwOZwL1u+euqWgxsE5HNwCAR2Q40V9WFACLyCnAZ8JG7zwPusd4EnhURwRmlebaq5rr7zMZJaq/Vd4yVduUWsuDbUg4tz0YQxB20RkQQIDRYCA0OIiwkqOo9LDiIiNAgIsNCiAoLITI8mNBguyVojDGVGvoeVJKq5gCoao6IJLrlbYGvPbbLdstKOf5J+Mryyn12uccqE5F8oJVneTX7HEdEbsZpnZGUlERmZmatglqUU8bzq0pg1Ypa7V8pJAgigiE8WIgKFaJCcd+/+xwdJrQIE1qEC83DhObhQmhQbYZxqx8FBQW1/t4as6YYd1OMGSxuX/KXThLV/YXV05TXdp/jC1WnAlMBBgwYoCNGjDhjRaszsLiMlOZfMGjwYOfaKeDcClNUobRcKS2voKS8gtKyCord92Ol5RwrKedoSTmFxWXOe0kZBUVlHC4qJa+wlLxjpezILyW/sJSS8opqz988IoSEmHDatGxG6+YRJLdsRpsW3723i42kWVhwtfvWVWZmJrX93hqzmsZdWlpKdnY2RUVF3q+Ul7Vo0YKIiAhfV6PBWdz1JyIignbt2hEaGlqj7Rs6Qe0VkWS39ZSM04kCnFZOe4/t2gG73fJ21ZR77pMtIiE4Y4bluuUjTtgns37DOF5UeAhJUUF0ivdejxdV5VhpOQcLSjhQUMz+I8UccJcPFBSz93ARe/KL2LDnCPsLijlxBKuEmHA6xkXSIS6SDq2c946touiSEE2LyJr9sJizl52dTUxMDCkpKYj4rqVbH44cOUJMTIyvq9HgLO76oaocPHiQ7OxsOnXqVKN9GjpBzcLpYTfFfX/Po3y6iDyNM2dNKrBYnakIjojIuTg99X4C/N8Jx1oI/BD4XFVVRD4BHvPoGDEGp4dgoyYiRIaFEBkXQvu4yNNuW1JWwd7DReTkF5GTf4xduYXszC1kx8FCvt56kHeyvj0ugcVHh3FOQjSdE6LonBBN54RourWOIblFRKP/o+prRUVFAZGcjKkrEaFVq1bs37+/xvt4LUGJyGs4LZl4EcnG6Vk3BXhDRG7Ema76SgBVXSMibwBrgTLgF+qMrgzwc5wegc1wOkd85Ja/CPzH7VCRizvzp6rmisjDwDfudg9VdphoKsJCgmgfF3nKRFZcVk72oWNsP3CULfsL2Lrfef9kzV5yj353+655RAhprZuTlhxDt9YxznLrGKLC/eXKcONgyckYx9n+LnizF9/EU6wadYrtHwUeraZ8CdXMl6OqRbgJrpp1L+E8h2WqER4SXNVSGtU96bh1uUdL2LyvgA17j7A+5zDr9xzh7WXfUlBcBoAIdE6IplfbFqS3bUFZbjkDi8ssaRlj6p31azbHiYsKY1CnOH58bkcevbwXb/38PFY9MIYv7xnJ8z8ZwK9GpZLSKpKvthzg4ffX8vjiItIf+ISLnp7H3TNX8Nrinazfc5jyCpvGpTGZNWsWU6ZMOev9zjvvvHo5//XXX8+bb75ZL8fy9Nhjj1Utb9++nfT0U80NWXspKSn06tWLjIwMBgwYUFU+c+ZMevbsSVBQEEuWLKkqLy0tZdKkSfTq1Yvu3bvz+OOPV3vc3NxcRo8eTWpqKqNHj+bQoUP1Xvf6MG3aNH75y1965dj2315zRiJSdclwdI/vWlz7jhQx/aP5SFxHVmTnMWfdXmYudZ4KiA4PIaN9S/p2aMnAlDj6d4y1VpYfGz9+POPHjz/r/b766isv1Kb+PPbYY/zud7/z+nnmzp1LfHz8cWXp6em8/fbb3HLLLceVz5w5k+LiYlatWkVhYSE9evRg4sSJnDjU2pQpUxg1ahSTJ09mypQpTJkyhSeeeMLbofgVa0GZWkuMiSAjMYRfXZTKS9cPZNkfRjP3rhH8+co+XNa3DblHS/j73M385KXF9H7wUyb8fQGPfbiOOWv3kl9Y6uvqNwnbt28nLS2Nn/3sZ6Snp3PttdcyZ84chg4dSmpqKosXLwaO/1/wzJkzSU9Pp0+fPgwfPhyANWvWMGLECDIyMujduzebNm0CIDo6GnB6aN19992kp6fTq1cvZsyYAXzXHf+HP/whaWlpXHvttZXDkZ3S0qVLueCCC+jfvz9jx44lJycHgBEjRnDvvfcyaNAgunbtypdffglAYWEhV111Fb179+bqq69m8ODBLFmyhMmTJ3Ps2DEyMjK49tprASgvL+emm26iZ8+ejBkzhmPHjtXn132c7t27061bt5PKRYSjR49SVlbGsWPHCAsLo3nz5idt99577zFp0iQAJk2axLvvvnvSNjk5OQwfPpyMjAzS09OrvpNPP/2UIUOG0K9fP6688koKCgoA+OabbzjvvPPo06cPgwYN4siRIxQVFXHDDTfQq1cv+vbty9y5cwF49dVXueKKKxg3bhypqancc889Vef997//TdeuXbngggtYsOC7CaGr+9mpC/svrak3IkKn+Cg6xUfxg/7O0wFHi8tYtvMQi7bmsnhbLtMWbGfqF1sRge6tmzMsNZ7zOrdiUKc4IsMC+8fxwf+tYe3uw/V6zB5tmvOn7/c87TabN29m5syZTJ06lYEDBzJ9+nTmz5/PrFmzeOyxx076w/fQQw/xySef0LZtW/Ly8gD45z//yc9//nN+9rOfUVJSQnl5+XH7vP3222RlZbFixQoOHDjAwIEDq/5ALV++nDVr1tCmTRuGDh3KggULGDZsWLV1LS0t5fbbb+e9994jISGBGTNmcP/99/PSS84t5bKyMhYvXsyHH37Igw8+yJw5c/jHP/5BbGwsK1euZPXq1WRkZABOC+TZZ58lKysLcJL1pk2beO2113j++ee56qqreOutt7juuuuOq8Orr77KU089VfW5oqKCoKAgunTpUu1lSBFhzJgxiAi33HILN99882n/PX74wx/y3nvvkZycTGFhIX/5y1+Ii4s7abu9e/eSnJwMQHJyMvv27Ttpm+nTpzN27Fjuv/9+ysvLKSws5MCBAzzyyCPMmTOHqKgonnjiCZ5++mkmT57M1VdfzYwZMxg4cCCHDx+mWbNm/O1vfwNg1apVrF+/njFjxrBx40YAsrKyWL58OeHh4XTr1o3bb7+dkJAQ/vSnP7F06VJatGjByJEj6du3L1D9z05dBPZfBONzUeEhnJ+awPmpzkDFRaXlrNiVx6JtuSzccrAqYYUGC/06xDK0SzxDu8ST0b4lwT4cISOQdOrUiV69egHQs2dPRo0ahYjQq1cvtm/fftL2Q4cO5frrr+eqq67iiiuuAGDIkCE8/PDDHDx4kCuuuILU1NTj9pk/fz4TJ04kODiYpKQkLrjgAr755huaN2/OoEGDaNfO+Q9LRkYG27dvP2WC2rBhA6tXr2b06NGA0+Kp/CMNVNWnf//+VXWfP38+v/rVrwDnslrv3r1P+11UJjDPY3i69tprq1pccObngRYsWECbNm3Yt28fo0ePJi0t7bSth8WLFxMcHMzu3bs5dOgQ559/PhdddBHnnHPOKfc5lYEDB/LTn/6U0tJSLrvsMjIyMpg3bx5r165l6NChAJSUlDBkyBA2bNhAcnIyAwcOBKhqtc2fP5/bb78dgLS0NDp27FiVoEaNGkWLFi0A6NGjBzt27ODAgQOMGDGChATnd/rqq6+u2r66n526sARlGlREaDCDz2nF4HNacceoVI6VlPPN9lwWbD7A/M0HeHr2Rp6evZGWkaGcn5rAyG4JDO+aQHx0uK+rXmdnaul4S3j4d99dUFBQ1eegoCDKyspO2v6f//wnixYt4oMPPiAjI4OsrCx+9KMf0bNnT+bNm8fYsWN54YUXuPDCC6v2Od1lO8/zBwcHV3tOz+P07NmThQsXnvZYnsc50yXD09Wlukt8Z9uCatOmDQCJiYlcfvnlLF68+LQJavr06YwbN47Q0FASExMZOnQoS5YsOSlBJSUlkZOTQ3JyMjk5OSQmJp50rOHDh/PFF1/wwQcf8OMf/5i7776b2NhYRo8ezWuvHT/86MqVK6vt5l2bf7tTdRev7menVatWpzz+mdg9KONTzcKCGd41gfsu7s4Hd5zPsj+M5v8m9mVUWhILtxzgN2+sYOCjc5jw7Hyenr2RFbvyqLAegl61ZcsWBg8ezEMPPUR8fDy7du1i69atdOrUiTvuuIPx48ezcuXK4/YZPnw4M2bMoLy8nP379/PFF18waNCgsz53t27d2L9/f1WCKi0tZc2aNafdZ9iwYbzxxhsArF27llWrVlWtCw0NpbT07O53XnvttWRlZVW9FixYQFZWVrXJ6ejRoxw5cqRq+dNPPz1jT8EOHTrw+eefo6ocPXqUr7/+mrS0tJO2Gz9+PC+//DIAL7/8MhMmTDhpmx07dpCYmMhNN93EjTfeyLJlyzj33HNZsGABmzdvBpx7dBs3biQtLY3du3fzzTfOI6JHjhyhrKyM4cOH8+qrrwKwceNGdu7cWe29s0qDBw8mMzOTgwcPUlpaysyZM6vWVfezUxfWgjJ+JS4qjO/3acP3+7ShokJZs/swmRv2MXfDPp79fBPPfLaJpObhXNQ9idE9khjSuRXhId4ZZ7Cpuvvuu9m0aROqyqhRo+jTpw9TpkzhlVdeITw8nNatW/PHP/7xuH0uv/xyFi5cSJ8+fRARnnzySVq3bs369evP6txhYWG8+eab3HHHHeTn51NWVsadd95Jz56nbn3edtttTJo0id69e9O3b1969+5ddVnq5ptvpnfv3vTr149HHz3pMcs627t3L5dffjng3B/70Y9+xLhxzoxA77zzDrfffjv79+/nkksuISMjg08++YRf/OIX3HDDDaSnp6Oq3HDDDVWXJX/2s59x6623MmDAACZPnsxVV13Fiy++SIcOHY5LBJUyMzN56qmnCA0NJTo6mldeeYWEhASmTZvGxIkTKS4uBuCRRx6ha9euzJgxg9tvv51jx47RrFkz5syZw2233catt95Kr169CAkJYdq0ace1nE6UnJzMAw88wJAhQ0hOTqZfv35V9ySr+9mpCzmb5nEgGzBggHo+q3C2bNBU7zt0tIS5G/Yxe+1e5m3cT2FJOdHhIVzQNYExPZO4MC2RmIiGGVewpnGvW7eO7t27e79CDcBfx6QrLy+ntLSUiIgItmzZwqhRo9i4cSNhYWH1cnx/jdvbvBV3db8TIrJUVQecuK21oEyjERsVxhX92nFFv3YUlZazcMtBPl27l8/W7eWDVTmEBQcxvGs8F/dKZlT3JFo0s0Fwm4LCwkJGjhxJaWkpqspzzz1Xb8nJ+JYlKNMoRYQGMzItkZFpiVRUpLN8Vx4frsrho1U5zFm3j9BgYVgXJ1mN6dnaklUAi4mJoS5XP4z/sgRlGr2gIKF/x1j6d4zl95d0J2tXHh+t3sMHK3OYu2El97+zmpFpCUzIaMuFaYlEhDbsPStVtQFjjeHselyCJSgTYESEvh1i6dshlvu+l8aK7HxmZe3mfyt388mavUSHhzC2Z2smZLThvM6tCAn2bkfWiIgIDh48SKtWrSxJmSatcj6os5kE0RKUCVgiQkb7lmS0b8n9l3Tn660HeS/rWz5atYe3lmWTEBPO5X3b8sP+7eia5J2b4O3atSM7O/us5sDxV0VFRU1yZlmLu/5UzqhbU5agTJMQHCRVo1Q8NCGdzA37eGvZt7w0fxtTv9hK73Yt+EG/dozv04bYqPq7wR4aGlrj2UP9XWZmZtWQNk2Jxe07lqBMkxMRGsy49GTGpSdzoKCYWVm7eXNpNn+atYZHPljLRd2TuHpge85PTbDhlozxIUtQpkmLjw7np8M68dNhnVi7+zBvLcvmneXf8tHqPbRt2YyrBrTnqoHtSG7RzNdVNabJsQRljKtHm+b0aNODe8Z1Y/bavby+eBd/mbORv322kRHdEpk4qAMjuyV4vWOFMcZhCcqYE4SHBHNp7zZc2rsNOw8WMmPJTmYuyeamV5aQ3CKCHw3qQIcyG4HFGG+zBGXMaXRoFcndY9P49UVdmbNuH//9egd/nr2RYIHPcpfz4yEdGdAx1rqQG+MFNUpQIjIUyFLVoyJyHdAP+Juq7vBq7YzxEyHBQYxLb8249NZs2V/AlDcXMHfDPmat2E1a6xh+MiSFy/u2pVmYDVxrTH2p6cX054BCEekD3APsAF7xWq2M8WOdE6K5tns4i343isev6IWI8Lt3VnHelM946pP17Mkv8nUVjQkINb3EV6aqKiITcFpOL4rIJG9WzBh/FxkWwsRBHbhmYHsWb8vlxfnb+EfmFv41byuX9k7mp8M60btdS19X05hGq6YJ6oiI3AdcBwwXkWDARt80BmfEispZgnceLGTaV9t5Y8ku3s3azcCUWG46/xwu6p5EkD1TZcxZqeklvquBYuBGVd0DtAWeOv0uxjQ9HVpF8sfv92DhfRfyx0t7kJNfxM3/WcpFf5nHjG92UlxW7usqGtNonDFBua2l/6rq06r6JYCq7lRVuwdlzCnERITy02GdyLxrBM9M7Euz0GDufWsVw56Yyz8yN5N/7OymITemKTpjglLVcpwOEi0aoD7GBJSQ4CDG92nD+7cP49WfDSatdQxPfryB8x7/jMc+XMe+I9ahwphTqek9qCJglYjMBo5WFqrqHV6plTEBRuS7wWrX7M7nX/O28sKXW5n21XauGdieWy7oTNuWNpySMZ5qmqA+cF/GmDrq2aYFz0zsy29Gd+W5zC28tngn0xft5Ip+bfn5iC50io/ydRWN8Qs1SlCq+rKINAM6qOoGL9fJmCYhJT6KJ37YmzsuSmXqvC28/s0u3lyazaW923D7hV1I9dIcVcY0FjXqxSci3weygI/dzxkiMsuL9TKmyWjbshkPTkjny3tHctP55zBn3V7G/PULfjF9Gev3HPZ19YzxmZp2M38AGATkAahqFlDrWdhEZLuIrBKRLBFZ4pbFichsEdnkvsd6bH+fiGwWkQ0iMtajvL97nM0i8oy4A6KJSLiIzHDLF4lISm3rakxDSYyJ4L6LuzP/3gu5bURn5m3Yz7i/fsmt/1nK2t2WqEzTU9MEVaaq+SeU1XU455GqmqGqA9zPk4HPVDUV+Mz9jIj0AK4BegLjgH+4Xd/BGYLpZiDVfY1zy28EDqlqF+AvwBN1rKsxDSYuKoy7x6Yx/96R3DEqlQVbDnDxM19y0ytLWJmd5+vqGdNgapqgVovIj4BgEUkVkf8DvqrnukwAXnaXXwYu8yh/XVWLVXUbsBkYJCLJQHNVXaiqijM24GXVHOtNYFRl68qYxqJlZBi/Gd2V+fdeyK8v6sqirQcZ/+wCfvziIhZuOYjzY29M4JKa/JCLSCRwPzDGLfoEeFhVi2t1UpFtwCGcVti/VHWqiOSpakuPbQ6paqyIPAt8rar/dctfBD4CtgNTVPUit/x84F5VvVREVgPjVDXbXbcFGKyqB06ox804LTCSkpL6v/7667UJB4CCggKio6NrvX9jZXE3nGNlytydpXy8vYzDJUrnFkFc2jmUjITgBpnuw/6tm5aGjHvkyJFLPa6mValpN/NLVPV+nCQFgIhcCcysZX2GqupuEUkEZovI+tNsW91vnp6m/HT7HF+gOhWYCjBgwAAdMWLEaSt9OpmZmdRl/8bK4m5Y3wMeKi1n5tJs/jVvC39bdoy01jHcekFnLumdTKgXZ/u1f+umxR/irulP8301LKsRVd3tvu8D3sHpgLHXvWyH+77P3TwbaO+xeztgt1verpry4/YRkRCgBZBb2/oa408iQoP58bkdmXvXCJ6+qg/lFcqdM7IY8VQmL87fxtHiMl9X0Zh6cdoEJSLfc+83tXV7yVW+pgG1+i0QkSgRialcxrlsuBqYBVRO4TEJeM9dngVc4/bM64TTGWKxqubgjLJ+rnt/6Scn7FN5rB8Cn6tdsDcBJjQ4iCv6teOTO4fzwk8G0LZlMx5+fy1DHv+MJz9eb8MomUbvTJf4dgNLgPHAUo/yI8Cva3nOJOAd95p5CDBdVT8WkW+AN0TkRmAncCWAqq4RkTeAtThJ8Rfu+IAAPwemAc1w7kt95Ja/CPxHRDbjtJyuqWVdjfF7QUHCRT2SuKhHEst3HmLqF1t5bt4WXvhyG5f3bcuN53eiqz30axqh0yYoVV0BrBCR6e62dR5JQlW3An2qKT8IjDrFPo8Cj1ZTvgRIr6a8CDfBGdOU9O0Qy3PX9Wf7gaO8MH8rM5dkM2PJLs5PjeenQztxQdcEm5fKNBo1vQc1DhtJwphGIyU+ikcu68XX943i7rHd2Lj3CDdM+4aL/jKP/3y9g8ISu09l/F9dRpJI8UaFjDH1JzYqjF+M7MKX91zI367JIDo8hD+8u5pzH/uMxz9cx67cQl9X0ZhTqmk38zJVzbdnXY1pnMJCgpiQ0ZbxfdqwdMchXlqwjRfmb2Pql1u5sFsiPzkvhfO7xNvlP+NXapqgjhtJAriD+h9JwhjjZSLCgJQ4BqTEkZN/jOmLdvLa4p1MemkxneKjuO7cjvywfztaNAv1dVWNqfElvttxxsIrBqYD+cCvvFUpY4z3Jbdoxm/HdGPBZOfyX2xkKA+/v5ZzH/uMe95cQdauPBtOyfhUTVtQPdxXiPuagNP1vLeX6mWMaSDhIcFMyGjLhIy2rP42n1cX7eC9rN28sSSbHsnN+dHgDkzIaOPrapomqKYJ6lXgLpwHaiu8Vx1jjC+lt23B41f05ncXd+fdrN1MX7ST37+7msc+XMfARKFl5zz6tGvRIGP/GVPTBLVfVf/n1ZoYY/xGTEQoPz63I9cN7kDWrjymL9rJe8uzmff3BXRNiuaqAe25vG9bWkWH+7qqJoDVNEH9SURewJmnqWoEc1V92yu1Msb4BRGhb4dY+naIZWTLXPKad+aNJbt45IN1TPloPRd1T+Kqge0YnppAiBcHqjVNU00T1A1AGhDKd5f4FLAEZUwTERkqXDy4Az8a3IGNe48wc8ku3l72LR+v2UNiTDgTMtpwRb92dE9u7uuqmgBR0wTVR1V7ebUmxphGo2tSDPdf0oO7x6bx+fp9vL0sm2lfbef5L7fRPbk5V/Rty4SMNiQ2j/B1VU0jVtME9bWI9FDVtV6tjTGmUQkLCWJcemvGpbfm0NES3l+5m7eWfcujH67j8Y/WMSw1gfF92jC2ZxIxEfZslTk7NU1Qw4BJ7ky4xTgTAqqqWjdzYwzgDKv04yEp/HhIClv2F/Du8m95Z/m33DVzBb97J4hRaYmM79OGkWmJRIQG+7q6phGoaYIa59VaGGMCSueEaH47phu/Gd2V5bvymJW1m/dX5vDR6j1Eh4cwpmcSl/ZOZmiXeMJDLFmZ6tUoQanqDm9XxBgTeESEfh1i6dchlj9c2oOvtx5kVtZuPlqdw9vLviUmIoTR3ZP4Xq9kzk+Nt5aVOU5NW1DGGFMnwUHC0C7xDO0Sz8OXpbNgywE+XJnDp2v38vbyb4kOD2FU90S+l96a4V0TiAyzP09Nnf0EGGMaXFhIECO7JTKyWyKPlVfw1ZaDfLQqh0/W7OG9rN2EhwQxrEs8Y3omMap7EvH2QHCTZAnKGONTocFBXNA1gQu6JvDIZeks3p7L7LV7+XTNXj5bvw+RVfTvEMvoHkmM6p5I54RoG2qpibAEZYzxGyHBQZzXOZ7zOsfzx0t7sDbncFWyevyj9Tz+0XraxzXjwm6JjEhLZMg5rey+VQCzBGWM8UsiQs82LejZpgV3XtSVb/OOMXf9Puau38eMJbt4eeEOIkKDGNo5nhHdEhjeNYGOraJ8XW1TjyxBGWMahbYtm3HduR257tyOFJWWs3DrQeau38fn6/fx2fp9AHSIi+T81HiGd01gSOdWNLeHgxs1S1DGmEYnIjS4qpPFg+OV7QcL+WLjfr7ctJ93l3/Lq4t2EhwkZLRvydDOrTi3cyv6dYi1y4GNjCUoY0yjJiJ0io+iU3wUk85LoaSsguU7D/HlpgN8ufkAz87dzDOfbyYsJIj+HWI5r3MrhnRuRe92LQkLsRHY/ZklKGNMQAkLCWLwOa0YfE4r7hrbjcNFpXyzLZeFWw7y1ZaD/Hn2RpgN4SFBZLRvyaBOcQxMiaNfx1iiw+1Poj+xfw1jTEBrHhHKqO7O81QAh46WsGjbQRZvO8Q323P5+9zNVKjzIHGP5OYMSHHmv+rbviXtYpv5uPZNmyUoY0yTEhsVxrj0ZMalJwNQUFzGsh2HWLI9l8Xbc3lt8U7+vWA7AAkx4bRvVsY6tpDRviXpbZvbqOwNyBKUMaZJiw4PYXhXp5s6QFl5Bev3HGH5rjyW7zzEV+t388TH6wEQgU7xUfRu24L0ti3o3a4lPds0J8ouDXqFfavGGOMhJDiIdDcB/fjcjmRm5tFn4HlkZeexOjufld/ms2hbLu9m7QbcpNUqirTkGLq3bk735OZ0b9OcNi0ibMSLOrIEZYwxZxAbFVbVrb3S/iPFrP42n5XZ+azNyWfN7sN8uGpP1frmESGktW5OalI0qYnRpCbFkJoUTUJ0uCWuGrIEZYwxtZAQE87ItERGpn2XtAqKy9iw5zDrco6wLucwG/Yc4X8rdnO4qKxqmxbNQklNjKZTfBQp8VGc476ntIqiWZg9p+XJEpQxxtST6PAQ+neMo3/HuKoyVWV/QTGb9xawce8RNu0rYNO+AuZt3M/MpdnH7Z/cIoIOcZG0j4ukfWwk7WKbOctxzUiKiSAoqGm1vAI6QYnIOOBvQDDwgqpO8XGVjDFNjIiQGBNBYkwE53WJP25dQXEZ2w8cZduBo1XvO3ML+XLTfvYeLj5u29BgIal5BMktImjdopnz7n5ObB5OfHQ4CTHhATWPVuBEcgIRCQb+DowGsoFvRGSWqq71bc2MMcYRHR5S1SHjREWl5ezOO8auQ8fYlVvIt3nH2JNfRE7+MVZl5/HpmiKKyypO2i8yLLgqWcVFhREbGUpsZBgtI53llpFhtIwMJSYihJjwUKIjQogOD/HLUTUCNkEBg4DNqroVQEReByYAlqCMMX4vIjSYcxKiOSchutr1qsqhwlJy8o+x/0gxBwpK3PfiqvedBwtZmV3CocJSSqpJZp7CQoKICQ+hWVgwEaHBlBUdI2H9V0SEOp/DQ4IIDQ4iOEgIDRZCgr5bvqR3GzLat6z37yCQE1RbYJfH52xgsOcGInIzcDNAUlISmZmZtT5ZQUFBnfZvrCzupqMpxgyNJ+5490W0+6oSgmowJeVQUKoUlCpHS+FYmbovZ7moDArLKigpr6CkvIRjweUUHM7nYDmUVkBpuVKufPeq+O6z5n1LXtv6f4A5kBNUdXcT9bgPqlOBqQADBgzQESNG1PpkmZmZ1GX/xsribjqaYsxgcfuS/110rD/ZQHuPz+2A3T6qizHGmLMUyAnqGyBVRDqJSBhwDTDLx3UyxhhTQ6KqZ96qkRKRi4G/4nQzf0lVHz3NtvuBHXU4XTxwoA77N1YWd9PRFGMGi7shdFTVhBMLAzpBNSQRWaKqA3xdj4ZmcTcdTTFmsLh9WYdAvsRnjDGmEbMEZYwxxi9Zgqo/U31dAR+xuJuOphgzWNw+Y/egjDHG+CVrQRljjPFLlqCMMcb4JUtQ9UBExonIBhHZLCKTfV2f+iQiL4nIPhFZ7VEWJyKzRWST+x7rse4+93vYICJjfVPruhGR9iIyV0TWicgaEfmVWx6wcYtIhIgsFpEVbswPuuUBG7MnEQkWkeUi8r77OeDjFpHtIrJKRLJEZIlb5l9xq6q96vDCeQh4C3AOEAasAHr4ul71GN9woB+w2qPsSWCyuzwZeMJd7uHGHw50cr+XYF/HUIuYk4F+7nIMsNGNLWDjxhm7MtpdDgUWAecGcswnxP8bYDrwvvs54OMGtgPxJ5T5VdzWgqq7qmk9VLUEqJzWIyCo6hdA7gnFE4CX3eWXgcs8yl9X1WJV3QZsxvl+GhVVzVHVZe7yEWAdzuj4ARu3Ogrcj6HuSwngmCuJSDvgEuAFj+KAj/sU/CpuS1B1V920Hm19VJeGkqSqOeD8MQcS3fKA+y5EJAXoi9OiCOi43ctcWcA+YLaqBnzMrr8C9wCeEyY1hbgV+FRElrpTD4GfxR3I0200lDNO69GEBNR3ISLRwFvAnap6WKS68JxNqylrdHGrajmQISItgXdEJP00mwdEzCJyKbBPVZeKyIia7FJNWaOL2zVUVXeLSCIwW0TWn2Zbn8RtLai6a4rTeuwVkWQA932fWx4w34WIhOIkp1dV9W23OODjBlDVPCATGEfgxzwUGC8i23Euz18oIv8l8ONGVXe77/uAd3Au2flV3Jag6q4pTusxC5jkLk8C3vMov0ZEwkWkE5AKLPZB/epEnKbSi8A6VX3aY1XAxi0iCW7LCRFpBlwErCeAYwZQ1ftUtZ2qpuD87n6uqtcR4HGLSJSIxFQuA2OA1fhb3L7uSRIIL+BinJ5eW4D7fV2feo7tNSAHKMX5X9SNQCvgM2CT+x7nsf397vewAfier+tfy5iH4Vy+WAlkua+LAzluoDew3I15NfBHtzxgY67mOxjBd734AjpunF7HK9zXmsq/W/4Wtw11ZIwxxi/ZJT5jjDF+yRKUMcYYv2QJyhhjjF+yBGWMMcYvWYIyxhjjlyxBGWOM8UuWoIwxxvglS1DGGGP8kiUoY4wxfskSlDHGGL9kCcoYY4xfsgRljDHGL1mCMqYeicj5IrLB1/VoCCJyuYjsEpECEekrIttF5CJf18sEDktQxtQjVf1SVbv5uh4N5P8Bv1TVaFVd7uvKmMBjCcoYU1sdceYSMsYrLEGZJklE2ojIWyKyX0S2icgdHuseEJE3ROQVETkiImtEZIDH+n4istxdN1NEZojII+66ESKS7bHtdhG5S0RWiki+u22Ex/pLRSRLRPJE5CsR6X2aOquI3CYim9xzPywinUVkoYgcdusc5m4bKyLvu/EdcpfbeRzrehHZ6h5nm4hc65Z3EZF5bl0PiMiMauoRLiIFQDCwQkS2nGKbv4rIbvf1VxEJd9fNE5EfuMvD3Lgudj9fJCJZNfgnNE2AJSjT5IhIEPA/nNlE2wKjgDtFZKzHZuOB14GWONNdP+vuGwa8A0wD4nBmHL78DKe8ChgHdMKZufZ691j9gJeAW3BmMv0XMKvyD/kpjAP6A+cC9wBTgWuB9kA6MNHdLgj4N04rpwNwzCOGKOAZnFlRY4DzcGYNBngY+BSIBdoB/3diBVS1WFWj3Y99VLVzNfW8361jBtAHGAT83l03D2f2WoDhwFbgAo/P804Tv2lCLEGZpmggkKCqD6lqiapuBZ4HrvHYZr6qfqiq5cB/cP7IgvNHNwR4RlVLVfVtYPEZzveMqu5W1VycxJjhlt8E/EtVF6lquaq+DBS75ziVJ1T1sKquwZma/VNV3aqq+cBHQF8AVT2oqm+paqGqHgEe5bskAFABpItIM1XNcY8HUIqT1NqoapGqzj9DbKdyLfCQqu5T1f3Ag8CP3XXzOD4hPe7x+QIsQRmXJSjTFHUE2riX1fJEJA/4HZDksc0ej+VCIEJEQoA2wLeqqh7rd53hfCceq7L10RH47Qn1aO+e41T2eiwfq+ZzNICIRIrIv0Rkh4gcBr4AWopIsKoeBa4GbgVyROQDEUlzj3EPIMBi99LmT88Q26m0AXZ4fN7hEddCoKuIJOEk61eA9iISj9PS+qKW5zQBxhKUaYp2AdtUtaXHK0ZVL67BvjlAWxERj7L2dajHoyfUI1JVX6vl8Tz9FugGDFbV5jgtFXCSD6r6iaqOBpKB9TgtSFR1j6repKptcC49/kNEutTi/LtxEnClDm4ZqloILAV+BaxW1RLgK+A3wBZVPVCL85kAZAnKNEWLgcMicq+INBORYBFJF5GBNdh3IVAO/FJEQkRkAs7/+mvjeeBWERksjigRuUREYmp5PE8xOC2qPBGJA/5UuUJEkkRkvHsvqhgowIkJEbnSozPFIUAr152l14Dfi0iC2zL6I/Bfj/XzgF/y3eW8zBM+G2MJyjQ97n2l7+NcXtoGHABeAFrUYN8S4ArgRiAPuA54H+cP/dnWYwnOfahncZLBZtwOFPXgr0AznNi+Bj72WBeE08LaDeTi3Pe5zV03EFjk9tKbBfxKVbfV4vyPAEuAlcAqYJlbVmkeThL94hSfjUGOv5RujDlbIrII+Keq/tvXdTEmkFgLypizJCIXiEhr9xLfJJyu4x+faT9jzNkJ8XUFjGmEugFv4PSY2wL8UFVzfFslYwKPXeIzxhjjl+wSnzHGGL/U6C/xichLwKXAPlVNd8sewOkdtd/d7Heq+uHpjhMfH68pKSm1rsfRo0eJioqq9f6NlcXddDTFmMHibghLly49oKoJJ5Y3+gSFMybaszhPo3v6i6r+v5oeJCUlhSVLltS6EpmZmYwYMaLW+zdWFnfT0RRjBou7IYjIjurKG/0lPlX9AudZDmOMMQEkIDpJiEgK8P4Jl/iuBw7jPCz4W1U9VM1+NwM3AyQlJfV//fXXa12HgoICoqOjz7xhgLG469fGQ+W8vamECj/8tSwvLyc4ONjX1WhwFrejdVQQN/QM4/hRvurHyJEjl6rqgBPLAzVBJeE8Qa840wckq+ppB70cMGCA2iW+s2dx16+H31/Ly19tZ2BKXL0fu67y8g7RsmWsr6vR4CxuyMk/xvaDhax9aCyRYfV/Z0hEqk1QgXAP6iSqWjXCs4g8jzMUjTF+b8/hIjrERfLazaebcaPuSktLyc7OpqioqMb7FBWFExERceYNA4zFDUeLozhUWMqWTRsICar9naGIiAjatWtHaGhojbYPyAQlIskeD05ejjNvjjF+b09+EUnNvf/HMDs7m5iYGFJSUmp8yebIkSPExNTHOLaNi8UNh4+Vsv3gUTonRte6BaWqHDx4kOzsbDp16lSjfRp9JwkReQ1nhOluIpItIjcCT4rIKhFZCYwEfu3TShpTQ3vyi2jdwvsJqqioiFatWnnlfoIJPMFBzs9JWR1ujooIrVq1OqtWe6NvQanqxGqKX2zwihhTRxUVyr4jDZOgAEtOpsZC3ARVXl63Pgtn+zPX6FtQxgSKg0dLKC1XWjfAJT5jzkZIcN1bULVhCcoYP7H3sHPpoyHuQfmDZ555hu7du3PttdfWav+UlBQOHDh58l1fP/aQmZnJpZdeWm/Hu/3224+Laf369QwZMoTw8HD+3//7biyCDRs2kJGRUfVq3rw5f/3rXwHIzc1l9OjRpKamMnr0aA4dOumpG4qKihg0aBB9+vShZ8+ePProo1XrgkQQEcorKrj++ut588036y2+07EEZYyf2JPvJKjkBrrE52v/+Mc/+PDDD3n11Vd9XZUqZWVlvq7CcZYsWUJeXt5xZXFxcTzzzDPcddddx5V369aNrKwssrKyWLp0KZGRkVx++eUATJkyhVGjRrFp0yZGjRrFlClTTjpXeHg4n3/+OStWrCArK4s5c+bw9ddfA86luZAgsRaUMU3VHrcF1VD3oHzp1ltvZevWrYwfP56//OUvPPDAA8e1BtLT09m+fTsA//3vfxk0aBAZGRnccsstlJefeQb63/72t/Tr149Ro0axf78zJOeIESOqhjM7cOAAlWNvTps2jSuvvJLvf//7jBkzhmnTpnHFFVcwbtw4UlNT+cMf/lB13E8//ZQhQ4bQr18/rrzySgoKCgD4+OOPSUtLY9iwYbz99tv18RVRXl7O3XffzZNPPnlceWJiIgMHDjxtV+3PPvuMzp0707FjRwDee+89Jk2aBMCkSZN49913T9pHRKpaaqWlpZSVlR13zyg4SCg74R7UH/7wB66//noqKir48MMPq76DO+64o15akY2+k4QxgWJPfhHBQUJ8dHiDnvfB/61h7e7DZ9zubEZU6NGmOX/6fs9Trv/nP//Jxx9/zNy5c4mPj+eBBx6odrt169YxY8YMFixYQGhoKLfddhuvvvoqP/nJT0557KNHj9KvXz/+/Oc/89BDD/Hggw/y7LPPnra+CxcuZOXKlcTFxTFt2jSysrJYvnw54eHhdO3ald/+9rc0a9aMRx55hDlz5hAVFcUTTzzB008/zT333MNNN93E559/TpcuXbj66qurPceGDRtOuS4zM5OWLVseV/bss88yfvx4kpOTT1v36rz++utMnPhd/7G9e/dWHSc5OZl9+/ZVu195eTn9+/dn8+bN3HTTTQwePLhqXUiQUO7RgrrnnnvIz8/n3//+N8XFxdxyyy188cUXdOrU6bhz14UlKGP8xJ7DRSTGhFd16TVOS2Dp0qUMHDgQgGPHjpGYmHjafYKCgqoSwXXXXccVV1xxxvOMHj2auLjvRu8YNWoULVq0AJxLZzt27CAvL4+1a9cydOhQAEpKShgyZAjr16+nU6dOpKamVp1z6tSpJ52j8hJcTezevZuZM2eSmZlZo+09lZSUMGvWLB5//PGz3jc4OJisrCzy8vIYP348q1evJj093VkXJBSVVgDw8MMPM3jw4Ko4169fzznnnFP1fNPEiROr/Q7OliUoY/zE3sMN85DuiU7X0vHkzQdWQ0JCqKioqPpc+ayMqjJp0qRa/bGtVHmZyvMcJz6Lc+K0EuHh37Vig4ODKSsrQ1UZPXo0r7322nHbZmVl1aj79Nm0oJYvX87mzZvp0qULAIWFhXTp0oXNmzef8TwfffQR/fr1IykpqaosKSmJnJwckpOTycnJOWOSb9myJcOGDePjjz+uSlAhQUGUVTj36AYOHMjSpUvJzc0lLi4Obw2ZZ/egjPETOflFTbaLeUpKCsuWLQNg2bJlbNu2DXBaMm+++WbVJanc3Fx27Kh2ZoYqFRUVVb3Mpk+fzrBhw6rOsXTpUoBa9UI799xzWbBgQVWSKCwsZOPGjaSlpbFt2za2bNkCcFICq+TZieHE14mX9y655BL27NnD9u3b2b59O5GRkTVKTpXnP/ES2/jx43n55ZcBePnll5kwYcJJ++3fv7+qQ8axY8fIzMwkLS2tan1I8HeX+MaNG8fkyZO55JJLOHLkCGlpaWzdurXqvuGMGTNqVNczsQRljJ/Y20CjSPijH/zgB+Tm5pKRkcFzzz1H165dAejRowePPPIIY8aMoXfv3owePZqcnJzTHisqKoo1a9bQv39/Pv/8c/74xz8CcNddd/Hcc89x3nnnVds9/UwSEhKYNm0aEydOpHfv3px77rmsX7+eiIgIpk6dyiWXXMKwYcOqOiZ4y549e2jXrh1PP/00jzzyCO3atePwYeceYmFhIbNnzz7psubkyZOZPXs2qampzJ49m8mTJwPOpcSLL74YgJycHEaOHEnv3r0ZOHAgI0eOPK6jQ+Wl5wq3tXTllVdy0003MX78eMDplTlu3DiGDRtGUlJS1SXSugiI0czrg41mXjsWd/0oKC4j/U+fMPl7adx6Qed6O+6prFu3ju7du5/VPjYmXdNyYtx5hSXszC2ka1IMEaEnd5apnIJGVfnFL35Bamoqv/71yaPMVfezd6rRzK0FZYwfqHwGqqle4jP+L+QM4/E9//zzZGRk0LNnT/Lz87nlllvqfs46H8EYU2dNbRQJ0/gEu9NslJdXVLv+17/+dbUtprqwFpQxfsAXo0jY5X1zNupjPL6z/ZmzBGWMH2joUSQiIiI4ePCgJSlTY3WdcqNyPqizmfzRLvEZ4wf25BfRollotTefvaFdu3ZkZ2dXDQNUE0VFRU10ZlmLu9L+vGMcDQshN7JmM+KeqHJG3ZqyBGWMH9hzuKhBL++FhobWeFbTSpmZmfTt29dLNfJfFvd3bn1qLhntW/K3a3o3SB3sEp8xfqChpno3pi5iI8PIPVrSYOezBGWMH9hzuOmOImEaj1ZRlqDOioi8JCL7RGS1R1mciMwWkU3ue6wv62jM6ZSWV3CgoLjJjiJhGo/YqDAOWYI6K9OAcSeUTQY+U9VU4DP3szF+ad+RYlSbxjxQpnFrFRXGwaMlDdb7s9EnKFX9Asg9oXgC8LK7/DJwWUPWyZizYaNImMYiNiqM4rIKjpWeedLI+hAQY/GJSArwvqqmu5/zVLWlx/pDqnrSZT4RuRm4GSApKan/66+/Xus6VI5D1dRY3HX3zZ4y/p5VzMNDm9E+xn//z2j/1k1LdXF/mV3Ki6tLeGp4MxIi6+9ndeTIkdWOxYeq+s0LeAxo6fE5FnikBvulAKs9PuedsP7QmY7Rv39/rYu5c+fWaf/GyuKuuxe+3Kod731fcwuK6+2Y3mD/1k1LdXHPXrNHO977vq7YdahezwUs0Wr+Lvvbf9e+p6p5lR9U9RBwcS2Os1dEkgHc9+rnNzbGD+w9XERYSBAta/nwozENJTYqDICDDdRRwt8SVLCIVE1lKSLNgPDTbH8qs4BJ7vIk4L16qJsxXrHHnaiwJrOyGuNLrdwE1VA9+fxtJIn/Ap+JyL8BBX7Kd50dqiUirwEjgHgRyQb+BEwB3hCRG4GdwJXerLQxdbHncNOdqNA0LpUtqIZ6FsqvEpSqPikiK4GLAAEeVtVPzrDPxFOsGlXf9TPGG/bkF5HRvqWvq2HMGTWPCCEkSJpmgnKtA8pUdY6IRIpIjKoe8XWljPEGVbUWlGk0RITYBhxNwq/uQYnITcCbwL/corbAuz6rkDFelldYSklZhT0DZRqNhhzuyK8SFPALYChwGEBVNwGJPq2RMV6Uk9+w80AZU1cNOWCsvyWoYlWtilxEQnA6SxgTkGyqd9PYxEWHkVvYNBPUPBH5HdBMREYDM4H/+bhOxnhN5Uy6DTkXlDF1EdeEW1CTgf3AKuAW4EPg9z6tkTFelJNfhAgkxNTmcT9jGl5cVBj5x0opK6/w+rn8qhefqlYAzwPPi0gc0M4dBsOYgLQ3v4j46HBCg/3t/4rGVC8uKgxVyDtWSny0d/9j5Ve/FSKSKSLN3eSUBfxbRJ72cbWM8RqbqNA0NnENOJqEXyUooIWqHgauAP6tqv1xHto1JiDtybdnoEzjEteA4/H5W4IKcQd3vQp439eVMcbbrAVlGpum3IJ6CPgE2Kyq34jIOcAmH9fJGK84VlJO/rFSa0GZRqUhW1B+0UlCRCYCn6rqTJyu5QCo6lbgBz6rmDFeVNnF3FpQpjGpnBamIVpQfpGggI7ATBEJBT4DPgIWWw8+E8j22CgSphEKDwkmJjyk6dyDUtUpqnohzuSEK3Cm2VgmItNF5CcikuTbGhpT/2wUCdNYxUaFcagBRpPwlxYUAO6o5e+4L0SkB/A94BVgrA+rZky9s3H4TGMV10ADxvpVghKRftUUvwv8rYGrYozX7T1cREx4CNHhfvVraMwZxUWFVV0B8CZ/+834B9APWIkzYWG6u9xKRG5V1U99WTlj6tOe/CKSrPVkGqG4qDDW5xz2+nn84h6Uh+1AX1Ud4D6k2xdYjfOw7pO+rJgx9S3ncJENEmsapbioMA4eLcHb/dj8rQWVpqprKj+o6loR6auqW0XkrA8mItuBI0A5ziy9A+qtpsbU0d78IlIT431dDWPOWlxUGMVlFRwrLScyzHtpxN8S1AYReQ543f18NbBRRMKB0loec6SqHqiX2hlTT8orlP0FxfYMlGmU4iLdh3ULSoiMazoJ6u/AQOBOnHtQ83GeiSoBRvquWsbUrwMFxZRXqN2DMo1S1XBHhSW0j4v02nnEn56FFZFlwPWqutL9PBG4U1UH1/J424BDOLPy/ktVp56w/mbgZoCkpKT+r7/++skHqaGCggKio6NrvX9jZXHXzta8ch76uohf9Qunb6K//T+xevZv3bScLu7Nh8p5ZFERv+kfTu+Euv/8jhw5cmm1t2BU1W9ewDnAMiAN+BnwJc4I57U9Xhv3PRHnAeDhp9q2f//+Whdz586t0/6NlcVdOx+tytGO976vq7Lz6qdCDcD+rZuW08W9bX+Bdrz3fX1r6a56ORewRKv5u+xXvfjUGXvvGuBt4EpgjKrm1+F4u933fTgP/w6qj3oaU1c2ioRpzGLdS3zefljXL64tiMgqnMtwleKAYGCRiKCqvWtxzCggSFWPuMtjcEZLN8bncvKLCA0WWrm/6MY0Js0jQggJkqaRoIBLvXDMJOAdt3t6CDBdVT/2wnmMOWt7DxeRGBNBUNDZPz5hjK+JCLENMNyRXyQoVd3hhWNuBfrU93GNqQ82k65p7Fo1QILyq3tQxjQVu/OP2TNQplGLjbQEZUzA2XmwkB0HC8lo39LXVTGm1uKiwsj18pQblqCMaWCfrNkDwLj01j6uiTG11xBTbliCMqaBfbxmDz2Sm3v1CXxjvC02Koz8Y6WUlVd47RyWoIxpQPsOF7F0xyFrPZlGr1VUGKqQd6y2w6SemSUoYxrQJ2v3AnZ5zzR+lQ/rHvLiZT5LUMY0oE/X7OGc+ChSE5ve2G4msFQ+ZH7QEpQxjV9eYQkLtxxkbHprajO/mTH+JDbSWlDGBIzP1u2jrEIZ29Mu75nGr1W0taCMCRgfr9lDcosIerdt4euqGFNnLSNDAWtBGdPoHS0u44uN+xnbs7WNv2cCQnhIMDHhIdaCMqaxm7dxP8VlFXZ5zwSU2KgwDnlxNAlLUMY0gI9X7yEuKoyBKbG+roox9cbbo0lYgjLGy4rLyvl8/T5Gd08iJNh+5UzgsARlTCP31ZaDFBSXMTY9yddVMaZexUWFWScJYxqzT1bvITo8hPM6x/u6KsbUq7ioMA4eLUFVz7xxLViCMsaLyiuUT9fuZWRaIhGhwb6ujjH1Ki4qjOKyCo6Vlnvl+JagjPGib7bnknu0hHHWe88EoDh3NImDBd65zBfQCUpExonIBhHZLCKTfV0f0/R8vHoPYSFBjOiW4OuqGFPvqgaM9VJX84BNUCISDPwd+B7QA5goIj18WyvTlKgqn6zZw/DUeKLCQ3xdHWPqXZyXB4wN5N+aQcBmVd0KICKvAxOAtfV9oo9X5/DrOUcJmftJfR/a75WVl1ncp6BAQXEZvxndtWEqZUwDi/PylBuBnKDaArs8PmcDgz03EJGbgZsBkpKSyMzMrNWJ9h4u59xEJTS0dhVtzEpLLe7TCQ8OpXn+ZjIzt3i/Ul5WUFBQ69+RxsziPrWiMuWiDiHk7txA5uHN9V6HQE5Q1Q14dlxfSFWdCkwFGDBggI4YMaLWJ+uYmUld9m+sMi3uJqMpxgwW95mMu8h7dQjYe1A4Lab2Hp/bAbt9VBdjjDFnKZAT1DdAqoh0EpEw4Bpglo/rZIwxpobEW08A+wMRuRj4KxAMvKSqj55m2/3AjjqcLh44UIf9GyuLu+loijGDxd0QOqrqSc9iBHSCakgiskRVB/i6Hg3N4m46mmLMYHH7sg6BfInPGGNMI2YJyhhjjF+yBFV/pvq6Aj5icTcdTTFmsLh9xu5BGWOM8UvWgjLGGOOXLEEZY4zxS5ag6kEgT+shIi+JyD4RWe1RFicis0Vkk/se67HuPvd72CAiY31T67oRkfYiMldE1onIGhH5lVsesHGLSISILBaRFW7MD7rlARuzJxEJFpHlIvK++zng4xaR7SKySkSyRGSJW+ZfcauqverwwnkIeAtwDhAGrAB6+Lpe9RjfcKAfsNqj7Elgsrs8GXjCXe7hxh8OdHK/l2Bfx1CLmJOBfu5yDLDRjS1g48YZuzLaXQ4FFgHnBnLMJ8T/G2A68L77OeDjBrYD8SeU+VXc1oKqu6ppPVS1BKic1iMgqOoXQO4JxROAl93ll4HLPMpfV9ViVd0GbMb5fhoVVc1R1WXu8hFgHc7o+AEbtzoK3I+h7ksJ4JgriUg74BLgBY/igI/7FPwqbktQdVfdtB5tfVSXhpKkqjng/DEHEt3ygPsuRCQF6IvTogjouN3LXFnAPmC2qgZ8zK6/AvcAFR5lTSFuBT4VkaXu1EPgZ3EH8nQbDeWM03o0IQH1XYhINPAWcKeqHhapLjxn02rKGl3cqloOZIhIS+AdEUk/zeYBEbOIXArsU9WlIjKiJrtUU9bo4nYNVdXdIpIIzBaR9afZ1idxWwuq7pritB57RSQZwH3f55YHzHchIqE4yelVVX3bLQ74uAFUNQ/IBMYR+DEPBcaLyHacy/MXish/Cfy4UdXd7vs+4B2cS3Z+FbclqLpritN6zAImucuTgPc8yq8RkXAR6QSkAot9UL86Eaep9CKwTlWf9lgVsHGLSILbckJEmgEXAesJ4JgBVPU+VW2nqik4v7ufq+p1BHjcIhIlIjGVy8AYYDX+Freve5IEwgu4GKen1xbgfl/Xp55jew3IAUpx/hd1I9AK+AzY5L7HeWx/v/s9bAC+5+v61zLmYTiXL1YCWe7r4kCOG+gNLHdjXg380S0P2Jir+Q5G8F0vvoCOG6fX8Qr3taby75a/xW1DHRljjPFLdonPGGOMX7IEZYwxxi9ZgjLGGOOXLEEZY4zxS5agjDHG+CVLUMbUgoi0FJHbPD63EZE3vXSuUBFZ6o1j14WIpHiOcm9MfbMEZUzttASqEpSq7lbVH3rpXMOAr7x0bGP8liUoY2pnCtDZnUvnKc/WhIhcLyLvisj/RGSbiPxSRH7jzjf0tYjEudt1FpGP3cE6vxSRtFOcaxzwkWeBO7DrNBFZ7c7p8+vTHVNEkkTkHXe+pxUicp5b/hv3GKtF5E63LEWcubCeF2duqE/d0SUQkf7u/guBX3jUp6c480llichKEUmtx+/aNFW+fqLZXvZqjC8ghePnyKr6DFyPMx1BDJAA5AO3uuv+gjP4LDhP6qe6y4Nxhtmp7lyLgcgTyvrjjDhe+bnl6Y4JzPA4bzDQwj3GKiAKiMYZUaCvG0sZkOFu/wZwnbu8ErjAXX7KI+b/A651l8OAZr7+N7JX43/ZaObGeMdcdeaSOiIi+cD/3PJVQG93pPTzgJkeo6SHn3gQEWkD5Kpq4QmrtgLniMj/AR/gTJtwumNeCPwEqkYtzxeRYcA7qnrUPdfbwPk4465tU9Usd9+lQIqItMBJhPPc8v8A33OXFwL3u3Mrva2qm2r4PRlzSpagjPGOYo/lCo/PFTi/d0FAnqpmnOE43wM+ObFQVQ+JSB9gLM6ltquAO2t4zEqnnD+E4+tfDjRzt692bDRVnS4ii3Am/vtERH6mqp/XsB7GVMvuQRlTO0dwLuHViqoeBraJyJXgjKDuJpwTnXT/yd0+HghS1beAP+BMUX+6Y34G/NwtDxaR5sAXwGUiEumOaH058OVp6pzHdy0vgGs96nMOsFVVn8FpgfWu4VdhzClZgjKmFlT1ILDA7VzwVC0Pcy1wo4hUjig9wXOliATj3E+qbiK5tkCmODPgTgPuO8MxfwWMFJFVOJfseqozrf00nHtci4AXVHX5Gep8A/B3t5PEMY/yq4HVbn3SgFfOcBxjzshGMzfGT7ktletU9VZf18UYX7AEZYwxxi/ZJT5jjDF+yRKUMcYYv2QJyhhjjF+yBGWMMcYvWYIyxhjjlyxBGWOM8Uv/H+SOpinwdNXCAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "m = ConcreteModel()\n", "m.t = ContinuousSet(bounds=(0, 1))\n", "m.h = Var(m.t)\n", "m.u = Var(m.t, bounds=(0, u_max))\n", "m.T = Var(domain=NonNegativeReals)\n", "\n", "m.v = DerivativeVar(m.h, wrt=m.t)\n", "m.a = DerivativeVar(m.v, wrt=m.t)\n", "\n", "m.fuel = Integral(m.t, wrt=m.t, rule = lambda m, t: m.u[t]*m.T)\n", "m.obj = Objective(expr=m.fuel, sense=minimize)\n", "\n", "m.ode1 = Constraint(m.t, rule = lambda m, t: m_total*m.a[t]/m.T**2 == -m_total*g + v_exhaust*m.u[t])\n", "\n", "m.h[0].fix(h_initial)\n", "m.v[0].fix(-v_initial)\n", "\n", "m.h[1].fix(0) # land on surface\n", "m.v[1].fix(0) # soft landing\n", "\n", "solve(m)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "GsfF_3Do-oHb" }, "source": [ "## Version 3: Rocket model\n", "\n", "The first version of the rocket model has run into a serious problem because it appears not to provide enough mass flow to the engine to prevent a crash landing. But that may be an artifact of the assumption of constant mass. For Apollo 11 Lunar Module, for example, the fuel in the descent engine comprises more than 50% of the total mass of the lander.\n", "\n", "For the second version of the rocket model, we augment the model with a mass balance for fuel. This yields \n", "\n", "$$\n", "\\begin{align*}\n", "\\frac{m(t)}{T^2}\\frac{d^2h}{d\\tau^2} & = - m(t)g + v_eu \\\\\n", "\\\\\n", "\\frac{1}{T}\\frac{dm}{d\\tau} & = -u\n", "\\end{align*}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "U-3yVHHsJJO4" }, "source": [ "At this point we need to worry about nonsensical answers to the optimization for minimum fuel. For this purpose we add upper and lower bounds on $T$ that should restrict the solver to meaningful solutions." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 297 }, "colab_type": "code", "executionInfo": { "elapsed": 1265, "status": "ok", "timestamp": 1558787423919, "user": { "displayName": "Jeffrey Kantor", "photoUrl": "https://lh5.googleusercontent.com/-8zK5aAW5RMQ/AAAAAAAAAAI/AAAAAAAAKB0/kssUQyz8DTQ/s64/photo.jpg", "userId": "09038942003589296665" }, "user_tz": 240 }, "id": "rE5Az9d-DWn9", "outputId": "787503c8-68a4-450d-f056-4ca0d0d23a9f" }, "outputs": [ { "data": { "image/png": "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Kipi7dq1tG/fnttuu42RI0eycOHCg/Y544wzmDhxIrW1tWzfvp2vv/66SVf8dO7cme3bt9cXONXV1SxZsuSo+wwePJhJkyYBsHTpUhYtWlT/XmhoKNXVhy9KejRXXnkl8+fPP+yroeGpRx99lOLiYgoLC5kwYQJnnXVWfXEDMHXqVLp06VLfgwUwfPhwFi5cSEVFBTU1NXz11Vd069btsGNnZmby1VdfAfDFF18c1msGsH79elJTU7n++uu57rrrmDt3Lqeeeirffvstq1evBlxzlFauXEmXLl3YtGkTs2a5lo8rKyujpqaGM844g//973+Aa/hsw4YNdO7c+bBzHTBgwAAKCgooKSmhurqaN954o/69hn52PM16cIxpoojQYHplHTzHp65O2VBawaKNu1m8cTeLN+3mw4WbeH3mBgBCg4XO6bH0zkqgd3YCudkJnNIqxi/v6WXMof7v//6PVatWoaoMGzaM3r1789hjj/Hqq68SGhpKeno6v//97w/a59JLL2X69On07t0bEeEvf/kL6enpLF++/LjOHRYWxptvvsltt93G7t27qamp4Y477qB79yP3ft18881cffXV9OrViz59+tCrV6/6YZUbbriBXr160bdvXx555LAl2DxuwoQJBw1PASQmJvLrX/+a/Px8RITzzz+fCy64AICf//zn3HTTTeTl5fHcc89x++23U1NTQ0REBOPGjTvs+AUFBfz1r38lNDSUmJgYXn75ZVq1asX48eO54oor2L9/PwAPP/wwnTp1YuLEidx6663s27ePyMhIpk6dys0338xNN91Ez549CQkJYfz48Qf13BwqIyODBx98kIEDB5KRkUHfvn3r52Q19LPjaWJXirjk5eXp7NmzPXJsu0+Pd/lbvlWVotJ9LN60m0Ubd7OweBcLi3bXz+uJCQ+hZ+t4p+BxPabHRbSoS9f9LectwbJly+jatWuT97d7Ix1bbW0t1dXVREREsGbNGoYNG8bKlSsJCws77mNZvj3v0H8TBQUFDB06dI6q5jXleNaDY4yHiQhtkqNokxzF+T1dkyLr6pS1O/ayoGgX84t2saB4F89PW0t1res/HGlx4fRrm0jfNon0a5tI98x4m89jzHGqqKhg6NChVFdXo6o8++yzTSpuTMtkBY4xPhAUJHRIjaFDagyj+rnG4Cura1m2eQ/zi3Yxb8Mu5qzfyUeLtgAQHhJEr6x4+rZNpF+bRPq2TSQl5shdxcYYiI2NxVM988b/WYFjjJ+ICA2mT5tE+rRJ5FrXVZxs2V3J3A07mbt+J3M27OSFaev4T+1aANqlRJOfk0j/dsn0z0kiOymyRQ1rGdfwpX3PjDm+K94aywocY/xYenwE5/fMqB/aqqyuZfHG3cxZv5NZhTv5dMlWJs0uBlzDWq5iJ5H8dkl0So21tXn8WEREBCUlJSQnJ1uRY05qqkpJSclh99w6UVbgGNOCRIQGk5eTRF5OEjee6ZrLs2pbOTPXlTCzcCez1pXy/oJNAMRHhtK/XRID2ycz8JRkOqdZweNPsrKyKC4uZvv27U3av7Kystn/IJgjs3x7VkRExEGXzDcHK3CMacGCglyXnXdOj+UnA3Pqr9iaWVjKzHUlfL+2lClLtwKQGBXKqU6xc2r7ZDqmxljPgQ+FhobSrl27Ju9fUFBQvwy+8TzLd8tjBY4xAcT9iq3LnMnLxTsr+H5tKdPXlPD92hI+XuyauJwSE8aA9skM7pDC4A4pZCdF+TJ0Y4xpVlbgGBPgshKjuKyfq+A50MMzfe0Opq8p4bs1JXy40HVH5rbJUfXFzmmnpBAfZTcVNca0XFbgGHMS+aGHpw1j8tugqqzeVs601TuYtmoH787byP9mbCBIoGfreAZ3TGFQhxTy2ibZOjzGmBbFChxjTmIiQse0WDqmxXLtoHZU19Yxv2gX01btYNrqHfz7q7X868s1RIcFM/CUFIZ0bsWZnVrZcJYxxu9ZgWOMqRcaHER+ThL5OUn86pxOlFVW892aEr5euZ2CFduZusw1Ybl9q2jO7OQqdk5t79k7AhtjTFNYgWOMOaLYiFCGd09nePd0VF23l/hqxXa+Wrmd12Zs4MVvCwkPCaJjgrA+rJCzuqRa744xxi9YgWOMaRQR4ZRWMZzSKoafDW5HZXUtM9aVUrBiGx/PW88Dk5fwwOQldEyN4ayuqZzVOZV+bRMJCba5O8YY72tUgSMig4D5qrpXRK4C+gJPqup6j0ZnjPFbEaHB9cNUZ8Zup033PL5Yvo0vV2zj+W/W8Z+v1hIfGcqZnVpxVpdUhnRuRUKU3ejQGOMdje3BeRboLSK9gbuB54GXgTM9FZgxpmVp3yqG9q1i+Pnp7dlTWc20VTtcBc/ybUxesIngICE/J5FzuqVzbrc0G8oyxnhUYwucGlVVEbkYV8/N8yJytScDM8a0XHERofX30KqrUxYU72Lqsq1MWbqVP36wlD9+sJQu6bGc2y2Nc7ql06N1nK2qbIxpVo0tcMpE5D7gKuAMEQkGbBUwY8wxBQVJ/V3S/294F9aX7GXK0q18tnQrT3+5mqe+WE1GfARnd01jePd0BrRPItTm7RhjTlBjC5wxwI+B61R1i4i0Af7qubCMMYGqbXI0Pz+9PT8/vT2le6v43OnZeWNOEa98v56EqFDO6ZrGiB7pDO6YQnhIsK9DNsa0QMcscJzemldV9ewDbaq6AdccHGOMabKk6DBG52UzOi+bfVW1fL1qO58s3sInS7bwxpxiYsJDOKtLKuf1SOfMzq2ICrMLP40xjXPM3xaqWisiFSISr6q7vRGUMebkExkWXL/mTlVNHd+u2cEni7bw2dItTF6wiYjQIM7s1Irze2YwrGsaMeFW7BhjjqyxvyEqgUUiMgXYe6BRVW/zSFTGmJNaWEgQQzunMrRzKo/U9mBmYamrZ2fxFj5dspXwkCDO6pLKBb0yOKtLqvXsGGMO09jfCh86X8YY41UhwUGcdorrDucPXtSd2et38uHCTXy0eAsfL95CZGgwZ3VN5cKeGQzpnEpkmM3ZMcY0ssBR1ZdEJBJoo6orPByTMcY0KChI6N8uif7tkvj9Rd2Zua6UDxdt4uNFW/hw4WaiwoI5u2saI3tnckanVnYHdGNOYo1dyfgi4G9AGNBORHKBh1R1pAdjM8aYIwoOEgaekszAU5J58KLuzFhXygcLN/PJ4s1MXrCJ+EjXWjwX52bSPyeJoCBbZ8eYk0ljh6geBPoDBQCqOl9E2jX1pCJSCJQBtbgWEcwTkSRgIpADFAKXq+pOZ/v7gOuc7W9T1U+d9n7AeCAS+Ai43VmQMBzXVV79gBJgjKoWNjVeY4x/CwkOYlCHFAZ1SOGhi7szbdUO3pu/kffmb+T1mRtIj4vgot4ZXJzbmu6ZtqigMSeD41nJePchvxT0BM89VFV3uL2+F/hcVR8TkXud1/eISDdgLNAdyASmikgnVa3FdQuJG4DvcRU4I4CPcRVDO1W1g4iMBf6May0fY0yACw0OYmiXVIZ2SaWiqoapy7Yxef5Gxn9XyHPfrKN9q2gu7t2ai3MzyUmJ9nW4xhgPaWyBs1hEfgwEi0hH4Dbgu2aO5WJgiPP8JVy9Rfc47RNUdT+wTkRWA/2dXqA4VZ0OICIvA5fgKnAuxtXrBPAm8LSIiKqeaFFmjGlBosJCGNk7k5G9M9lVUcXHi7fw3vyNPPH5Sh6fupK+bRK4tE9rLuiVSVK03QjUmEAijfmbLyJRwG+Ac52mT4E/OkXH8Z9UZB2wE1cv0H9UdZyI7FLVBLdtdqpqoog8DXyvqq867c/jKmIKgccOLEAoIqcD96jqhSKyGBihqsXOe2uAAYf0GCEiN+DqASItLa3fhAkTmvJxjqm8vJyYmBiPHNsczvLtfS0t5yX76pixuYbvNtVQXK4EC/RMCea01iHktgomLNj/h7BaWs5bOsu395WXl3PRRRfNUdW8puzf2B6cC1T1N7iKHABEZDTwRlNOCgxS1U0ikgpMEZHlR9m2od80epT2o+1zcIPqOGAcQF5eng4ZMuSoQTdVQUEBnjq2OZzl2/taYs5HAarKss1lvOvM13lm/n5iw0M4r2c6l/RpzYB2yQT76eTklpjzlszy7X0FBQUntH9jC5z7OLyYaaitUVR1k/O4TUTewTWBeauIZKjqZhHJALY5mxcD2W67ZwGbnPasBtrd9ykWkRAgHihtSqzGmMAlInTLjKNbZhz3jOjC92tLeGfeRj5cuJlJs4tJjQ3nwl6ZjMzNpHdWvE1ONqYFOWqBIyLnAecDrUXkKbe34oCappxQRKKBIFUtc56fCzwETAauBh5zHt9zdpkMvCYi/8A1ybgjMNO5hUSZiJwKzAB+CvzTbZ+rgenAZcAXNv/GGHM0wUFSfyXWHy/uwefLt/Le/E28+v16Xvh2HW2To+rn83RMi/V1uMaYYzhWD84mYDYwEpjj1l4G/KqJ50wD3nH+JxQCvKaqn4jILGCSiFwHbABGA6jqEhGZBCzFVVTd4lxBBfALfrhM/GPnC+B54BVnQnIprquwjDGmUSLDgrmwVyYX9spk975qPl3suh/Wv75czT+/WE3XjDhG9s7kot4ZZCVG+TpcY0wDjlrgqOoCYIGIvOZse8IrGavqWqB3A+0lwLAj7PMI8EgD7bOBHg20V+IUSMYYcyLiI0O5PD+by/Oz2VZWyYcLN/Pe/E38+ZPl/PmT5eRmJ3BhrwzO75lBZkKkr8M1xjgaOwdnBLaSsTHmJJcaG8G1g9px7aB2bCip4INFm/hw4WYe/nAZD3+4jL5tEriwVybn98wgPT7C1+Eac1I7kZWMczwTkjHG+L82yVHcPKQDNw/pwLode/lo0WY+WLiZhz5YykMfLCU/J5ELemZwXs8M0uKs2DHG205kJWNjjDFAu5RobhnagVuGdmDN9nI+WriZDxdt5sH3l/Lg+0vp1zaR83qkM7x7OtlJNmfHGG/wp5WMjTGmxTulVQy3DuvIrcM6snpbGR8v2sLHi7fUD2P1bB3PiB7pnNcjnfatbOE4YzylsQXOrbgW+dsPvIazkrGngjLGmEDQITWWW4fFcuuwjqwv2csni13Fzl8/XcFfP11B57RYRjg9O10zYm2dHWOaUWMLnG7OV4jzdTGuS8d7eSguY4wJKG2To7nxzFO48cxT2LRrH58ucRU7T32xiic/X0VWYiTndkvn3O5p5LVNJCQ4yNchG9OiNbbA+R9wF7AYqPNcOMYYE/gyEyLrr8baXrafL5Zv5bMlW3l1hmtRwcSoUM7qksa53dM4o2MrIsOCfR2yMS1OYwuc7ar6vkcjMcaYk1Cr2HDG5LdhTH4b9u6v4euV2/ls6VamLN3CW3OLiQgNYnCHVpzTLZWhXVJJjbUrsoxpjMYWOA+IyH+Bz3HNwwFAVd/2SFTGGHMSig4P4Tzn0vLq2jpmrSvls6Vb+WzJFqYu2wpA76x4hnVNI35vLapq83aMOYLGFjjXAl2AUH4YolLAChxjjPGA0OAgTuuQwmkdUnjgom4s31LG58u28vnybTw+dSWq8OziLziraypnd03ltFNSiAi1oSxjDmhsgdNbVXt6NBJjjDENEhG6ZsTRNSOOX57VkR3l+3n23a/ZqAm8N28jr83YQERoEAPbJzOkcypDOreibXK0r8M2xqcaW+B8LyLdVHWpR6MxxhhzTCkx4ZyeFcqQIf3YX1PLjLWlfLF8GwUrtvHliiWAa/HBIZ1bMaRzKgPaJVnvjjnpNLbAGQxcLSLrcM3BEUBV1S4TN8YYHwoPCeaMTq04o1MroDuFO/ZSsGIbBSu389qMDbz4beFBvTund0yhXUq0zd0xAe94brZpjDHGz+WkRHNNSjuuGdSOyupapq8t4asV2w/q3WmdEMnpHVM4vWMrBnVIJiEqzMdRG9P8GlXgqOp6TwdijDGmeUWEBjO0cypDO6cC3VlfspdvVu3gm1Xb+XDhZibMKkIEemUlcHqHFE7vmEKfNomEhdgig6bla2wPjjHGmBaubXI0bZOjuerUttTU1rGgeJdT8Ozg2a/W8PSXq4kKC6Z/uyROOyWZ005JoVtGHEFBNpxlWh4rcIwx5iQUEhxEv7ZJ9GubxB1nd2JPZTXfrS7huzU7+G5NCX/6aDkACVGhnNoumdM6uAqeU1rZ/B3TMliBY4wxhriIUEb0SGdEj3QAtu6pZPqaEr5d7Sp4PlmyBYC0uHBObZ/MgHbJ9G+XZAWP8VtW4BhjjDlMWlwEl/RpzSV9WqOqFJXu49s1O+oLnvfmbwJcl6wPaJfEgPZJ9G+XRKfUWBvSMn7BChxjjDFHJSK0SY6iTXIbrujfBlVl3Y69zFhXysx1pcxYW8KHizYDkBgVSn5OEvk5SeTlJNI9M94mLRufsALHGGPMcRER2reKoX2rmPqCp3jnPr5fW+IqeJx7aAGEhwTROzuBvLaJ5Ock0bdNIvFRoT7+BOZkYAWOMcaYEyIiZCdFkZ0Uxei8bAC27alk9vqdzC7cyZz1pYz7ei3PFKwBoFNaDP3aJtG3TQJ92iTQPiXGhrVMs7MCxxhjTLNLjYvg/J4ZnN8zA4CKqhoWFO1mzvpSZhXu5IOFm3h95gYAYiNCyM1OoE92ArltEsjNTiQp2hYfNCfGChxjjDEeFxUWwsBTkhl4SjIAdXXK2h3lzNuwi3lFu5i/YRdPf7maOnVt3zY5itzsBHq2jqdXVgLdM+OIDrc/Wabx7KfFGGOM1wUFCR1SY+mQGls/rFVRVcOi4t31Bc+MtaX1V2uJQIdWMfRsHU/PrHh6ZcXTLSOeyDC7iahpmBU4xhhj/EJUWAgD2iczoH1yfdu2skoWb9zNwuLdLCrezTerd/D2vI0ABAl0TI2lW2Yc3TLi6JYZR9eMOBveMoAVOMYYY/xYamwEZ3WJ4KwuafVtW/dUOgXPLhZt3M30NSW84xQ9AOlxEQcVPV3SY2mbHE2wTWQ+qViBY4wxpkVJi4vgnG4RnNPth6KndG8VyzbvYemmPSx1Hr9auZ1aZ1JPeEgQHVJj6JwWS6f02PrHzPgIW4k5QFmBY4wxpsVLig5jUIcUBnVIqW+rrK5l1dZylm/Zw8qtZazYWs53a0rqh7gAYsND6JgWQ8fUWE5JjeaUVjGc0iqGrMRIQoJtgcKWzAocY4wxASkiNJieWa5Jye52V1SzclsZK7aUsXJrGcu3lPH58q1MnF1Vv01YcBA5KVH1BU9VSQ0JRbvISY4iIcrm+LQEVuAYY4w5qcS73U7C3a6KKtZs38ua7eWur217WbGljM+WbqW2Thm38FvX/pGh5CRH0SY5mpzkKNq6PabEhNmQl5+wAscYY4wBEqLC6Nc2jH5tEw9qr6qp441PCkht3531JXtZX1JBYcleFhTt4sOFm+rX7gGICA2idUIkWYlRtE6MJCvReZ4QSXZiJCkx4bZqs5dYgWOMMcYcRVhIEK1jghjiNqn5gKqaOjbu2ldf+BTvrKB45z6Kd+5j0cbdlO6tOvhYwUGkxYeTERdJWnwEGfERpMUd/NgqNpxQm/9zwgK6wBGREcCTQDDwX1V9zMchGWOMCSBhIUG0S4mmXUp0g+/v3V/Dxl37KN5ZwUan8Nmyp5LNuytZWLyLT5dUUlVTd9A+IpAYFUZKTBgpMeE/fMW6XreKCScpOozEqDASokOJDQ+xYbEGBGyBIyLBwL+Ac4BiYJaITFbVpb6NzBhjzMkiOjyETmmxdEqLbfB9VWVXRTWbd1eydU8lW/ZUsmV3JTvK9ztfVSwo3sWOsv3srapt8BjBQUJCZCgJUaGuoicqlISoMOIjQ4kJDyE2IsR5DCWm/rnrMSosmIjQYMJDggKuSArYAgfoD6xW1bUAIjIBuBiwAscYY4xfEBESo8NIjA6jW2bcUbfdV1XLjvL9bC/fT0l5FbsqqthVUc2ufVXsrKiuf71xVyVLNu1hz77qIxZFh8cBESHBRIQGERnqKnpcX0GEBru+QoKFkCAhJMj1PDQ4yPU6WLhucDs6pDZcxPlKIBc4rYEit9fFwAD3DUTkBuAGgLS0NAoKCjwSSHl5uceObQ5n+fY+y7n3Wc69y9/yHQq0cr4Id74OmhsdDARTp0plDeyrcT1W1OhBz6tqoapWqao78KhU1dZQVVtNVQ3sr1L21kGtQu2BR1W3566vdrKd4sTmvS9YeXn5Ce0fyAVOQ31tetAL1XHAOIC8vDwdMmSIRwIpKCjAU8c2h7N8e5/l3Pss595l+fa+Ey0oA3madjGQ7fY6C9jko1iMMcYY40WBXODMAjqKSDsRCQPGApN9HJMxxhhjvEBU9dhbtVAicj7wBK7ByBdU9ZGjbLsdWO+hUFKAHR46tjmc5dv7LOfeZzn3Lsu396UA0araqik7B3SB4y9EZLaq5vk6jpOF5dv7LOfeZzn3Lsu3951ozgN5iMoYY4wxJykrcIwxxhgTcKzA8Y5xvg7gJGP59j7LufdZzr3L8u19J5Rzm4NjjDHGmIBjPTjGGGOMCThW4BhjjDEm4FiB40EiMkJEVojIahG519fxBAoReUFEtonIYre2JBGZIiKrnMdEt/fuc74HK0RkuG+ibrlEJFtEvhSRZSKyRERud9ot5x4iIhEiMlNEFjg5/4PTbjn3IBEJFpF5IvKB89ry7UEiUigii0RkvojMdtqaLedW4HiIiAQD/wLOA7oBV4hIN99GFTDGAyMOabsX+FxVOwKfO69xcj4W6O7s84zzvTGNVwPcqapdgVOBW5y8Ws49Zz9wlqr2BnKBESJyKpZzT7sdWOb22vLteUNVNddtvZtmy7kVOJ7TH1itqmtVtQqYAFzs45gCgqp+DZQe0nwx8JLz/CXgErf2Caq6X1XXAatxfW9MI6nqZlWd6zwvw/UHoDWWc49RlwO3Ug51vhTLuceISBZwAfBft2bLt/c1W86twPGc1kCR2+tip814RpqqbgbXH2Qg1Wm370MzEpEcoA8wA8u5RznDJfOBbcAUVbWce9YTwN1AnVub5duzFPhMROaIyA1OW7PlPKSZgzU/kAba7Jp877PvQzMRkRjgLeAOVd0j0lBqXZs20GY5P06qWgvkikgC8I6I9DjK5pbzEyAiFwLbVHWOiAxpzC4NtFm+j98gVd0kIqnAFBFZfpRtjzvn1oPjOcVAttvrLGCTj2I5GWwVkQwA53Gb027fh2YgIqG4ipv/qerbTrPl3AtUdRdQgGvegeXcMwYBI0WkENd0grNE5FUs3x6lqpucx23AO7iGnJot51bgeM4soKOItBORMFyToyb7OKZANhm42nl+NfCeW/tYEQkXkXZAR2CmD+JrscTVVfM8sExV/+H2luXcQ0SkldNzg4hEAmcDy7Gce4Sq3qeqWaqag+t39ReqehWWb48RkWgRiT3wHDgXWEwz5tyGqDxEVWtE5JfAp0Aw8IKqLvFxWAFBRF4HhgApIlIMPAA8BkwSkeuADcBoAFVdIiKTgKW4rga6xen6N403CPgJsMiZEwJwP5ZzT8oAXnKuEgkCJqnqByIyHcu5N9nPuOek4Rp6BVct8pqqfiIis2imnNutGowxxhgTcGyIyhhjjDEBxwocY4wxxgQcK3CMMcYYE3CswDHGGGNMwLECxxhjjDEBxwocY4wxxgQcK3CMMcYYE3CswDHGGGNMwLECxxhjjDEBxwocY4wxxgQcK3CMMcYYE3CswDHGGGNMwLECxxjjMSJyuois8HUc3iAil4pIkYiUi0gfESkUkbN9HZcxJysrcIwxHqOq36hqZ1/H4SV/A36pqjGqOs/XwRhzsrMCxxhjmkdbYImvgzDGuFiBY4xBRDJF5C0R2S4i60TkNrf3HhSRSSLysoiUicgSEclze7+viMxz3ntDRCaKyMPOe0NEpNht20IRuUtEForIbmfbCLf3LxSR+SKyS0S+E5FeR4lZReRmEVnlnPuPInKKiEwXkT1OzGHOtoki8oHz+XY6z7PcjnWNiKx1jrNORK502juIyFdOrDtEZGIDcYSLSDkQDCwQkTVH2OYJEdnkfD0hIuHOe1+JyCjn+WDnc53vvD5bROY34ltojDmEFTjGnOREJAh4H1gAtAaGAXeIyHC3zUYCE4AEYDLwtLNvGPAOMB5IAl4HLj3GKS8HRgDtgF7ANc6x+gIvADcCycB/gMkHCoEjGAH0A04F7gbGAVcC2UAP4ApnuyDgRVy9LG2AfW6fIRp4CjhPVWOB04D5zn5/BD4DEoEs4J+HBqCq+1U1xnnZW1VPaSDO3zgx5gK9gf7Ab533vgKGOM/PANYCZ7q9/uoon98YcwRW4Bhj8oFWqvqQqlap6lrgOWCs2zbTVPUjVa0FXsH1Rxpcf7RDgKdUtVpV3wZmHuN8T6nqJlUtxVVY5Trt1wP/UdUZqlqrqi8B+51zHMmfVXWPqi4BFgOfqepaVd0NfAz0AVDVElV9S1UrVLUMeIQfigiAOqCHiESq6mbneADVuIqiTFWtVNVpx/hsR3Il8JCqblPV7cAfgJ84733FwQXNo26vz8QKHGOaxAocY0xbINMZFtolIruA+4E0t222uD2vACJEJATIBDaqqrq9X3SM8x16rAO9H22BOw+JI9s5x5FsdXu+r4HXMQAiEiUi/xGR9SKyB/gaSBCRYFXdC4wBbgI2i8iHItLFOcbdgAAznaG5nx3jsx1JJrDe7fV6t881HegkImm4ir2XgWwRScHV0/N1E89pzEnNChxjTBGwTlUT3L5iVfX8Ruy7GWgtIuLWln0CcTxySBxRqvp6E4/n7k6gMzBAVeNw9ZSAq3hBVT9V1XOADGA5rh4sVHWLql6vqpm4hs6eEZEOTTj/JlwF3AFtnDZUtQKYA9wOLFbVKuA74NfAGlXd0YTzGXPSswLHGDMT2CMi94hIpIgEi0gPEclvxL7TgVrglyISIiIX4+p1aIrngJtEZIC4RIvIBSIS28TjuYvF1aOzS0SSgAcOvCEiaSIy0pmLsx8ox/WZEJHRbpORdwJ64L3j9DrwWxFp5fTM/B541e39r4Bf8sNwVMEhr40xx8kKHGNOcs68motwDY+sA3YA/wXiG7FvFfAj4DpgF3AV8AGuQuF445iNax7O07iKidU4E5CbwRNAJK7P9j3widt7Qbh6eDYBpbjmvdzsvJcPzHCukpoM3K6q65pw/oeB2cBCYBEw12k74CtcRdjXR3htjDlOcvDQuTHGnBgRmQH8W1Vf9HUsxpiTl/XgGGNOiIicKSLpzhDV1bgu/f7kWPsZY4wnhfg6AGNMi9cZmITriqU1wGWqutm3IRljTnY2RGWMMcaYgGNDVMYYY4wJOC1+iEpEXgAuBLapag+n7UFcV2Nsdza7X1U/OtpxUlJSNCcnxyMx7t27l+joaI8c2xzO8u19lnPvs5x7l+Xb+/bu3cvy5ct3qGqrpuzf4gscXPfAeRrX6p/uHlfVvzX2IDk5OcyePbs546pXUFDAkCFDPHJsczjLt/dZzr3Pcu5dlm/vKygoYOjQoeuPvWXDWvwQlap+jWvtCmOMMcYYIEAmGYtIDvDBIUNU1wB7cC2udaeq7mxgvxuAGwDS0tL6TZgwwSPxlZeXExMTc+wNTbOwfHtfS8r5vhrlu0011NT5OpITU7V/P2HhR7vRumlOJ2u+gwUGZoYQHSrH3riZlZeXc9FFF81R1bym7B8IQ1QNeRb4I65l1f8I/B047CZ5qjoOGAeQl5ennup+tK5N77J8e19Lyvmr36/nlaWLfR1GMxCgytdBnERO3ny3O6UD1w1u5/XzFhQUnND+AVngqGr9HYVF5DlcS8cft+rqaoqLi6msrDyheOLj41m2bNkJHcM0XkvPd0REBFlZWYSGhvo6lIC0vmQv4SFBzLz/bOdWmy3TtGnTGDx4sK/DOGmclPlWGPDoVDbv2ufrSJokIAscEclwW2jsUqBJ/10rLi4mNjaWnJwcDr5Z8vEpKysjNrY57hdoGqMl51tVKSkpobi4mHbtvP8/ppNBUek+shIjiY9q2QVkdKgQH9myP0NLcrLmOz0ugi17Tuw/+b7S4gscEXkdGAKkiEgxrrsEDxGRXFxDVIXAjU05dmVl5QkXN8YcDxEhOTmZ7du3H3tj0yRFOyvITorydRjGtAhpcRFstQLHN1T1igaan2+u41txY7zNfuY8a0NpBf3aJvo6DGNahPT4COZuOOwanRahxV8mbowxjbW7opqyyhqyE60Hx5jGSI+LYOvu/bTEK66twPFzTz31FF27duXKK69s0v45OTns2LHjsHZfX9JbUFDAhRdeeMLHue666+jduze9evXisssuo7y8/KD3Z82aRXBwMG+++WZ92yeffELnzp3p0KEDjz32WH37mDFjyM3NJTc3l5ycHHJzcw87X1FREUOHDqVr1650796dJ598ssG4rrnmmoPOafxD0c4KABuiMqaR0uIiqKqto3Rvy7uCrMUPUQW6Z555ho8//tivJpzW1NQQEuIfPzqPP/44cXFxAPz617/m6aef5pZbbgGgtraWe+65h+HDh9dvX1tbyy233MKUKVPIysoiPz+fkSNH0q1bNyZOnFi/3Z133kl8fPxh5wsJCeHvf/87ffv2paysjH79+nHOOefQrVs3D39S0xw2lB4ocCJ9HIkxLUN6fAQAW/ZUkhzTstYBsh4cP3bTTTexdu1aRo4cyeOPP86DDz7I3/72w90nevToQWFhIQCvvvoq/fv3Jzc3lxtvvJHa2tpjHv/OO++kb9++DBs2rH5S65AhQ+pvWbFjxw4O3J9r/PjxjB49mosuuohzzz2X8ePH86Mf/YgRI0bQsWNH7r777vrjfvbZZwwcOJC+ffsyevTo+l6VTz75hC5dujB48GDefvvt5khRfXGjquzbt++g+Sv//Oc/GTVqFKmpqfVtM2fOpEOHDrRv356wsDDGjh3Le++9d9AxVZVJkyZxxRWHT+/KyMigb9++AMTGxtK1a1c2btx41Bh/97vfcc0111BXV8dHH31Un4PbbrutWXqxTOMVlVoPjjHHIy3OVeC0xInG/vHf8BbgD+8vYemmPU3at7a2luDg4MPau2XG8cBF3Y+437///W8++eQTvvzyS1JSUnjwwQcb3G7ZsmVMnDiRb7/9ltDQUG6++Wb+97//8dOf/vSIx967dy99+/bl73//Ow899BB/+MMfePrpp4/6OaZPn87ChQtJSkpi/PjxzJ8/n3nz5hEeHk7nzp259dZbiYyM5OGHH2bq1KlER0fz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VlWuvvpqHn300UYfKyIior4n5Gj7h4aG1v+hDgoKIjw8vP55TY3rNh2PP/44aWlpLFiwgLq6OiIiIho854F9wVVgHdj/aNvs27evweKhIWVlZZx++ukNvvfaa6/RrVu3+tdr1qxh3bp19b03xcXF9O3bl5kzZ/Laa68xYsQIQkNDSU1NZdCgQcyePZuSkhLmzJlDTk4ONTU1bNu2jSFDhlBQUEBWVhZFRUVkZWVRU1PD7t2763t9DjhQfJ1yyikAXH755Tz22GOUlZWxePHi+jl2W7ZsYeTIkUyePPmwYab4+Hiys7P59ttv6wscXy4/529DVMYY0+KFhQRxXs8MXv5Zf6bdcxa3D+vImm3l3PLaXAY++gUPf7CUVVt9ewVUc8vJyWHu3LkAzJ07l3Xr1gGunpE333yTbdtcUydLS0tZv359o497ovvv3r2bjIwMgoKCeOWVV6itbd71jBITE4mNjeX7710X9E6YMKHB7Q704DT05V7cgKs3atu2bRQWFlJYWEhWVhZz584lPT2dNm3a8MUXX9TPl/n+++/p0qULv/jFL9i0aROFhYVMmzaNTp061U/SHTlyJC+95Fpp5c033+Sss846rAendevWLF26tH6xvSlTptC1a1fi4+PZsWNHfSynnnpqg8UNuHrU3n33XV5++WVee+01AAYPHsykSZMAWLp0KYsWLWpipo+f3/XgGGNMIGmdEMkdZ3fi1rM6Mm31DibO2sD47wr577R19GubyJj8bC7slUFUWMv+dTxq1ChefvllcnNzyc/Pp1OnToBruOfhhx/m3HPPpa6ujtDQUP71r381eJlyQ050/5tvvplRo0bxxhtvMHToUKKjo5v8GY/k+eef5/rrryc6OpohQ4bUD3V5wi233MK1115Ljx49UFWuvfbaYw77XHfddfzkJz+hQ4cOJCUlHVSE5ebmMn/+fDIzM3nggQc444wzCA0NpW3bto0aljpUdHQ0H3zwAeeccw7R0dHcfPPNXH311fTq1Ys+ffrQq1cvj+bHndjdC1zy8vJ09uzZHjl2oF9C628s395nOT8+O8r3887cjUyYtYE12/cSEx7CyNxMxuZn07N1fKMuN583b95Bl9QazzraZeLl5eXExLhu6fHYY4+xefNmnnzySW+G57dqa2uprq4mIiKCNWvWMGzYMFauXElYWNhh2y5btoyuXbvW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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "m = ConcreteModel()\n", "m.t = ContinuousSet(bounds=(0, 1))\n", "m.h = Var(m.t, domain=NonNegativeReals)\n", "m.m = Var(m.t)\n", "m.u = Var(m.t, bounds=(0, u_max))\n", "m.T = Var(bounds=(50,3000))\n", "\n", "m.v = DerivativeVar(m.h, wrt=m.t)\n", "m.a = DerivativeVar(m.v, wrt=m.t)\n", "m.mdot = DerivativeVar(m.m, wrt=m.t)\n", "\n", "m.fuel = Integral(m.t, wrt=m.t, rule = lambda m, t: m.u[t]*m.T)\n", "m.obj = Objective(expr=m.fuel, sense=minimize)\n", "\n", "m.ode1 = Constraint(m.t, rule = lambda m, t: m.m[t]*m.a[t]/m.T**2 == -m.m[t]*g + v_exhaust*m.u[t])\n", "m.ode2 = Constraint(m.t, rule = lambda m, t: m.mdot[t]/m.T == -m.u[t])\n", "\n", "m.h[0].fix(h_initial)\n", "m.v[0].fix(-v_initial)\n", "m.m[0].fix(m_total)\n", "\n", "m.h[1].fix(0) # land on surface\n", "m.v[1].fix(0) # soft landing\n", "\n", "def solve(m):\n", " TransformationFactory('dae.finite_difference').apply_to(m, nfe=50, scheme='FORWARD')\n", " SolverFactory('ipopt').solve(m)\n", " \n", " m_nonfuel = m_ascent_dry + m_ascent_fuel + m_descent_dry\n", " \n", " tsim = [t*m.T() for t in m.t]\n", " hsim = [m.h[t]() for t in m.t]\n", " usim = [m.u[t]() for t in m.t]\n", " fsim = [m.m[t]() - m_nonfuel for t in m.t]\n", "\n", " plt.figure(figsize=(8,6))\n", " plt.subplot(3,1,1)\n", " plt.plot(tsim, hsim)\n", " plt.title('altitude')\n", " plt.ylabel('meters')\n", " plt.legend(['mission length = ' + str(round(m.T(),1)) + ' seconds'])\n", " plt.grid(True)\n", "\n", " plt.subplot(3,1,2)\n", " plt.plot(tsim, usim)\n", " plt.title('engine mass flow')\n", " plt.ylabel('kg/sec')\n", " plt.legend(['fuel burned = ' + str(round(m.fuel(),1)) + ' kg'])\n", " plt.grid(True)\n", "\n", " plt.subplot(3,1,3)\n", " plt.plot(tsim, fsim)\n", " plt.title('fuel remaining')\n", " plt.xlabel('time / seconds')\n", " plt.ylabel('kg')\n", " plt.legend(['fuel remaining = ' + str(round(fsim[-1],2)) + ' kg'])\n", " plt.grid(True)\n", "\n", " plt.tight_layout()\n", "\n", "solve(m)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": {}, "colab_type": "code", "id": "dT6TAUd0PJCV" }, "outputs": [], "source": [] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "06.04-Soft-Landing-Apollo-11-on-the-Moon.ipynb", "provenance": [ { "file_id": "1dZEqItjD20N1qGb0kQbEFA4Ylc1k0QWq", "timestamp": 1554216470815 } ], "toc_visible": true, "version": "0.3.2" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.7" } }, "nbformat": 4, "nbformat_minor": 4 }