{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nLet $T \u003e 0$, $x_0, x_1 \\in \\R^n$, let $U \\subseteq \\R^m$ be nonempty, and let $f \\colon \\R^n \\times U \\to \\R^n$ and $L \\colon \\R^n \\times U \\to \\R$ be continuously differentiable in $x$.\nConsider the problem of minimising $\\int_0^T L(x, u) \\, dt$ subject to $x' = f(x, u)$, $x(0) = x_0$, $x(T) = x_1$.\nLet $H(x, u, p) = p \\cdot f(x, u) - L(x, u)$ be the [[Hamiltonian|RACVWG5QTK]] in the normal case of [[Pontryagin's maximum principle|7RPV2T29CF]].\nAssume that for all $(x, p)$ the function $u \\mapsto H(x, u, p)$ has a unique maximiser $u^*(x, p)$ in $U$, and that $u^*$ is continuously differentiable.\nFor $p_0 \\in \\R^n$, let $(x(\\cdot\\,; p_0), p(\\cdot\\,; p_0))$ be the solution on $[0, T]$, if it exists, of\n$$x' = f(x, u^*(x, p)), \\qquad p' = -\\frac{\\partial H}{\\partial x}(x, u^*(x, p), p), \\qquad x(0) = x_0, \\qquad p(0) = p_0.$$\nThe *shooting function* is $S(p_0) = x(T; p_0) - x_1$.\nThe *indirect method by shooting* computes a zero $p_0^*$ of $S$, for example by [[Newton's method|07EXVNF9VP]], and returns the control $u(t) = u^*(x(t; p_0^*), p(t; p_0^*))$.\n\n## Remarks\n\nThe second equation is the [[costate equation|WS9MRAZMFW]].\nEvery normal extremal of the maximum principle with these endpoints comes from a zero of $S$, so the method computes candidates for optimality, not proven minimisers.\nThe method is a special case of the [[shooting method|ECT6RNF865]], with unknowns $p_0$ instead of an initial slope.\nFree final time or other boundary conditions add unknowns and equations to $S$, from the transversality conditions.\nMultiple shooting splits $[0, T]$ into pieces to reduce the sensitivity of $S$.\n\nExample: $n = m = 1$, $T = 1$, $f = u$, $L = u^2 / 2$, $U = \\R$, $x_0 = 0$ and $x_1 = 1$.\nHere $H = p u - u^2 / 2$, so $u^* = p$, and $p' = 0$.\nHence $p(t) = p_0$, $x(t) = p_0 t$ and $S(p_0) = p_0 - 1$.\nThe zero is $p_0^* = 1$, which gives the optimal control $u = 1$.\n\nNon-example: if $U = [-1, 1]$ and $L = 0$ with $f = u$, the maximiser of $H = p u$ is not unique when $p = 0$ and is not differentiable in $p$.\nThen the map $u^*$ of the definition does not exist, and the method must be adapted to the bang-bang structure.\n\n## Explanations\n\n### L1 human\n\nThe method guesses the initial costate, integrates the optimality conditions forward, and corrects the guess until the trajectory ends where it must.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "RDTESNZTKQ",
    "kind": "definition",
    "msc": [
      "49M05",
      "65L10",
      "49K15"
    ],
    "name": "Indirect method by shooting",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Shooting_method"
      }
    ],
    "tag": "P0XFYRE9P2",
    "uses": [
      "ECT6RNF865",
      "7RPV2T29CF",
      "RACVWG5QTK",
      "WS9MRAZMFW",
      "07EXVNF9VP"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/P0XFYRE9P2/",
  "links": [
    {
      "field": "defines",
      "target": "RDTESNZTKQ"
    },
    {
      "field": "uses",
      "target": "ECT6RNF865"
    },
    {
      "field": "uses",
      "target": "7RPV2T29CF"
    },
    {
      "field": "uses",
      "target": "RACVWG5QTK"
    },
    {
      "field": "uses",
      "target": "WS9MRAZMFW"
    },
    {
      "field": "uses",
      "target": "07EXVNF9VP"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/P0XFYRE9P2.md",
  "msc": [
    "49M05",
    "65L10",
    "49K15"
  ],
  "name": "Indirect method by shooting",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/P0X/P0XFYRE9P2.md",
  "status": null,
  "tag": "P0XFYRE9P2",
  "uri": "m2://P0XFYRE9P2",
  "url": "https://tamnd.github.io/math2/wiki/indirect-method-by-shooting-definition/",
  "writing": {
    "tag": "P0XFYRE9P2",
    "kind": "definition",
    "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
      }
    ]
  }
}
