多个等式束的拉格朗日乘子问题(详细证明)
UTF8gbsn
多約束的拉格朗日乘子問題.
f(x)h1(x)=0?hm(x)=0\left. \begin{aligned} \quad & f(x)\\ \quad& h_1(x)=0\\ & \quad \quad \vdots\\ & h_m(x)=0 \end{aligned} \right.?f(x)h1?(x)=0?hm?(x)=0?
假設這個問題的解是x?x^{*}x?. 那么, 以下命題成立
?f(x?)=∑i=1mλi?hi(x?)\nabla f(x^{*}) = \sum_{i=1}^{m} \lambda_i\nabla h_i(x^{*})?f(x?)=i=1∑m?λi??hi?(x?)
接下來, 我們就要來證明這個命題.
證明:
假設所有約束條件的相交部分組成一個hypersurface SSS. 并且x?x^{*}x?是 SSS
上的一點. 接下來先來證明?f(x?)\nabla f(x^{*})?f(x?) 垂直于過點x?x^{*}x?,
SSS的切平面TTT. 假設x(t)x(t)x(t)是SSS上任意一條曲線,
切滿足x(0)=x?x(0)=x^{*}x(0)=x?.那么可得.
f(x)=f(x(t))f(x?)=f(x(0))?f(x?)=?f(x?)??x(0)=0\left. \begin{aligned} &f(x)=f(x(t))\\ &f(x^{*})=f(x(0))\\ &\nabla f(x^{*})=\nabla f(x^{*}) \cdot \nabla x(0) = 0 \end{aligned} \right.?f(x)=f(x(t))f(x?)=f(x(0))?f(x?)=?f(x?)??x(0)=0?
最后一個等式之所以是0, 是因為對于一元可導函數f(x(t))f(x(t))f(x(t))來說,
極值點的導數為0. 又因為x(t)x(t)x(t)為任意曲線. 所以?f(x?)\nabla f(x^{*})?f(x?)
垂直于過點x?x^{*}x?, SSS的切平面TTT.
- 至此我們證明了 ?f(x?)\nabla f(x^{*})?f(x?) 垂直于切平面 TTT
接下來, 我們需要設一個假設,
也就是假設?hi(x?),i∈1,2,?,m\nabla h_{i}(x^{*}), i\in {1, 2, \cdots,m}?hi?(x?),i∈1,2,?,m 線性無關.
我們把這種條件下的極值點x?x^{*}x?叫做regular point.
接下來定義一個集合如下.
M={y∣∑i=1myi?hi(x?)=0(m)},y∈Rm,?hi(x?)∈Rm,0(m)∈RmM=\{y|\sum_{i=1}^{m}y_i\nabla h_{i}(x^{*})=0^{(m)}\}, y\in R^{m}, \nabla h_{i}(x^{*}) \in R^m, 0^{(m)}\in R^mM={y∣i=1∑m?yi??hi?(x?)=0(m)},y∈Rm,?hi?(x?)∈Rm,0(m)∈Rm
接下來, 我們需要證明T≡MT \equiv MT≡M, 如果證明T≡MT\equiv MT≡M,
那么就可以說?f(x?)∈span{?hi(x?)},i∈{1,2,?,m}\nabla f(x^{*})\in span\{\nabla h_{i}(x^{*})\}, i\in \{1,2,\cdots, m\}?f(x?)∈span{?hi?(x?)},i∈{1,2,?,m},
也就是說?f(x?)\nabla f(x^{*})?f(x?)可以由?hi(x?),i∈{1,2,?,m}\nabla h_{i}(x^{*}), i\in \{1,2,\cdots, m\}?hi?(x?),i∈{1,2,?,m}線性表示出來.
?f(x?)=∑i=1mλi?hi(x?)\nabla f(x^{*}) = \sum_{i=1}^{m} \lambda_i\nabla h_i(x^{*})?f(x?)=i=1∑m?λi??hi?(x?)
證明 T=M
還是分兩步走T?MT\subset MT?M 和M?TM\subset TM?T來證明T=MT=MT=M.
T?MT\subset MT?M
切平面上的向量, 根據定義必然垂直于約束的表面法向量.
所以可得T?MT\subset MT?M.
M?TM\subset TM?T
反過來, 現在需要證明對于任意的y∈My\in My∈M, 在SSS上存在一條曲線x(t)x(t)x(t)
它在x?x^{*}x? 處的導數為yyy. 也就是證明M?TM\subset TM?T. 現在假設
h(x?+ty+?hT(x?)u(t))=0(m),0(m)∈Rmh(x^{*}+ty+\nabla h^T(x^{*})u(t))=0^{(m)}, 0^{(m)}\in R^mh(x?+ty+?hT(x?)u(t))=0(m),0(m)∈Rm
注意, ?hT(x?)\nabla h^{T}(x^{*})?hT(x?)是一個n×mn\times mn×m的矩陣,
假設x∈Rn,u(t)∈Rmx\in R^n, u(t)\in R^{m}x∈Rn,u(t)∈Rm,
現在假設A=span{?hi(x?),i∈{1,2,?,m}}A=span\{\nabla h_i(x^{*}), i\in \{1,2,\cdots, m\}\}A=span{?hi?(x?),i∈{1,2,?,m}},
因為?hi(x?),i∈{1,2,?,m}\nabla h_{i}(x^{*}), i\in \{1,2,\cdots, m\}?hi?(x?),i∈{1,2,?,m}是線性無關的.
而M=Null(A)M=Null(A)M=Null(A),可見rank(A)+rank(M)=nrank(A)+rank(M)=nrank(A)+rank(M)=n.即然如此,
ty+?hT(x?)u(t)∈Rnty+\nabla h^T(x^{*})u(t) \in R^{n}ty+?hT(x?)u(t)∈Rn
就可以表示空間中任意的一條向量. 所以取合適的u(t)∈Rmu(t)\in R^mu(t)∈Rm, 可使得
h(x?+ty+?h(x?)Tu(t))=0m,0m∈Rmh(x^{*}+ty+\nabla h(x^{*})^Tu(t))=0^{m}, 0^{m}\in R^mh(x?+ty+?h(x?)Tu(t))=0m,0m∈Rm 成立.
下面我們要證明x?+ty+?h(x?)Tu(t)∈Sx^{*}+ty+\nabla h(x^{*})^Tu(t) \in Sx?+ty+?h(x?)Tu(t)∈S 而且其連續可導.
-
先來對 uuu進行求導得 ?h(x?)?h(x?)T\nabla h(x^{*}) \nabla h(x^{*})^T?h(x?)?h(x?)T
這個Jacobian矩陣, 是非奇異的. 因為?hi(x?)\nabla h_{i}(x^{*})?hi?(x?)線性無關.
在t=0t=0t=0處,有一個解為u(0)=0u(0)=0u(0)=0, 由此可見我們可以根據隱函數定理得.
根據約束方程組h(x?+ty+?h(x?)Tu(t))=0(m),0(m)∈Rmh(x^{*}+ty+\nabla h(x^{*})^Tu(t))=0^{(m)}, 0^{(m)}\in R^mh(x?+ty+?h(x?)Tu(t))=0(m),0(m)∈Rm.
可得一系列連續可導的方程解u(t)u(t)u(t), 注意u(t)u(t)u(t)是一個函數向量,
里面有m個函數.
這里有一個邏輯就是只要u(t)u(t)u(t)連續可導.那么下面的這條曲線也是連續可導的.
x(t)=x?+ty+?h(x?)Tu(t)x(t)=x^{*}+ty+\nabla h(x^{*})^Tu(t)x(t)=x?+ty+?h(x?)Tu(t)并且x(t)∈Sx(t)\in Sx(t)∈S.
-
因為h(x?+ty+?h(x?)Tu(t))=0(m),0(m)∈Rmh(x^{*}+ty+\nabla h(x^{*})^Tu(t))=0^{(m)}, 0^{(m)}\in R^mh(x?+ty+?h(x?)Tu(t))=0(m),0(m)∈Rm
是恒等于0(m)0^{(m)}0(m).所以以下導數成立0(m)=?h(x(t))∣t=0=?h(x?)y+?h(x?)?h(x?)u(0)0^{(m)}=\nabla h(x(t))|_{t=0}=\nabla h(x^{*}) y+\nabla h(x^{*}) \nabla h(x^{*})u(0)0(m)=?h(x(t))∣t=0?=?h(x?)y+?h(x?)?h(x?)u(0)
因為u(0)=0u(0)=0u(0)=0, 最后可得
?h(x?)y=0\nabla h(x^{*}) y = 0?h(x?)y=0
對SSS上參數曲線x(t)=x?+ty+?h(x?)Tu(t)x(t)=x^{*}+ty+\nabla h(x^{*})^Tu(t)x(t)=x?+ty+?h(x?)Tu(t), 求導可得
x˙(0)=y+?h(x?)Tx˙(0)=y\dot{\mathbf{x}}(0)=\mathbf{y}+\nabla \mathbf{h}\left(\mathbf{x}^{*}\right)^{T} \dot{\mathbf{x}}(0)=\mathbf{y}x˙(0)=y+?h(x?)Tx˙(0)=y
最后得證,
?y∈M,?x(t)∈S→x˙(0)=y?M?T\forall y\in M, \exists x(t) \in S \rightarrow \dot{x}(0)=y \Rightarrow M \subset T?y∈M,?x(t)∈S→x˙(0)=y?M?T
于是原命題?f(x?)=∑i=1mλi?hi(x?)\nabla f(x^{*}) = \sum_{i=1}^{m} \lambda_i\nabla h_i(x^{*})?f(x?)=∑i=1m?λi??hi?(x?)得證.
多約束拉格朗日乘子
L(x)=f(x)+∑i=1mλihi(x)L(x)=f(x)+\sum_{i=1}^{m}\lambda_i h_i(x)L(x)=f(x)+i=1∑m?λi?hi?(x)
求導并令其等于0正好就是我們的原命題要求的點.
?f(x)+∑i=1mλihi(x)=0\nabla f(x)+\sum_{i=1}^{m}\lambda_ih_i(x)=0?f(x)+i=1∑m?λi?hi?(x)=0
總結
以上是生活随笔為你收集整理的多个等式束的拉格朗日乘子问题(详细证明)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zcmu——1601: 卡斯丁狗去挖矿(
- 下一篇: jq安装