首页 > 其他分享 >多元函数多约束拉格朗日乘数法证明

多元函数多约束拉格朗日乘数法证明

时间:2023-03-28 23:48:59浏览次数:37  
标签:dots 拉格朗 right frac matrix nabla 多元 partial 乘数

多元函数多约束拉格朗日乘数法证明

目录

0. 一些约定

为了方便,约定:

函数的偏导数用\(f_x\)代表\(\frac{\partial f}{\partial x}\),当函数为单元的时候,\(f_x\)代表\(\frac{\mathrm{d}f}{\mathrm{d}x}\)。

函数的梯度用\(\nabla f\) 表示,即\(\nabla f=(f_{x_1},\dots,f_{x_n})\)。

函数雅可比矩阵:

\[\frac{\partial(f_1,\dots,f_n)}{\partial(x_1,\dots,x_m)}= \left| \matrix{ f_{1x_1} &\dots &f_{1x_m}\\ \vdots &\ddots &\vdots\\ f_{nx_1} &\dots &f_{nx_m} } \right| \]

约定:

\[\frac{\partial(f_1,\dots,f_n)}{\partial(x_1,\dots,x_m)_{x_i\rightarrow y_j}}= \left| \matrix{ f_{1x_1} &\dots &f_{1x_{i-1}} &f_{1y_j} &f_{1x_{i+1}} &\dots &f_{1x_m}\\ \vdots &\vdots &\vdots &\vdots &\vdots &\vdots &\vdots\\ f_{nx_1} &\dots &f_{nx_{i-1}} &f_{ny_j} &f_{nx_{i+1}} &\dots &f_{nx_m}\\ } \right| \]

1. 从简单开始

1.1. 三个未知数,一个约束

考虑这样的题目:

\[\mbox{maxmize}:f(x,y,z)\\ \mbox{s.t.} g(x,y,z)=0 \]

那么,\(g\)的约束能确定一个隐函数\(z=z(x,y)\),即:

\[\mbox{maxmize}:f(x,y,z(x,y)) \]

那么问题就变成无约束的情况,一个必要条件是:

