← 學習地圖

數學建模學習工坊 / 05

資源分配:最優解背後的假設

有限工時與材料應如何分配?

約 150 分鐘合成教學實驗v1.0.0正在讀取本機草稿…
學習目標與先備條件

線性不等式、矩陣乘法與最佳化基礎。

  • 把資源用量轉成附單位的限制。
  • 用頂點及整數枚舉比較求解器結果。
  • 解讀局部影子價格,避免視作全域定律。

01 / 08 · 10 分鐘

觀察情境

一個合成工場製作兩產品:x 每件用兩工時及一材料單位,y 每件用一工時及兩材料單位。可用資源為 40 工時與 50 材料單位,單件利潤為 30 與 20 點,全部是自訂規劃數據。

輪到你

解釋為何只做單件利潤較高的產品,不一定令總利潤最高。

02 / 08 · 10 分鐘

提出問題

先決定產品是否可分割。連續模型可以代表批量,但完整件數需要整數決策。求解器的最優解只回答所寫目標與限制,不能證明利潤就是正確的社會或組織目標。

輪到你

寫出決策變數、單位,以及目標使誰受益。

03 / 08 · 15 分鐘

假設與變數

假設每件資源用量及利潤固定、資源總量已知、需求沒有上限,因此得到線性可行域。擁擠、開機成本或不確定需求可能需要換模型,而非更準確的 LP 求解器。

輪到你

選兩個假設,各配一項合理壓力測試。

04 / 08 · 20 分鐘

建立模型

第一資源列為 2x+y≤L,第二列為 x+2y≤M,並加入非負限制。目標為 px*x+py*y。SciPy 做最小化,因此傳入負利潤向量;查看最佳化結果前先畫邊界交點。

maxx,y0 pxx+pyys.t.2x+yL,x+2yM\max_{x,y\ge0}\ p_xx+p_yy\quad\text{s.t.}\quad 2x+y\le L,\quad x+2y\le M
輪到你

計算預設兩條邊界交點,並與兩條坐標軸截點的利潤比較。

05 / 08 · 15 分鐘

設計算法

獨立核證:枚舉可行頂點並計算目標,再為這個小問題枚舉可行整數對。對偶邊際值代表局部敏感度;當有效限制改變,影子價格未必能預測有限幅度資源增加。

輪到你

預測增加一工時的效果,區分局部導數與增加 20% 的情境變動。

06 / 08 · 25 分鐘

Python 實驗

完成目標函式。求解器與幾何參照獨立於你的實作,因此兩者一致也不會掩蓋你的錯誤目標。比較工時 32、40、48,再改 profit_y 觀察首選組合。

輪到你

記錄連續及整數最優解、資源鬆弛量與擾動結果。

07 / 08 · 25 分鐘

驗證與修訂

框架檢查兩個刻意失效模型:非負生產卻要求 x+y≤−1,會不可行;正利潤而無資源上限,會無界。這些狀態是有用診斷,不能當成零利潤最優解。

輪到你

解釋兩種失敗的結構原因,並提出修正模型。

08 / 08 · 15 分鐘

撰寫結論

報告配置、假設、目標值及敏感範圍,加入一個決策改變的情境。如需完整件數,應報告整數結果,不可把分數解直接四捨五入。

輪到你

寫一份決策備忘,列出何種變化會觸發重新配置。

需要一點提示?

1. 概念提示

每種產品的数量乘單件利潤,再相加。

2. 數學/算法提示

x 是兩元素陣列:x[0] 代表產品 x,x[1] 代表產品 y。

3. 參考實作導引

在每個可行頂點比較參照目標與你的運算式。

先比較推理,再選擇是否套用。套用前會另存你目前的程式。

實驗協定:比較、失效與延伸

指定比較

固定材料,比較工時預算的 80%、100% 與 120%。

失效實驗

區分不可行、無界與有限最優問題;不可未核對限制便把分數方案取整。

研究延伸

加入需求上限或開機成本,比較修訂決策與原 LP。

PYTHON WORKBENCH

先預測,再執行。

實驗參數與種子

可直接修改以上程式,或開啟語法標示編輯器。起始碼的待完成部分會令相關檢查失敗;請依推導修正 student_model。

按啟動才下載運算環境;每次實驗使用獨立命名空間,最多 30 秒。

無法載入?仍可下載獨立 notebook,在安裝 NumPy、SciPy、Matplotlib 的 Python 環境執行。 參考 notebook

把這一課連回你的書架。

課文與寫作 Notes

書籍章節(PDF 頁與印刷頁分列)

  • Fox & Burks — Advanced Mathematical Modeling with Technology
    6: Linear, integer and mixed integer programming
    PDF 262–263 · 印刷頁 245–246
完整來源對照

確認草稿變更

基準與我的運行

基準由指定合成資料生成;右方只展示你最後完成的運行。