跳转到内容

微积分/优化

来自维基教科书,开放的书籍,开放的世界
← 相关变化率 微积分 欧拉方法 →
优化

优化是微积分在现实世界中的应用之一。也许我们是一家比萨店,希望最大化利润。也许我们有一块平坦的硬纸板,我们需要用它制作体积最大的盒子。如何才能实现这个目标呢?

这需要用到最大值和最小值。我们知道,我们可以通过导数来找到最大值和最小值。因此,我们可以得出结论,微积分将成为最大化或最小化(统称为“优化”)某个情况的有用工具。

通常,优化问题有一个约束条件,它会改变我们看待问题的方式。问题的措辞(无论多么微妙)也会极大地改变我们看待问题的方式。约束条件是我们绝对不会改变的东西(例如,一般形状,或者我们愿意为整个操作支付的金额等等)。如果我们能够识别出我们将要改变什么以及我们将要求保持不变的东西,那么我们就将开始解决问题。

如何解决

[编辑 | 编辑源代码]

为了完成优化问题,应该按照以下步骤进行。

  1. 写出问题中给出的必要公式和其他信息。
    • 问题应该有一个你可以控制的变量和一个你想要最大化/最小化的变量。
    • 你找到的公式可能包含额外的变量。根据问题的解决方式,这些变量可能会被替换掉,或者可以忽略(稍后将进行解释)。
  2. 将公式组合起来,使你想要最大化/最小化的变量位于等式的左侧,所有其他变量位于右侧。
  3. 对公式求导。如果你的方程包含多个变量,可以选择任何变量进行求导,只要它不是你控制的变量(即,选择你无法从公式中消除的变量)。
    • 请注意,在求导过程中,如果你遇到一个你没有选择的变量,将其视为一个数字并应用必要的求导规则。在这种情况下,不要将其视为变量。
  4. 将求导后的公式设为 0,并求解你控制的变量。
  5. 你在这里得到的值就是你的答案。如果你得到另一个公式,这意味着你的答案取决于其他变量,这通常是你最初遇到这种情况时,问题所要求的。

这种算法之所以有效,是因为几个数学定理,而这些定理你可能在解决这些问题时并不需要知道。通常给出的问题在数学上都很简单(换句话说,没有很多情况需要测试)。但是,如果你想了解,它们是这样的

  • 导数为 0 的点,要么是全局最大值或最小值,要么是局部最大值或最小值。通常问题会倾向于在没有太多困难的情况下回答这个问题(例如,总是正数)。

体积示例

[编辑 | 编辑源代码]
一个盒子制造商想要制作一个表面积为 100 平方英寸的封闭盒子,该盒子具有正方形底座,但侧面为矩形。将这种材料弯成盒子后,可以形成的最大体积是多少?
  • 写出已知的公式和信息
  • 将变量 写成体积方程中 的表达式。
  • 为了最大化体积,求体积方程的导数
  • ,并解出
  • 值代入体积方程并化简
答案:

体积示例二

[edit | edit source]
想要用一块边长为的正方形锡片制作一个最大容积的无盖箱子,方法是在角上剪去相同的正方形,然后折起锡片形成箱子的侧面。剪去的正方形的边长应该为多少?

如果我们将切口正方形的边长称为,那么折叠盒底部的每条边都是,高度是。因此,体积函数是。我们必须通过对体积函数求导并将其设置为0来优化体积。由于它不改变,被视为常数,而不是变量。

现在我们可以使用二次公式来求解

我们拒绝,因为它是最小值(它会导致底边长度为0,使体积为0)。

因此,答案是

体积示例 III

[edit | edit source]
需要一个圆柱形罐子来盛放 的液体。确定能使制造指定体积罐子所需的材料量最小的尺寸。

这是一个经典的优化问题。问题是我们没有任何指定的尺寸。幸运的是,我们给出了国际单位制,因此我们可以相应地写出我们给出的内容。

  • 转换因子:。这意味着通过量纲分析(或基本代数):。请记住,这是体积!
  • 圆柱体积:
  • 圆柱表面积:

请记住我们要最小化什么:“制造指定体积罐子所需的材料量”。这意味着表面积需要最小化!不幸的是,我们有两个变量(它不是常数)。幸运的是,我们可以使用体积来写 关于 的表达式。