\[\left\{ \matrix{ \frac{\partial f}{\partial x}+\frac{\partial f}{\partial z}\frac{\partial z}{\partial x}=0\\ \frac{\partial f}{\partial y}+\frac{\partial f}{\partial z}\frac{\partial z}{\partial y}=0\\ } \right. \]

那么,由隐函数求导,有:

\[\frac{\partial z}{\partial x}=-\frac{\frac{\partial g}{\partial x}}{\frac{\partial g}{\partial z}}\\ \frac{\partial z}{\partial y}=-\frac{\frac{\partial g}{\partial y}}{\frac{\partial g}{\partial z}} \]

原约束为:

\[\left\{ \matrix{ \frac{\partial f}{\partial x}-\frac{\partial f}{\partial z}\frac{\frac{\partial g}{\partial x}}{\frac{\partial g}{\partial z}}=0\\ \frac{\partial f}{\partial y}-\frac{\partial f}{\partial z}\frac{\frac{\partial g}{\partial y}}{\frac{\partial g}{\partial z}}=0\\ } \right. \]

令:

\[\lambda=\frac{\frac{\partial f}{\partial z}}{\frac{\partial g}{\partial z}} \]

就有:

\[\left\{ \matrix{ \frac{\partial f}{\partial x}-\lambda\frac{\partial g}{\partial x}=0\\ \frac{\partial f}{\partial y}-\lambda\frac{\partial g}{\partial y}=0\\ \frac{\partial f}{\partial z}-\lambda\frac{\partial g}{\partial z}=0 } \right. \]

这就是拉格朗日函数\(L(x,y,z)=f(x,y,z)-\lambda g(x,y,z)\)的由来。

1.2. 三个未知数,两个约束

为了简便,这里之后使用\(f_x\)来代替\(\frac{\partial f}{\partial x}\),当\(f\)为单元函数的时候也这么说,以此类推。

在 1.1 里,这样的讨论似乎不能更好地拓展到多个未知数的情况。

所以,这里我们讨论约束个数更多的情况:

\[\frac{\partial(g,h)}{\partial(x,y,z)}= \left| \matrix{ g_x& g_y& g_z\\ h_x& h_y& h_z } \right|\not=0\\ \mbox{maxmize}:f(x,y,z)\\ \mbox{s.t.} g(x,y,z)=0,h(x,y,z)=0 \]

这种约束的情况下,可以确定隐函数:

\[y=y(x),z=z(x) \]

即,函数为三维空间中的一根曲线。

那么,必要条件即为:

\[f_x+f_y\cdot y_x+f_z\cdot z_x=0 \]

可以将其看成向量点乘的形式:

\[(f_x,f_y,f_z)\cdot(1,y_x,y_z)=0 \]

将\((f_x,f_y,f_z)\)表示成\(f\)的梯度\(\nabla f\)即:

\[\nabla f\cdot(1,y_x,y_z)=0 \]

即\(\nabla f\)与为曲线的切向量垂直的向量。

由解析几何的知识,可以知道曲线可以表示成两个曲面的交,即:

\[l=g\and h \]

而且,由于\(\frac{\partial(g,h)}{\partial(x,y,z)}\not=0\),所以\(\nabla g,\nabla h\)线性无关。

所以,在某一点所有与曲线切线垂直的向量所形成的平面是由\(\nabla g\)和\(\nabla h\)所张成的空间,即:

\[\nabla f=\lambda \nabla g+\mu\nabla h \]

对应到每个分量方程就是:

\[\left\{ \matrix{ f_x-\lambda g_x-\mu h_x=0\\ f_y-\lambda g_y-\mu h_y=0\\ f_y-\lambda g_y-\mu h_y=0 } \right. \]

这就是拉格朗日函数\(L(x,y,z)=f(x,y,z)-\lambda g(x,y,z)-\mu h(x,y,z)\)的由来。

2. 一般情况

2.0. 多元多约束求偏导

我们先算这个隐函数所对应的偏导数,\(g_1,\dots,g_m\)分别对\(x_1\)求偏导,有:

\[\left\{ \matrix{ g_{1x_1}+g_{1y_1}y_{1x_1}+\dots+g_{1y_m}y_{mx_1}=0\\ \cdots\\ g_{mx_1}+g_{my_1}y_{mx_1}+\dots+g_{my_m}y_{mx_1}=0 } \right. \]

即:

\[\left\{ \matrix{ g_{1y_1}y_{1x_1}+\dots+g_{1y_m}y_{mx_1}=-g_{1x_1}\\ \cdots\\ g_{my_1}y_{1x_1}+\dots+g_{my_m}y_{mx_1}=-g_{mx_1} } \right. \]

写成矩阵形式即为:

\[\frac{\partial(g_1,g_2,\dots,g_m)}{\partial(y_1,y_2,\dots,y_m)}\cdot \left( \matrix{ y_{1x_1}\\ y_{2x_1}\\ \cdots\\ y_{mx_1} } \right) =- \left( \matrix{ g_{1x_1}\\ g_{2x_1}\\ \cdots\\ g_{mx_1} } \right) \]

将\(g_1,\dots,g_m\)对\(x_1,\dots,x_n\)求偏导的矩阵和起来:

\[\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)}\cdot\frac{\partial(y_1,\dots,y_m)}{\partial(x_1,\dots,x_n)}=-\frac{\partial(g_1,\dots,g_m)}{\partial(x_1,\dots,x_n)} \]

由克拉默法则,有:

\[y_{ix_j}=-\frac{\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)_{y_i\rightarrow x_j}}}{\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)}} \]

2.1. 更复杂的情况

我们由多约束的情况过渡到更加一般的情况:

