拉格朗日法, 对偶和
Kuhn-Tucker 条件
一般情形下的最优激励合同
- 委托人 (公司) 提供工资合同
,
代理人 (打工人张三) 选择接受或拒绝.
- 若张三拒绝, 博弈结束; 否则, 博弈进入下一阶段.
- 张三选择行动
,
行动集
是有界闭集.
- 给定张三的行动
,
产出
从分布
中抽样得到.
- 公司和张三观测到产出
后, 公司按照合同
支付工资. 博弈结束.
效用函数:
- 张三的效用函数为
.
- 张三是风险厌恶的:
为严格递增的凹函数.
- 成本函数
为严格递增的凸函数.
- 张三的保留效用
外生给定.
- 公司是风险中性的, 其最终利润为
.
和上一讲 (线性激励合同) 的情形相比, 主要区别在于:
- 工资合同
不需要是线性的
- 分布族
不需要是正态分布族
- 之后需要引入其它假设, 来保证张三的高努力行动会导致 “更好的”
产出分布
引入求解最优化问题的数学工具
描述委托人的最优化问题不难, 写出 IC 和 IR 条件即可.
难点在于如何求解该问题.
引入必要的数学工具:
包含等式约束的最优化问题
考虑如下包含
个决策变量和
个等式约束的最优化问题:
令
且
,
写出拉格朗日函数:
一阶条件:
对任意
,
有
- 几何解释: 上面这
个等式描述了均衡中
和
梯度之间的关系:
对任意
,
有
一共有
个一阶条件.
命题: 若原最优化问题的目标函数
和约束函数
满足适当的要求 (光滑性, 凹凸性等), 则关于
和
的
个一阶条件是必要的.
- 说明: 上述前提条件的表述较为马虎. 在这门课中, 除非特别说明,
我们一般不用验证这些条件, 直接默认一阶条件的必要性成立即可.
例: 拉格朗日法
求解如下最优化问题
- 目标函数:
- 约束:
一阶条件
- 关于
的一阶条件:
- 关于
的一阶条件:
- 关于
的一阶条件:
从等式约束到不等式约束
考虑如下包含
个不等式约束的最优化问题
:
关于不等式约束形式的两点补充说明:
- 所有不等式约束的不等号方向, 都是约束的左边小于等于
.
- 这只是形式上的要求. 如果出现了
,
将它等价改写为
即可.
- 不等式约束的情形比等式约束的情形更一般:
- 对任意等式约束
,
都可以把它等价地描述为两个不等式约束:
且
.
对问题
做出如下假设:
- 目标函数
是凹的,
- 每个约束函数
()
都是凸的,
- 问题
的可行域是非空的, 并且该问题有解.
说明: 可行域为所有满足
个不等式约束的
所构成的集合.
- 我们用字母
表示
个不等式约束构成的可行域. 若
,
则称
是可行的.
- 问题
可等价地描述为
.
可行域的例子
圆盘
三角形区域
三维单纯形 (3-simplex)
拉格朗日函数
对于问题
,
其拉格朗日函数的形式如下:
- 不同于等式约束的情形, 问题
的拉格朗日乘子
都是非负的
- 乘子是非负的
对任意可行的
,
拉格朗日函数的值
总是大于等于
.
- 每个乘子
对应约束
.
- 问题
的拉格朗日乘子还有一个经济学名字——影子价格.
影子价格这个叫法在一般均衡模型中很常用.
对偶
问题
的对偶函数:
.
- 注意: 定义对偶
时的最优化计算
()
里不要求
是可行的.
由对偶
的定义可知:
进一步可知,
因此, 对偶
是问题
中目标函数的上界.
对偶性的思想: 可以通过最小化上界 (即
)
来求解原问题
.
Kuhn-Tucker 定理
定理 (Kuhn-Tucker). 若存在
和
使得
则
为原最优化问题的解.
重要的内容说两次: 定义对偶
时没有要求
必须落在可行域内
- 不过, Kuhn-Tucker 定理保证了问题
的解, 可通过求解如下 (几乎无约束) 最优化问题得到:
- 直观解释: 在
的过程中, 乘子
实际上是在扮演一个“惩罚者”. 如果
试图违反约束 (即
),
惩罚者通过最小化
会把目标函数拉到负无穷 (严格论述见 Kuhn-Tucker 定理的证明)
互补松弛条件
- 如果
,
则约束
一定是紧的 (即
).
- 如果
,
则约束
可以是不紧的 (即
).
- 上面两点通常被归纳为所谓的互补松弛条件
Kuhn-Tucker 条件
实际应用中, 我们通常不需要每次都去计算对偶
或鞍点
,
而是直接检查一组被称为 Kuhn-Tucker
条件的一阶必要条件.
- 这组一阶条件是 Kuhn-Tucker 定理的直接推论.
历史趣闻:
Kuhn-Tucker 条件由运筹学研究者 Kuhn 和 Tucker 于 1951
年分别独立提出. 在那个年代,
许多研究者都在探索如何求解一般的不等式约束优化问题.
大约三十年后, 人们发现几乎完全相同的一阶必要条件, 早在 1939
年就已经由 Karush 在他的硕士论文中提出. 当时的 Karush
还只是二十二岁的年轻学生.
由于 Karush 的发现要早于 Kuhn 和 Tucker, 今天的很多资料称
Kuhn-Tucker 条件为 KKT 条件 (Karush–Kuhn–Tucker).
针对优化问题
和约束
,
.
写出拉格朗日函数
后, 其 Kuhn-Tucker 条件由以下四个部分组成:
一阶条件:
- 说明: 拉格朗日函数对原变量
的梯度在最优解处必须为零.
这意味着目标函数的梯度必须是约束函数梯度的线性组合.
可行性:
必须是可行的, 即满足所有不等式约束:
拉格朗日乘子非负条件 (也叫对偶可行性条件):
互补松弛条件:
Kuhn-Tucker 条件: 算例
目标函数
不等式约束:
- 几何直观: 可行域为椭球内部(含边界), 目标函数是线性的,
故最优解必在边界
上.
拉格朗日函数:
KKT 条件:
一阶条件 (梯度为零):
可行性:
乘子非负:
互补松弛:
由梯度为零可知
,
因此
且
(边界解).
将
的表达式代入边界方程:
代回得:
最优值:
拉格朗日法: 无穷维情形
本讲介绍的拉格朗日法 (以及 Kuhn-Tucker 条件)
只考虑了有限维情形的最优化问题.
- 最优化问题的控制变量只有
个, 且
为有限数.
经济学模型中的最优化问题经常是无穷维的.
- 比如, 求解公司的最优工资方案
就是典型的无穷维最优化问题: 函数
可以看成是一个无穷维向量, 它规定了每个产出
对应的工资水平
- 线性工资假设下的工资方案不是无穷维的, 因为它只包含两个参数:
和
.
对于无穷维问题, 我们仍然可以通过构造拉格朗日函数,
并仿照有限维情形写出一阶条件 (或 Kuhn-Tucker 条件) 来求解.
- 同学们不必过于纠结此时拉格朗日法的严格性. 对于无穷维最优化问题,
其一阶条件必要性的严格证明,
不可避免地会涉及到无穷维分析的基本语言和工具.
尽管无穷维分析本身是一个很有意思的话题
(它在求解最优合同问题时也会很自然地出现),
我们暂时选择回避关于它的讨论.
- 这门课很短, 但同学们未来的人生还很长, 总会有机会去学习它的
:)