我们可以将此信息代入表面积公式并最小化(将一阶导数设为零)

。消除
将一阶导数设为零。

接下来要做的就是找到操作的临界值。 这最终意味着让分子等于零,并找到什么值 使分母等于零。 这是分子运算

这是分母的运算

需要注意的是,我们并不关心其中一个临界值是否等于零。这个问题要求我们找到使条件成立且最小化的值。虽然零确实最小化了建造罐头所需的材料量,但如果我们不显示一个罐头,我们就无法建造罐头。然而,如果我们被问及 的图形,这个解就会很有趣。尽管如此,我们的最终答案不一定就是 。我们需要验证我们找到的临界值是否为正确答案。这时,我们需要将 的值代入一阶导数。

对于 ,令 。对于 ,令

根据以上结果,很明显 是一个最小化函数的值,同时允许我们建造罐头。请记住,如果你没有证明我们找到的值是极小值,那么这个值也可能是极大值。想象一下,如果情况是这样的,我们建议公司生产一个最大化材料用量的罐头。潜在的数百万美元的材料成本将抵消最佳利润。无论哪种情况,我们都找到了答案。

答案:半径为 ,高度为

销售示例

[编辑 | 编辑源代码]
一家小型零售商可以以 的数量售出一件产品,其收入为 ,成本为 ,所有金额均以千计。它需要售出多少单位才能使其利润最大化?

零售商的利润由等式 定义,它表示产生的净收入。问题要求利润最大化,或者上述等式的最大值。如前所述,图形的最大值和最小值是在图形的斜率等于零时找到的。要找到斜率,需要找到感兴趣的函数的导数——这里,。利用减法法则

因此,当 时,利润将被最大化或最小化。使用 二次公式 求解根,得到 。要找到这两个中的哪一个是最大值和最小值,可以对函数进行测试

因为我们只考虑所有 的函数(即,你不可能有 个单位),唯一可能成为最小值或最大值的点是上面列出的这两个点。为了证明 实际上是一个最大值(以及该函数在这一点之后不保持恒定),检查 的符号在这一点上是否发生变化。

在这里,它确实如此,并且对于大于 将继续下降。这表明公司将在 处实现利润最大化。销售 个单位的零售商将获得 $ 的利润。

然而,答案是.

收入示例

[编辑 | 编辑源代码]
最大化收入
一家小部件公司具有线性需求函数 ,其中 是运送给客户的小部件(以百计)的公斤数。小部件应该以什么价格出售才能使收入最大化?

公司的收入是通过将销售数量乘以价格来计算的。由于 是价格,而 是销售数量,。问题要求我们找到将数量最大化的价格。这意味着找到数量是第一个目标。最终目标是找到的价格。

我们的第一个目标是找到使收入最大化的数量。如果切线的斜率在某一点为零,并且该点周围斜率的符号从正变为负,则收入函数将被最大化。这是通过求导数并应用一阶导数检验来实现的。当收入函数分配 时,这将更容易

现在让我们求一阶导数

将一阶导数设为零以找到临界值

请注意原始的收入函数。因为收入函数是一个二次函数,其 项乘以小于 0 的因子,因此保证只有一个临界值,并且它必须是最大值。基于微积分的方法只是证实了这一事实(使用一阶导数检验)

对于任何 。对于任何 。因此,临界值 必须是最大值。

剩下的就是将这个域输入到需求函数中,以找到小部件的售价。这是一个简单的替换练习

小部件应该以 $ 的价格出售以使收入最大化。

函数到原点的距离

[edit | edit source]
一个典型的优化问题,尽管有点抽象。
函数 平面上绘制。函数上的一个粒子应该停在函数的哪个点,使得该点到原点的直线距离最小化?

让我们写下所有可能需要记住的相关方程

优化问题的一个难点在于,大多数情况下我们处理的是两个变量而不是一个变量。然而,主要思路和重点是将二元方程转化为一元方程。这里需要将变量联系起来。最好的方法是利用问题的设置来发挥优势。

我们希望将函数保留在 ,并最小化到达原点的距离。这意味着我们设 。回顾一下,原点位于 ,所以 。有了这里的所有信息,让我们用单变量 来写出距离函数。因为

我们将展示两种求导方法:标准方法和非标准方法。标准方法需要使用链式法则,让我们演示一下这个过程。

标准方法

[edit | edit source]

