ARTICLE

动态规划

动态规划 (Dynamic Programming) 动态规划 (Dynamic Programming, DP) 是求解多阶段序贯决策优化问题的核心方法,由 Richard Bellman 于 20 世纪 50 年代系统建立。其核心思想是 Bellman 最优性原理 (Bellman's Principle of Optimality):一个最优策略的任意

浏览 6 更新 2025-12-26

动态规划 (Dynamic Programming)

动态规划 (Dynamic Programming, DP) 是求解多阶段序贯决策优化问题的核心方法,由 Richard Bellman 于 20 世纪 50 年代系统建立。其核心思想是 Bellman 最优性原理 (Bellman's Principle of Optimality):一个最优策略的任意子策略,对于其对应的子问题也是最优的。动态规划通过将原问题分解为一系列相互关联且具有重叠结构的子问题,利用 值函数 (Value Function) 和 策略函数 (Policy Function) 刻画阶段间的递归依赖,将复杂的序贯优化转化为可递推求解的函数方程——Bellman 方程

理论框架与 Bellman 方程

考虑一个典型的无限期贴现动态优化问题。设状态变量为 xtXx_t \in X,控制变量为 utU(xt)u_t \in U(x_t),当期回报为 r(xt,ut)r(x_t, u_t),状态转移方程为 xt+1=g(xt,ut)x_{t+1} = g(x_t, u_t),贴现因子 β(0,1)\beta \in (0, 1)。决策者的目标是最大化终生贴现总回报:

V(x0)=max{ut}t=0t=0βtr(xt,ut)V(x_0) = \max_{\{u_t\}_{t=0}^\infty} \sum_{t=0}^{\infty} \beta^t r(x_t, u_t)

Bellman 最优性原理将该问题压缩为如下函数方程:

V(x)=maxuU(x){r(x,u)+βV(g(x,u))}V(x) = \max_{u \in U(x)} \left\{ r(x, u) + \beta V(g(x, u)) \right\}

此即 Bellman 方程V(x)V(x) 为从状态 xx 出发的最优值函数。方程将无限维序贯优化压缩为单期函数方程,求解 V(x)V(x) 即同步得到最优策略 u=h(x)u^* = h(x)(策略函数)。在标准正则性条件(回报有界、可行集紧致、转移连续)下,值函数是 Bellman 方程的唯一不动点,且可通过 值函数迭代 (Value Function Iteration, VFI) 构造性逼近:

Vn+1(x)=maxuU(x){r(x,u)+βVn(g(x,u))}V_{n+1}(x) = \max_{u \in U(x)} \left\{ r(x, u) + \beta V_n(g(x, u)) \right\}

在合适的压缩映射条件下,该迭代以几何速率收敛至真实值函数。Blackwell (1965) 提出了著名的 Blackwell 充分条件——单调性与贴现性,为 Banach 空间中 Bellman 算子的压缩性提供了简洁判据。

对于有限期问题(终止期 TT,终值条件 VT(x)=Φ(x)V_T(x) = \Phi(x)),采用 逆向归纳 (Backward Induction) 从最后一期向前递推:

Vt(x)=maxuU(x){r(x,u)+βVt+1(g(x,u))},t=T1,T2,,0V_t(x) = \max_{u \in U(x)} \left\{ r(x, u) + \beta V_{t+1}(g(x, u)) \right\}, \quad t = T-1, T-2, \ldots, 0

确定性与随机动态规划

若状态转移 g(x,u)g(x, u) 是确定性的,上述框架即为 确定性动态规划。在多数经济问题中,未来状态受随机冲击影响。设随机冲击 εtF(x,u)\varepsilon_t \sim F(\cdot \mid x, u),转移方程 xt+1=g(xt,ut,εt)x_{t+1} = g(x_t, u_t, \varepsilon_t),则 随机动态规划 的 Bellman 方程为:

V(x)=maxuU(x){r(x,u)+βE[V(g(x,u,ε))x,u]}V(x) = \max_{u \in U(x)} \left\{ r(x, u) + \beta \mathbb{E}[V(g(x, u, \varepsilon)) \mid x, u] \right\}

期望算子作用于下一期值函数。此类模型广泛应用于 宏观经济学 中的 实际经济周期 (RBC) 模型、新凯恩斯 框架及 生命周期 消费-储蓄决策等。

经济学中的经典应用

消费-储蓄问题:代表性消费者在预算约束下选择消费序列以最大化期望贴现效用。设资产 ata_t,劳动收入 yty_t 为随机过程,利率为 rr,则 Bellman 方程为:

V(a,y)=maxc{u(c)+βE[V((1+r)(a+yc),y)y]}V(a, y) = \max_{c} \left\{ u(c) + \beta \mathbb{E}[V((1+r)(a + y - c), y') \mid y] \right\}

此框架可分析 预防性储蓄 (Precautionary Saving) 和流动性约束下的消费行为。

增长理论:在 Ramsey-Cass-Koopmans 模型 中,社会计划者选择消费与资本积累路径以最大化社会福利,其 Bellman 方程刻画最优资本存量的动态演进与收敛路径。

搜索与匹配模型:劳动者在劳动力市场上以最优策略接受或拒绝工资报价,其 保留工资 (Reservation Wage) 由 Bellman 方程的解决定。类似框架应用于 货币理论 中的世代交叠模型和厂商定价决策。

数值方法与维数灾难

动态规划的数值求解主要包括:

  1. 值函数迭代 (VFI):在离散化的状态空间上迭代 Bellman 算子。原理简单、收敛可靠,但受限于 维数灾难 (Curse of Dimensionality)——状态空间大小随维度指数增长,三四个连续状态变量即可使网格点数量超出计算能力。
  2. 策略函数迭代 (PFI):交替进行策略评估(给定策略下求解值函数)与策略改进(贪婪优化),通常在接近收敛时具有二次加速特性。
  3. 投影方法 (Projection Methods) 与 摄动法 (Perturbation Methods):适用于连续状态空间,通过函数逼近回避网格离散化。

近年来,机器学习 中的 强化学习 (Reinforcement Learning) 与动态规划深度融合,发展出 Q-learning 和深度确定性策略梯度 (DDPG) 等算法,在高维状态空间中展现出处理复杂序贯决策的优势。

与相关方法的关系

动态规划与 最优控制 (Optimal Control) 共享相同的数学根源。Pontryagin 最大值原理提供连续时间下的一阶必要条件,而 Bellman 方程从递归视角给出充分性刻画。两者通过 Hamilton-Jacobi-Bellman (HJB) 方程 建立桥梁:在连续时间随机环境中,HJB 方程将值函数的偏导数与最优控制策略相联系。此外,动态规划在 博弈论 中用于求解子博弈完美均衡(逆向归纳法),在 运筹学 中用于最短路径、背包问题及库存管理等。

局限性与注意事项:动态规划要求问题具有 最优子结构 (Optimal Substructure) 和重叠子问题特性;维数灾难严重制约高维状态空间的可解性;Bellman 方程的解可能对函数形式假设敏感,模型的校准与估计需谨慎处理。Stokey、Lucas 与 Prescott (1989) 的 Recursive Methods in Economic Dynamics 系统化了动态规划在经济学中的应用,是该领域的经典参考。