最优化与曲线距离

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\),而是最小化:

\[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\]

这是一个三次方程——我们需要解它!

探索——沿抛物线拖动点,观察距离的变化:

解三次方程 \(2x^3 - x - 3 = 0\)

首先,尝试有理根。检验 \(x = 1\)\(2(1) - 1 - 3 = -2 \neq 0\)。检验 \(x = -1\)\(-2 + 1 - 3 = -4 \neq 0\)

但我们可以因式分解:再仔细试试 \(x = 1\)——实际上,我们需要用代换法。

代换法:\(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\),通过匹配系数将三次方程转化为二次方程。

几何方法:法线

有一个优美的几何捷径。在曲线上的最近点处,从 \(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{求解!}\]