JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

極大值、極小值與最優化

一條曲線在哪裡最高、最低、最便宜、最大?你一直在搭建的[[derivative-calculus|導數]],恰好也是尋找最優值的完美工具——因為在山峰或谷底,斜率會變平到零。

為什麼斜率變平標記出最佳點

想像你沿著一座光滑的小山行走,這座山畫成函數 f 的圖像。在山峰的最頂端,你此刻既不在爬升也不在下降——腳下的地面是平的。在谷底也一樣:有那麼一瞬間是平的。既然導數 f'(x) 度量的是斜率,那麼光滑曲線的山峰與山谷就藏在斜率為的地方。這一個觀察,就是幾乎每一個現實世界中「尋找最優值」問題背後的引擎。

值得檢查的地方是臨界點:那些使 f'(x) = 0 的 x 值(斜率為平),或使 f'(x) 不存在的地方(尖角或豎直切線,那裡根本沒有唯一的斜率)。一個光滑函數的高點或低點只可能發生在這些位置之一——所以你不必搜遍整條曲線,只需檢查一份很短的候選名單。

甄別候選點:一階與二階導數檢驗

找到一個臨界點只告訴你那裡斜率為平;它還沒說你是在山峰上、在山谷裡,還是只在一個一閃而過的平台上。一階導數檢驗靠觀察你走過該點時 f' 的正負號來甄別它們。如果 f' 從正(上升)翻成負(下降),你剛翻過一個山峰——一個極大值。如果它從負翻成正,你剛穿過谷底——一個極小值。如果符號沒翻,那它兩者都不是。

通常更快的是二階導數檢驗,它用二階導數 f'' 來讀出平點處曲線的凹凸性。在一個滿足 f'(x) = 0 的臨界點處:若 f''(x) > 0,曲線像碗一樣向上凹,所以你在極小值;若 f''(x) < 0,它像穹頂一樣向下凹,所以你在極大值。若 f''(x) = 0,這個檢驗失效——曲線可能在做某種微妙的事,此時退回去用一階導數檢驗。

這多走的一步就是檢查端點。如果你只關心一個閉區間上的 x,比如 [0, 10],那麼最優值可能根本不在某個平坦的內部點上——它也許被擠在邊緣處,曲線還在往上爬就到頭了。所以在閉區間上穩妥的做法是:在每個臨界點以及兩個端點上都算出 f 的值,然後直接比較這些高度。f 值最大的是全局極大值,最小的是全局極小值。

最優化工作流程,配一道盒子例題

真正的最優化問題以文字而非公式出現——「讓盒子裝得最多」、「用最少的圍欄」。這裡的本事是把文字翻譯成一個單變量的函數,然後搖動微積分的曲柄。這是經典的開口盒子問題:你有一張 12 乘 12 的正方形硬紙板,從每個角剪掉一個邊長為 x 的相等的正方形,再把四邊翻起來做成一個開口的盒子。什麼樣的 x 給出最大體積

  1. 建立模型。剪掉邊長為 x 的角後,底面是 (12 - 2x) 乘 (12 - 2x),高是 x,所以體積 V(x) = x (12 - 2x)^2。變量在物理上限定為 0 < x < 6(剪得太多就沒有底了)。
  2. 求導。展開得 V(x) = 144x - 48x^2 + 4x^3,所以 V'(x) = 144 - 96x + 12x^2 = 12(x^2 - 8x + 12) = 12(x - 2)(x - 6)。
  3. 找臨界點。令 V'(x) = 0:得到 x = 2 或 x = 6。但 x = 6 是被禁止的邊界(沒有盒子),所以在我們的範圍內唯一的候選是 x = 2。
  4. 確認它是極大值。V''(x) = -96 + 24x,而 V''(2) = -96 + 48 = -48 < 0——向下凹,所以 x = 2 是極大值。兩個端點 x->0 和 x->6 都給出體積 0,所以 x = 2 在全局上勝出。
  5. 用文字作答。剪掉邊長為 2 的正方形,得到一個 8 乘 8 乘 2 的盒子,體積 V(2) = 2 * 8^2 = 128 立方單位——這是你能從那張紙摺出的最大盒子。
V(x)   = x (12 - 2x)^2 = 144x - 48x^2 + 4x^3
V'(x)  = 12(x - 2)(x - 6)  ->  zero at x = 2, x = 6
V''(x) = -96 + 24x        ->  V''(2) = -48 < 0  (a max)
V(2)   = 2 * 8 * 8 = 128
開口盒子問題的整套曲柄:建模、求導、解 f'=0,再用 f'' 確認。

讓你避免出錯的習慣

同樣的工作流程也能很好地處理「最少圍欄」問題:如果一位農夫想靠著一堵牆、用最少的圍欄圍出固定的面積 A,你就把周長寫成某一條邊的函數,令它的導數為零,最省料的形狀就出來了。反覆出現的竅門是用約束條件(固定面積、固定紙板)去消掉第二個變量,於是你剩下的就是優化一個單變量的函數——這正是你已經會的微積分。

再給兩個誠實的提醒。第一,f' 不存在的臨界點(尖角)仍然可能是極值,所以要把這些候選也算進去,而不只是 f'=0 的那些。第二,在一個開區間上、或一個延伸到無窮的區間上,可能根本不存在全局極大值——曲線也許會永遠升上去。最優化之所以強大,恰恰因為它是機械化的,但人的判斷在於設定正確的函數和正確的區域。