最优化与曲线距离

Published

September 1, 2025

本节课介绍如何利用导数求解最优化问题,包括最短距离、最低成本和最优设计等典型应用。

最优化旨在找到最佳方案——最短路径、最低成本设计或最快路线。

  • 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)\) 的最大值或最小值:

  1. 求导数 \(f'(x)\)
  2. \(f'(x) = 0\) 并求解 \(x\)
  3. 检查它是极大值还是极小值(用二阶导数或检验附近的点)

用微积分证明 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\]

消除平方根后,导数的计算更为简洁。

Important核心要点:最小化 \(D^2\) 而非 \(D\)

由于距离总是非负的,使距离 \(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\) 到曲线的连线必须垂直于切线

Important核心要点:最近点意味着垂直于切线

从外部点到曲线的最短路径总是以直角到达曲线。若以其他角度到达,则可沿曲线滑动以找到更近的点,因此该点并非最小值。

原因在于:如果从 \(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{求解}\]