多元函数极值(微分法的应用)

· · 个人记录

初三用小号写的总结。

搬到大号来。

搬过来的时候删掉了涉及到大量微积分和线性代数的证明和拓展。

只留下简单实用的东西。

文章长度直接变成原来的五分之一。

一、无约束下多元函数求极值

1、极值的定义

这里以二元函数为例。

设函数 z = f(x , y) 的定义域为 D , P_0(x_0 , y_0)D 的内点,若存在 P_0 的某个领域 U(P_0) \subset D , 使得该领域内异于 P_0 的任何点 (x , y) 都有

f(x_0 , y_0) > f(x , y)

则称函数 f(x , y) 在点 (x_0 , y_0) 有极大值 f(x_0 , y_0) , 点 (x_0 , y_0) 称为函数 f(x , y) 的极大值点;

若对于该领域内异于任何点 (x , y) 都有

f(x_0 , y_0) < f(x , y)

则称函数 f(x , y) 在点 (x_0 , y_0) 有极小值 f(x_0 , y_0) , 点 (x_0 , y_0) 称为函数 f(x , y) 的极小值点。

可以推广到多元,只需改变一下定义即可。

2、定理(必要条件)

设函数 z = f(x , y) 在点 (x_0 , y_0) 处有偏导数,且在点 (x_0 , y_0) 处有极值 , 则 f_x(x_0 , y_0) = 0 , f_y(x_0 , y_0) = 0

从几何角度上看,此时点 (x_0 , y_0 , z_0) 处的切平面 z - z_0 = f_x(x_0 , y_0)(x - x_0) + f_y(x_0 , y_0)(y - y_0)z - z_0 = 0 平行于 xOy 平面。

类似于一元函数,我们称使得 f_x(x , y) = 0f_y(x , y) = 0 成立的点 (x_0 , y_0) 称为函数 z = f(x , y)驻点

3、定理(充分条件)

设函数 z = f(x ,y) 在点 (x_0, y_0) 的某领域内连续且有一阶及二阶连续偏导数,又 f_x(x_0 , y_0) = 0 , f_y(x_0 , y_0) = 0,令

f_{xx}(x_0 , y_0) = A , f_{xy}(x_0 , y_0) = B , f_{yy}(x_0 , y_0) = C

f(x , y)(x_0 , y_0) 处是否取得极值的条件如下:

实际上此处 AC - B^2

A & B\\ B & C\\ \end{vmatrix}

(用行列式考虑)。

推广至多元函数:

构造函数的 Hessian 矩阵

\begin{bmatrix} \frac{\partial^2 f}{\partial x_1 ^ 2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1 \partial x_n}\\ \frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2 ^ 2} & \cdots & \frac{\partial^2 f}{\partial x_2 \partial x_n}\\ {\vdots}&{\vdots} & {\ddots}&{\vdots}\\ \frac{\partial^2 f}{\partial x_n \partial x_1} & \frac{\partial^2 f}{\partial x_n \partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n ^ 2}\\ \end{bmatrix}

能否取得极值的条件如下:

  • 当函数的 Hessian 矩阵正定时,函数取到最小值。

  • 当函数的 Hessian 矩阵负定时,函数取到最大值。

  • 当函数的 Hessian 矩阵不定时不取极值。

  • 当函数的 Hessian 矩阵半正定或者半负定时不能判断。

4、解决无约束下多元函数极值问题的一般步骤

  • \frac{\partial f}{\partial x} = 0\\ \frac{\partial f}{\partial y} = 0\\ \end{cases}

    ,求出所有驻点。

  • 代入每一个驻点比较其函数值。

  • 对每个驻点,求其对应的二阶偏导数值(也就是求

  • 确定每一个驻点对应的 AC - B^2 的符号,结合第二个定理来判定。

(如果嫌麻烦的话,一般情况下,第三步和第四步可以省略)

(注意考虑边界情况,极值点不一定是驻点)

5、简单的例题

求二元函数 f(x , y) = x^2 - 3xy - y^2 + 2y 的最小值。

f(x , y) 关于 x ,y 的一阶偏导为 0,有:

\frac{\partial f}{\partial x} = 2x -3y = 0\\ \frac{\partial f}{\partial y} = -2y - 3x + 2 = 0\\ \end{cases}

解得唯一驻点 (\frac{6}{13} , \frac{4}{13})

将其代入原函数,则原函数的最小值为 f(\frac{6}{13} , \frac{4}{13}) = 4

由于该函数在定义域内连续且处处有偏倒数,故不用考虑边界情况。

二、约束下多元函数求极值

1、拉格朗日定理

函数 fg 拥有连续的一阶偏导,使得 f 在光滑曲线 g(x , y) = c 上一点 (x_0 , y_0) 存在一个极值。如果 \nabla g(x , y) \neq 0 , 则存在一个实数 \lambda 使得 \nabla f(x_0 , y_0) = \lambda \nabla g(x_0 , y_0)。这个实数 \lambda 称为拉格朗日乘子

(\nabla f向量微分算子,定义为 \nabla f = \begin{bmatrix} \frac{\partial f}{\partial x_1}\\ \frac{\partial f}{\partial x_2}\\ \vdots\\ \frac{\partial f}{\partial x_n}\\ \end{bmatrix})

换句话说,就是两个曲线的梯度向量平行时,两曲线相切(显然极值在两曲线相切时取得)。

拉格朗日定理给出了拉格朗日乘子存在的必要条件。

2、拉格朗日乘数法

在数学最优问题中,拉格朗日乘数法是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有 n 个变量与 k 个约束条件的最优化问题转换为一个有 n + k 个变量的方程组的极值问题,其变量不受任何约束。这种方法引入了一种新的标量未知数,即拉格朗日乘子:约束方程的梯度的线性组合里每个向量的系数。此方法的证明牵涉到偏微分全微分链法,从而找到能让设出的隐函数的微分为零的未知数的值。

一般流程(以二元函数为例):

函数 fg 满足拉格朗日定理,并且函数 f 在约束条件 g(x , y) = 0 下存在最大值或者最小值。 现在通过下列步骤确定 f

  • 通过求解下列方程组来同时对 \nabla f(x_0 , y_0) = \lambda \nabla g(x_0 , y_0)g(x , y) = 0 进行求解。

  • 用第一步中计算出的每一个驻点分别计算 f 得出 f_{max}f_{min},用 Hessian 矩阵验证其是否为最大值或最小值。

不难发现求解 $\begin{cases} \nabla f(x_0 , y_0) = \lambda \nabla g(x_0 , y_0)\ g(x , y) = 0\ \end{cases}

所以可以构造**拉格朗日函数** $L(x , y , \lambda) = f(x , y) + \lambda g(x , y)$ ,令 $\nabla L(x , y , \lambda) = 0$ 解得驻点便得到目标函数的可能极值点。 这样就把约束下条件极值转换为了无约束条件极值。 推广至两个约束下三元函数求最值,拉格朗日函数为 $L(x , y , z , \lambda , \mu) = f(x , y , z) + \lambda g(x , y , z) + \mu h(x , y , z)$。