>>

最大化(2変数・制約なし)


前回は1変数関数の最適化をしました。今回は2変数関数の最適化です。例として、f(x_1, x_2) = 100x_1^{0.25} x_2^{0.5} - 50 x_1 - 25 x_2 を最大化しましょう。問題を正式に書き表すと

    \begin{eqnarray*}\max_{x_1, x_2} \;\; 100x_1^{0.25} x_2^{0.5} - 50 x_1 - 25 x_2\end{eqnarray*}


です。x_1, x_2 の値(正の値とします)を変えていき、目的関数の値が最大になるようにします。これをソルバー でやってみましょう。


x_1, x_2 の値を入れる場所は、セルB1, B2とします。目的関数はセルB3に入力します。


試しに x_1=0.1x_2=0.2 としてみましょう。このときの関数の値が表示されます。


ソルバーを立ち上げ、目的関数にはセルB3、変数にはセルB1, B2を指定します。エクセルが自動で$マークを挿入することがありますが、結果に影響はありません。今回は「最大化」を選択してください。


「解決」をクリックすると、ソルバー が問題を解き始め、5〜6秒後に答えが表示されます。x^*_1=1x^*_2=4 のとき、最大値 f=50 になることが分かります。(数値的に解いているので、多少の誤差があります。)


これも動画で流れを確認してください。

動画:2変数の最大化問題(制約条件なし)



ここまで、制約条件が無い最適化を考えてきました。次回は、制約条件つきの最大化問題に取り組みます。

>> エクセル・ソルバー(3)最大化(2変数・制約あり)