スタートページWeb教材一覧オペレーションズリサーチ線形計画法

Excelソルバーによる非線形計画法の解法

学習のポイント

Excelのソルバー機能を用いて小規模の非線形計画法(NLP)の問題を解く手順を説明します。

キーワード

非線形計画法,Excelソルバー


非線形計画法とは

線形計画法では、目的関数や制約条件が一次不等式でした。非線形計画法は一次式以外の式を取り扱います。

あまりにも対象が広いので、汎用的に適用するには、かなり困難です。山登り法や最大傾斜法など多くの方法が廃初されていますが、いずれも高度な数学的知識を必要とするので、私たちの範囲外です。

小規模な非線形計画法は、Excelのソルバー機能で解くことができます。ここでは理論はブラックボックスのまま、単に解を得る方法を説明します。

例題

2つの非負変数x、y、制約条件 2x(X-2)+y≦0、X+2y≦4のもとで、目的関数 x2+y2 を最大にする問題を扱います。図式解法では下図のようになり、P点あるいはQ点が最適解であることがわかります。

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」をクリックすると、この最適解の状態が保持され、「キャンセル」をクリックすると元の状態に戻ります。

P点の求解

初期値(青)を x=1.5, y=0 として、同様の操作をすると次の表になります。最適解(青)がP点になっています。

解の吟味

目的関数の値は、P点では4、Q点では4.083ですから、P点は「最適解」ではありません。ソルバーでは、範囲全体を探索して唯一の最大値を求めるのではなく、たまたま限定した範囲で山の頂上があると、それが最大値だと認識して「最適値」としてしまうのです。
 そのため、初期値を適切に設定することが必要になります。