{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Problem\n\nA rocket rises vertically from rest, with height $h(t)$, velocity $v(t)$ and mass $m(t)$.\nIts thrust $T(t)$ is the control, with $0 \\le T(t) \\le T_{\\max}$.\nThe motion follows the [[ordinary differential equations|0NT64JV96A]]\n$$h' = v, \\qquad v' = \\frac{T - D(h, v)}{m} - g(h), \\qquad m' = -\\frac{T}{c},$$\nwhere $D(h, v) \\ge 0$ is the aerodynamic drag, $g(h) \u003e 0$ is the gravitational acceleration and $c \u003e 0$ is the exhaust speed.\nThe initial mass $m(0) = m_0$ and the mass $m_f \u003c m_0$ of the empty rocket are given.\nChoose the thrust program $T$ and the final time $t_f$, with $m(t_f) \\ge m_f$, so that the final height $h(t_f)$ is as large as possible.\n\n## Remarks\n\nIn this optimal control problem the control enters the dynamics linearly.\nSo the [[Pontryagin maximum principle|7RPV2T29CF]] does not by itself fix the thrust where the switching function vanishes.\nWith significant drag, optimal solutions can contain a [[singular arc|91RFB97TNV]] on which the thrust takes intermediate values, between arcs of full thrust and of zero thrust.\nSo the optimal control is not always [[bang-bang|GK1Z3Q1WRZ]], and the problem is a standard test case for singular controls.\nGoddard raised the question in his 1919 work on rockets for reaching high altitudes.\n\n## Explanations\n\n### L1 human\n\nA rocket has a fixed amount of fuel and wants to climb as high as possible.\nBurning everything at once wastes fuel against air drag at high speed, while burning too slowly wastes fuel just holding the rocket up against gravity.\nThe best program balances these two losses, and in the optimum the engine may run at partial power for a while.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "T3V6ZNAMDN"
    ],
    "history": {
      "first_stated": "1919",
      "posed_by": "Robert H. Goddard"
    },
    "kind": "problem",
    "msc": [
      "49K15",
      "49N90",
      "70Q05"
    ],
    "name": "Goddard problem",
    "same_as": {
      "wikidata": "Q5576265",
      "wikipedia": "Goddard problem"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Goddard_problem"
      }
    ],
    "tag": "GQCN7KRSDP",
    "uses": [
      "7RPV2T29CF",
      "91RFB97TNV",
      "GK1Z3Q1WRZ",
      "0NT64JV96A"
    ]
  },
  "kind": "problem",
  "link": "https://tamnd.github.io/math2/node/GQCN7KRSDP/",
  "links": [
    {
      "field": "about",
      "target": "T3V6ZNAMDN"
    },
    {
      "field": "uses",
      "target": "7RPV2T29CF"
    },
    {
      "field": "uses",
      "target": "91RFB97TNV"
    },
    {
      "field": "uses",
      "target": "GK1Z3Q1WRZ"
    },
    {
      "field": "uses",
      "target": "0NT64JV96A"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/GQCN7KRSDP.md",
  "msc": [
    "49K15",
    "49N90",
    "70Q05"
  ],
  "name": "Goddard problem",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/GQC/GQCN7KRSDP.md",
  "status": null,
  "tag": "GQCN7KRSDP",
  "uri": "m2://GQCN7KRSDP",
  "url": "https://tamnd.github.io/math2/wiki/goddard-problem/",
  "writing": {
    "tag": "GQCN7KRSDP",
    "kind": "problem",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
