GNU Plot で解く

第1章 No.5 / 無料の数値計算ソフトウエア

では、同様に GNU Plot を用いて答えを求めてみよう。こちらは無料のソフトウエアで一発で解答を得られる。

の解答は以下のようになる。まず 双対定理 により、以下のように式を変形する必要がある。

このプログラムは 「単体法」 を用いている。以下のように入力しよう。

GNU Plot 入力

その結果、x = 5y = 1 のとき、最小値 35 (最大値 35) をとることを示している。

以下の問題では lp 関数ではうまく実行できない場合があるので こちら から別の関数 (pclp) を用意しよう。pclp を用いて上の問題を解いてみよう。

pclp の例

実際には上と同様に「双対問題」に変換してから入力するのであるが、明らかなので以下のように入力しよう。

pclp 入力
pclp 結果

目的関数を 5x + 10y → max に変えただけであるが、x = 150/29 = 5.14223、y = 20/29 = 0.71772 のとき最大で、最大値 950/29 = 32.888 であることを示している。