考虑在时间 内,以下确定系统最佳控制的问题:
-
其中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.