20241112_高级工程数学作业
文章目录
- Lagrange 乘子法
- 基本概念与具体问题求解
- 基本概念
- 数学本质与几何解释
- 求解数学表达
- 具体问题求解
- 约束问题转为无约束问题
- 梯度的几何解释
- 将约束融入目标函数
- 例子
- Optimality Conditions
- 无约束优化问题的Optimal Conditions
- 带约束优化问题的Optimal Conditions
- 等式约束(Equality Constraints)
- 不等式约束(Inequality Constraints)
- 例子
Lagrange 乘子法
基本概念与具体问题求解
基本概念
拉格朗日乘子法(Lagrange Multipliers)是一种用于求解在约束条件下的优化问题的数学方法。它通过引入拉格朗日乘子,将原问题转换为一个无约束的优化问题,从而可以应用微分方法求解。
数学本质与几何解释
数学本质为将目标函数和约束函数的梯度方向对齐,找到使得两者平行的点。
拉格朗日乘子法的几何解释是,当目标函数在约束条件上取得极值时,目标函数的梯度
∇
f
\nabla f
∇f 与约束条件的梯度
∇
g
\nabla g
∇g 是平行的,即:
∇ f = λ ∇ g . \nabla f = \lambda \nabla g. ∇f=λ∇g.
这意味着在极值点上,两个向量指向相同方向或相反方向。
求解数学表达
- 构建拉格朗日函数
L
\mathcal{L}
L:假设我们要在约束条件
g
(
x
,
y
,
…
)
=
0
g(x, y, \ldots) = 0
g(x,y,…)=0 下求目标函数
f
(
x
,
y
,
…
)
f(x, y, \ldots)
f(x,y,…) 的极值。拉格朗日乘子法通过引入拉格朗日乘子
λ
\lambda
λ,定义如下的拉格朗日函数:
L ( x , y , … , λ ) = f ( x , y , … ) − λ ⋅ g ( x , y , … ) . \mathcal{L}(x, y, \ldots, \lambda) = f(x, y, \ldots) - \lambda \cdot g(x, y, \ldots). L(x,y,…,λ)=f(x,y,…)−λ⋅g(x,y,…). - 计算偏导数,将对每个变量
x
,
y
,
…
x, y, \ldots
x,y,… 和
λ
\lambda
λ 的偏导数设为零,形成方程组:
∂ L ∂ x = 0 , ∂ L ∂ y = 0 , … , ∂ L ∂ λ = 0. \frac{\partial \mathcal{L}}{\partial x} = 0, \quad \frac{\partial \mathcal{L}}{\partial y} = 0, \quad \ldots, \quad \frac{\partial \mathcal{L}}{\partial \lambda} = 0. ∂x∂L=0,∂y∂L=0,…,∂λ∂L=0. - 求解方程组以确定极值点。
- 多个约束:如果有多个约束
g
1
(
x
,
y
,
…
)
=
0
,
g
2
(
x
,
y
,
…
)
=
0
g_1(x, y, \ldots) = 0, g_2(x, y, \ldots) = 0
g1(x,y,…)=0,g2(x,y,…)=0,引入多个拉格朗日乘子
λ
1
,
λ
2
\lambda_1, \lambda_2
λ1,λ2,构建新的拉格朗日函数:
L ( x , y , … , λ 1 , λ 2 ) = f ( x , y , … ) − λ 1 g 1 ( x , y , … ) − λ 2 g 2 ( x , y , … ) . \mathcal{L}(x, y, \ldots, \lambda_1, \lambda_2) = f(x, y, \ldots) - \lambda_1 g_1(x, y, \ldots) - \lambda_2 g_2(x, y, \ldots). L(x,y,…,λ1,λ2)=f(x,y,…)−λ1g1(x,y,…)−λ2g2(x,y,…).
具体问题求解
考虑在约束 g ( x , y ) = x 2 + y 2 − 1 = 0 g(x, y) = x^2 + y^2 - 1 = 0 g(x,y)=x2+y2−1=0 下最大化函数 f ( x , y ) = x y f(x, y) = xy f(x,y)=xy。
步骤:
- 定义拉格朗日函数:
L ( x , y , λ ) = x y − λ ( x 2 + y 2 − 1 ) . \mathcal{L}(x, y, \lambda) = xy - \lambda (x^2 + y^2 - 1). L(x,y,λ)=xy−λ(x2+y2−1). - 计算偏导数并设为零:
∂ L ∂ x = y − 2 λ x = 0 , ∂ L ∂ y = x − 2 λ y = 0 , ∂ L ∂ λ = − ( x 2 + y 2 − 1 ) = 0. \frac{\partial \mathcal{L}}{\partial x} = y - 2\lambda x = 0, \quad \frac{\partial \mathcal{L}}{\partial y} = x - 2\lambda y = 0, \quad \frac{\partial \mathcal{L}}{\partial \lambda} = -(x^2 + y^2 - 1) = 0. ∂x∂L=y−2λx=0,∂y∂L=x−2λy=0,∂λ∂L=−(x2+y2−1)=0. - 解出 x x x、 y y y、和 λ \lambda λ 的值。
约束问题转为无约束问题
拉格朗日乘子法之所以能够将带约束的优化问题转换为无约束的优化问题,是因为它将约束条件直接融入到目标函数的结构中,通过引入一个或多个新的变量(拉格朗日乘子)来调整目标函数,使得在满足约束条件的情况下寻找极值变成了寻找一个新的函数的极值问题。这背后的原因涉及梯度的几何性质和拉格朗日函数的构建。
梯度的几何解释
当我们在一个约束条件 g ( x , y , … ) = 0 g(x, y, \ldots) = 0 g(x,y,…)=0 下优化目标函数 f ( x , y , … ) f(x, y, \ldots) f(x,y,…) 时,拉格朗日乘子法利用了这样一个事实:在极值点,目标函数 f f f 的梯度 ∇ f \nabla f ∇f 和约束函数 g g g 的梯度 ∇ g \nabla g ∇g 是平行的。
- 梯度的方向:目标函数的梯度 ∇ f \nabla f ∇f 表示函数在给定点的最大上升方向,而约束函数的梯度 ∇ g \nabla g ∇g 表示约束曲面法线的方向。
- 平行性条件:当 ∇ f = λ ∇ g \nabla f = \lambda \nabla g ∇f=λ∇g 时,意味着目标函数的变化在约束曲面内是零,即在该方向上函数不会增加或减少。这正是寻找极值点的必要条件。
将约束融入目标函数
通过引入拉格朗日乘子 λ \lambda λ,我们可以将约束条件与目标函数结合起来,形成新的拉格朗日函数:
L ( x , y , … , λ ) = f ( x , y , … ) − λ ⋅ g ( x , y , … ) . \mathcal{L}(x, y, \ldots, \lambda) = f(x, y, \ldots) - \lambda \cdot g(x, y, \ldots). L(x,y,…,λ)=f(x,y,…)−λ⋅g(x,y,…).
在极值点,解 ( x ∗ , y ∗ , … , λ ∗ ) (x^*, y^*, \ldots, \lambda^*) (x∗,y∗,…,λ∗) 满足以下条件:
∂ L ∂ x = 0 , ∂ L ∂ y = 0 , … , ∂ L ∂ λ = 0. \frac{\partial \mathcal{L}}{\partial x} = 0, \quad \frac{\partial \mathcal{L}}{\partial y} = 0, \quad \ldots, \quad \frac{\partial \mathcal{L}}{\partial \lambda} = 0. ∂x∂L=0,∂y∂L=0,…,∂λ∂L=0.
这些方程表示在新的拉格朗日函数上寻找其在所有变量(包括拉格朗日乘子)上的驻点(即偏导数为零的点)。
例子
考虑在约束 g ( x , y ) = x 2 + y 2 − 1 = 0 g(x, y) = x^2 + y^2 - 1 = 0 g(x,y)=x2+y2−1=0 下最大化函数 f ( x , y ) = x y f(x, y) = xy f(x,y)=xy。
步骤:
-
定义拉格朗日函数:
L ( x , y , λ ) = x y − λ ( x 2 + y 2 − 1 ) . \mathcal{L}(x, y, \lambda) = xy - \lambda (x^2 + y^2 - 1). L(x,y,λ)=xy−λ(x2+y2−1). -
计算偏导数并设为零:
∂ L ∂ x = y − 2 λ x = 0 , ∂ L ∂ y = x − 2 λ y = 0 , ∂ L ∂ λ = − ( x 2 + y 2 − 1 ) = 0. \frac{\partial \mathcal{L}}{\partial x} = y - 2\lambda x = 0, \quad \frac{\partial \mathcal{L}}{\partial y} = x - 2\lambda y = 0, \quad \frac{\partial \mathcal{L}}{\partial \lambda} = -(x^2 + y^2 - 1) = 0. ∂x∂L=y−2λx=0,∂y∂L=x−2λy=0,∂λ∂L=−(x2+y2−1)=0. -
解方程组:
- 从 ∂ L ∂ x = 0 \frac{\partial \mathcal{L}}{\partial x} = 0 ∂x∂L=0 得到 y = 2 λ x y = 2\lambda x y=2λx。
- 从 ∂ L ∂ y = 0 \frac{\partial \mathcal{L}}{\partial y} = 0 ∂y∂L=0 得到 x = 2 λ y x = 2\lambda y x=2λy。
- 从 ∂ L ∂ λ = 0 \frac{\partial \mathcal{L}}{\partial \lambda} = 0 ∂λ∂L=0 得到 x 2 + y 2 = 1 x^2 + y^2 = 1 x2+y2=1。
代入 y = 2 λ x y = 2\lambda x y=2λx 到 x = 2 λ y x = 2\lambda y x=2λy,得到:
x = 2 λ ( 2 λ x ) = 4 λ 2 x . x = 2\lambda (2\lambda x) = 4\lambda^2 x. x=2λ(2λx)=4λ2x.
由于 x ≠ 0 x \neq 0 x=0,可以除以 x x x:
1 = 4 λ 2 ⟹ λ = ± 1 2 . 1 = 4\lambda^2 \implies \lambda = \pm \frac{1}{2}. 1=4λ2⟹λ=±21.当 λ = 1 2 \lambda = \frac{1}{2} λ=21 时, y = x y = x y=x;当 λ = − 1 2 \lambda = -\frac{1}{2} λ=−21 时, y = − x y = -x y=−x。
代入 x 2 + y 2 = 1 x^2 + y^2 = 1 x2+y2=1:
- 当 y = x y = x y=x 时, 2 x 2 = 1 ⟹ x = ± 1 2 , y = ± 1 2 2x^2 = 1 \implies x = \pm \frac{1}{\sqrt{2}}, y = \pm \frac{1}{\sqrt{2}} 2x2=1⟹x=±21,y=±21。
- 当 y = − x y = -x y=−x 时, 2 x 2 = 1 ⟹ x = ± 1 2 , y = ∓ 1 2 2x^2 = 1 \implies x = \pm \frac{1}{\sqrt{2}}, y = \mp \frac{1}{\sqrt{2}} 2x2=1⟹x=±21,y=∓21。
因此,极值点为 ( 1 2 , 1 2 ) \left(\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}}\right) (21,21)、 ( − 1 2 , − 1 2 ) \left(-\frac{1}{\sqrt{2}}, -\frac{1}{\sqrt{2}}\right) (−21,−21)、 ( 1 2 , − 1 2 ) \left(\frac{1}{\sqrt{2}}, -\frac{1}{\sqrt{2}}\right) (21,−21)、 ( − 1 2 , 1 2 ) \left(-\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}}\right) (−21,21)。
Optimality Conditions
无约束优化问题的Optimal Conditions
对于无约束优化问题,假设目标函数是 f ( x ) f(x) f(x),求其极值的 optimal conditions 是基于一阶和二阶导数:
- 一阶必要条件(First-Order Necessary Condition):要使
f
(
x
)
f(x)
f(x) 在某个点
x
∗
x^*
x∗ 处达到极值,该点的梯度必须为零,即:
∇ f ( x ∗ ) = 0. \nabla f(x^*) = 0. ∇f(x∗)=0.
这意味着在极值点处,函数不再向任何方向增加或减少。 - 二阶充分条件(Second-Order Sufficient Condition):如果一阶条件 ∇ f ( x ∗ ) = 0 \nabla f(x^*) = 0 ∇f(x∗)=0 成立,并且 Hessian 矩阵(即二阶偏导数组成的矩阵) H ( x ∗ ) H(x^*) H(x∗) 是正定的(对于极小值)或负定的(对于极大值),那么该点 x ∗ x^* x∗ 是局部极值。正定矩阵的条件是其所有特征值为正,负定矩阵的条件是其所有特征值为负。
带约束优化问题的Optimal Conditions
对于带约束的优化问题,optimal conditions 更复杂,因为需要考虑约束条件。
等式约束(Equality Constraints)
假设优化问题是:
Maximize or Minimize f ( x ) subject to g ( x ) = 0. \text{Maximize or Minimize } f(x) \quad \text{subject to } g(x) = 0. Maximize or Minimize f(x)subject to g(x)=0.
在这种情况下,拉格朗日乘子法可以用于找到 optimal conditions:
- 拉格朗日函数:
L ( x , λ ) = f ( x ) − λ g ( x ) . \mathcal{L}(x, \lambda) = f(x) - \lambda g(x). L(x,λ)=f(x)−λg(x). - Karush-Kuhn-Tucker (KKT) Conditions:
对于等式约束的优化问题,KKT条件包含以下几点:- 一阶导数条件:
∇ x L ( x ∗ , λ ∗ ) = ∇ f ( x ∗ ) − λ ∗ ∇ g ( x ∗ ) = 0. \nabla_x \mathcal{L}(x^*, \lambda^*) = \nabla f(x^*) - \lambda^* \nabla g(x^*) = 0. ∇xL(x∗,λ∗)=∇f(x∗)−λ∗∇g(x∗)=0. - 可行性条件(Feasibility Condition):
g ( x ∗ ) = 0. g(x^*) = 0. g(x∗)=0.
- 一阶导数条件:
不等式约束(Inequality Constraints)
如果有不等式约束,如:
Maximize or Minimize f ( x ) subject to g i ( x ) ≤ 0 , i = 1 , 2 , … , m . \text{Maximize or Minimize } f(x) \quad \text{subject to } g_i(x) \leq 0, \quad i = 1, 2, \ldots, m. Maximize or Minimize f(x)subject to gi(x)≤0,i=1,2,…,m.
KKT条件变得更复杂,包含:
- 拉格朗日函数:
L ( x , λ ) = f ( x ) − ∑ i = 1 m λ i g i ( x ) , \mathcal{L}(x, \lambda) = f(x) - \sum_{i=1}^{m} \lambda_i g_i(x), L(x,λ)=f(x)−i=1∑mλigi(x),
其中 λ i \lambda_i λi 是非负的拉格朗日乘子。 - 一阶必要条件:
∇ f ( x ∗ ) − ∑ i = 1 m λ i ∗ ∇ g i ( x ∗ ) = 0. \nabla f(x^*) - \sum_{i=1}^{m} \lambda_i^* \nabla g_i(x^*) = 0. ∇f(x∗)−i=1∑mλi∗∇gi(x∗)=0. - 可行性条件:
g i ( x ∗ ) ≤ 0 , ∀ i . g_i(x^*) \leq 0, \quad \forall i. gi(x∗)≤0,∀i. - 互补松弛条件(Complementary Slackness Condition):
λ i ∗ g i ( x ∗ ) = 0 , ∀ i . \lambda_i^* g_i(x^*) = 0, \quad \forall i. λi∗gi(x∗)=0,∀i.
这意味着如果某个约束 g i ( x ) g_i(x) gi(x) 不活跃(即 g i ( x ∗ ) < 0 g_i(x^*) < 0 gi(x∗)<0),那么对应的 λ i ∗ \lambda_i^* λi∗ 必须为零。 - 非负性条件:
λ i ∗ ≥ 0 , ∀ i . \lambda_i^* \geq 0, \quad \forall i. λi∗≥0,∀i.
例子
考虑在约束 g ( x , y ) = x + y − 1 ≤ 0 g(x, y) = x + y - 1 \leq 0 g(x,y)=x+y−1≤0 下最小化函数 f ( x , y ) = x 2 + y 2 f(x, y) = x^2 + y^2 f(x,y)=x2+y2。
步骤:
-
定义拉格朗日函数:
L ( x , y , λ ) = x 2 + y 2 − λ ( x + y − 1 ) . \mathcal{L}(x, y, \lambda) = x^2 + y^2 - \lambda (x + y - 1). L(x,y,λ)=x2+y2−λ(x+y−1). -
计算偏导数并设为零:
∂ L ∂ x = 2 x − λ = 0 , ∂ L ∂ y = 2 y − λ = 0 , ∂ L ∂ λ = − ( x + y − 1 ) = 0. \frac{\partial \mathcal{L}}{\partial x} = 2x - \lambda = 0, \quad \frac{\partial \mathcal{L}}{\partial y} = 2y - \lambda = 0, \quad \frac{\partial \mathcal{L}}{\partial \lambda} = -(x + y - 1) = 0. ∂x∂L=2x−λ=0,∂y∂L=2y−λ=0,∂λ∂L=−(x+y−1)=0. -
解方程组:
- 从 ∂ L ∂ x = 0 \frac{\partial \mathcal{L}}{\partial x} = 0 ∂x∂L=0 得到 2 x = λ 2x = \lambda 2x=λ。
- 从 ∂ L ∂ y = 0 \frac{\partial \mathcal{L}}{\partial y} = 0 ∂y∂L=0 得到 2 y = λ 2y = \lambda 2y=λ。
- 从 ∂ L ∂ λ = 0 \frac{\partial \mathcal{L}}{\partial \lambda} = 0 ∂λ∂L=0 得到 x + y = 1 x + y = 1 x+y=1。
代入 2 x = λ 2x = \lambda 2x=λ 和 2 y = λ 2y = \lambda 2y=λ,得到 x = y x = y x=y。
代入 x + y = 1 x + y = 1 x+y=1:
2 x = 1 ⟹ x = 1 2 , y = 1 2 . 2x = 1 \implies x = \frac{1}{2}, y = \frac{1}{2}. 2x=1⟹x=21,y=21.因此,极值点为 ( 1 2 , 1 2 ) \left(\frac{1}{2}, \frac{1}{2}\right) (21,21)。