\[\frac{\partial(g_1,\dots,g_m)}{\partial(x_1,\dots,x_n,y_1,\dots,y_m)}\not=0\\ \mbox{maxmize}:f(x_1,\dots,x_n,y_1,\dots,y_m)\\ \mbox{s.t.} \left\{ \matrix{ g_1(x_1,\dots,x_n,y_1,\dots,y_m)=0\\ \cdots\\ g_m(x_1,\dots,x_n,y_1,\dots,y_m)=0 } \right. \]

同样,由约束条件可以获得一堆隐函数:

\[\left\{ \matrix{ y_1=y_1(x_1,\dots,x_n)\\ \cdots\\ y_m=y_m(x_1,\dots,x_n) } \right. \]

一个必要条件即为:

\[\left\{ \matrix{ f_{x_1}+\displaystyle\sum_{i=1}^{m}f_{y_i}y_{ix_1}=0\\ \cdots\\ f_{x_n}+\displaystyle\sum_{i=1}^{m}f_{y_i}y_{ix_n}=0\\ } \right. \]

同样,将其写成梯度的形式:

\[\left\{ \matrix{ \nabla f\cdot (1,0,\dots,0,y_{1x_1},y_{2x_1},\dots,y_{mx_1})\\ \nabla f\cdot (0,1,\dots,0,y_{1x_2},y_{2x_2},\dots,y_{mx_2})\\ \cdots\\ \nabla f\cdot (0,0,\dots,1,y_{1x_n},y_{2x_n},\dots,y_{mx_n}) } \right. \]

由隐函数的算法,有:

\[y_{ix_j}=-\frac{\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)_{y_i\rightarrow x_j}}}{\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)}} \]

那么,梯度的约束又可写为:

\[\left\{ \matrix{ \nabla f\cdot (\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)},0,\dots,0,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)_{y_1\rightarrow x_1}},\dots,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)_{y_m\rightarrow x_1}})\\ \cdots\\ \nabla f\cdot (0,\dots,0,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)},0,\dots,0,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)_{y_1\rightarrow x_i}},\dots,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)_{y_m\rightarrow x_i}})\\ \cdots\\ \nabla f\cdot (0,\dots,0,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)_{y_1\rightarrow x_n}},\dots,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)_{y_m\rightarrow x_n}})\\ } \right. \]

我们希望知道\(\nabla f\)应该满足什么条件。

一个很巧妙的构造是,注意到:

\[\nabla g_k\cdot (0,\dots,0,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)},0,\dots,0,\frac{\partial(g_1,\dots,g_m)}{\partial(x_i,y_2,\dots,y_m)},\dots,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,y_2,\dots,x_i)})\\ =g_{kx_i}\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)}-\sum_{j=1}^{m}g_{ky_j}\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)_{y_j\rightarrow x_i}} \]

将第\(j\)个行列式的第\(j\)列依次与前面交换\(j-1\)次移动到首列,有:

\[=g_{kx_i}\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)}-\sum_{j=1}^{m}(-1)^{j-1}g_{ky_j}\frac{\partial(g_1,\dots,g_m)}{\partial(x_i,y_1\dots,y_{j-1},y_{j+1},\dots,y_m)} \]

注意到,该式可以看作行列式:

\[D_{ki}=\left| \matrix{ g_{kx_i} &g_{ky_1} &g_{ky_2} &\dots &g_{ky_m}\\ g_{1x_i} &g_{1y_1} &g_{1y_2} &\dots &g_{1y_m}\\ g_{2x_i} &g_{2y_1} &g_{2y_2} &\dots &g_{2y_m}\\ \vdots &\vdots &\vdots &\vdots &\vdots\\ g_{mx_i} &g_{my_1} &g_{my_2} &\dots &g_{my_m} } \right| \]

按第一行展开,那么由于第\(1\)行与第\(k+1\)行相同,故:

\[\nabla g_k\cdot (0,\dots,0,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,\dots,y_m)},0,\dots,0,\frac{\partial(g_1,\dots,g_m)}{\partial(x_i,y_2,\dots,y_m)},\dots,\frac{\partial(g_1,\dots,g_m)}{\partial(y_1,y_2,\dots,x_i)})=D_{ki}=0 \]

