輸送問題

提供: Internet Web School

(版間での差分)
 
(間の10版分が非表示)
2 行: 2 行:
製品を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(注文数)
{| border="3" class="wikitable" style="text-align: center; "
{| border="3" class="wikitable" style="text-align: center; "
-
!表2-1(注文数)
+
|-
|B1
|B1
|65  
|65  
14 行: 15 行:
|50
|50
|}
|}
 +
 +
表2-2(注文数)
{| border="3" class="wikitable" style="text-align: center; "
{| border="3" class="wikitable" style="text-align: center; "
-
!表2-2(注文数)
+
|-
|A1
|A1
|70  
|70  
23 行: 26 行:
|90
|90
|}
|}
 +
 +
 +
表2-3(輸送コスト)
{| border="3" class="wikitable" style="text-align: center; "
{| border="3" class="wikitable" style="text-align: center; "
-
!表2-3(輸送コスト)
+
|-
|
|
|B1
|B1
31 行: 37 行:
|B3
|B3
|-
|-
-
|
 
|A1  
|A1  
|5
|5
37 行: 42 行:
|11
|11
|-
|-
-
|
 
|A2  
|A2  
|10
|10
43 行: 47 行:
|3
|3
|}
|}
-
 
-
[[ファイル:LP-Fig6.1.jpg|300px]]
 
工場<math>A_i</math>から注文先<math>B_j</math>への製品の輸送量を
工場<math>A_i</math>から注文先<math>B_j</math>への製品の輸送量を
99 行: 101 行:
が最小値750になることを示している. 表2-1,表2-2の制約条件を満たしている.
が最小値750になることを示している. 表2-1,表2-2の制約条件を満たしている.
[[ファイル:LP-Fig20 ページ 08.jpg|600px]]
[[ファイル: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}  $ を入力するためには,ソルバーのメニューのオプションを使う. 変数を負でない という 選択にチェックを入れる.


以下にデータの入力とソルバーの設定例を示す.

個人用ツール