敏感度分析


範例與觀念

Sensitivity analysis (敏感度分析): 如果條件中的數字稍微改變, 答案將如何相應變化?

以 「種什麼才好?」 為例, 如果耕地面積增加一畝, 獲利會增加多少? (請將 farmer.lp 當中的 75 改成 76, 重跑一遍 lp_solve) 增加兩畝呢? 五畝呢? 如果減少一畝, 或減少兩畝, 或減少五畝呢? 請記下這些數字, 並分析其變化規則, 寫出一個通式, 用 delta a (耕地面積的變化) 計算 delta p (利潤的變化) 。

重複以上觀察, 但改而觀察利潤相對於倉儲空間的變化。 再重複以上觀察, 又改而觀察利潤相對於資本額的變化。

結論: LP 問題, 答案會否隨著限制條件右側的數值增減而改變? binding constraints: (在一個小範圍內) 會造成線性的改變; non-binding constraints: (在一個小範圍內) 沒有影響。 「每單位 bi 的變化, 會造成 z 多少的變化?」 這些數值叫做 shadow prices (陰影價格), 它度量每項資源的 marginal value (邊際價值)。 要理解/解釋這些數字, 記得把單位寫出來, 很有幫助。

請執行 lp_solve -S4 farmer.lp 並觀察 dual value 的數值。 dual 的解正好就是 primal 的 shadow price。

gnumeric: 在 solver 的 ... 分頁請勾選 ..., 解完後會出現 ... 分頁。

Augmented Form

Augmented form (Slack form): Maximize cT x
Subject to A x = b
Where x >= 0

如何將一般的問題轉換成 augmented form? 補上 slack variablesurplus variable; ...

用 augmented form 計算 shadow prices

延續 「種什麼才好?」:

	B=A(:,1:3)
	inv(B)*b
	inv(B)'*c(1:3)
	... (待續)