注 数学系列为本人的学习笔记,水平有限,如有错误希望读者不吝指正。
拉格朗日乘子法(Lagrange Multiplier Method)是求解最优化问题的一个方法,在推导该方法之前,先来看几个基本概念。
梯度(gradient)
函数的梯度是由该函数的偏导数组成的向量,一元函数的梯度就是导数,函数的切线就是梯度的方向,二元函数的梯度是两个偏导数组成的向量,例如二元函数 z=f(x,y)z=f(x,y)z=f(x,y) 可微,在点 PoP_oPo 处存在偏导数 fx′,fy′f'_x, f'_yfx′,fy′,则称向量 (fx′,fy′)(f'_x, f'_y)(fx′,fy′) 为函数 zzz 的梯度,记为 ∇z∇z∇z 。梯度的几何意义是函数变化率最大的方向。一元函数导数即为函数的变化率,沿切线的方向就是变化率最大的方向。二元函数中,由两个偏导数组成的向量的方向,即为梯度方向。因为二元函数的全微分形式为
dz=fx′(x,y)dx+fy′(x,y)dydz = f'_x(x,y)dx + f'_y(x,y)dy dz=fx′(x,y)dx+fy′(x,y)dy则二元函数梯度为
∇z=(fx′(x,y),fy′(x,y)) \nabla z = (f'_x(x,y), f'_y(x,y)) ∇z=(fx′(x,y),fy′(x,y)) 观察 dzdzdz 的形式,我们发现 dzdzdz 可记为 ∇z\nabla z∇z 与 (dx,dy)(dx, dy)(dx,dy) 的内积,即
∇z⋅(dx,dy)=(fx′(x,y),fy′(x,y))⋅(dx,dy)=fx′(x,y)dx+fy′(x,y)dy \nabla z \cdot (dx,dy) = (f'_x(x,y), f'_y(x,y)) \cdot (dx,dy) = f'_x(x,y)dx + f'_y(x,y)dy ∇z⋅(dx,dy)=(fx′(x,y),fy′(x,y))⋅(dx,dy)=fx′(x,y)dx+fy′(x,y)dy 微分就是近似计算
Δz=fx′(x,y)dx+fy′(x,y)dy=∇z⋅(Δx,Δy) \Delta z = f'_x(x,y)dx + f'_y(x,y)dy = \nabla z \cdot (\Delta x, \Delta y) Δz=fx′(x,y)dx+fy′(x,y)dy=∇z⋅(Δx,Δy)
我们知道两个向量内积的几何意义是两向量模长相乘再乘以这两个向量的夹角的余弦,即设 a、b{\bf a 、b}a、b 为两向量,其夹角为 θ\thetaθ,则
a⋅b=∣∣a∣∣⋅∣∣b∣∣⋅cosθ {\bf a \cdot b} = ||{\bf a}|| \cdot||{\bf b}|| \cdot \cos \theta a⋅b=∣∣a∣∣⋅∣∣b∣∣⋅cosθ 我们记向量 ∇z∇z∇z 和向量 (Δx,Δy)(\Delta x, \Delta y)(Δx,Δy) 之间的夹角 ∠\angle∠ 为 α\alphaα,则
Δz=∇z⋅(Δx,Δy)=∣∣∇z∣∣⋅∣∣(Δx,Δy)∣∣⋅cosα \Delta z =\nabla z \cdot (\Delta x, \Delta y) = ||\nabla z|| \cdot ||(\Delta x, \Delta y)|| \cdot \cos \alpha Δz=∇z⋅(Δx,Δy)=∣∣∇z∣∣⋅∣∣(Δx,Δy)∣∣⋅cosα 当固定 ∇z\nabla z∇z、Δx\Delta xΔx 和 Δy\Delta yΔy 后,∠α=0\angle \alpha = 0∠α=0 时,Δz\Delta zΔz 最大,因此函数 zzz 变化率最大的方向与 (Δx,Δy)(\Delta x, \Delta y)(Δx,Δy) 也就是其梯度的方向是一致的。当函数更多元时,可以证明梯度仍然是函数变化率最大的方向。
黑塞矩阵(Hessian Matrix)
是一个多元函数的二阶偏导数构成的矩阵,描述了该函数的局部曲率。黑塞矩阵最早于19世纪由德国数学家Ludwig Otto Hesse提出,并以其名字命名。该矩阵在判定多元函数极值方面有非常重要的应用。
在工程实际问题的优化设计中,目标函数往往非常复杂,为了使问题简化,往往将目标函数在某点邻域内展开成泰勒多项式来逼近原函数。
二元函数黑塞矩阵
我们知道,若一元函数 f(x)f(x)f(x) 在包含 x=x(0)x=x^{(0)}x=x(0) 点的某个闭区间 [a,b][a,b][a,b] 内有 nnn 阶导数,并且在开区间 (a,b)(a,b)(a,b) 上有 n+1n + 1n+1 阶导数,则对闭区间 [a,b][a,b][a,b] 上任意一点 xxx,则 f(x)f(x)f(x) 在 x(0)x^{(0)}x(0) 处有泰勒展开式
f(x)=f(x(0))0!+f′(x(0))1!(x−x(0))+f′′(x(0))2!(x−x(0))+⋯+f(n)(x(0))n!(x−x(0))n+Rn(x) f(x) = \frac{f(x^{(0)})}{0!} + \frac{f'(x^{(0)})}{1!}(x-x^{(0)}) + \frac{f''(x^{(0)})}{2!}(x - x^{(0)}) + \cdots + \frac{f^{(n)}(x^{(0)})}{n!}(x - x^{(0)})^n + R_n(x) f(x)=0!f(x(0))+1!f′(x(0))(x−x(0))+2!f′′(x(0))(x−x(0))+⋯+n!f(n)(x(0))(x−x(0))n+Rn(x) 其中,f(n)(x)f^{(n)}(x)f(n)(x) 为 f(x)f(x)f(x) 的 nnn 阶导数,Rn(x)R_n(x)Rn(x) 是泰勒展开式的余项,是 (x−x(0))n+1(x - x^{(0)})^{n+1}(x−x(0))n+1 的高阶无穷小。
类似一元函数,若二元函数 f(x1,x2)f(x_1,x_2)f(x1,x2) 在点 (x1(0),x2(0))(x^{(0)}_1, x^{(0)}_2)(x1(0),x2(0)) 的某个邻域内有 n+1n + 1n+1 阶连续偏导数,令 (x1(1),x2(1))(x^{(1)}_1, x^{(1)}_2)(x1(1),x2(1)) 为该邻域内任意一点,令 Δx1=x1(1)−x1(0),Δx2=x2(1)−x2(0)\Delta x_1 = x^{(1)}_1-x^{(0)}_1, \quad \Delta x_2 = x^{(1)}_2-x^{(0)}_2Δx1=x1(1)−x1(0),Δx2=x2(1)−x2(0) 令 ∂f∂x1∣X(0) 为 ∂f(x1,x2)∂x1∣(x1(0),x2(0)) 的简写形式 \left.\frac{\partial f}{\partial x_1}\right|_{X^{(0)}} \ 为 \ \left.\frac{\partial f(x_1,x_2)}{\partial x_1}\right|_{(x^{(0)}_1, x^{(0)}_2)} \ 的简写形式∂x1∂f∣∣∣∣X(0) 为 ∂x1∂f(x1,x2)∣∣∣∣(x1(0),x2(0)) 的简写形式
则 f(x1,x2)f(x_1, x_2)f(x1,x2) 在点 (x1(1),x2(1))(x^{(1)}_1, x^{(1)}_2)(x1(1),x2(1)) 处有泰勒展开式
f(x1,x2)=f(x1(0),x2(0))+11!∂f∂x1∣X(0)⋅Δx1+11!∂f∂x2∣X(0)⋅Δx2+12![∂2f∂x12∣X(0)⋅Δx12+2∂2f∂x1∂x2∣X(0)⋅Δx1Δx2+∂2f∂x22∣X(0)⋅Δx22]+⋯+1n![∑p=0n(np)Δx1pΔx2n−p⋅∂nf∂x1p∂x2n−p∣X(0)]+Rn(x)\begin{aligned} f(x_1, x_2) & = f(x^{(0)}_1, x^{(0)}_2) \\ & + \frac{1}{1!} \left.\frac{\partial f}{\partial x_1}\right|_{X^{(0)}} \cdot \Delta x_1 + \frac{1}{1!} \left.\frac{\partial f}{\partial x_2}\right|_{X^{(0)}} \cdot \Delta x_2 \\ & + \frac{1}{2!} \left[ \left.\frac{\partial^2 f}{\partial x^2_1}\right|_{X^{(0)}} \cdot \Delta x^2_1 + 2 \left.\frac{\partial^2 f}{\partial x_1 \partial x_2}\right|_{X^{(0)}} \cdot \Delta x_1 \Delta x_2 + \left.\frac{\partial^2 f}{\partial x^2_2}\right|_{X^{(0)}} \cdot \Delta x^2_2 \right] \\ & + \cdots \\ & + \frac{1}{n!} \left[ \sum^n_{p=0} {n \choose p} \Delta x^p_1 \Delta x^{n-p}_2 \cdot \left.\frac{\partial^n f}{\partial x^p_1 \partial x^{n-p}_2}\right|_{X^{(0)}} \right] \\ & + R_n(x) \end{aligned} f(x1,x2)=f(x1(0),x2(0))+1!1∂x1∂f∣∣∣∣X(0)⋅Δx1+1!1∂x2∂f∣∣∣∣X(0)⋅Δx2+2!1[∂x12∂2f∣∣∣∣X(0)⋅Δx12+2∂x1∂x2∂2f∣∣∣∣X(0)⋅Δx1Δx2+∂x22∂2f∣∣∣∣X(0)⋅Δx22]+⋯+n!1[p=0∑n(pn)Δx1pΔx2n−p⋅∂x1p∂x2n−p∂nf∣∣∣∣X(0)]+Rn(x) 其中,Rn(x)R_n(x)Rn(x) 是泰勒展开式的余项,是 (Δx1+Δx2)n+1(\Delta x_1 + \Delta x_2)^{n+1}(Δx1+Δx2)n+1 的高阶无穷小。
我们将上述二元函数泰勒展开式写成矩阵相乘的形式,令 X=(x1,x2)X=(x_1, x_2)X=(x1,x2),则泰勒展开式的前几项可以写为
f(X)=f(X(0))+11!(∂f∂x1∣X(0),∂f∂x2∣X(0))(Δx1Δx2)+12!(Δx1,Δx2)(∂2f∂x12∣X(0)∂2f∂x1∂x2∣X(0)∂2f∂x1∂x2∣X(0)∂2f∂x22∣X(0))(Δx1Δx2)+⋯\begin{aligned} f(X) & = f(X^{(0)}) \\ & + \frac{1}{1!} (\left.\frac{\partial f}{\partial x_1}\right|_{X^{(0)}} , \left.\frac{\partial f}{\partial x_2}\right|_{X^{(0)}}) \begin{pmatrix} \Delta x_1 \\[2ex] \Delta x_2 \end{pmatrix} \\ & + \frac{1}{2!} (\Delta x_1, \Delta x_2) \begin{pmatrix} \left.\dfrac{\partial^2 f}{\partial x^2_1}\right|_{X^{(0)}} & \left.\dfrac{\partial^2 f}{\partial x_1 \partial x_2}\right|_{X^{(0)}} \\[4ex] \left.\dfrac{\partial^2 f}{\partial x_1 \partial x_2}\right|_{X^{(0)}} & \left.\dfrac{\partial^2 f}{\partial x^2_2}\right|_{X^{(0)}} \end{pmatrix} \begin{pmatrix} \Delta x_1 \\[2ex] \Delta x_2 \end{pmatrix} \\ & + \cdots \end{aligned} f(X)=f(X(0))+1!1(∂x1∂f∣∣∣∣X(0),∂x2∂f∣∣∣∣X(0))(Δx1Δx2)+2!1(Δx1,Δx2)⎝⎜⎜⎜⎜⎛∂x12∂2f∣∣∣∣X<

本文深入解析拉格朗日乘子法,探讨梯度与黑塞矩阵概念,讲解一元与多元函数极值判断,以及拉格朗日乘子法在最优化问题中的应用。
最低0.47元/天 解锁文章
923

被折叠的 条评论
为什么被折叠?



