最优化方法
不带约束的最优化问题:一般表示为:
sup
{
f
(
x
)
:
x
∈
A
}
\sup\{ \, f(x):\,x\in A \, \}
sup{f(x):x∈A}
其中
f
(
x
)
f(x)
f(x) 是定义在度量空间
X
X
X 上的实值函数,
f
:
(
X
,
ρ
)
↦
R
f:\,(\bold{X},\,\rho)\mapsto \bold{R}
f:(X,ρ)↦R,称为目标函数;
A
⊆
X
A\subseteq X
A⊆X ,是一组控制集。我们要求解在
A
A
A 上是否存在
x
∗
x^*
x∗ 使得
f
(
x
∗
)
f(x^*)
f(x∗) 最大,解的集合记作
arg
max
{
f
(
x
)
:
x
∈
A
}
{\arg\max \{\, f(x):\,x\in A \,\}}
argmax{f(x):x∈A} 。
问题:
- 最优化问题是否有解?
- 有解的最优化问题,是否有唯一解?
- 有解的最优化问题,如何求解?
- 可行集 A A A 的变化如何影响最大值和解集?
Weierstrass 定理
紧集 compact set:任何一个序列都存在收敛的子序列。在欧几里得空间中,紧集就是有界闭集。
Weierstrass 定理:若函数 f : ( X , ρ ) ↦ R f:\,(\bold{X},\,\rho)\mapsto \bold{R} f:(X,ρ)↦R 是连续的,并且 A ⊆ X A\subseteq X A⊆X 是非空紧集,则存在 x ∗ ∈ A x^* \in A x∗∈A 使得 f ( x ∗ ) = sup { f ( x ) : x ∈ A } f(x^*)=\sup\{ \, f(x):\,x\in A \, \} f(x∗)=sup{f(x):x∈A} 。
注意:
- Weierstrass 是充分条件,并不意味着若 A A A 中存在最优解,则一定要满足这些条件
- 由于欧几里得空间中,紧集就是有界闭集,因此 Weierstrass 定理也可以表述为,一个定义在有界闭集 R n \bold{R}^n Rn 上的连续函数一定能在定义域上取到最大值。
证明:
令 m = sup { f ( x ) : x ∈ A } m=\sup\{ \, f(x):\,x\in A \, \} m=sup{f(x):x∈A} 。
- 当 m < ∞ m\lt \infty m<∞ 时,存在序列 { x n } ⊆ A \{x_n\}\subseteq A {xn}⊆A 使得 lim n → ∞ f ( x n ) = m \lim\limits_{n\to\infty}f(x_n)=m n→∞limf(xn)=m ;由于 A A A 是紧集,则存在 { x n } \{x_n\} {xn} 的某个子序列收敛到 x ∈ A x\in A x∈A ,假设这个子序列就是 { x n } \{x_n\} {xn} 本身。那么:
lim n → ∞ f ( x n ) = f ( x ) = m \lim\limits_{n\to\infty}f(x_n)=f(x)=m n→∞limf(xn)=f(x)=m
即 f f f 在 x ∈ A x\in A x∈A 处取得最大值。
- 若 m = ∞ m=\infty m=∞ ,则同样地存在序列 { x n } ⊆ A \{x_n\}\subseteq A {xn}⊆A 使得 lim n → ∞ f ( x n ) = f ( x ) = ∞ \lim\limits_{n\to\infty}f(x_n)=f(x)=\infty n→∞limf(xn)=f(x)=∞ ,但 f ( x ) < ∞ f(x)\lt \infty f(x)<∞ ,因此矛盾。
解的唯一性
凸集 convex set:集合内任意两点连线上的点都是集合内的点,即 ∀ x , y , ∈ A \forall\,x,\,y,\in A ∀x,y,∈A , ∀ α ∈ [ 0 , 1 ] \forall \alpha \in [0,\,1] ∀α∈[0,1],有 α x + ( 1 − α ) y ∈ A \alpha x+(1-\alpha)y\in A αx+(1−α)y∈A ,则 A A A 为凸集。
concave:函数
f
:
A
↦
R
f:\,A \mapsto R
f:A↦R ,其中
A
A
A 为凸集,若对于
∀
x
,
y
,
∈
A
\forall\,x,\,y,\in A
∀x,y,∈A ,
∀
α
∈
[
0
,
1
]
\forall \alpha \in[0,\,1]
∀α∈[0,1] ,有:
f
(
α
x
+
(
1
−
α
)
y
)
≥
α
f
(
x
)
+
(
1
−
α
)
f
(
y
)
f(\alpha x+(1-\alpha) y) \geq \alpha f(x)+(1-\alpha)f(y)
f(αx+(1−α)y)≥αf(x)+(1−α)f(y)
则称
f
f
f 为 concave funtion。即
f
f
f 在两点之间的凸组合的取值大于等于在两点取值的凸组合。
Hession 矩阵:Hessian 矩阵是一个 n × n n \times n n×n 的矩阵,其中第 i i i 行第 j j j 列的元素是 $ \frac{\partial^2 f}{\partial x_i \partial x_j}$。
- 如果一个函数 f ( x ) f(x) f(x) 在 x x x 的某个点 x ∗ x^* x∗ 处具有二阶连续偏导数,且其 Hessian 矩阵 H \mathbf{H} H 在该点是负定矩阵,则 f ( x ) f(x) f(x) 在 x ∗ x^* x∗ 处是 concave function ;(这是必要不充分条件)
- 如果 f ( x ) f(x) f(x) 是一元函数,则只需 f ( x ) f(x) f(x) 的二阶导小于零;(这也是必要不充分条件)
strictly concave :对于一个 concave function
f
f
f ,若对于
x
≠
y
x\not =y
x=y ,上述不等式严格成立,即:
f
(
α
x
+
(
1
−
α
)
y
)
>
α
f
(
x
)
+
(
1
−
α
)
f
(
y
)
f(\alpha x+(1-\alpha) y) \gt \alpha f(x)+(1-\alpha)f(y)
f(αx+(1−α)y)>αf(x)+(1−α)f(y)
则称
f
f
f 为 strictly concave funtion;
拟凹性 quasi-concave:对于定义在凸集
A
A
A 上的函数
f
:
A
↦
R
f:\,A\mapsto R
f:A↦R ,若对于
∀
c
\forall c
∀c ,
f
f
f ,满足:
{
x
∈
A
:
f
(
x
)
≥
c
}
⊆
A
\{\, x\in A:\,f(x)\geq c \,\} \subseteq A
{x∈A:f(x)≥c}⊆A
的子集是一个凸集。
strictly quasi-concave:对于一个 quasi-concave function
f
f
f ,若对于
∀
α
∈
(
0
,
1
)
\forall \alpha \in (0,\,1)
∀α∈(0,1) ,满足:
f
(
x
)
≥
c
,
f
(
y
)
≥
c
a
n
d
x
≠
y
⇒
f
(
α
x
+
(
1
−
α
)
y
)
>
c
\begin{align} f(x)\geq&\, c,\,f(y) \geq c \,\,and\,\,x\not=y \\ \Rightarrow&\,f(\alpha x+(1-\alpha)y)\gt c \end{align}
f(x)≥⇒c,f(y)≥candx=yf(αx+(1−α)y)>c
则称
f
f
f 为 strictly quasi-concave;
- 所有 concave function 都是拟凹的,但是拟凹函数不一定是 concave function
拟凹函数的一个重要特性是,它的局部最大值也是全局最大值。因此有下面的定理:
Th:
f
f
f 是定义在凸集
A
A
A 上的函数
f
:
A
↦
R
f:\,A\mapsto \bold{R}
f:A↦R ,且
f
f
f 是拟凹的,若集合:
arg
max
{
f
(
x
)
:
x
∈
A
}
{\arg\max \{\, f(x):\,x\in A \,\}}
argmax{f(x):x∈A}
非空,则该集合一定是
A
A
A 的凸子集。当该集合非空且
f
f
f 是 strictly quasi-concave,则解唯一(即集合中只有一个元素)。
证明:
① 首先证明凸性。假设集合 arg max { f ( x ) : x ∈ A } {\arg\max \{\, f(x):\,x\in A \,\}} argmax{f(x):x∈A} 非空,令 m = sup { f ( x ) : x ∈ A } m=\sup\{ \, f(x):\,x\in A \, \} m=sup{f(x):x∈A} 。根据定义,对于任意 x , y ∈ arg max { f ( x ) : x ∈ A } x,\,y\,\in\,{\arg\max \{\, f(x):\,x\in A \,\}} x,y∈argmax{f(x):x∈A} ,都有 f ( x ) = f ( y ) = m f(x)=f(y)=m f(x)=f(y)=m 。而 f f f 是 quasi-concave 的,则 ∀ α ∈ [ 0 , 1 ] \forall \alpha\in[0,\,1] ∀α∈[0,1] , f ( α x + ( 1 − α ) y ) ≥ m f(\alpha x+(1-\alpha)y)\geq m f(αx+(1−α)y)≥m 。又因为 m m m 是全局最大值,因此必然有 f ( α x + ( 1 − α ) y ) = m f(\alpha x+(1-\alpha)y)= m f(αx+(1−α)y)=m ,说明 α x + ( 1 − α ) y ∈ arg max { f ( x ) : x ∈ A } \alpha x+(1-\alpha)y \in {\arg\max \{\, f(x):\,x\in A \,\}} αx+(1−α)y∈argmax{f(x):x∈A} 。由此可知,集合 arg max { f ( x ) : x ∈ A } {\arg\max \{\, f(x):\,x\in A \,\}} argmax{f(x):x∈A} 内的任意两点的凸组合仍在集合内,因此该集合是凸集。
② 再证明解的唯一性。当 f f f 是 strictly quasi-concave 时,若存在 x , y ∈ arg max { f ( x ) : x ∈ A } x,\,y\in{\arg\max \{\, f(x):\,x\in A \,\}} x,y∈argmax{f(x):x∈A} 且 x ≠ y x\not =y x=y ,则必有 f ( α x + ( 1 − α ) y ) > m f(\alpha x+(1-\alpha)y)\gt m f(αx+(1−α)y)>m ,与 m m m 为全局最大值矛盾,因此此时 arg max { f ( x ) : x ∈ A } {\arg\max \{\, f(x):\,x\in A \,\}} argmax{f(x):x∈A} 中只有一个元素,即解唯一。
Kuhn-Tuker 定理
带约束的优化问题:考虑在欧几里得空间上,由有限个不等式约束的最优解问题:
V
(
b
)
=
max
s
.
t
.
g
i
(
x
)
≤
b
i
,
i
=
1
,
⋯
,
m
f
(
x
)
,
x
∈
R
n
V(b)=\max\limits_{s.t.\,g_i(x)\leq b_i,\,i=1,\,\cdots,\,m} f(x),\,\,x\in \bold{R}^n
V(b)=s.t.gi(x)≤bi,i=1,⋯,mmaxf(x),x∈Rn
其中
f
f
f 是可行集
A
A
A 上的函数
f
:
R
n
↦
R
f:\,\bold{R}^n\mapsto \bold{R}
f:Rn↦R ,
g
g
g 为函数
g
:
R
n
↦
R
m
g:\,\bold{R}^n\mapsto \bold{R}^m
g:Rn↦Rm ,二者均为连续函数。
( s . t . s.t. s.t. 的意思是 subject to)
Kuhn-Tucker 定理:假设
f
f
f 和
−
g
i
-g_i
−gi (
i
=
1
,
⋯
,
m
i=1,\,\cdots,\,m
i=1,⋯,m ) 均为 concave functions,并且可行集:
A
≜
{
x
∈
R
n
:
g
(
x
)
≤
b
}
A \triangleq \{\, x\in \bold{R}^n:\,g(x)\leq b \,\}
A≜{x∈Rn:g(x)≤b}
非空,则存在非负向量
λ
∈
R
+
m
\lambda \in \bold{R}^m_+
λ∈R+m 使得以上带约束的优化问题的解
x
∗
∈
A
x^*\in A
x∗∈A 也一定是以下不带约束条件的优化问题的解:
V
(
b
)
=
max
x
∈
R
n
f
(
x
)
+
λ
T
[
b
−
g
(
x
)
]
V(b)=\max\limits_{x\in \bold{R}^n}f(x)+\lambda^T[b-g(x)]
V(b)=x∈Rnmaxf(x)+λT[b−g(x)]
其中
λ
i
(
b
i
−
g
i
(
x
∗
)
)
=
0
\lambda_i(b_i-g_i(x^*))=0
λi(bi−gi(x∗))=0 (
i
=
1
,
⋯
,
m
i=1,\,\cdots,\,m
i=1,⋯,m ) 。特别地,当
f
f
f 和
g
i
g_i
gi (
i
=
1
,
⋯
,
m
i=1,\,\cdots,\,m
i=1,⋯,m ) 均为连续可微的,则必有:
{
f
′
(
x
∗
)
−
λ
T
g
′
(
x
∗
)
=
0
λ
i
(
b
i
−
g
i
(
x
∗
)
)
=
0
i
=
1
,
⋯
,
m
\left\{ \begin{array}{ll} f'(x^*)-\lambda^Tg'(x^*)=0 \\ \lambda_i(b_i-g_i(x^*))=0 & i=1,\,\cdots,\,m \end{array} \right.
{f′(x∗)−λTg′(x∗)=0λi(bi−gi(x∗))=0i=1,⋯,m
(这里有
m
+
1
m+1
m+1 个方程,我们有
m
+
1
m+1
m+1 个未知数:
x
∗
x^*
x∗ 和
λ
i
\lambda_i
λi (
i
=
1
,
⋯
,
m
i=1,\,\cdots,\,m
i=1,⋯,m ) )
证明:
① 用反证法证明充分性:若不带约束条件的问题有解,则这个解一定也是带有约束条件问题的解。假设对于不带约束条件的问题的解
x
∗
x^*
x∗, 存在
x
′
∈
A
x'\in A
x′∈A ,使得满足
g
(
x
′
)
≤
b
g(x')\leq b
g(x′)≤b 且
f
(
x
′
)
>
f
(
x
∗
)
f(x')\gt f(x^*)
f(x′)>f(x∗) ,则对于上面解出来的
λ
\lambda
λ ,有:
$$
\begin{align}
f(x’)+\lambda^T[b-g(x’)]\geq &, f(x’)\
\gt &, f(x^) =f(x^)+\lambda T[b-g(x*)]
\end{align}
KaTeX parse error: Can't use function '$' in math mode at position 13: 第一个大于等于是因为 $̲g(x')\leq b$ ,并…
f(x’)+\lambda^T[b-g(x’)]\gt f(x^) =f(x^)+\lambda T[b-g(x*)]
$$
② 证明必要性:若带有约束条件问题有解,则这个解一定也是不带有约束条件问题的解。分为 (1) (2) (3) 三步:
(1) 首先证明,对于 concave function f f f 和 − g -g −g ,带约束条件的目标函数 V : R m ↦ R V:\,\bold{R}^m \mapsto \bold{R} V:Rm↦R 一定是 concave function 并且是单调递增的。单调递增好理解,如果 b b b 越大,则 f f f 可以取到的定义域范围也就越大,所以最大值肯定不会递减。concave 性需要证明:
V
(
α
b
+
(
1
−
α
)
b
′
)
≥
α
V
(
b
)
+
(
1
−
α
)
V
(
b
′
)
V(\alpha b+(1-\alpha)b')\geq \alpha V(b)+(1-\alpha)V(b')
V(αb+(1−α)b′)≥αV(b)+(1−α)V(b′)
我们令
x
∗
x^*
x∗ 是
V
(
b
)
V(b)
V(b) 的解,
x
∗
∗
x^{**}
x∗∗ 是
V
(
b
′
)
V(b')
V(b′) 的解,则有:
{
g
(
x
∗
)
≤
b
g
(
x
∗
∗
)
≤
b
′
⇒
g
(
α
x
∗
+
(
1
−
α
)
x
∗
∗
)
≤
α
g
(
x
∗
)
+
(
1
−
α
)
g
(
x
∗
∗
)
≤
α
b
+
(
1
−
α
)
b
′
\left\{ \begin{array}{l} g(x^*) \leq b \\ g(x^{**}) \leq b' \end{array} \right. \Rightarrow g(\alpha x^* + (1-\alpha)x^{**}) \leq \alpha g(x^*) + (1-\alpha)g(x^{**})\leq\alpha b + (1-\alpha)b'
{g(x∗)≤bg(x∗∗)≤b′⇒g(αx∗+(1−α)x∗∗)≤αg(x∗)+(1−α)g(x∗∗)≤αb+(1−α)b′
- 第一个小于等于是因为我们假设 − g -g −g 是 concave 的,第二个小于等于是因为 g ( x ) ≤ b g(x)\leq b g(x)≤b ;
这里说明 α x ∗ + ( 1 − α ) x ∗ ∗ \alpha x^* +(1-\alpha)x^{**} αx∗+(1−α)x∗∗ 也是满足约束条件 g ( α x ∗ + ( 1 − α ) x ∗ ∗ ) ≤ α b + ( 1 − α ) b ′ g(\alpha x^* + (1-\alpha)x^{**}) \leq \alpha b + (1-\alpha)b' g(αx∗+(1−α)x∗∗)≤αb+(1−α)b′ 的
而有:
V
(
α
b
+
(
1
−
α
)
b
′
)
≥
f
(
α
x
∗
+
(
1
−
α
)
x
∗
∗
)
≥
α
f
(
x
∗
)
+
(
1
−
α
)
f
(
x
∗
∗
)
=
α
V
(
b
)
+
(
1
−
α
)
V
(
b
′
)
V(\alpha b+(1-\alpha)b')\geq f(\alpha x^{*} + (1-\alpha)x^{**}) \geq \alpha f(x^*)+(1-\alpha)f(x^{**})=\alpha V(b)+(1-\alpha)V(b')
V(αb+(1−α)b′)≥f(αx∗+(1−α)x∗∗)≥αf(x∗)+(1−α)f(x∗∗)=αV(b)+(1−α)V(b′)
- 第一个大于等于是因为我们 V ( b ) V(b) V(b) 的含义是满足约束条件的最大值,而 α x ∗ + ( 1 − α ) x ∗ ∗ \alpha x^* +(1-\alpha)x^{**} αx∗+(1−α)x∗∗ 满足约束条件,因此不会比 V V V 大;
- 第二个大于等于是因为我们假设 f f f 是 concave function;
- 第三个等于是我们假设 x ∗ x^* x∗ 是 V ( b ) V(b) V(b) 的解, x ∗ ∗ x^{**} x∗∗ 是 V ( b ′ ) V(b') V(b′) 的解;
由此我们得到了 V ( b ) V(b) V(b) 是 concave 的;(其实我觉得从直观上理解,因为 − g -g −g 是 concave 的,所以 b b b 增大使得 x x x 范围增大的速率逐渐减小;并且 f f f 也是 concave 的,所以 x x x 范围增大使得 f f f 最大值增大的速率变小)
(2) 我们定义一个集合:
Λ
≜
{
(
y
,
z
)
∈
R
m
×
R
:
V
(
y
)
≥
z
}
\Lambda \triangleq \{\, (y,\,z)\in \bold{R}^m\times \bold{R}:\,V(y)\geq z \,\}
Λ≜{(y,z)∈Rm×R:V(y)≥z}
由于
V
(
b
)
V(b)
V(b) 是凸函数,并且我们假设原带约束条件的问题有解,因此
Λ
\Lambda
Λ 是非空凸集,且
(
b
,
V
(
b
)
)
(b,\,V(b))
(b,V(b)) 是在
Λ
\Lambda
Λ 边界上的点,即对于
∀
ε
>
0
\forall \varepsilon \gt 0
∀ε>0 ,有
(
b
,
V
(
b
)
−
ε
)
∈
Λ
(b,\,V(b)-\varepsilon)\in \Lambda
(b,V(b)−ε)∈Λ 且
(
b
,
V
(
b
)
+
ε
)
∉
Λ
(b,\,V(b)+\varepsilon)\not\in \Lambda
(b,V(b)+ε)∈Λ 。
首先要来学习一个定理:
Minkowski’s supporting hyperplane theorem:对于一个非空的凸集
S
⊆
R
n
S\subseteq \bold{R}^n
S⊆Rn ,
x
0
x_0
x0 是
S
S
S 边界上的点,则存在一个支撑超平面,使得
S
S
S 中所有点都在该超平面的一侧,而
x
0
x_0
x0 在超平面上。或者表述成,存在非零向量
p
∈
R
n
p \in \bold{R}^n
p∈Rn ,使得对于
S
S
S 中的任意一点
x
x
x ,都有:
p
T
x
≤
p
T
x
0
p^Tx\leq p^T x_0
pTx≤pTx0
(这里取
p
T
x
≥
p
T
x
0
p^Tx\geq p^T x_0
pTx≥pTx0 也可以,这里
p
p
p 就是平面的法向量)
因此,由于
(
b
,
V
(
b
)
)
(b,\,V(b))
(b,V(b)) 是在
Λ
\Lambda
Λ 边界上的点,我们可以找到一个非零向量
(
−
λ
,
μ
)
∈
R
m
×
R
(-\lambda,\,\mu)\in \bold{R}^m\times \bold{R}
(−λ,μ)∈Rm×R ,使得:
μ
z
−
λ
T
y
≤
μ
V
(
b
)
−
λ
T
b
∀
(
y
,
z
)
∈
Λ
\mu z-\lambda^Ty\leq \mu V(b)-\lambda^Tb\quad\forall (y,\,z)\in \Lambda
μz−λTy≤μV(b)−λTb∀(y,z)∈Λ
我们证明 (2.1)
λ
≥
0
\lambda \geq 0
λ≥0 ;(2.2)
μ
>
0
\mu \gt 0
μ>0
(2.1) 反证法:若存在某个
λ
i
<
0
\lambda_i\lt 0
λi<0 (
i
=
1
,
2
,
⋯
,
m
i=1,\,2,\,\cdots,\,m
i=1,2,⋯,m),我们令其余
y
j
=
b
j
y_j=b_j
yj=bj (
j
≠
i
j\not=i
j=i),则令
y
i
y_i
yi 足够大(例如到
+
∞
+\infty
+∞),则显然
(
y
,
V
(
b
)
)
∈
Λ
(y,\,V(b))\in\Lambda
(y,V(b))∈Λ ,但此时有:
y
i
>
b
i
⇒
μ
V
(
b
)
−
λ
T
y
>
μ
V
(
b
)
−
λ
T
b
y_i\gt b_i \Rightarrow \mu V(b)-\lambda^Ty\gt \mu V(b)-\lambda^Tb
yi>bi⇒μV(b)−λTy>μV(b)−λTb
与上边的不等式矛盾,因此所有
λ
i
≥
0
\lambda_i\geq 0
λi≥0 ,即
λ
≥
0
\lambda \geq 0
λ≥0 ;
(2.2) 前面提到
(
b
,
V
(
b
)
−
ε
)
∈
Λ
(b,\,V(b)-\varepsilon)\in \Lambda
(b,V(b)−ε)∈Λ ,代入上面的不等式,得到:
μ
(
V
(
b
)
−
ε
)
−
λ
T
b
≤
μ
V
(
b
)
−
λ
T
b
⇒
μ
≥
0
\mu(V(b)-\varepsilon)-\lambda^Tb\leq \mu V(b)-\lambda^Tb \Rightarrow \mu \geq 0
μ(V(b)−ε)−λTb≤μV(b)−λTb⇒μ≥0
如果
μ
=
0
\mu=0
μ=0 的话,上面的不等式就变成了
λ
T
y
≥
λ
T
b
\lambda^T y\geq \lambda^Tb
λTy≥λTb 对于任意
y
∈
R
m
y\in \bold{R}^m
y∈Rm 都成立,此时只能有
λ
=
0
\lambda=0
λ=0 ,而与凸集支撑定理矛盾(我们说
(
−
λ
,
μ
)
(-\lambda,\,\mu)
(−λ,μ) 为非零向量 )
现在有了
λ
≥
0
\lambda \geq 0
λ≥0 以及
μ
>
0
\mu \gt 0
μ>0 ,我们可以归一化,两边除以
μ
\mu
μ (其实就是取
μ
=
1
\mu=1
μ=1 的那个法向量),得到:
z
−
λ
T
y
≤
V
(
b
)
−
λ
T
b
∀
(
y
,
z
)
∈
Λ
z-\lambda^Ty\leq V(b)-\lambda^Tb\quad\forall (y,\,z)\in \Lambda
z−λTy≤V(b)−λTb∀(y,z)∈Λ
(3) 我们令带约束条件的问题的解为
x
∗
x^*
x∗ ,则
g
(
x
∗
)
≤
b
g(x^*)\leq b
g(x∗)≤b 且
V
(
b
)
=
f
(
x
∗
)
V(b)=f(x^*)
V(b)=f(x∗) ,则上面的不等式变成:
z
−
λ
T
y
≤
V
(
b
)
−
λ
T
b
≤
f
(
x
∗
)
−
λ
T
g
(
x
∗
)
z-\lambda^Ty\leq V(b)-\lambda^Tb\leq f(x^*)-\lambda^T g(x^*)
z−λTy≤V(b)−λTb≤f(x∗)−λTg(x∗)
并且对于
∀
x
∈
R
n
\forall x\in \bold{R}^n
∀x∈Rn ,都有
f
(
x
)
≤
V
(
g
(
x
)
)
f(x)\leq V(g(x))
f(x)≤V(g(x)) ,所以
(
g
(
x
)
,
f
(
x
)
)
∈
Λ
(g(x),\,f(x))\in \Lambda
(g(x),f(x))∈Λ
(这个有点怪,你可以这样理解,这里 b = g ( x ) b=g(x) b=g(x) ,因此 x x x 是满足约束条件的,根据 V ( b ) V(b) V(b) 的定义,肯定是 f ( x ) ≤ V ( b ) = V ( g ( x ) ) f(x)\leq V(b)=V(g(x)) f(x)≤V(b)=V(g(x)) )
带入不等式可以得到:
$$
\begin{align}
f(x)-\lambda^T g(x)\leq&, f(x*)-\lambdaT g(x^) \
\Rightarrow f(x)+\lambda^T[b-g(x)]\leq&, f(x*)+\lambdaT[b-g(x^)]
\end{align}
$$
即可以看到,
x
∗
x^*
x∗ 是问题
arg
max
x
∈
R
n
f
(
x
)
+
λ
T
[
b
−
g
(
x
)
]
\arg\max\limits_{x\in R^n}f(x)+\lambda^T[b-g(x)]
argx∈Rnmaxf(x)+λT[b−g(x)] 的解,因此一阶条件需要满足(就是对这个式子求一阶导,将
x
∗
x^*
x∗ 代入,要等于 0)
同时有
(
g
(
x
∗
)
,
f
(
x
∗
)
)
=
(
g
(
x
∗
)
,
V
(
b
)
)
∈
Λ
(g(x^*),\,f(x^*))=(g(x^*),\,V(b))\in \Lambda
(g(x∗),f(x∗))=(g(x∗),V(b))∈Λ ,代入前边不等式
z
−
λ
T
y
≤
V
(
b
)
−
λ
T
b
∀
(
y
,
z
)
∈
Λ
z-\lambda^Ty\leq V(b)-\lambda^Tb\quad\forall (y,\,z)\in \Lambda
z−λTy≤V(b)−λTb∀(y,z)∈Λ 得到:
λ
T
g
(
x
∗
)
≥
λ
T
b
\lambda^Tg(x^*)\geq \lambda^T b
λTg(x∗)≥λTb
即对于
i
=
1
,
2
,
⋯
,
m
i=1,\,2,\,\cdots,\,m
i=1,2,⋯,m ,都有
λ
i
g
i
(
x
∗
)
≥
λ
i
b
\lambda_i g_i(x^*)\geq \lambda_i b
λigi(x∗)≥λib ;又因为约束条件
g
(
x
∗
)
≤
b
g(x^*)\leq b
g(x∗)≤b ,且
λ
i
≥
0
\lambda_i \geq 0
λi≥0 ,因此
λ
i
(
b
i
−
g
i
(
x
∗
)
)
=
0
\lambda_i(b_i-g_i(x^*))=0
λi(bi−gi(x∗))=0 ,这就得到了剩下的
m
m
m 个方程,得证。
Envelope 定理
(中文的应该叫”包络定理“)
Envelope 定理:令
V
(
θ
)
=
max
x
∈
R
m
f
(
x
,
θ
)
,
θ
∈
R
m
V(\theta)=\max\limits_{x\in \bold{R}^m}f(x,\,\theta),\,\,\theta\in\bold{R}^m
V(θ)=x∈Rmmaxf(x,θ),θ∈Rm ,假设
f
:
R
n
×
R
m
↦
R
f:\,\bold{R}^n\times \bold{R}^m\mapsto \bold{R}
f:Rn×Rm↦R 连续可微,并且在
x
∗
=
x
∗
(
θ
)
x^*=x^*(\theta)
x∗=x∗(θ) 处取得最大值。那么,在最大值处,必有:
∂
V
(
θ
)
∂
θ
i
=
∂
f
(
x
∗
,
θ
)
∂
θ
i
,
i
=
1
,
⋯
,
m
\frac{\partial V(\theta)}{\partial \theta_i}=\frac{\partial f(x^*,\,\theta)}{\partial \theta_i}\,,\quad i=1,\,\cdots,\,m
∂θi∂V(θ)=∂θi∂f(x∗,θ),i=1,⋯,m
证明:由于
V
(
θ
)
=
f
(
x
∗
(
θ
)
,
θ
)
V(\theta)=f(x^*(\theta),\,\theta)
V(θ)=f(x∗(θ),θ) ,我们可以得到:
∂
V
(
θ
)
∂
θ
i
=
∂
f
(
x
∗
,
θ
)
∂
θ
i
+
∑
j
=
1
n
∂
f
(
x
∗
,
θ
)
∂
x
j
∂
x
j
∗
(
θ
)
∂
θ
i
\frac{\partial V(\theta)}{\partial \theta_i}=\frac{\partial f(x^*,\,\theta)}{\partial \theta_i}+\sum\limits_{j=1}^n\frac{\partial f(x^*,\,\theta)}{\partial x_j}\frac{\partial x_j^*(\theta)}{\partial \theta_i}
∂θi∂V(θ)=∂θi∂f(x∗,θ)+j=1∑n∂xj∂f(x∗,θ)∂θi∂xj∗(θ)
但是由 Kunh-Tucker 定理可知,在满足一阶条件的情况下,
∂
f
(
x
∗
,
θ
)
∂
x
j
=
0
,
j
=
1
,
⋯
,
n
\frac{\partial f(x^*,\,\theta)}{\partial x_j}=0,\,\,j=1,\,\cdots,\,n
∂xj∂f(x∗,θ)=0,j=1,⋯,n ,因此只剩下:
∂
V
(
θ
)
∂
θ
i
=
∂
f
(
x
∗
,
θ
)
∂
θ
i
,
i
=
1
,
⋯
,
m
\frac{\partial V(\theta)}{\partial \theta_i}=\frac{\partial f(x^*,\,\theta)}{\partial \theta_i}\,,\quad i=1,\,\cdots,\,m
∂θi∂V(θ)=∂θi∂f(x∗,θ),i=1,⋯,m
Envelope theorem 指出,当外部因素(体现为外生参数
θ
\theta
θ )发生微小变化时,目标函数的变化量等于对应的效用函数的边际变化所导致的变化量。