You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何需替换两个变量才能找全约束优化问题的所有临界点?

为什么代入法会漏掉临界点?

这是个很常见的误区,咱们一步步拆解问题:

首先明确约束优化中临界点的定义:在约束条件$x2+y2=1$下,函数$f(x,y)$的临界点是满足拉格朗日条件$\nabla f = \lambda \nabla g$($g(x,y)=x2+y2-1$)的点,或者在代入转化为一元函数后,闭区间定义域的端点(因为约束曲线是闭合的圆,代入后会形成闭区间定义域)。

代入法的问题核心

当你从约束条件解出$x2=1-y2$代入原函数,得到$f(y) = -7y^2 + 15$,这一步本身没问题,但你忽略了关键细节:这个一元函数的定义域是$y \in [-1,1]$(因为$x2=1-y2 \geq 0$,$y$的取值被约束在闭区间内)。

根据微积分中闭区间上函数的极值判定规则:函数的极值点(对应原问题的临界点)不仅出现在区间内部导数为0的点,还可能出现在区间的端点处。你只计算了导数$f'(y)=-14y=0$得到的$y=0$(对应$(±1,0)$),但没考虑$y=±1$这两个端点——这两个点对应的$x=0$,也就是$(0,1)$和$(0,-1)$,它们完全满足临界点的条件:
在$(0,1)$处,原函数偏导数$\frac{\partial f}{\partial x}=0$,$\frac{\partial f}{\partial y}=-4$;约束条件梯度$\nabla g=(0,2)$,存在$\lambda=-2$使得$\nabla f = \lambda \nabla g$,完全符合临界点的判定标准。

参数替换法为什么能找到全部临界点?

当你用$x=\cos(t)$,$y=\sin(t)$替换后,原函数转化为关于$t$的函数:
$$f(t)=5\cos^2t - 2\sin^2t +10$$
求导得$f'(t)=-14\sin t \cos t$,令导数为0时,得到$\sin t=0$或$\cos t=0$,对应的$t$值正好覆盖了圆上所有可能的极值点:

  • $\sin t=0$ → $t=0,\pi$ → $(±1,0)$
  • $\cos t=0$ → $t=\frac{\pi}{2},\frac{3\pi}{2}$ → $(0,±1)$

这是因为参数替换把闭合的圆转化为了周期区间$t \in [0,2\pi)$,此时所有临界点都对应导数为0的点,不需要额外考虑端点——圆是闭合的,参数$t$的端点$0$和$2\pi$是同一个点,不会遗漏任何情况。

总结

代入法本身可行,但一定要注意转化后的一元函数的定义域是闭区间,必须同时考虑:

  • 区间内部导数为0的点
  • 区间的端点

而参数替换法因为把闭合曲线转化为周期参数,所有临界点都能通过导数为0的条件找到,不需要额外处理端点,所以不会漏掉。

内容的提问来源于stack exchange,提问作者user124384

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:36:17