輸送問題
提供: Internet Web School
(間の43版分が非表示) | |||
1 行: | 1 行: | ||
- | + | ||
- | + | ||
製品を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つの工場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(注文数) | |
- | 工場<math>A_i</math>から注文先<math>B_j</math>への製品の輸送量を<math>x_{i,j}\left(\ i=1,2\ j=1,2,3\right)</math>で表すと, | + | |
+ | {| border="3" class="wikitable" style="text-align: center; " | ||
+ | |- | ||
+ | |B1 | ||
+ | |65 | ||
+ | |- | ||
+ | |B2 | ||
+ | |45 | ||
+ | |- | ||
+ | |B3 | ||
+ | |50 | ||
+ | |} | ||
+ | |||
+ | 表2-2(注文数) | ||
+ | |||
+ | {| border="3" class="wikitable" style="text-align: center; " | ||
+ | |- | ||
+ | |A1 | ||
+ | |70 | ||
+ | |- | ||
+ | |A2 | ||
+ | |90 | ||
+ | |} | ||
+ | |||
+ | |||
+ | 表2-3(輸送コスト) | ||
+ | |||
+ | {| border="3" class="wikitable" style="text-align: center; " | ||
+ | |- | ||
+ | | | ||
+ | |B1 | ||
+ | |B2 | ||
+ | |B3 | ||
+ | |- | ||
+ | |A1 | ||
+ | |5 | ||
+ | |7 | ||
+ | |11 | ||
+ | |- | ||
+ | |A2 | ||
+ | |10 | ||
+ | |6 | ||
+ | |3 | ||
+ | |} | ||
+ | |||
+ | 工場<math>A_i</math>から注文先<math>B_j</math>への製品の輸送量を | ||
+ | |||
+ | <math>x_{i,j}\left(\ i=1,2\ j=1,2,3\right)</math> | ||
+ | で表すと, | ||
+ | |||
表2-1から工場<math>A_1,A_2</math>から注文先<math>B_1,B_2,B_3</math>への輸送について制約条件式 | 表2-1から工場<math>A_1,A_2</math>から注文先<math>B_1,B_2,B_3</math>への輸送について制約条件式 | ||
22 行: | 70 行: | ||
を満たす.さらに製造量は非負であるから | を満たす.さらに製造量は非負であるから | ||
+ | |||
<math> {0\leqq x}_{i,j} i=1,2;j=1,2,3 </math> | <math> {0\leqq x}_{i,j} i=1,2;j=1,2,3 </math> | ||
30 行: | 79 行: | ||
</math> | </math> | ||
- | の最小値を求める. | + | の最小値を求める.この問題も生産計画と同様 [https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B%E8%A8%88%E7%94%BB%E6%B3%95 線形計画法] |
+ | に属する. | ||
+ | |||
+ | |||
+ | |||
+ | [[ファイル:輸送問題.pdf]]にMicrosoft Excel のソルバーを用いたこの問題の解法例を示す. | ||
+ | |||
+ | 作成したデータは以下の通りである. | ||
+ | |||
+ | [[ファイル:LP-Fig20 ページ 04.jpg|600px]] | ||
+ | |||
+ | ソルバーのパラメータ 入力は以下の通りである. | ||
+ | |||
+ | [[ファイル:LP-Fig20 ページ 06.jpg|600px]] | ||
+ | |||
+ | ソルバーによる結果は以下の通りである. | ||
+ | $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の制約条件を満たしている. | ||
+ | [[ファイル:LP-Fig20 ページ 08.jpg|600px]] | ||
+ | |||
+ | フリーソフト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} | ||
+ | $ | ||
+ | を入力するためには,ソルバーのメニューのオプションを使う. | ||
+ | 変数を負でない という 選択にチェックを入れる. | ||
+ | |||
+ | |||
+ | 以下にデータの入力とソルバーの設定例を示す. | ||
+ | |||
+ | [[ファイル:Open輸送.jpg|900px]] |
2021年1月18日 (月) 15:07 時点における最新版
製品を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 |
工場\(A_i\)から注文先\(B_j\)への製品の輸送量を
\(x_{i,j}\left(\ i=1,2\ j=1,2,3\right)\) で表すと,
表2-1から工場\(A_1,A_2\)から注文先\(B_1,B_2,B_3\)への輸送について制約条件式
\( x_{1,1}+x_{2,1}=65 \\ x_{1,2}+x_{2,2}=45 \\ x_{1,3}+x_{2,3}=50 \)
を満たす. また,表2-2から工場\(A_1,A_2\)の製造量について制約条件式
\( x_{1,1}+x_{1,2}+x_{1,3}=70 \\ x_{2,1}+x_{2,2}+x_{2,3}=90 \)
を満たす.さらに製造量は非負であるから
\( {0\leqq x}_{i,j} i=1,2;j=1,2,3 \)
これらの制約条件の下で輸送コストの総和
\( {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} $ を入力するためには,ソルバーのメニューのオプションを使う. 変数を負でない という 選択にチェックを入れる.
以下にデータの入力とソルバーの設定例を示す.