線形計画法(生産計画)
提供: Internet Web School
生産計画
ある企業では製品A,B,Cを原料Ⅰ,Ⅱ,Ⅲ,Ⅳ用いて生産している. 製品A,B,C の1単位当たり利益をそれぞれ80,110,95とする. また, 製品A,B,Cを1単位生産するのに必要な原料Ⅰ,Ⅱ,Ⅲ,Ⅳのそれぞれ量と使用可能な上限が次の表で与えられる. これらの条件のもとに,利益を最大にするには製品A,B,Cをそれぞれ,どれだけ生産すれば良いか?.
この問題は以下のように数学的に定式化される.
線形計画法
製品A,B,Cをそれぞれx1,x2,x3 単位生産するときx1,x2,x3は以下の不等式を満たす.
4x1+0x2+7x3≤901x1+3x2+9x3≤606x1+0x2+14x3≤1104x1+10x2+1x3≤75 (1)
さらに各製品生産量は負ではないから
0≤x1,0≤x2,0≤x3(2)
この制約条件のもとに
L(x1,x2,x3)=80x1+110x2+95x3(3)
を最大にするx1,x2,x3を求めよ.
(1)式のように変数に関する制約条件式が1次式で与えられ,
(3)式のように評価関数も1次式で与えられる問題は線形計画と呼ばれる.
Microsoft Excelのソルバーを用いた解法
1) ソルバーの導入
Excelのメニュー「データ」に「分析」「ソルバー」がある場合は以下の手続きは不要である.そのまま2)ソルバーによる解法の例を実行する.
Excelのメニュー「データ」に「分析」「ソルバー」がない場合
1-1) ファイル > オプション > アドイン の順に選択
1-2) アドインの表示窓アクティブでないアプリケーションにExcelソルバーがあることを確認
1-3) 画面下の管理(A)と表示される小さい窓のドロップダウンリスト▼でExcelアドインを選択後,
1-4) 設定(G)をクリック 有効なアドインが小窓で表示される. その中のソルバーアドインを選択しチェックを入れ[OK]をクリックする.
2) ソルバーによる解法の例
Excelに下記の作成例のように表1のデータを作成する.
この作成例では セル B2,C2,D2 が 製品A,B,Cのそれぞれの生産量 x1,x2,x3を表す.
線形の一次式
4x1+0x2+7x31x1+3x2+9x36x1+0x2+14x34x1+10x2+1x3
をE3, E4, E5, E6に入力している. ここで,sumproduct(B4:D4,B2:D2)はベクトル(B4,C4,D4) と(B2,C2,D2)の内積B4*B2+C4*C2+D4*D2 であり 4x1+0x2+7x3を表す.
F3,F4, F5, F6には,原材料Ⅰ,Ⅱ,Ⅲ,Ⅳの使用できる量の上限を入力している.
E7には
L(x1,x2,x3)=80x1+110x2+95x3(3)
を表す式を入力している.
表のデータを入力後,
メニュー 「データ」,「分析」,「ソルバー」の順にクリックしてソルバーのパラメータ入力用の窓を開く.
目的の設定という欄にセルE7を指定する
目標値には「最大値」を選択し,チェックを入れる.
変数セルの変更欄にはx1,x2,x3を表すセルB2からD2をドラックして指定する.
制約条件の対象の欄には
この例題の制約条件式
4x1+0x2+7x3≤901x1+3x2+9x3≤606x1+0x2+14x3≤1104x1+10x2+1x3≤75 (1)
を表す式を入力する. このためには,入力窓の「追加」をクリックし制約条件の追加入力用の窓を表示させ, 例えば
4x1+0x2+7x3≤90 を表す式を入力するのであれば セルの参照欄に 4x1+0x2+7x3≤90 を表すセルE3を指定 ≦,=,≧などのドロップダウンリストで≦を選択し,制約条件の欄には上限値の90を入力する.
入力後さらに「追加」をクリックし他の3つの制約条件式も同様に入力する.
さらに, 制約条件式
0≤x1,0≤x2,0≤x3(2)
を指定するため 「制約のない変数を非負数にする」 にチェックを入れる.