スタートページ> Web教材一覧> オペレーションズリサーチ> 線形計画法
Excelのソルバー機能を用いて小規模の整数計画法(ILP)の問題を解く手順を説明します。
整数計画法,Excelソルバー
整数計画法とは、線形計画法の派生手法の一つで、「変数の全部あるいは一部が整数値である」という制約条件を加えたものです。
これまでの線形計画法の定式化と図式解法などでは、製品xとyは「トン」のような連続量だとしていました。しかし、製品が機械のようなものだと、最適解が16.5個などではなく、16個、17個のような整数でないと不適切な場合があります。
通常の線形計画法での最適解が整数値だと説明がしにくいので、モデルを若干修正しました、
目的関数整数制約がないときのの場合は下左図のようになり、制約条件は青色の範囲で、最適解はP点になります。製品yは6個ですが、製品xは16.5個になってしまいました。
P点付近を拡大したのが下右図です。xとyが整数になる候補として、赤点が考えられます。目的関数(赤線)との関係から、直感的にQ点(x=16個、y=6個)が最適であるとわかります。
単純なモデルならば、このようにいつかの候補に絞り込み、目的関数を計算して最大のものを求めることもできますが、変数や制約式が多い場合は不可能です。整数計画法の解法は幾つかありますが、すべて私たちには理解が困難な高度な数学を用います。
解法を理解するのではなく、単に解を得たいだけなら、Excelのソルバー機能が利用できます。
生産計画で、設備有無を0と1で表すことにより、設備の有無も含めた最適解を得ることができます。
それを発展させれば、いわゆる組合せ問題を整数計画法として定式化できます。
組合せ問題はORの分野で適用したい問題が多いのに、計算量が極度に大きくなるので、何らかの妥協をしてアプローチしている現状です。
効率的な整数計画法の解法が期待されるのですが、未だ画期的なものがありません。専用のアプリでもそうなのですから、実務的な問題をソルバーで解くのは無理だといえます。
ソルバーによる((通常の)線形計画法の解法は、「Excelソルバーによる整数計画法の解法」で説明しました。
その復習から始めます。
Excelを起動して,次の入力画面のように入力します。
入力を終えたExcelファイル(reidai.xlsx)をダンロードできます。
Excel画面で,[データ]→[ソルバー]をクリックすると,ソルバーが起動して,「ソルバーのパラメータ」が表示されるので、次のように設定します。
[解決]をクリックすると、最適解が得られると、次の画面が表示されます。
[OK]をクリックすると、入力画面が次のように変化します(緑と青の個所)。
すなわち,「x=16.5,y=6のとき,目的関数は最大値61.5になり,制約条件はaとbは余裕がないが,cは48-34.5=4.5の余裕がある」ことがわかります。
ソルバーでは、「xとyは整数値である」ことを、「制約条件の追加」で設定します。設定画面1で「追加」をクリックし、設定画面3で「int」を指定します。これだけでよいのだから簡単ですね。
[OK]をクリックすると、設定画面2に整数条件を追加した設定画面4が表示されます。
後は、制約がない場合とほぼ同じです。[解決]をクリックすると、最適解が得られたとき、次の画面が表示されます。
[OK]をクリックすると、入力画面が次のように変化します(緑と青の個所)。
これより、最適解はx=16個、y=6個で、目的関数の値が60であることがわかります、