1. 从顺序问题到递归问题

宏观经济学一般关注持续若干时期 (period) 的经济系统. 其研究的问题多为动态 (dynamic) 问题, 与之相对应的是静态 (static) 问题. 静态问题中, 当期的选择与行动只对当期造成影响; 而动态问题中, 当期的决策不仅对当期, 也会对未来所有时期造成影响, 故而我们使用动态规划的工具来求解对应的问题.

1.1几个宏观动态问题的例子

吃蛋糕问题

假设在第 期时, 你获得了数量为 的蛋糕, 并将在之后的 期内将这些蛋糕吃完. 蛋糕不会再生, 但也不会腐烂, 如何分配每期内吃的蛋糕的总量, 取决于你每期消耗蛋糕获得的效用 (utility), 亦即 “快乐程度”. 比如, 第 期吃掉 单位的蛋糕带来的效用可以用对数函数表示:

由于今天的消费相较于明天的消费而言更加确定, 在跨期的过程之中, 下一期的消费相较于今天的消费会受到折现因子 (discount factor) 的作用, 则我们可以把上述的问题写作如下的形式:

例 1.1.1 (吃蛋糕问题). (1.1)

在这一问题之中, 每到第 期, 给定 , 我们都会选择对应的 . 此时, (以及 ) 的选择, 不仅影响当期的效用 , 还会对今后所有期的效用 造成影响.

Ramsey 增长模型

Ramsey 增长模型 (或称新古典增长模型) 是增长理论中的重要基础模型. 它描述了这样的一种经济增长模式

1.

一阶齐次的生产函数 : (1.2)使得其中 是第 期的产出, 是第 期所投入的资本, 是第 期所投入的劳动.

例如: .

2.

收入与支出相等: (1.3)其中 是第 期的产出 (也是收入), 是第 期的消费, 是第 期的投资.

3.

资本的运动方程 (Law of Motion): (1.4)其中 是折旧率.

则对一个社会规划者 (social planner) 而言, 他要求解的最优化问题如下:

例 1.1.2 (社会规划者的 Ramsey 增长问题). (1.5)

我们用小写字母 , , , 等表示每单位劳动力所对应的相应变量

为了简化我们的讨论, 我们增加几个如下的设定:

1.

2.

3.

4.

则原问题可以转化为求解如下的人均问题 (也称作 Brock-Mirman 问题):

例 1.1.3 (Brock-Mirman 问题). (1.6)

同样, 每到第 期, 选择的 不仅影响当期的效用 , 还会对今后所有期的效用 造成影响.

1.2有限期约束最优化: Lagrange 乘子法

对于有限个约束条件的条件极值问题, 我们可以用 Lagrange 乘子法进行求解.

定理 1.2.1 (Lagrange 乘子法).

对于条件极值问题(1.7)其中均为可微函数, 且 .

若 " 约束检验 " 条件 (“Constraint Qualification” Condition) 成立, 即向量组 线性无关, 亦即 Jacobian 矩阵满秩, 其秩为 ,

则存在一组常数 (即 Lagrange 乘子), 使得(1.8)

换言之, 维向量 即是如下 Lagrangian 函数(1.9)的驻点.

则对于有限约束的动态规划问题的求解, 我们可以使用 Lagrange 乘子法.

例 1.2.2 (吃蛋糕问题的 Lagrange 乘子法求解).

对于例 1.1.1 的吃蛋糕问题:

(1.10)

我们定义 Lagrangian 函数如下: (1.11)

同时我们有两个边界条件:

求一阶条件, 则有

则我们可推出:

则:

有限期的动态规划问题中, 由于总时期的个数是 , 则约束个数为有限个, 总可以运用 Lagrange 乘子法进行求解. 然而对于无限期问题 (例如前面所举出的 Ramsey 增长问题), 变量个数, 约束个数, 乘子个数都是无穷个, 则我们不再确定 Lagrange 乘子法能否解出最优解. 但我们可以在此稍作尝试.

例 1.2.3 (对 Brock-Mirman 问题使用 “Lagrange 乘子法”).

对于例 1.1.3 的 Brock-Mirman 问题

定义 Lagrangian 函数如下: (1.12)

则其一阶条件如下:

将上述条件组装可得: (1.13)1.13Euler 方程.

通过上述的类比推理, 我们得到了描述最优解的局部性质的 Euler 方程. Euler 方程描述了相邻两期决策之间的依赖关系, 是全局最优解的必要条件. 但是, 虽然知道了局部性质并得到了全局解的必要条件, 我们仍然无法解出全局解 (因为人和计算机都无法求解无穷个约束的问题). 这让我们不得不引入递归方法来解决无限期问题.

1.3无限期约束最优化: 顺序问题与递归问题

对于无限期问题而言, 我们可以定义通过求和形式所写出的原始问题为顺序问题 (sequential problem).

定义 1.3.1 (顺序问题).

形如(1.14)的问题, 我们称之为顺序问题 (sequential problem).

此处的顺序问题与前面的 Ramsey 增长问题有所不同, 因为我们已经直接将里面的等式约束带入化简 (而非写成 Lagrange 乘子的形式).

