一般化と多変数
第1章 No.3 / 線形計画法へ
はなしをまとめよう。今まで出てきた数式を以下のようにまとめてみる。
- 9x + 5y ≦ 50
- x + 5y ≦ 10
- x ≧ 0, y ≧ 0
- 5x + 10y → max
結果、最大値 35
- 9x + 5y ≦ 50
- x + 5y ≦ 10
- 7x + 20y ≦ 50
- x ≧ 0, y ≧ 0
- 5x + 10y → max
結果、最大値 950/29
- 9x + 5y ≦ 50
- x + 5y ≦ 10
- 7x + 20y ≦ 50
- x ≧ 0, y ≧ 0
- 3x + 10y → max
結果、最大値 70/3
最後の 2 つの数式は、同じグラフに対して計算されるので目的関数の傾きにより 最大値 が異なる。
| 傾き | m < -1.8 | m = -1.8 | -1.8 < m < -0.35 | m = -0.35 | -0.35 < m < -0.2 | m = -0.2 | -0.2 < m ≦ 0 |
|---|---|---|---|---|---|---|---|
| 最大点 | (50/9, 0) | 線分 | (150/29, 20/29) | 線分 | (10/3, 4/3) | 線分 | (0, 2) |
| 最大値 | 1000/9 | — | 950/29 | — | 70/3 | — | 20 |
一般化された線形計画問題
以下のように一般的に書くことができる。
- a11x1 + a12x2 + ... + a1nxn ≦ C1
- a21x1 + a22x2 + ... + a2nxn ≦ C2
- ... ... ...
- am1x1 + am2x2 + ... + amnxn ≦ Cm
- b1x1 + b2x2 + ... + bnxn → max
ここで前半の m 個の式を 制約条件、最後の 1 式を 目的関数 という。制約条件を満たす領域を 許容領域 という。最小の場合も考えられるので、
- ... 同様の制約条件 ...
- b1x1 + b2x2 + ... + bnxn → min
m 個の制約条件で示される領域の範囲内で、目的関数を最大 (または最小) にする場合を求めることが目的となる。
ここで、ちょっと?
疑問が生じるかもしれない。今までの数式で扱った変数は x, y などの 2 変数だったが、3 変数以上の場合はどう解くのだろう?
3 変数の場合は 3 次元の図を描けば求まることは求まるのであるが、手計算ではまず無理。実は、この問題は 線形計画法 と呼ばれ、最近ではコンピュータで簡単に解くことができる。次は Mathematica を使ってみよう。