輸送問題
提供: Internet Web School
製品を2つの工場A1,A2で製造し3社B1,B2,B3に納入している企業がある.これら3社からの注文は表2-1の通りである.この注文に応じるため表2-2のように工場A1,A2で製品を製造する. 製造した製品を工場A1,A2からそれぞれB1,B2,B3に輸送する際の1単位当たりのコストは表2-3の通りである. 3社B1,B2,B3からの注文を充足し,かつ,輸送コストを最小にするには, 工場A1,A2から3社B1,B2,B3への輸送数をどのように配分すれば良いか.
表2-1(注文数)
B1 | 65 |
B2 | 45 |
B3 | 50 |
表2-2(注文数)
A1 | 70 |
A2 | 90 |
表2-3(輸送コスト)
B1 | B2 | B3 | |
A1 | 5 | 7 | 11 |
A2 | 10 | 6 | 3 |
工場Aiから注文先Bjへの製品の輸送量を
xi,j( i=1,2 j=1,2,3) で表すと,
表2-1から工場A1,A2から注文先B1,B2,B3への輸送について制約条件式
x1,1+x2,1=65 x1,2+x2,2=45 x1,3+x2,3=50
を満たす. また,表2-2から工場A1,A2の製造量について制約条件式
x1,1+x1,2+x1,3=70 x2,1+x2,2+x2,3=90
を満たす.さらに製造量は非負であるから
0≦
これらの制約条件の下で輸送コストの総和
{5x}_{1,1}+{7x}_{1,2}+11x_{1,3}+{10x}_{2,1}+{6x}_{2,2}+{3x}_{2,3}
の最小値を求める.この問題も生産計画と同様 線形計画法 に属する.
ファイル:輸送問題.pdfにMicrosoft Excel のソルバーを用いたこの問題の解法例を示す.
作成したデータは以下の通りである.
ソルバーのパラメータ 入力は以下の通りである.
ソルバーによる結果は以下の通りである. x_{1,1}=65,x_{1,2}=5,x_{1,3}=0,x_{2,1}=0,x_{2,2}=40,x_{2,3}=50
のとき輸送コストの総和
x_{1,1}+7x_{1,2}+11x_{1,3}+10x_{2,1}+6x_{2,2}+3x_{2,3}
が最小値750になることを示している. 表2-1,表2-2の制約条件を満たしている.
フリーソフトOpenOfficeの表計算(Calc) でも同様に解くことができる.
Calcの線形計画法解析ソフトもExcelと同じ名前の「ソルバー」である. メニューの「ツール」の「ソルバー」である. Excelのソルバーと操作法は殆ど同じある.
ベクトルの内積もExcelと同様にsumproductである. 行ベクトルと行ベクトルとの区切りが,ではなく;であることが異なる。 ベクトル(B3,C3,D3) と(B8,C8,D8)の内積 B3*B8+C3*C8+D3*D8 はsumproduct(B3:D3;B8:D8)で表される. また,
制約条件式
0 \leq x_{1,1},0 \leq x_{1,2},0 \leq x_{1,3},0 \leq x_{2,1},0 \leq x_{2,2},0 \leq x_{2,3} を入力するためには,ソルバーのメニューのオプションを使う. 変数を負でない という 選択にチェックを入れる.
以下にデータの入力とソルバーの設定例を示す.