luyuanhong 发表于 2023-11-5 15:06

如何理解拉格朗日乘子法的本质

如何理解拉格朗日乘子法的本质

作者:爱科普

来源:数学经纬网

拉格朗日乘子法作为求条件极值的经典算法,被广泛地运用于数值计算当中。拉格朗日乘子法是一种求函数 f(x1,x2,…) 在 g(x1,x2,…)=0 的约束条件下的极值的方法。它的主要思想是引入一个新的参数 λ(即拉格朗日乘子),将约束条件函数与原函数联系到一起,使能配成与变量数量相等的等式方程,从而求出得到原函数极值的各个变量的解。本文力求展示给读者一种对拉格朗日乘子法的直观理解,体会数学的精妙。

01什么是拉格朗日乘子法

    在日常生活中我们会面临各种各样的寻求极值的问题。例如,寻求在定义域内函数 f(x) 的极值的问题,在这里我们就需要求得导数为零的点。到了多元情形中,就需要考虑函数 f(x1,x2,…) 对各个分量的偏导数为零的点。现在的问题是,如何“在一定的限制条件下”,寻求目标函数的极值。比如说,我们要寻求 f(x,y) 在约束条件 g(x,y)=0 下的极值。

    一般的想法那就是,我们把 g(x,y)=0 中的 y(或是 x)用 x(或是 y)来显式表达,得到函数 y=h(x)(或是 x=h(y))代回到函数 f(x,y) 中得到函数 F(x)=f(x,h(x))(或是F(y)=f(h(y),y),然后根据一元函数的求解极值的方法,也就是求得导数为零的点来计算极值。现在的问题是,万一 g(x,y)=0 中的 x 或是 y 不可以显式表达,问题该如何解决呢?

    拉格朗日乘子法给出了解决这个问题的办法,这正是数学家拉格朗日的伟大创造。





02拉格朗日乘子法的原理

    读者可能不禁会产生疑问:凭什么引入一个 λ ,定义一个拉格朗日函数,求得拉格朗日函数的极值,就可以求得 f(x,y) 的极值了呢?这背后的原理是什么?

    理解数学背后的原理的一种好的方式,就是打开直观感受。

    在下图中,假设我们的目标函数 f(x,y) 与限制函数 g(x,y) 都在区域 G 上定义。自然而然地,拉格朗日函数是目标函数与限制函数的线性组合,其也是在区域 G 上定义。其中红色的曲线是代表满足 g(x,y)=0 的点的集合。点 M(x0,y0) 是拉格朗日函数在区域 G 上的极值点。现在我们来阐明这其中的原理。


拉格朗日乘子法示意图

    读者肯定会疑惑,为什么拉格朗日函数的极值点会落在曲线 g(x,y)=0 上?它就不会落在区域 G 的别的地方上吗?那是因为我们在拉格朗日函数对参数 λ 求导的时候,得到的函数恰好是 g(x,y)=0 ,有了这个条件,求得的极值点 M(x0,y0) 一定满足 g(x0,y0)=0 ,所以它一定会落在曲线 g(x,y)=0 上。

    其次是为什么拉格朗日函数的极值点一定是 f(x,y) 的极值点呢?首先我们注意到,拉格朗日函数 L=f+λg 在 g=0 的时候,L=f ,也就是拉格朗日函数与目标函数在曲线 g(x,y)=0 的那条线上是相等的。既然如此,拉格朗日函数在 M(x0,y0) 取得极值,也就是在 M(x0,y0) 的局部领域中取得极值,曲线的一小段包含在这局部领域中,也就是说拉格朗日函数在曲线 g(x,y)=0 上取得极值,而在曲线 g(x,y)=0 上拉格朗日函数与目标函数相等,那么,也就是目标函数在曲线 g(x,y)=0 上取得极值。

    这就是隐藏在拉格朗日乘子法背后的本质意义。解决某一类数学问题,固然有它的类似电脑程序一样的解决步骤,但能够进一步去理解这样或是那样的解决步骤的本质含义,数学的学习就充满了乐趣。

    拉格朗日乘子法这样的巧妙的发明,它的巧妙来源于哪里?笔者认为,该方法巧妙在拉格朗日函数的构造上,它引入参数 λ ,并把限制函数包含进去,把问题“升维”一次,然后在升维的基础上求得问题的解,然后再进行“降维”,抛弃参数λ的值,仅关注 (x0,y0) 的值,这个降维刚刚就降在限制函数所限定的范围内,这一升一降,就恰巧解决了条件极值的问题。妙哉!

爱科普 数学经纬网 2023-11-03 22:00 发表于北京
页: [1]
查看完整版本: 如何理解拉格朗日乘子法的本质