现在我们有了距离公式的一阶导数。为了最小化 与原点之间的距离,我们将一阶导数设为零。到目前为止,你应该知道为什么要这样做。

.
意味着分子为零。因此
.
回想一下,如果分母可以被设为零,那么使之成立的 值是一个临界值。因此,令
对于 ,不存在任何使上述方程成立的实际值。这可以通过行列式小于零来证明:。因此,

唯一的临界值为 。现在,你应该会想到我们需要使用一阶导数测试

对于任何 。对于任何 。这意味着临界值之前的函数在递减,临界值之后的函数在递增。这说明临界值处的函数为局部最小值。

因此,的值将使 与原点之间的距离最小,值为

然而,你还没有完成这个问题。你还需要找到粒子需要停止的函数点。这只是将 代入函数 的问题。

大多数微积分课程的老师并不介意你将答案保留为 。然而,对于少数关心分母有理化的老师或考试机构, 的工作如下

这就是为什么大多数老师不介意分母保留为平方根的原因;它会分散对微积分的注意力(虽然只是略微分散)。这让我们得到了最终答案

为了使粒子到达原点的距离最小,粒子必须在 离开函数。

非标准方法:隐式微分

[编辑 | 编辑源代码]

由于除了隐式微分之外的任何计算都会导致与之前概述的相同过程,因此这里只展示隐式微分。回想一下 。将两边平方得到以下函数

对上述函数关于 求导需要我们进行隐式微分(尽管这种微分被巧妙地掩盖了)。下面的计算展示了这一过程

请注意,上面的计算得出的结果与用标准方法求出的第一个导数相同,这意味着从这里开始的计算将是相同的。有了这个,让我们进入下一个问题。

最大化弯曲架子形成的矩形区域

[编辑 | 编辑源代码]
这里的问题是另一个问题的伪装变体。
假设有一个函数 描述了一个风格化货架一部分的曲线。这条曲线在距离垂直墙壁水平方向 厘米处结束。制造商希望这部分货架的前表面有一个大的矩形凹槽,凹槽的左上角形成一个与货架底部平行的水平部分。为了满足制造商的要求,这个凹槽所形成的垂直墙壁距离货架左侧多远?可以使用计算器进行计算。

这个问题看起来很奇怪。但实际上,这是一个经过伪装的常见优化问题变种,即函数问题中形成的最大矩形区域。如果用这种思路来考虑问题,问题会变得更容易处理。毕竟,制造商想要的是最大化凹槽尺寸。他没有询问尺寸的体积,只是询问在哪里可以找到满足要求的部分。

右侧所示的图像实际上就是所形成的最大区域。然而,如果问题没有提供图像(以及轴上的数字),那么就无法进行近似。

表示距离货架左侧的距离,令所形成的矩形的高度为 。这种构造意味着 是矩形的长度,而高度是 。因此,面积函数为

我们要找到该函数的最大值。让我们求出面积函数的导数并令其等于零

然而,在找到一阶导数后,很明显,我们目前还不知道在这种特定情况下如何求解 的值,因为我们还不知道 Lambert-W 函数。因此,现在可以使用图形计算器(通常,许多老师希望在允许你使用计算器求解之前看到尽可能多的步骤)。如果没有图形计算器,可以使用 DesmosGeogebra 或其他许多在线图形计算器。

这些网站获得的答案是 或精确解 。我们知道这也是我们正在寻找的最大值,因为导数函数在 时为正,但在之后变为负。对于那些好奇的人来说,最大面积是 平方厘米。

答案:

不同区域的速度

[编辑 | 编辑源代码]
我们试图找到的示意图:到达目的地所需的最短距离
根据费马最小时间原理,光线以最短时间跨越最短距离(即,光线以最少浪费时间的方式传播)。光波的速度定义为光速除以传播介质的折射率,即 。假设一束光波穿过两种材料,从 开始,在 结束,其中 。入射角和折射角在右边的图中给出。光线穿过两种不同材料之间的关系是什么?

这看起来不像一个优化问题。实际上,看起来尝试将其变成一个优化问题会不合常理。然而,这个物理学中的漂亮结果仅仅是通过将其变成一个优化问题而发现的巧妙发现。

