最优化与曲线距离
本节课介绍如何利用导数求解最优化问题,包括最短距离、最低成本和最优设计等典型应用。
最优化旨在找到最佳方案——最短路径、最低成本设计或最快路线。
- GPS 导航:计算最短路线
- 物流仓储:在运输工具中实现最优装载
- 建筑工程:用最少的材料实现最大结构强度
- 计算机图形学:确定最优摄像机角度
微积分的优势在于:不必遍历所有可能性,而是通过导数直接定位最优解。
本课内容
- 最优化回顾:利用导数 = 0 求最大/最小值
- 用微积分证明 AM-GM 不等式
- 最小化从一个点到曲线的距离
- “最小化 \(D^2\) 而非 \(D\)”的技巧
- 手动求解三次方程
- 几何方法:最短距离线垂直于切线
- 由微分得到切向量和法向量
课程视频
课程关键帧
预备知识
最优化是指找到使函数取得最大值(极大)或最小值(极小)的输入值。
在微积分中,我们利用这样一个事实:在极大值或极小值处,导数等于零:
\[f'(x) = 0\]
原因在于导数衡量曲线的斜率。在极值点处,斜率为零,这正是微积分在最优化中的核心思想。
导数 \(f'(x)\) 表示变化率——即 \(f(x)\) 在任意点 \(x\) 处增加或减少的速度。
- \(f'(x) > 0\):函数在上升(递增)
- \(f'(x) < 0\):函数在下降(递减)
- \(f'(x) = 0\):函数是平的(可能的极大值或极小值)
对于 \(f(x) = x^n\),导数是 \(f'(x) = nx^{n-1}\)。例如,\(f(x) = x^2\) 给出 \(f'(x) = 2x\)。
两点 \((x_1, y_1)\) 和 \((x_2, y_2)\) 之间的距离是:
\[D = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2}\]
这直接来自勾股定理——距离是一个直角三角形的斜边,两条直角边分别为 \((x_2 - x_1)\) 和 \((y_2 - y_1)\)。
核心概念
最优化回顾:令 \(f'(x) = 0\)
要找函数 \(f(x)\) 的最大值或最小值:
- 求导数 \(f'(x)\)
- 令 \(f'(x) = 0\) 并求解 \(x\)
- 检查它是极大值还是极小值(用二阶导数或检验附近的点)
用微积分证明 AM-GM 不等式
AM-GM 不等式说,对于正数 \(a\) 和 \(b\):
\[\frac{a + b}{2} \geq \sqrt{ab}\]
算术平均数总是不小于几何平均数。可以用微积分来证明这一点。对于固定乘积 \(ab = P\),需最小化 \(a + b = a + \frac{P}{a}\):
\[f(a) = a + \frac{P}{a}\]
\[f'(a) = 1 - \frac{P}{a^2} = 0 \implies a^2 = P \implies a = \sqrt{P}\]
当 \(a = \sqrt{P}\) 时,\(b = \frac{P}{\sqrt{P}} = \sqrt{P} = a\)。因此和 \(a + b\) 在 \(a = b\) 时取得最小值——恰好对应 AM 等于 GM 的情形。
探索——看 \(a + \frac{P}{a}\) 如何在 \(a = \sqrt{P}\) 时取得最小值:
最小化从点到曲线的距离
问题: 找到抛物线 \(y = x^2\) 上离点 \(P(3, 1)\) 最近的点。
从 \(P(3,1)\) 到抛物线上一点 \((x, x^2)\) 的距离为:
\[D = \sqrt{(x - 3)^2 + (x^2 - 1)^2}\]
距离公式中的平方根会使导数的计算变得复杂。关键在于:\(D\) 取最小值时 \(D^2\) 也恰好取最小值(因为 \(D \geq 0\),平方运算保持非负数的序关系)。
因此可以转而最小化:
\[D^2 = (x - 3)^2 + (x^2 - 1)^2\]
消除平方根后,导数的计算更为简洁。
由于距离总是非负的,使距离 \(D\) 最小的 \(x\) 值与使 \(D^2\) 最小的值相同。使用 \(D^2\) 可以消除平方根,使导数更容易计算。
\[D^2 = (x-3)^2 + (x^2-1)^2\]
求导并令其为零:
\[\frac{d(D^2)}{dx} = 2(x-3) + 2(x^2-1)(2x) = 0\]
\[2(x - 3) + 4x(x^2 - 1) = 0\]
\[(x - 3) + 2x(x^2 - 1) = 0\]
\[2x^3 - 2x + x - 3 = 0\]
\[2x^3 - x - 3 = 0\]
这是一个三次方程,需要进一步求解。
动画演示:在 y = x² 上寻找离 P(3,1) 最近的点
Optimization: Minimum Distance from P(3,1) to y=x²
探索——沿抛物线拖动点,观察距离的变化:
解三次方程 \(2x^3 - x - 3 = 0\)
首先,尝试有理根。检验 \(x = 1\):\(2(1) - 1 - 3 = -2 \neq 0\)。检验 \(x = -1\):\(-2 + 1 - 3 = -4 \neq 0\)。
尝试因式分解——实际上需要采用代换法。
代换法: 令 \(x = a + b\)。我们希望 \(a^3 + b^3\) 和 \(ab\) 能简化方程。利用韦达公式,我们可以将三次方程化为关于 \(a^3\) 和 \(b^3\) 的二次方程:
从 \(2x^3 - x - 3 = 0\),除以 2:
\[x^3 - \frac{1}{2}x - \frac{3}{2} = 0\]
通过观察或数值方法,\(x = 1\) 不是解,但我们可以验证这个三次方程有一个实根在 \(x \approx 1.18\) 附近。
对于本课程来说,重要的收获是方法:代换 \(x = a + b\),利用恒等式 \((a+b)^3 = a^3 + 3ab(a+b) + b^3\),通过匹配系数将三次方程转化为二次方程。
动画演示:导数符号分析——递增/递减区间及极值标记
Derivative Sign Analysis: f(x) = x³ - 6x² + 9x + 1
几何方法:法线
存在一个简洁的几何方法:在曲线上的最近点处,从 \(P\) 到曲线的连线必须垂直于切线。
从外部点到曲线的最短路径总是以直角到达曲线。若以其他角度到达,则可沿曲线滑动以找到更近的点,因此该点并非最小值。
原因在于:如果从 \(P\) 到曲线的连线不是垂直到达曲线,则可以沿曲线微调以找到更近的点,因此该点并非最小值点。
- 切线:在某一点上”刚好触碰”曲线的直线,与曲线方向相同
- 法线:在该点与切线垂直(成直角)的直线
由微分得到切向量和法向量
对于抛物线 \(y = x^2\),微分为:
\[dy = 2x \, dx\]
由此可得切线方向:在 \(x\) 方向移动 \(dx\) 会在 \(y\) 方向引起 \(dy = 2x \, dx\)。因此切向量为:
\[\vec{T} = (1, \; 2x)\]
要得到法向量(垂直于切线),我们交换并取反:
\[\vec{N} = (-2x, \; 1)\]
从 \(P(3,1)\) 到抛物线的最短距离线必须指向法线方向。在抛物线上的点 \((x_0, x_0^2)\) 处,指向 \(P\) 的方向为 \((3 - x_0, \; 1 - x_0^2)\)。要使其平行于 \(\vec{N} = (-2x_0, 1)\):
\[\frac{3 - x_0}{-2x_0} = \frac{1 - x_0^2}{1}\]
由此得到与前面相同的三次方程——但这里是从几何角度而非纯代数方法推导的。
探索——查看抛物线上任意点处的切线和法线:
拖动 \(a\) 的滑块,直到法线(紫色)经过 \(P\)——此即最近点。
课后作业:椭圆距离问题
用几何方法找到椭圆 \(\frac{x^2}{4} + y^2 = 1\) 上离给定外部点最近的点。
提示: 对于椭圆,微分为:
\[\frac{2x}{4}\,dx + 2y\,dy = 0 \implies \frac{x}{2}\,dx + 2y\,dy = 0\]
由此可得切向量为 \((2y, -\frac{x}{2})\),法向量为 \((\frac{x}{2}, 2y)\)。按照与抛物线相同的方法,建立垂直条件即可。
速查表
| 目标 | 方法 |
|---|---|
| 求 \(f(x)\) 的极大值或极小值 | 解 \(f'(x) = 0\) |
| 最小化距离 | 最小化 \(D^2\)(避免平方根) |
| AM-GM 不等式 | \(\frac{a+b}{2} \geq \sqrt{ab}\),等号在 \(a = b\) 时成立 |
| \(y = f(x)\) 的切向量 | \((1, \; f'(x))\) |
| \(y = f(x)\) 的法向量 | \((-f'(x), \; 1)\) |
| 曲线上的最近点 | 从外部点到曲线的连线必须垂直于切线 |
最优化步骤
\[\text{将 } D^2 \text{ 写成一个变量的函数} \;\longrightarrow\; \text{求导} \;\longrightarrow\; \text{令} = 0 \;\longrightarrow\; \text{求解}\]