システム管理論 II / 第 11 回

線形計画法(1)(2)

限られた資源で最大の利益を ── 定式化と図解法

この回のねらい

例題 ── ワイン農家

加藤家と佐藤家はともにワイン農家です。生産能力に違いがあります。

どのように生産すれば、全体として最大の利益をあげられるでしょうか。

定式化する

まず何を決めるのかをはっきりさせます。決めるのは生産量なので、それを変数にします。

変数 x = 赤ワインの生産量(樽)、 y = 白ワインの生産量(樽)

制約

9x + 5y ≦ 50  ← 葡萄(トン)
x + 5y ≦ 10  ← 人手(人)
x ≧ 0, y ≧ 0  ← 生産量は負にならない

目的関数

5x + 10y → 最大

翻訳のこつ。 制約は「使う量 ≦ 持っている量」の形で書きます。 赤 1 樽で葡萄 9 トン、白 1 樽で 5 トンなので、使う量は 9x + 5y。 これが手持ちの 50 トン以下、というわけです。 人手も同じ要領で x + 5y ≦ 10。

図で解く

目的関数の直線を動かして、最適解を見つけるスライダを動かす

なぜ頂点なのか

目的関数 5x + 10y = C を y について解くと

y = −(1/2)x + C/10

これは傾き −1/2 の直線で、C が大きいほど上(右上)へ平行移動します。 この直線を、実行可能領域からはみ出さない範囲でできるだけ上へ動かす。 すると領域の角(頂点)で止まります

線形計画法の基本定理。 実行可能領域が空でなく有界なら、最適解は必ず頂点のどれかにある
だから頂点をすべて調べれば答えが出ます。無限にある点を調べる必要はありません。

頂点をすべて調べる

頂点どの制約の交点か5x + 10y
(0, 0)原点0
(50/9, 0) ≒ (5.56, 0)葡萄の制約と x 軸27.8
(5, 1)葡萄の制約と人手の制約35
(0, 2)人手の制約と y 軸20

最大は (5, 1) の 35 万円。 赤ワインを 5 樽、白ワインを 1 樽つくるのが最適です。

交点の求め方

2 本の制約式を連立させます。

9x + 5y = 50 …①
 x + 5y = 10 …②
① − ②: 8x = 40 ⟹ x = 5
②に代入: 5 + 5y = 10 ⟹ y = 1

表計算のソルバー

変数が 2 つなら図で解けますが、3 つ以上になると図は描けません。 実務では表計算ソフトのソルバーを使います。

ソルバーに指定するものこの問題では
目的セル(最大化)5x + 10y を計算するセル
変数セルx と y のセル
制約条件9x+5y ≦ 50、x+5y ≦ 10、x ≧ 0、y ≧ 0
解法シンプレックス LP

内部ではシンプレックス法という手順が動いています。 これは「頂点から隣の頂点へ、目的関数が良くなる方向に渡り歩く」方法で、 図解法でやっていることを、変数がいくつあってもできるようにしたものです。

← 第10回 第12回 線形計画法(3)・総合演習 →