スタートページ> Web教材一覧> オペレーションズリサーチ> 線形計画法
Excelのソルバー機能を用いて小規模の非線形計画法(NLP)の問題を解く手順を説明します。
非線形計画法,Excelソルバー
線形計画法では、目的関数や制約条件が一次不等式でした。非線形計画法は一次式以外の式を取り扱います。
あまりにも対象が広いので、汎用的に適用するには、かなり困難です。山登り法や最大傾斜法など多くの方法が廃初されていますが、いずれも高度な数学的知識を必要とするので、私たちの範囲外です。
小規模な非線形計画法は、Excelのソルバー機能で解くことができます。ここでは理論はブラックボックスのまま、単に解を得る方法を説明します。
2つの非負変数x、y、制約条件 2x(X-2)+y≦0、X+2y≦4のもとで、目的関数 x2+y2 を最大にする問題を扱います。図式解法では下図のようになり、P点あるいはQ点が最適解であることがわかります。
Excelで下左図のように入力すると、下右図の表になります(Excelファイルはreidai.xlsxからダウンロードできます)。
x、yの値は任意ですが、複数の解があるとき、初期値に近い最適解が得られるようです。ここでは、Q点を期待しています。
ソルバーを実行すると、「ソルバーのパラメータ」が表示されるので、図のように設定します。
目的セルの設定:目的関数が入っているセル(D5、赤)
目標値:最大化問題なので「最大値」
変数セルの変更:xとyの値があるセル(D3:D4、青)
制約条件の対象:緑のセルを設定
制約のない変数を非負数にする:x,yは非負なのでチェックを入れる
解決方法の選択:「GRG非線形」を選択
「解決」をクリックすると、下左図が表示され、Excelの表が下右図のように変わります。
最適解(青)は、x=1.64, y=1.18 (Q点)で、そのとき目的関数の値(赤)は 4.083 になり、制約条件(緑)は2つともネックになっていることがわかります。
「ソルバーの結果」で「OK」をクリックすると、この最適解の状態が保持され、「キャンセル」をクリックすると元の状態に戻ります。
初期値(青)を x=1.5, y=0 として、同様の操作をすると次の表になります。最適解(青)がP点になっています。
目的関数の値は、P点では4、Q点では4.083ですから、P点は「最適解」ではありません。ソルバーでは、範囲全体を探索して唯一の最大値を求めるのではなく、たまたま限定した範囲で山の頂上があると、それが最大値だと認識して「最適値」としてしまうのです。
そのため、初期値を適切に設定することが必要になります。