申明:仅个人小记。
给定函数F,求该函数的极值。极值点的各个偏导数为零的点。这就是无条件情况下的求极值方法。
给定目标函数 F F F,等式约束条件为 G i = 0 , i = 1 , 2 , . . . , n G_i=0,i=1,2,...,n Gi=0,i=1,2,...,n。所谓约束条件就是要满足的条件,故而 F F F 的可行域就是所有使得 n n n 个等式 G i = 0 , i = 1 , 2 , . . . , n G_i=0,i=1,2,...,n Gi=0,i=1,2,...,n同时成立的所有 x x x的集合。 即等式条件确定了 目标 F F F 的可行域,记可行域为 D = { x ∣ G i ( x ) = 0 } D=\{x|G_i(x)=0\} D={x∣Gi(x)=0}(注意到: D D D的维度和 x x x的维度是相同的,而函数 G G G 则是以 D D D为定义域来取函数值的)。显然,对于 G i G_i Gi而言,在可行域 D D D 上恒为 0 0 0,进而 G i G_i Gi在可行域 D D D 上的导数恒为零。故而, G i G_i Gi在 ( x , G i ( x ) ) (x,G_i(x)) (x,Gi(x))处的梯度必然垂直于可行域 D D D。
先交代拉格朗日乘数法的基本原理:
任一函数 G G G 的等高超曲面与 G G G 的梯度垂直,“等高”即意味着 Δ G = 0 \Delta G=0 ΔG=0,从而在该等高超曲面上 G G G 的方向导数恒为 0 0 0,从而 G G G 的梯度必然恒垂直于等高超曲面。
每个等式条件构成一个等高超曲面,多个等式共同形成一个公共的等高超曲面,而F的可行域就是这个公共的等高超曲面。显然,当在这个公共的等高超曲面上移动时,恒有 Δ G i = 0 \Delta G_i=0 ΔGi=0。但是,注意没说是恒有 Δ F = 0 \Delta F=0 ΔF=0。
如果x是F的极值点,则该点首先得是在F的可行域(即公共的等高超曲面)内;其次,当F在极值点x附近小可行域内移动时,该点处应有 Δ F = 0 \Delta F=0 ΔF=0,从而方向导数恒为0,即x处的各偏导数应为0。从而F在x的梯度必然垂直该小可行域。即垂直由等式条件构成的公共的等高超曲面。由因为该小可行域足够小时完全可以看作切平面,故而F的梯度垂直与公共的等高超曲面上在x处的切平面,故而“公共的等高超曲面”演变为某一点处的“公共的等高超平面”。
根据上述三条,注意到公共等高超平面”的法向量显然是各个等高超曲面在该点的法向量的线性表示,同时也和F的梯度共线。故而有, ∇ F + ∑ i = 1 n λ i ∇ G i = 0 \nabla F +\sum_{i=1}^{n} \lambda_i\nabla G_i=0 ∇F+i=1∑nλi∇Gi=0 ∇ F = − ∑ i = 1 n λ i ∇ G i = − λ 1 ∇ G 1 − λ 2 ∇ G 2 − . . . − λ n ∇ G n \nabla F = -\sum_{i=1}^{n}\lambda_i\nabla G_i=-\lambda_1\nabla G_1-\lambda_2\nabla G_2-...-\lambda_n \nabla G_n ∇F=−i=1∑nλi∇Gi=−λ1∇G1−λ2∇G2−...−λn∇Gn
注意拉格朗日乘数法里面的 λ \lambda λ称为拉格朗日乘子,它符号不受限制。
从而转为了无条件极值问题。
给定函数F,不等式条件为 G i ≤ 0 G_i \le 0 Gi≤0,求F的极小(大)值 (注意到这里指明了要求F的极小值还是极大值)
G = 0 G=0 G=0表示的是G的一个等高曲平面,而 G ≤ 0 G\le 0 G≤0则表示是 G = 0 G=0 G=0这个超曲面本身以及这个超曲面的一侧。
如果F的极值点x落在可行域的内部而不是边界,那么不等式条件失效,直接转为无条件求极值问题。
如果F的极值点x落在可行域的边界,那么不等式直接更写为等式,转为等式条件求极值问题。
注意: 在转为等式求极值过程中,拉格朗日乘子更名为KKT乘子,同时KKT乘子的符号是受限制的。原因分析:
(1) 当求F的极小值的时候,而且该极小值落在边界上,那么必然应该满足该点小于可行域内的F取值,即F在该点的梯度必然指向可行域内部。
(2) 不等式条件为 G ≤ 0 G\le 0 G≤0,所以知道可行域内部都是G<0的,边界时G=0,显然G的梯度必然指向可行域外侧而不是可行域的内侧
由(1)、(2)知,必然应满足 ∇ F = − μ 1 G 1 − μ 2 G 2 − . . . − μ n G n \nabla F = -\mu_1G_1-\mu_2G_2-...-\mu_nG_n ∇F=−μ1G1−μ2G2−...−μnGn,其中的 μ 1 , μ 2 , . . . , μ n ≥ 0 \mu_1,\mu_2,...,\mu_n\ge0 μ1,μ2,...,μn≥0