跳到正文
格致开物MATHWIKI

哈密顿-雅可比-贝尔曼方程

哈密顿-雅可比-贝尔曼方程(Hamilton–Jacobi–Bellman equation,HJB)描述最优控制中值函数的局部关系。值函数给出“从当前时刻和状态出发,后续最小总代价”;HJB把短时间的运行代价与值函数沿动力学的变化联系起来。光滑解在适当条件下可以验证最优性,而一般值函数不光滑时需要黏性解等更广的理论。

从短时决策到偏微分方程

设 x˙=f(x,u,t),x∈ℝn,u∈U,终止时间 T 固定。定义 V(t,x)=infu{∫tTℓ(x(s),u(s),s)ds+ϕ(x(T))}. 假定所讨论区域内 V 连续可微,短时近似适用且最小值可实现。贝尔曼最优性原理把后续分为先走 h 和剩余过程。将 V(t+h,x+hf) 一阶展开并减去 V(t,x),除以 h 后取极限,得到 Vt+minu∈U{ℓ(x,u,t)+∇xV𝖳f(x,u,t)}=0,V(T,x)=ϕ(x). 这是对最小代价的符号约定。最大收益版本会相应使用最大化。[1]

一个可以从头算完的例子

取 x˙=u,运行代价 u2,终端代价 x(T)2,输入无约束。猜测 V(t,x)=p(t)x2,代入得 p′x2+minu(u2+2pxu)=0. 配平方 u2+2pxu=(u+px)2−p2x2,所以 u∗=−px,并有 p′=p2,p(T)=1。解为 p(t)=11+T−t,V(t,x)=x21+T−t,u∗=−x1+T−t. 取 T=2,x(0)=3,闭环微分方程给出 x(t)=3−t、u(t)=−1。运行代价为二,终端状态为一、终端代价为一,总代价为三,正好等于 V(0,3)=9/3。

终止时间2时值函数系数p(t)=1/(3-t)从1/3增加至1
离终点越近,剩余调整时间越少,同样状态误差的后续最小代价越高。本例增益增加,但沿最优轨迹的实际输入保持为负一。

验证不等式给出最优性

任意允许输入沿轨迹满足 ℓ+Vt+∇V𝖳f≥0,因此积分后 ∫tTℓds+ϕ(x(T))≥V(t,x). 若某反馈在每个时刻达到HJB中的最小值,积分不等式处处取等,证明它是全局最优反馈,而不只是局部驻点。这一步需要候选函数与轨迹满足链式法则、终端条件,并且所选输入确实允许且轨迹存在。

变式。 取 T=1,x(0)=2,同一公式给出 u=−1、x(1)=1、最小代价二。若终端状态被硬性要求为零,便不再是本篇软惩罚模型;终端条件应改成相应约束,不能仍套 V(T,x)=x2。

有输入饱和时,最小化需要在 U 内进行,最优反馈可能分段,值函数也可能出现不可微位置。对高维状态直接网格求解会遇到维数增长;这是一类计算限制,不能用一条数值轨迹取代方程的解与验证。

参考资料

  1. ↑ Russ Tedrake,Underactuated Robotics, Dynamic Programming,The Hamilton-Jacobi-Bellman Equation,光滑值函数与验证。