Mathematica で解く
第1章 No.4 / ConstrainedMax で一発解決
では Mathematica に入力しよう。ConstrainedMax[ ] を使えば一発で解答を得られる。
- 9x + 5y ≦ 50
- x + 5y ≦ 10
- x ≧ 0, y ≧ 0
- 5x + 10y → max
の解答は、


ConstrainedMax の第一引数で目的関数 (5x + 10y) を指定し、その後 {} で制約条件を指定する。最後に {x, y} というのは x, y という 2 つの変数を使うことを示す。その結果 x = 5, y = 1 のとき 最大値 35 をとることを示している。
制約を増やすと…
- 9x + 5y ≦ 50
- x + 5y ≦ 10
- 7x + 20y ≦ 50
- x ≧ 0, y ≧ 0
- 5x + 10y → max


x = 150/29, y = 20/29 のとき最大、最大値 950/29 であることを示している。
目的関数の係数を変えると…
- 9x + 5y ≦ 50, x + 5y ≦ 10, 7x + 20y ≦ 50, x ≧ 0, y ≧ 0
- 3x + 10y → max


- 9x + 5y ≦ 50, x + 5y ≦ 10, 7x + 20y ≦ 50, x ≧ 0, y ≧ 0
- 20x + 10y → max


- 9x + 5y ≦ 50, x + 5y ≦ 10, 7x + 20y ≦ 50, x ≧ 0, y ≧ 0
- x + 10y → max


以上、いままで議論してきた値と一致しているか確かめよう。