{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "F64JX05VJX"
    },
    {
      "field": "uses",
      "target": "T5BEKMG5W8"
    }
  ],
  "body": "\n## Summary\n\nDynamic programming in continuous time solves an optimal control problem by studying its [[value function|K6G0DRQ3CP]] for all initial times and states at once.\nIts basis is Bellman's principle of optimality: the tail of an optimal trajectory is optimal for the problem that starts where the tail starts.\nIn infinitesimal form this principle becomes the [[Hamilton–Jacobi–Bellman equation|SJP9HW82VX]].\nIt gives optimal controls in feedback form, which complements the open-loop necessary conditions of [[Pontryagin's maximum principle|7RPV2T29CF]].\n\n## Explanations\n\n### L1 human\n\nTo plan the cheapest trip, one can work backward from the destination.\nIf you know the cheapest remaining cost from every place at a later time, the best move now is easy to find.\nDynamic programming in continuous time applies this idea at every instant.\nThe result is a rule that tells you what to do in every situation, not just along one planned path.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "49L20",
      "49L12",
      "93E20"
    ],
    "name": "Dynamic programming in continuous time",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Dynamic_programming"
      }
    ],
    "tag": "QPS8VSJGMJ"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/QPS8VSJGMJ/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/QPS8VSJGMJ.md",
  "msc": [
    "49L20",
    "49L12",
    "93E20"
  ],
  "name": "Dynamic programming in continuous time",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/QPS/QPS8VSJGMJ.md",
  "status": null,
  "tag": "QPS8VSJGMJ",
  "uri": "m2://QPS8VSJGMJ",
  "url": "https://tamnd.github.io/math2/wiki/dynamic-programming-in-continuous-time/",
  "writing": {
    "tag": "QPS8VSJGMJ",
    "kind": "concept",
    "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
      }
    ]
  }
}
