哈密頓-雅可比-貝爾曼方程(Hamilton-Jacobi-Bellman equation,簡稱HJB方程)是一個偏微分方程,是最佳控制的中心。HJB方程式的解是針對特定動態系統及相關成本函數下,可以有最小成本的控制實值函數。
若只在某一個區域求解,HJB方程是一個必要條件,若是在整個狀態空間下求解,HJB方程是充分必要條件。其解是針對開迴路的系統,但也允許針對閉迴路系統求解。HJB方程也可以擴展到隨機系統。
一些經典的變分問題,例如最速降線問題,可以用此方法求解。
HJB方程的基礎是以1950年代由理查德·貝爾曼及其同仁提出的動態規劃[1]。對應的離散系統方程式一般稱為貝爾曼方程。在連續時間的結果可以視為由卡爾·雅可比及威廉·哈密頓提出,經典力學中哈密頓-雅可比方程的延伸。
考慮在時間內,以下確定系統最佳控制的問題:
其中C[ ]為純量成本函數,D[ ]為計算其最終狀態時效力時或經濟值的函數,x(t)為系統狀態向量,x(0)假設已知,及u(t)是想要求得的控制向量,在 0 ≤ t ≤ T。
此系統也需滿足下式:
其中F[ ]可以根據狀態向量決定向量後續的變化。
針對上述簡單的系統,哈密頓-雅可比-貝爾曼微分方程如下:
需符合以下條件
其中為向量a和b的內積,而為梯度運算子。(注意: 表示 對 求導,非對 求導!)
上述PDE中的未知向量是貝爾曼間接效用函數,表示從時間,狀態開始控制系統,以最佳方式控制系統一直到時間的成本。
HJB方程可以用以下的方式推導:假設是最佳的成本函數,則根據理查·貝爾曼的貝爾曼方程,從時間t到t + dt,可得:
注意最後一項的泰勒展開式如下:
其中o(dt)是泰勒展開式中的高階項,若在等式兩側刪除V(x(t), t),除以dt,並取dt趨近為零的極限,可得上述定義的HJB方程。
HJB方程一般會用逆向歸納法求解,也就是從往前求解到。
若對整個狀態空間求解,HJB方程是最佳解的充份必要條件[2]。若可以求解,就可以找到達到最小成本的控制。
一般而言,HJB方程不會有一個傳統光滑函數的解。為了這些情形發展了許多廣義解的表示方式,包括皮埃爾-路易·利翁及邁克爾·克蘭德爾的粘性解,Andrei Izmailovich Subbotin的極小化極大演算法等。
上述的作法主要是應用貝爾曼的最優化原理,以及在時間上由最終時間倒推求解,針對隨機控制問題也可以用類似的作法求最佳解。考慮以下的問題
此時為隨機過程,而為控制變數。首先使用貝爾曼方程,再用伊藤引理將展開,可以得到以下的隨機HJB方程。
其中為隨機微分運算子,以下是最終時間的限制條件。
注意此時已沒有隨機性了。此例中後者的不一定是原來方程式的解,它只是可能解之一,需要再作驗證。此技巧常用在財務數學中,決定在市場中的最佳投資策略(例如像默頓的投資組合問題)。
下例是一個有線性隨機動態特性的系統,有二次式的成本。若系統動態為
而成本以以下的速度累積,則HJB方程為
假設價值函數是二次式,可以將一般的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.