哈密顿-雅可比-贝尔曼方程(Hamilton-Jacobi-Bellman equation,簡稱HJB方程)是一個偏微分方程,是最佳控制的中心。HJB方程式的解是針對特定動態系統及相關成本函數下,可以有最小成本的控制實值函數。
若只在某一個區域求解,HJB方程是一個必要條件,若是在整個狀態空間下求解,HJB方程是充分必要條件。其解是針對開迴路的系統,但也允許針對閉迴路系統求解。HJB方程也可以擴展到隨機系統。
一些經典的變分問題,例如最速降線問題,可以用此方法求解。
HJB方程的基礎是以1950年代由理查德·貝爾曼及其同仁提出的動態規劃[1]。對應的離散系統方程式一般稱為貝爾曼方程。在連續時間的結果可以視為由卡爾·雅可比及威廉·哈密頓提出,經典力學中哈密顿-雅可比方程的延伸。
最佳控制的問題[编辑]
考慮在時間
內,以下確定系統最佳控制的問題:
![{\displaystyle V(x(0),0)=\min _{u}\left\{\int _{0}^{T}C[x(t),u(t)]\,dt+D[x(T)]\right\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ac325bdee2424bd18c2174f4e1da8b4d653dde66)
其中C[ ]為純量成本函數,D[ ]為計算其最終狀態時效力時或經濟值的函數,x(t)為系統狀態向量,x(0)假設已知,及u(t)是想要求得的控制向量,在 0 ≤ t ≤ T。
此系統也需滿足下式:
![{\displaystyle {\dot {x}}(t)=F[x(t),u(t)]\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/75ed914d23651470383a9791606522f81bf11bea)
其中F[ ]可以根據狀態向量決定向量後續的變化。
偏微分方程[编辑]
針對上述簡單的系統,哈密顿-雅可比-贝尔曼微分方程如下:
![{\displaystyle {\dot {V}}(x,t)+\min _{u}\left\{\nabla V(x,t)\cdot F(x,u)+C(x,u)\right\}=0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/effd6c61ac89b4403669ed51e8d45ec6294b0bb1)
需符合以下條件
![{\displaystyle V(x,T)=D(x),\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f9e2a8f575164227d3c7405de2daa38a85d0c4d9)
其中
為向量a和b的內積,而
為梯度運算子。(注意:
表示
对
求导,非对
求导!)
上述PDE中的未知向量
是貝爾曼間接效用函數,表示從時間
,狀態
開始控制系統,以最佳方式控制系統一直到時間
的成本。
推導HJB方程[编辑]
HJB方程可以用以下的方式推導:假設
是最佳的成本函數,則根據理查·貝爾曼的貝爾曼方程,從時間t到t + dt,可得:
![{\displaystyle V(x(t),t)=\min _{u}\left\{\int _{t}^{t+dt}C(x(t),u(t))\,dt+V(x(t+dt),t+dt)\right\}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5624f385e26371f30002564ebf614cf3552f1a7a)
注意最後一項的泰勒展開式如下:
![{\displaystyle V(x(t+dt),t+dt)=V(x(t),t)+{\dot {V}}(x(t),t)\,dt+\nabla V(x(t),t)\cdot {\dot {x}}(t)\,dt+o(dt),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/20d9bfe8fc323f4cfcc4ec445e13841423fa9fb6)
其中o(dt)是泰勒展開式中的高階項,若在等式兩側刪除V(x(t), t),除以dt,並取dt趨近為零的極限,可得上述定義的HJB方程。
求解方程[编辑]
HJB方程一般會用逆向归纳法求解,也就是從
往前求解到
。
若對整個狀態空間求解,HJB方程是最佳解的充份必要條件[2]。若可以求解
,就可以找到達到最小成本的控制
。
一般而言,HJB方程不會有一個傳統光滑函数的解。為了這些情形發展了許多廣義解的表示方式,包括皮埃爾-路易·利翁及迈克尔·克兰德尔的粘性解,Andrei Izmailovich Subbotin的極小化極大演算法等。
延伸到隨機問題[编辑]
上述的作法主要是應用贝尔曼的最优化原理,以及在時間上由最終時間倒推求解,針對隨機控制問題也可以用類似的作法求最佳解。考慮以下的問題
![{\displaystyle \min \left\{\int _{0}^{T}C(t,X_{t},u_{t})\,dt+D(X_{T})\right\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7e54b9cf7c2fa3f8e3896ad72b093d0eafb27d19)
此時
為隨機過程,而
為控制變數。首先使用貝爾曼方程,再用伊藤引理將
展開,可以得到以下的隨機HJB方程。
![{\displaystyle \min _{u}\left\{{\mathcal {A}}V(x,t)+C(t,x,u)\right\}=0,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fd7ffb16d7158f4f982e51de020ceb6510cbd127)
其中
為隨機微分運算子,以下是最終時間的限制條件。
![{\displaystyle V(x,T)=D(x)\,\!.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9f1999852836a6785a1bd45bf961882ca802ccb6)
注意此時已沒有隨機性了。此例中後者的
不一定是原來方程式的解,它只是可能解之一,需要再作驗證。此技巧常用在財務數學中,決定在市場中的最佳投資策略(例如像默顿的投资组合问题)。
在LQG控制的應用[编辑]
下例是一個有線性隨機動態特性的系統,有二次式的成本。若系統動態為
![{\displaystyle dx_{t}=(ax_{t}+bu_{t})dt+\sigma dw_{t},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/78ad2d462e3b9a2caf817173f45a75c247149b7b)
而成本以以下的速度累積
,則HJB方程為
![{\displaystyle -{\frac {\partial V(x,t)}{\partial t}}={\frac {1}{2}}q(t)x^{2}+{\frac {\partial V(x,t)}{\partial x}}ax-{\frac {b^{2}}{2r(t)}}\left({\frac {\partial V(x,t)}{\partial x}}\right)^{2}+{\frac {\sigma ^{2}}{2}}{\frac {\partial ^{2}V(x,t)}{\partial x^{2}}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2b0eba71c132804e8c3bf7be3905198408343c8a)
假設價值函數是二次式,可以將一般的Riccati方程用在價值函數的海森矩阵中,即為線性二次高斯控制(LQG控制)。
相關條目[编辑]
參考資料[编辑]
- ^ R. E. Bellman. Dynamic Programming. Princeton, NJ, 1957.
- ^ Dimitri P Bertsekas. Dynamic programming and optimal control. Athena Scientific, 2005.
延伸閱讀[编辑]
- Dimitri P. Bertsekas. Dynamic programming and optimal control. Athena Scientific. 2005.