跳轉到內容

微積分/最佳化

來自華夏公益教科書,開放的書籍,開放的世界
← 相關變化率 微積分 尤拉方法 →
最佳化

最佳化是微積分在現實世界中的應用之一。也許我們是一家比薩店,希望最大化利潤。也許我們有一塊平坦的硬紙板,我們需要用它製作體積最大的盒子。如何才能實現這個目標呢?

這需要用到最大值和最小值。我們知道,我們可以透過導數來找到最大值和最小值。因此,我們可以得出結論,微積分將成為最大化或最小化(統稱為“最佳化”)某個情況的有用工具。

通常,最佳化問題有一個約束條件,它會改變我們看待問題的方式。問題的措辭(無論多麼微妙)也會極大地改變我們看待問題的方式。約束條件是我們絕對不會改變的東西(例如,一般形狀,或者我們願意為整個操作支付的金額等等)。如果我們能夠識別出我們將要改變什麼以及我們將要求保持不變的東西,那麼我們就將開始解決問題。

如何解決

[編輯 | 編輯原始碼]

為了完成最佳化問題,應該按照以下步驟進行。

  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.
← 相關變化率 微積分 尤拉方法 →
最佳化
華夏公益教科書