那么,可以得到\(\nabla g_1, \nabla g_2,\dots,\nabla g_m\)均满足\(\nabla f\)的条件。

将\(\nabla f\)看作\(n+m\)个未知数组成的向量,那么约束即为\(m\)个方程。

可知,其解空间维数为\(\dim \mbox{V}= n+m-\mbox{rank}(\mbox{A})= m\)。

而正好\(\nabla g_1,\dots,\nabla g_m\)线性无关,故\(\nabla f\in \mbox{V}\)。

那么,就有:

\[\nabla f = \sum_{i=0}^m \lambda_i\nabla g_i \]

这时,不妨令\(x_{n+i}=y_i\)写成分量的形式,即:

\[\left\{ \matrix{ f_{x_1}-\displaystyle\sum_{i=0}^m \lambda_ig_{ix_1}=0\\ \dots\\ f_{x_{n+m}}-\displaystyle\sum_{i=0}^m \lambda_ig_{ix_{n+m}}=0\\ } \right. \]

即为拉格朗日函数\(L(x_1,\dots,x_{n+m})=f(x_1,\dots,x_{n+m})-\displaystyle\sum_{i=0}^m \lambda_ig_{i}\)的由来。

标签:dots,拉格朗,right,frac,matrix,nabla,多元,partial,乘数
From: https://www.cnblogs.com/lprdsb/p/17267208.html

相关文章

  • 企业销售额问题——多元回归模型,DW检验
    企业销售额问题                   ......
  • 数据分享|用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化|附代码数
    原文链接:http://tecdat.cn/?p=24127最近我们被客户要求撰写关于预测鲍鱼年龄的研究报告,包括一些图形和统计输出。鲍鱼是一种贝类,在世界许多地方都被视为美味佳肴养殖者......
  • CAD动态块操作实例:距离乘数
    作为一名“成熟”的设计师,相信大家对于CAD动态块都不陌生,以下图为例,对部件左端进行拉伸,且拉伸后【键】仍处于部件左端的中心位置。今天,我们要用CAD动态块动作的【距离乘数......
  • 拉格朗日插值法
    拉格朗日插值法引入拉格朗日插值法是一种解决多项式插值的方法。多项式插值:已知\(n+1\)个点\((x_i,y_i)\),求一个多项式函数\(f(x)\)使得其图像经过这\(n+......
  • 拉格朗日插值入门
    我们都知道,通过\(n+1\)个点可以求出一个\(n\)次的多项式,使这个多项式通过这\(n+1\)个点。拉格朗日插值,就是一种求这个多项式的方法。这种方法使如此的睿智,以至于我可......
  • 拉格朗日插值
    这个东西应该在很久之前就要学的结果被鸽到了现在。我是鸽德拉格朗日插值拉格朗日插值解决的是一类给定多项式的点值表示让你求另一个点的函数值的问题。先来思考这个......
  • 多元函数驻点与极值点关系
    驻点与极值点(一元)链接多元极值点f(\(x_0\),\(y_0\))>f(x,y)就为极大值,小于为极小值多元驻点也不一定是极值点xy极值点也不一定是驻点|x|+|y|在(0,0)点因为|x|+|y|......
  • 拉格朗日和kkt公式的应用示例
    https://o-o-sudo.github.io/numerical-methods/-kkt-lagrange-multiplier-to-kkt-condition.html                 ......
  • 多元函数微分学
    偏导数在某点处固定除了某一变量外的其它变量,对该变量求倒数得到的结果就成为多元函数在该点处关于该变量的偏导数。设该变量为\(x\),偏导数就记为\(\dfrac{\partf}{\part......
  • 茄子科技CEO仇俊,引领企业不断创新,满足全球用户多元诉求
    过去几年,茄子科技通过深耕全球化和本地化的战略,将更多的目光持续投向全球新兴市场。仇俊作为茄子科技(海外SHAREitGroup)创始人、CEO,凭借敏锐的行业洞察力及广阔的国际视野,致......