让我们写下我们所知道的

  • 入射点和材料变化之间的距离是 (图中使用的是斜体大写的upsilon)。
  • 使传播时间最短的距离是 (图中使用的是斜体大写的lambda)。这意味着根据图示,剩余的水平距离是
  • 材料变化和折射材料末端之间的距离是 (图中使用的是斜体大写的gamma)。

剩下的就是把所有东西拼凑起来了。我们想要找到光线传播的距离。

  • 入射光线传播的距离是 .
  • 折射光线传播的距离是 .

让我们回顾一下我们所知道的。我们试图操作 使得传播时间尽可能短,从而反映和模拟光线穿过两种不同材料的方式。除 以外的所有其他非函数项都是常数。由于我们试图模拟光线穿过两种不同材料所需的时间,因此我们应该操作距离使其模拟时间。

回想一下,速度是距离和时间的比值 ,因此使用给定距离模拟光线传播所需的时间,只需要进行一些重新排列即可。由于光线穿过两种不同的材料,速度不同。设 ,其中 是光线在折射率为 的第一种材料中传播的速度( 也是如此)。

光线穿过这两种材料所需的时间以 的函数形式给出,因此

现在我们终于有了优化问题。我们想要最小化传播时间。将 的一阶导数设为零。记住,除了 以外的所有其他项都是常数。

回顾我们想要解决的问题。我们不是要解出;我们试图对情况进行建模。如果我们确实需要解出,那将是一场噩梦(我们甚至可以将其留作读者的一个非平凡练习),但无论如何,我们可以开始对情况进行建模。首先,将负项移到另一边

该图显示了应用不同几何特性后涉及的角度之间的关系。

接下来我们应该尝试重写表达式,以便清理那些分数(毕竟它们很吓人,而且建模也不实用)。

我们可以在这里使用三角函数来帮助我们。因为三角函数只是直角三角形比率的关系,所以这将是一个非常好的解决方案。

法线被定义为垂直于给定“表面”的线。由于距离平行于法线,因此它所产生的角度也是。由于光传播的水平距离平行于“表面”,因此光线的入射角,是距离和入射光矢量之间的角度,并且光矢量是横截线,根据同位角定理,距离和入射光矢量之间的角度也是(参见图的左上角以供参考)。

这种几何推导的结果很简单:我们找到了直角三角形的一部分的角度。因此,我们可以将距离写成三角函数的等价形式

我们可以用类似的逻辑来证明

因此,我们可以将相关的方程式改写成更易于管理和计算的形式,而无需测量比率。

我们实际上还没有解决这个问题。尽管我们可能已经将两个不同的光向量联系起来,但我们并没有根据折射率对这种情况进行建模。这留下了最后两个步骤。回顾一下,光线穿过折射率为 的特定材料的速度为 。这等同于说 。由于速度与折射率有关,我们可以将上面的方程式改写为

两边都乘以 ,我们终于找到了 *斯涅尔定律*

答案:

请记住,这个结果仍然是一个导数。但是,我们允许根据微分方程对现实生活中的场景进行建模。有时,可能无法在没有微分方程的情况下对情况进行建模。我们允许这样写我们的方程(物理学当然不在乎这里)。最后,虽然这不是严格意义上的优化问题,但从这个角度思考使我们能够获得一个关于世界的良好规则(科学中的 *定律*)。我们证明了这种行为,所以光似乎将根据这个方程保持一致。实际上,这使我们能够在 2003 年确认负折射率的存在(即使通过实验观察)[1],并使我们能够发现自旋波的性质[2]

参考文献

[edit | edit source]
  1. Houck, A. A., Brock, J. B., & Chuang, I. L. (2003). Experimental observations of a left-handed material that obeys Snell’s law. Physical Review Letters, 90(13), 137401. Retrieved 25 July 2020 from http://feynman.mit.edu/ike/homepage/papers/METAMAT-houck-brock-chuang-experimental-observations-of-a-left-handed-material-that-obeys-snells-law-prl-v90-p137401-04apr03.pdf.
  2. Stigloher, J., Decker, M., Körner, H. S., Tanabe, K., Moriyama, T., Taniguchi, T., ... & Ono, T. (2016). Snell’s law for spin waves. Physical review letters, 117(3), 037204. Retrieve 22 July 2020 from https://arxiv.org/pdf/1606.02895.pdf.
← 相关变化率 微积分 欧拉方法 →
优化
华夏公益教科书