Hamilton–Jacobi–Bellman equation
The Hamilton-Jacobi-Bellman (HJB) equation is a nonlinear partial differential equation that provides necessary and sufficient conditions for optimality of a control with respect to a loss function.[1] Its solution is the value function of the optimal control problem which, once known, can be used to obtain the optimal control by taking the maximizer (or minimizer) of the Hamiltonian involved in the HJB equation.[2][3]
The equation is a result of the theory of dynamic programming which was pioneered in the 1950s by Richard Bellman and coworkers.[4][5][6] The connection to the Hamilton–Jacobi equation from classical physics was first drawn by Rudolf Kálmán.[7] In discrete-time problems, the analogous difference equation is usually referred to as the Bellman equation.
While classical variational problems, such as the brachistochrone problem, can be solved using the Hamilton–Jacobi–Bellman equation,[8] the method can be applied to a broader spectrum of problems. Further it can be generalized to stochastic systems, in which case the HJB equation is a second-order elliptic partial differential equation.[9] A major drawback, however, is that the HJB equation admits classical solutions only for a sufficiently smooth value function, which is not guaranteed in most situations. Instead, the notion of a viscosity solution is required, in which conventional derivatives are replaced by (set-valued) subderivatives.[10]
Optimal-control-problems
Consider the following problem in deterministic optimal control over the time period [math]\displaystyle{ [0,T] }[/math]:
- [math]\displaystyle{ V(x(0), 0) = \min_u \left\{ \int_0^T C[x(t),u(t)]\,dt + D[x(T)] \right\} }[/math]
where [math]\displaystyle{ C[\cdot] }[/math] is the scalar cost rate function and [math]\displaystyle{ D[\cdot] }[/math] is a function that gives the bequest value at the final state, [math]\displaystyle{ x(t) }[/math] is the system state vector, [math]\displaystyle{ x(0) }[/math] is assumed given, and [math]\displaystyle{ u(t) }[/math] for [math]\displaystyle{ 0 \leq t \leq T }[/math] is the control vector that we are trying to find. Thus, [math]\displaystyle{ V(x, t) }[/math] is the value function.
The system must also be subject to
- [math]\displaystyle{ \dot{x}(t)=F[x(t),u(t)] \, }[/math]
where [math]\displaystyle{ F[\cdot] }[/math] gives the vector determining physical evolution of the state vector over time.
The partial differential equation
For this simple system, the Hamilton–Jacobi–Bellman partial differential equation is
- [math]\displaystyle{ \frac{\partial V(x,t)}{\partial t} + \min_u \left\{ \frac{\partial V(x,t)}{\partial x} \cdot F(x, u) + C(x,u) \right\} = 0 }[/math]
subject to the terminal condition
- [math]\displaystyle{ V(x,T) = D(x),\, }[/math]
As before, the unknown scalar function [math]\displaystyle{ V(x, t) }[/math] in the above partial differential equation is the Bellman value function, which represents the cost incurred from starting in state [math]\displaystyle{ x }[/math] at time [math]\displaystyle{ t }[/math] and controlling the system optimally from then until time [math]\displaystyle{ T }[/math].
Deriving the equation
Intuitively, the HJB equation can be derived as follows. If [math]\displaystyle{ V(x(t), t) }[/math] is the optimal cost-to-go function (also called the 'value function'), then by Richard Bellman's principle of optimality, going from time t to t + dt, we have
- [math]\displaystyle{ V(x(t), t) = \min_u \left\{V(x(t+dt), t+dt) + \int_t^{t + dt} C(x(s), u(s)) \, ds\right\}. }[/math]
Note that the Taylor expansion of the first term on the right-hand side is
- [math]\displaystyle{ V(x(t+dt), t+dt) = V(x(t), t) + \frac{\partial V(x, t)}{\partial t} \, dt + \frac{\partial V(x, t)}{\partial x} \cdot \dot{x}(t) \, dt + \mathcal{o}(dt), }[/math]
where [math]\displaystyle{ \mathcal{o}(dt) }[/math] denotes the terms in the Taylor expansion of higher order than one in little-o notation. Then if we subtract [math]\displaystyle{ V(x(t), t) }[/math] from both sides, divide by dt, and take the limit as dt approaches zero, we obtain the HJB equation defined above.
Solving the equation
The HJB equation is usually solved backwards in time, starting from [math]\displaystyle{ t = T }[/math] and ending at [math]\displaystyle{ t = 0 }[/math].[11]
When solved over the whole of state space and [math]\displaystyle{ V(x) }[/math] is continuously differentiable, the HJB equation is a necessary and sufficient condition for an optimum when the terminal state is unconstrained.[12] If we can solve for [math]\displaystyle{ V }[/math] then we can find from it a control [math]\displaystyle{ u }[/math] that achieves the minimum cost.
In general case, the HJB equation does not have a classical (smooth) solution. Several notions of generalized solutions have been developed to cover such situations, including viscosity solution (Pierre-Louis Lions and Michael Crandall),[13] minimax solution (Andrei Izmailovich Subbotin ), and others.
Approximate dynamic programming has been introduced by D. P. Bertsekas and J. N. Tsitsiklis with the use of artificial neural networks (multilayer perceptrons) for approximating the Bellman function in general.[14] This is an effective mitigation strategy for reducing the impact of dimensionality by replacing the memorization of the complete function mapping for the whole space domain with the memorization of the sole neural network parameters. In particular, for continuous-time systems, an approximate dynamic programming approach that combines both policy iterations with neural networks was introduced.[15] In discrete-time, an approach to solve the HJB equation combining value iterations and neural networks was introduced.[16]
Alternatively, it has been shown that sum-of-squares optimization can yield an approximate polynomial solution to the Hamilton–Jacobi–Bellman equation arbitrarily well with respect to the [math]\displaystyle{ L^1 }[/math] norm.[17]
Extension to stochastic problems
The idea of solving a control problem by applying Bellman's principle of optimality and then working out backwards in time an optimizing strategy can be generalized to stochastic control problems. Consider similar as above
- [math]\displaystyle{ \min_u \mathbb E \left\{ \int_0^T C(t,X_t,u_t)\,dt + D(X_T) \right\} }[/math]
now with [math]\displaystyle{ (X_t)_{t \in [0,T]}\,\! }[/math] the stochastic process to optimize and [math]\displaystyle{ (u_t)_{t \in [0,T]}\,\! }[/math] the steering. By first using Bellman and then expanding [math]\displaystyle{ V(X_t,t) }[/math] with Itô's rule, one finds the stochastic HJB equation
- [math]\displaystyle{ \min_u \left\{ \mathcal{A} V(x,t) + C(t,x,u) \right\} = 0, }[/math]
where [math]\displaystyle{ \mathcal{A} }[/math] represents the stochastic differentiation operator, and subject to the terminal condition
- [math]\displaystyle{ V(x,T) = D(x)\,\!. }[/math]
Note that the randomness has disappeared. In this case a solution [math]\displaystyle{ V\,\! }[/math] of the latter does not necessarily solve the primal problem, it is a candidate only and a further verifying argument is required. This technique is widely used in Financial Mathematics to determine optimal investment strategies in the market (see for example Merton's portfolio problem).
Application to LQG-Control
As an example, we can look at a system with linear stochastic dynamics and quadratic cost. If the system dynamics is given by
- [math]\displaystyle{ dx_t = (a x_t + b u_t) dt + \sigma dw_t, }[/math]
and the cost accumulates at rate [math]\displaystyle{ C(x_t,u_t) = r(t) u_t^2/2 + q(t) x_t^2/2 }[/math], the HJB equation is given by
- [math]\displaystyle{ -\frac{\partial V(x,t)}{\partial t} = \frac{1}{2}q(t) x^2 + \frac{\partial V(x,t)}{\partial x} a x - \frac{b^2}{2 r(t)} \left(\frac{\partial V(x,t)}{\partial x}\right)^2 + \frac{\sigma^2}{2} \frac{\partial^2 V(x,t)}{\partial x^2}. }[/math]
with optimal action given by
- [math]\displaystyle{ u_t = -\frac{b}{r(t)}\frac{\partial V(x,t)}{\partial x} }[/math]
Assuming a quadratic form for the value function, we obtain the usual Riccati equation for the Hessian of the value function as is usual for Linear-quadratic-Gaussian control.
See also
- Bellman equation, discrete-time counterpart of the Hamilton–Jacobi–Bellman equation.
- Pontryagin's maximum principle, necessary but not sufficient condition for optimum, by maximizing a Hamiltonian, but this has the advantage over HJB of only needing to be satisfied over the single trajectory being considered.
References
- ↑ Kirk, Donald E. (1970). Optimal Control Theory: An Introduction. Englewood Cliffs, NJ: Prentice-Hall. pp. 86–90. ISBN 0-13-638098-0. https://books.google.com/books?id=fCh2SAtWIdwC&pg=PA86.
- ↑ Yong, Jiongmin; Zhou, Xun Yu (1999). "Dynamic Programming and HJB Equations". Stochastic Controls : Hamiltonian Systems and HJB Equations. Springer. pp. 157–215 [p. 163]. ISBN 0-387-98723-1. https://books.google.com/books?id=CdHuD7E-7XIC&pg=PA163.
- ↑ Naidu, Desineni S. (2003). "The Hamilton–Jacobi–Bellman Equation". Optimal Control Systems. Boca Raton: CRC Press. pp. 277–283 [p. 280]. ISBN 0-8493-0892-5. https://books.google.com/books?id=hGxurdEZVtkC&pg=PA280.
- ↑ Bellman, R. E. (1954). "Dynamic Programming and a new formalism in the calculus of variations". Proc. Natl. Acad. Sci. 40 (4): 231–235. doi:10.1073/pnas.40.4.231. PMID 16589462. Bibcode: 1954PNAS...40..231B.
- ↑ Bellman, R. E. (1957). Dynamic Programming. Princeton, NJ.
- ↑ Bellman, R.; Dreyfus, S. (1959). "An Application of Dynamic Programming to the Determination of Optimal Satellite Trajectories". J. Br. Interplanet. Soc. 17: 78–83.
- ↑ Kálmán, Rudolf E. (1963). "The Theory of Optimal Control and the Calculus of Variations". in Bellman, Richard. Mathematical Optimization Techniques. Berkeley: University of California Press. pp. 309–331. OCLC 1033974.
- ↑ Kemajou-Brown, Isabelle (2016). "Brief History of Optimal Control Theory and Some Recent Developments". in Budzban, Gregory; Hughes, Harry Randolph; Schurz, Henri. Probability on Algebraic and Geometric Structures. Contemporary Mathematics. 668. pp. 119–130. doi:10.1090/conm/668/13400. ISBN 9781470419455.
- ↑ Chang, Fwu-Ranq (2004). Stochastic Optimization in Continuous Time. Cambridge, UK: Cambridge University Press. pp. 113–168. ISBN 0-521-83406-6. https://books.google.com/books?id=PmIefn9u67AC&pg=PA114.
- ↑ Bardi, Martino; Capuzzo-Dolcetta, Italo (1997). Optimal Control and Viscosity Solutions of Hamilton–Jacobi–Bellman Equations. Boston: Birkhäuser. ISBN 0-8176-3640-4.
- ↑ Lewis, Frank L.; Vrabie, Draguna; Syrmos, Vassilis L. (2012). Optimal Control (3rd ed.). Wiley. p. 278. ISBN 978-0-470-63349-6.
- ↑ Bertsekas, Dimitri P. (2005). Dynamic Programming and Optimal Control. Athena Scientific.
- ↑ Bardi, Martino; Capuzzo-Dolcetta, Italo (1997). Optimal Control and Viscosity Solutions of Hamilton-Jacobi-Bellman Equations. Boston: Birkhäuser. ISBN 0-8176-3640-4.
- ↑ Bertsekas, Dimitri P.; Tsitsiklis, John N. (1996). Neuro-dynamic Programming. Athena Scientific. ISBN 978-1-886529-10-6.
- ↑ Abu-Khalaf, Murad; Lewis, Frank L. (2005). "Nearly optimal control laws for nonlinear systems with saturating actuators using a neural network HJB approach". Automatica 41 (5): 779–791. doi:10.1016/j.automatica.2004.11.034.
- ↑ Al-Tamimi, Asma; Lewis, Frank L.; Abu-Khalaf, Murad (2008). "Discrete-Time Nonlinear HJB Solution Using Approximate Dynamic Programming: Convergence Proof". IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics 38 (4): 943–949. doi:10.1109/TSMCB.2008.926614. PMID 18632382.
- ↑ Jones, Morgan; Peet, Matthew (2020). Polynomial Approximation of Value Functions and Nonlinear Controller Design with Performance Bounds.
Further reading
- Dynamic Programming and Optimal Control. Athena Scientific. 2005.
- Pham, Huyên (2009). "The Classical PDE Approach to Dynamic Programming". Continuous-time Stochastic Control and Optimization with Financial Applications. Springer. pp. 37–60. ISBN 978-3-540-89499-5. https://books.google.com/books?id=xBsagiBp1SYC&pg=PA37.
- Stengel, Robert F. (1994). "Conditions for Optimality". Optimal Control and Estimation. New York: Dover. pp. 201–222. ISBN 0-486-68200-5. https://books.google.com/books?id=jDjPxqm7Lw0C&pg=PA201.
![]() | Original source: https://en.wikipedia.org/wiki/Hamilton–Jacobi–Bellman equation.
Read more |