例 1.3.2 (Brock-Mirman 问题的顺序形式).

Brock-Mirman 问题可以写成: (1.15)

对于一个顺序最优化问题而言, “最值” 以及 “实现最值的路径” 仅受到 “初值” 的影响, 则路径 和整个问题的最值均可写成初值 的函数.

则我们可以如下定义值函数:

定义 1.3.3 (值函数).

在顺序问题中, 令(1.16)

则称 为该最优化问题在第 期初值为 时对应的值函数 (value function).

注 1.3.4. 事实上, 值函数虽然形式上建立了一个从初值点到最值的映射, 但实际上它应被理解为建立了从初值点引出的最优化路径到最值的映射 (即一个定义在最优化路径上的泛函).

虽然我们无法直接对顺序问题求解, 但我们可以尝试将之转写为递归问题. 在此之前, 我们需要使用最大值原理.

定理 1.3.5 (最大值原理).

,

的解, 当且仅当 的解.

这一结论对 也成立.

注 1.3.6. 这一定理不要求 具有较好的性质, 但唯一需要满足算子为 (而非 ) 的要求.

则我们可以对 1.15 的值函数形式进行变换:(1.17)

则我们可以如下定义递归问题:

定义 1.3.7 (递归问题及相关概念).

1.3.1 中的顺序问题可写成如下形式: (1.18)

则称该问题为递归问题 (recursive problem).

方程 1.18 称作 Bellman 方程.

在 Bellman 方程中:

(1)

称作状态变量 (state variable);

(2)

称作选择变量 (choice variable);

(3)

如定义 1.3.3 称作值函数 (value function);

(4)

最优解 称作策略函数 (policy function).

注 1.3.8 (对递归问题和 Bellman 方程的一些说明).

1.

时期, 状态变量的值已然给定, 不可改变, 是递归问题的参数 (parameter); 而选择变量的值可以改变, 是求解递归问题的可变变量 (argument).

2.

有时递归问题还会有状态转移方程 (state transition function), 描述今天的状态变量如何在今天选择变量作用之后, 转变为明天的状态变量; 然而在部分情形下, 状态转移方程可以融入 Bellman 方程之中.

例 1.3.9 (带有劳动——闲暇决策的增长模型).

若家庭在每一时期的可支配时间为 单位, 家庭可以将其中 单位投入生产, 并从余下 单位的闲暇中获取效用, 则顺序问题为: (1.19)

递归问题的 Bellman 方程: (1.20)(1.21)

则在 时刻, 为状态变量, 均为选择变量, 1.21 为状态转移方程.

1.4递归问题下的 Euler 方程推导

在例 1.2.3 之中, 我们对无限期问题使用 Lagrange 乘子法, 推导出了描述最优路径的局部性质的 Euler 方程. 我们想知道, 用递归问题形式, 能否同样推出 Euler 方程.

考虑 Bellman 方程:(1.22)

此处, 选择变量是 , 则最优化问题取到 “最值” 的必要条件是对 的一阶条件 (first-order condition) 等于 . 此时最优 满足:(1.23)

然而我们不知道 的具体形式, 故需要利用包络定理 (Envelope Theorem) 将之替换.

定理 1.4.1 (包络定理).

对最优化问题

是该最优化问题的解, 则有(1.24)

证明. 因为 时, 最优化问题取得最值, 则则由链式法则求导:

则考虑第 期的 Bellman 方程:

应用包络定理, 则有(1.25)其中 是第 期递归问题给定状态 的最优解.

将一阶条件与包络定理拼装起来, 即是 Euler 方程:(1.26)

例 1.4.2 (Brock-Mirman 模型在递归问题下的 Euler 方程).

1.1.3 的 Brock-Mirman 模型的递归问题如下: (1.27)

则对应的 Euler 方程为: (1.28)

与用 Lagrange 乘子法推出的 Euler 方程 1.13 完全一致.

1.5拓展: 顺序问题与递归问题的对应关系

我们可以总结出如下的表格:

顺序问题递归问题
离散时期Lagrangian 函数Bellman 方程
连续时间Hamiltonian 函数Hamilton-Jacobi-Bellman 方程

无论是用顺序问题还是递归问题的形式, 最后都能推导出同样的 Euler 方程作为必要条件.

特别地, 对于 Ramsey 增长模型, 顺序问题中的 Lagrange 乘子又称作预算约束的影子价格 (shadow price), 其值等于当期效用对消费的导数, 即边际效用 (marginal utility). 而由递归问题中的包络定理代换, 又可知这一 Lagrange 乘子与值函数导数取值相等.

故而我们可以对 Lagrange 函数写出其递归形式, 并就此探讨顺序问题与递归问题的对应关系:

例 1.5.1 (Brock-Miaman 模型 Lagrange 函数的递归形式).

对于 Brock-Mirman 模型的顺序问题:

我们可写出其 Lagrange 函数: (1.29)

定义值函数: (1.30)

则 Bellman 方程为: (1.31)

其对应三个一阶条件:

的一阶条件用包络定理: (1.32)

同样也可以组装出与顺序问题和原版递归问题一样的 Euler 方程: (1.33)