アルゴリズムの使い分けーExcelソルバーを使った最適化ー
前回までの記事で解説した最適化手法について、Excelのソルバーを使って実践的に最適化問題を解いていきます。
※この記事はシリーズになっておりますので、初めての方は下の記事をご覧ください。
解析ツールの位置付け
前回までの記事で、最適化手法について解説しました。
アルゴリズムごとの使い分けについて、Excelを使いながら理解していくことを目的としています。
解析ツールの使い方
サンプルファイルのダウンロードと起動
ソルバーの起動
ソルバー使用設定
ファイル>オプション>アドイン>設定>ソルバーアドイン>OK
ソルバーの表示
データ>ソルバーを選択
目的セルの設定
目的セルの設定:(T)から、目的関数を入力したセルYを選択する
目標値の設定
目的関数を、最小化したいか、最大化したいか、目標値に近づけたいかを選択
今回は、目的関数を最小化したいので、最小値を選択する
変数の設定
目的関数を最小化するために、変更する変数(A,B)を選択
制約条件の設定
制約条件の追加を選択し、制約条件を追加する。
まずは変数(A,B)に対する制約条件を決定する
上限下限値を設定「0=<A,B =<10」
変数を整数に限定「A,B int 整数」
解決方法の選択
解決方法の選択のプルダウンから、最適化問題に合わせて解決方法を選択する。
今回は線形問題なので、「シンプレックスLP」を選択する。
線形、非線形は短時間で解決できるが、とびとびの問題に適用するとエラーになる
エボリューショナリーは、どんな問題にも近似解を選択できるが、時間がかかる
ソルバーの実行
解決をクリックすると、ソルバーが動いて最適解を見つけてくれる。
今回の問題は、変数A,B=0の時、目的関数は最小値0をとる。
まとめ
同じように、他の問題に対しても同じような手順で解決することができます。
解決方法の選択だけ注意してください。
発展として、以下のようにH鋼の断面最適化を行うこともできます。