Hamilton-Jacobi-Bellman (HJB) 方程

要写出Hamilton-Jacobi-Bellman (HJB) 方程的形式,首先需要明确这是一个用于描述最优控制问题的偏微分方程。HJB方程提供了求解动态规划问题的一个有效工具,尤其是在连续时间、连续状态空间的环境中。其基本思想是将原问题转化为寻找一个价值函数(也称作代价函数或泛函),该函数表示从当前状态出发到某个终止条件下的最优成本或收益。HJB方程确保了这个价值函数满足一定的动态一致性条件。

对于一个标准的连续时间最优控制问题,其基本要素包括:

  1. 状态变量 x ( t ) x(t) x(t) : 描述系统状态的时间依赖变量,通常属于某个状态空间 X \mathcal{X} X
  2. 控制变量 u ( t ) u(t) u(t): 控制者可以选择的行动或输入,通常属于控制空间 U \mathcal{U} U
  3. 动力学模型: 描述状态随时间演化的微分方程,通常形式为:
    x ˙ ( t ) = f ( x ( t ) , u ( t ) , t ) \dot{x}(t) = f(x(t), u(t), t) x˙(t)=f(x(t),u(t),t)
    其中 f : X × U × R → X f: \mathcal{X} \times \mathcal{U} \times \mathbb{R} \to \mathcal{X} f:X×U×RX是状态转移函数。
  4. 成本函数 J J J : 定义为从初始时刻 t 0 t_0 t0到终时 T T T 的累计成本,一般写作:
    J ( t 0 , x 0 ; u ( ⋅ ) ) = ∫ t 0 T L ( x ( t ) , u ( t ) , t ) d t + g ( x ( T ) ) J(t_0, x_0; u(\cdot)) = \int_{t_0}^{T} L(x(t), u(t), t) dt + g(x(T)) J(t0,x0;u())=t0TL(x(t),u(t),t)dt+g(x(T))
    其中 L : X × U × R → R L: \mathcal{X} \times \mathcal{U} \times \mathbb{R} \to \mathbb{R} L:X×U×RR是瞬时成本(或称为拉格朗日函数), g : X → R g: \mathcal{X} \to \mathbb{R} g:XR是终端成本。
  5. 价值函数 V ( t , x ) V(t, x) V(t,x) : 对于任意时刻 t t t和状态 x x x,定义为从该时刻和状态出发,直到终时 T T T执行最优控制策略所得到的最小成本,即:
    V ( t , x ) = min ⁡ u ( ⋅ ) J ( t , x ; u ( ⋅ ) ) V(t, x) = \min_{u(\cdot)} J(t, x; u(\cdot)) V(t,x)=minu()J(t,x;u())

现在,基于上述要素,Hamilton-Jacobi-Bellman方程的形式可以表述如下:

对于所有 t ∈ [ t 0 , T ] t \in [t_0, T] t[t0,T] x ∈ X x \in \mathcal{X} xX,价值函数 V ( t , x ) V(t, x) V(t,x)满足以下偏微分方程:

min ⁡ u [ ∂ V ∂ t ( t , x ) + H ( t , x , ∇ x V ( t , x ) , u ) ] = 0 其中 H ( t , x , p , u ) = p ⋅ f ( x , u , t ) − L ( x , u , t ) \begin{aligned} \min_{u} \Bigg[ \frac{\partial V}{\partial t}(t, x) &+ H\big(t, x, \nabla_x V(t, x), u\big) \Bigg] = 0 \\ &\text{其中} \\ H(t, x, p, u) &= p \cdot f(x, u, t) - L(x, u, t) \end{aligned} umin[tV(t,x)H(t,x,p,u)+H(t,x,xV(t,x),u)]=0其中=pf(x,u,t)L(x,u,t)

这里:

  • ∂ V ∂ t \frac{\partial V}{\partial t} tV是价值函数关于时间 t t t 的偏导数,表示价值随时间的变化率。
  • ∇ x V ( t , x ) \nabla_x V(t, x) xV(t,x) 是价值函数关于状态变量 x x x的梯度向量,反映了在给定状态下价值对各状态分量的敏感性。
  • H ( t , x , p , u ) H(t, x, p, u) H(t,x,p,u)是汉密尔顿函数(或汉密尔顿ian),它结合了价值函数的梯度与系统的动力学,并减去瞬时成本。在最优控制问题中,汉密尔顿函数中的 u u u 是通过求解极小化问题得到的最优控制输入。

