アルゴリズムの使い分けーExcelソルバーを使った最適化ー

前回までの記事で解説した最適化手法について、Excelのソルバーを使って実践的に最適化問題を解いていきます。

※この記事はシリーズになっておりますので、初めての方は下の記事をご覧ください。

解析ツールの位置付け

前回までの記事で、最適化手法について解説しました。

アルゴリズムごとの使い分けについて、Excelを使いながら理解していくことを目的としています。

解析ツールの使い方

サンプルファイルのダウンロードと起動

ソルバーの起動

ソルバー使用設定
ファイル>オプション>アドイン>設定>ソルバーアドイン>OK

ソルバーの表示

データ>ソルバーを選択

目的セルの設定

目的セルの設定:(T)から、目的関数を入力したセルYを選択する

目標値の設定

目的関数を、最小化したいか、最大化したいか、目標値に近づけたいかを選択
今回は、目的関数を最小化したいので、最小値を選択する

変数の設定

目的関数を最小化するために、変更する変数(A,B)を選択

制約条件の設定

制約条件の追加を選択し、制約条件を追加する。

まずは変数(A,B)に対する制約条件を決定する
上限下限値を設定「0=<A,B =<10」
変数を整数に限定「A,B int 整数」

解決方法の選択

解決方法の選択のプルダウンから、最適化問題に合わせて解決方法を選択する。
今回は線形問題なので、「シンプレックスLP」を選択する。

線形、非線形は短時間で解決できるが、とびとびの問題に適用するとエラーになる
エボリューショナリーは、どんな問題にも近似解を選択できるが、時間がかかる

ソルバーの実行

解決をクリックすると、ソルバーが動いて最適解を見つけてくれる。
今回の問題は、変数A,B=0の時、目的関数は最小値0をとる。

まとめ

同じように、他の問題に対しても同じような手順で解決することができます。
解決方法の選択だけ注意してください。

発展として、以下のようにH鋼の断面最適化を行うこともできます。