🎓 レベル:標準 | 重要度:A(必須)
📎 前提:線形計画の双対性 | 関連:スケジューリング・配送のモデル化
要点(BLUF)
- 感度分析は「データが変わったら最適解はどう動くか」を調べる。再計算せずに見通す道具。
- 影の価格=制約の右辺 を1単位緩めたときの最適値の増分(=双対変数 )。
- これらの値には 許容範囲があり、範囲内なら最適基底は変わらず、価格は一定。
概念 ── なぜ感度分析か
実務のデータ(資源量・利益単価)はたいてい不確かで、後で変わる。そのたびに解き直すのは非効率。感度分析は 最適解の「効いている構造」を読み解き、小さな変化への反応を解析的に与える。LP の双対性(線形計画の双対性)がそのまま道具になる。
影の価格(右辺の変化)
制約 の右辺 を だけ動かすと、最適値は近似的に
が 影の価格(shadow price)=双対最適解。経済的には「資源 をあと1単位手に入れたら利益がいくら増えるか」=資源の限界価値。
- :その資源は 使い切っている(制約が等号で効く)。増やせば利益が増える。
- :その資源は 余っている(相補性、線形計画の双対性)。増やしても無駄。
ただしこの線形近似が成り立つのは 許容範囲(right-hand-side ranging) 内だけ。範囲を超えると最適基底(どの頂点か)が変わり、影の価格も変わる。
被約費用(目的係数の変化)
非基底変数 (最適で0の変数)の 被約費用 は、「その製品を無理に1単位作ると利益がいくら減るか」。目的係数 を を超えて改善しない限り、 は基底に入らず最適解の構成は変わらない(目的係数の許容範囲)。
Pythonで影の価格を確認
scipy の linprog 結果から ineqlin.marginals で影の価格が取れる(符号は最小化基準なので反転)。さらに材料の右辺を 100→101 に増やして、利益が影の価格どおり増えるか実測する。
from scipy.optimize import linprog
c = [-40, -30]
A_ub = [[2, 1], [1, 1]] # 機械時間, 材料
b_ub = [120, 100]
bounds = [(0, None), (0, None)]
res = linprog(c, A_ub=A_ub, b_ub=b_ub, bounds=bounds, method="highs")
shadow = -res.ineqlin.marginals # 最大化に直すため符号反転
print(f"機械時間の影の価格 = {shadow[0]:.1f}")
print(f"材料の影の価格 = {shadow[1]:.1f}")
# 材料を 100 -> 101 に1単位増やして利益の増分を実測
res2 = linprog(c, A_ub=A_ub, b_ub=[120, 101], bounds=bounds, method="highs")
print(f"利益: {-res.fun:.0f} -> {-res2.fun:.0f} (増分 {(-res2.fun)-(-res.fun):.1f})")
実行結果:
機械時間の影の価格 = 10.0
材料の影の価格 = 20.0
利益: 3200 -> 3220 (増分 20.0)
材料の影の価格は 20。実際に材料を1単位増やすと利益が 3200→3220 と ちょうど 20 増える。影の価格の予測どおり。機械時間の影の価格 10 は「機械をあと1時間使えれば利益が10増える」を意味し、設備投資の判断材料になる。
数式の直観的意味
影の価格 は最適値 の に関する 偏微分(限界価値) 。最適基底が変わらない範囲では は の線形関数なので、傾き が一定 ── これが「許容範囲内では影の価格は一定」の正体。範囲の端で基底が切り替わると、 は折れ線(区分線形・凹)になり、傾き(影の価格)が階段状に変わる。だから「資源を大量に買えば買うほど割に合う」とはならず、限界価値は逓減する。これは経済学の限界分析そのもの。
⚠️ よくある誤解・落とし穴
- 影の価格は許容範囲内でのみ有効。範囲を超える大きな変化に線形外挿してはいけない。
- 退化のとき影の価格は一意でない:複数の双対最適解があり、価格が範囲ではなく1点で不定になる。
- 「影の価格が高い資源を増やせば常に得」ではない:増やせるのは許容範囲まで。超えると価格が下がる。
- 同時に複数のデータを動かすと、単純な足し合わせでは効果を読めない(100%ルールなどが要る)。
関連ノート
- 前提:線形計画の双対性
- 被約費用の出どころ:シンプレックス法
- 適用(スケジューリングでの資源価値):スケジューリング・配送のモデル化
- 不確実性まで踏み込む:ロバスト最適化
- 章のハブ:線形計画 章目次