简而言之,HJB方程表达了在任何给定时刻 t t t 和状态 x x x 处,价值函数的局部变化率(包括随时间的自然演化和因控制输入引起的系统状态变化带来的影响)应等于采用最优控制策略时的最小化成本增量。解出这个偏微分方程,就得到了最优价值函数 V ∗ ( t , x ) V^*(t, x) V(t,x),进而可以通过求解对应的汉密尔顿函数极小化问题得到最优控制策略 u ∗ ( t , x ) u^*(t, x) u(t,x)

需要注意的是,实际应用中HJB方程往往难以解析求解,通常需要借助数值方法(如有限差分法、有限元素法、动态规划算法的近似版本等)进行求解或寻找近似解。

补充

您提供的方程组是Hamilton-Jacobi-Bellman (HJB) 方程的具体表达式。为了更清晰地解释其含义,我们将其拆分为两个部分:

第一部分:

min ⁡ u [ ∂ V ∂ t ( t , x ) + H ( t , x , ∇ x V ( t , x ) , u ) ] = 0 \min_{u} \Bigg[ \frac{\partial V}{\partial t}(t, x) + H\big(t, x, \nabla_x V(t, x), u\big) \Bigg] = 0 umin[tV(t,x)+H(t,x,xV(t,x),u)]=0

这一部分是HJB方程的核心。它表示在给定时间 t t t 和状态 x x x 下,价值函数 V ( t , x ) V(t, x) V(t,x) 关于时间 t t t的偏导数 ∂ V ∂ t ( t , x ) \frac{\partial V}{\partial t} (t, x) tV(t,x)加上汉密尔顿函数 H H H 在该状态和控制输入 u u u 下的值应被最小化。具体来说:

  • ∂ V ∂ t ( t , x ) \frac{\partial V}{\partial t}(t, x) tV(t,x)表示价值函数随时间 t t t的变化率,反映了不采取任何控制动作时,仅由时间流逝导致的价值变化。
  • H ( t , x , ∇ x V ( t , x ) , u ) H\big(t, x, \nabla_x V(t, x), u\big) H(t,x,xV(t,x),u)是汉密尔顿函数,它结合了价值函数的梯度 ∇ x V ( t , x ) \nabla_x V(t, x) xV(t,x)与系统的动力学 f ( x , u , t ) f(x, u, t) f(x,u,t),并减去瞬时成本 L ( x , u , t ) L(x, u, t) L(x,u,t)。汉密尔顿函数中的 u u u 是待优化的控制输入。

第二部分:

H ( t , x , p , u ) = p ⋅ f ( x , u , t ) − L ( x , u , t ) H(t, x, p, u) = p \cdot f(x, u, t) - L(x, u, t) H(t,x,p,u)=pf(x,u,t)L(x,u,t)

这一部分给出了汉密尔顿函数 H H H的具体定义。其中:

  • p = ∇ x V ( t , x ) p = \nabla_x V(t, x) p=xV(t,x)是价值函数关于状态变量 x x x 的梯度向量,反映了在给定状态下价值对各状态分量的敏感性。
  • f ( x , u , t ) f(x, u, t) f(x,u,t) 是系统的动力学模型,描述了状态 x x x 在控制输入 u u u 和时间 t t t 下的演变规律。
  • L ( x , u , t ) L(x, u, t) L(x,u,t)是瞬时成本函数,表示在状态 x x x 采用控制输入 u u u 时单位时间内付出的成本或损失。

将两部分结合起来理解,HJB方程表明在任何给定时刻 t t t 和状态 x x x,价值函数的局部变化率(包括随时间的自然演化和因控制输入引起的系统状态变化带来的影响)应等于采用最优控制策略时的最小化成本增量。解出这个偏微分方程,就得到了最优价值函数 V ∗ ( t , x ) V^*(t, x) V(t,x),进而可以通过求解对应的汉密尔顿函数极小化问题得到最优控制策略 u ∗ ( t , x ) u^*(t, x) u(t,x)

链接

https://zhuanlan.zhihu.com/p/659238385
  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蜗笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值