5.モデルを作って考える
4.輸送計画のモデル(線形計画法の輸送問題)
                            [Excel資料参照transport.xls]
<<参考文献: 情報処理入門シリーズ木下栄蔵著「オペレーションズリサーチ」工学図書株式会社>>


 これまでは,対象となるシステムの仕組や現象をモデル化し,パラメータの値を変化させたり,あるいは,サブシステムを別のサブシステムに置き換えたりなどすると,対象システムはどのように振る舞うか,つまり,「What if ?」型の質問に答えてくれるモデルを取り上げてきた。これらは現象説明モデルである。問題解決のためのモデルには,この他に,「ある条件を満たす制約の下で,ある評価基準に関して最適となる政策または計画を計算する過程を含んだモデル(最適化モデル)」が盛んに使われている。
 最適化モデルでは線形計画法(Linear Programming)のモデルが有名で,これは経営管理の意思決定の問題によく応用されている。ここでは簡単な例題を使ってこの方法を説明する。
 

洋服を作る服飾メーカーが、2箇所X1、X2に作業場を持っており、それを3箇所の小売店Y1、Y2、Y3に輸送する場合を考える。
作業場の供給量は、X1が100単位、X2が80単位である。一方、小売店の需要量は、Y1が50単位、Y2が60単位、Y3が70単位とする。
各作業所から各小売店へ運ぶ製品の1単位あたりの輸送費は、表に示すとおりである。このとき、総輸送経費を最小にするには、どの作業場からどの小売店へ、何単位ずつ輸送すればよいのか。
この問題で、X1の供給量をa1、X2の供給量をa2、Y1の需要量をb1、Y2の需要量をb2、Y3の需要量をb3 とし、X1 → Y1 の輸送量を x11、X1 → Y2 の輸送量を x12、X1 → Y3 の輸送量を x13、...、X2 → Y3 の輸送量を x23 と言うように表し、輸送経費もそれに応じて c11、c12、...、c23 と言うように表せば、上の輸送問題は次のように定式化される。
 
 
表1. 費用行列 cij  (単位 : 万円)
作業所 | 小売店
Y1
Y2
Y3
供給量
X1
3
4
7
100
X2
5
6
10
80
需要量
50
60
70
180

目的関数(総輸送経費)

           2     3
  C = Σ  Σ   cij * xij  → MIN                  式  (1)
           i=1 j=1

制約条件                                                            式 (2)

  供給量に関して
          3
     Σ  xij  =  ai   ( i = 1, 2)           
         j=1
 
需要量に関して

          2
     Σ  xij  =  bj   ( j = 1, 2, 3)
         i=1

つまり、式 (2) の制約条件のもとで、式 (1) を満足する xij を決めることである。
この輸送問題は、シンプレックス法を用いずに、比較的簡単な方法で最適解が得られる。以下その手順を示す。

(1)まず、費用行列 cij の中で最も少ない輸送費用を探す。この場合、X1 → Y1(3万円)がそれである。次にこの「3」が関係する「供給量」(100)と「需要量」(50)のうち、小さい方の数50に注目する。小売店 Y1の需要量50は、作業所 X1から全部賄うことにする。そうすると、作業所 X1には、まだ 100-50=50供給量が余っていることになる(残存供給量)。
 
 
表2. 実行可能解
作業所 | 小売店
Y1
Y2
Y3
供給量
残存供給量
X1
50
50
 
100
50
X2
 
10
70
80
0
需要量
50
60
70
180
 
残存需要量
0
10
0
0
 

(2)その状態で、今度は、 Y1列を除いた費用行列の中で、最も費用の少ない経路を(1)と同様の仕方で決めていく。
この場合、X1 → Y2(4万円)であり、従って、X1 → Y2 の経路で X1の残り50を輸送する。これで、 X1の供給量は0になる。  Y2の需要量は60-50=10 となる。次に、Y1列と X1行を除いた費用行列の中で、最も費用の少ない経路を(1)と同様に定める。今度は、X2 → Y2(6万円)であり、従って、X2 → Y2 の経路で Y2の残存需要量10を輸送する。そして、最後にX2 の残存供給量 70 を、X2 → Y3 の経路で輸送することになる。

以上のようにして、まず最初の実行可能解である輸送量が表2のように定まる。このときの総費用 C を計算すると次のようになる。

           2     3
  C =  Σ    Σ    cij * xij       
           i=1  j=1

        = 3 * 50 + 4 * 50 +  6 * 10 + 10 * 70 = 1110 (万円)        式  (3)
 
 

[練習問題1]
(1-1)最初の実行可能解で使われなかった経路について、もし、この経路に1単位の輸送をした場合、その変化によってこれまでの経路の輸送量が変化し、結局、新しい経路を使った方が、費用が安くなるのであれば、そのような経路に変更しなけれぱならない。

(1-2)そこで、この例題では X2 → Y1 の経路を計算してみよう。X2 → Y1 の経路で1単位輸送すれば、 X2 の供給量は一定(80)であるから、X2 → Y2で1単位減らす。ところが、 Y2
の需要量は決まっている(60)から、X1 → Y2で1単位増やす。ところが、 X1の供給量は一定(100)であるから、X1 → Y1で1単位減らす。結局実行可能解(その2)は、次のようになり、

   総輸送費用の変化 =  -6 + 5 -3 +4 = 0

である。つまり、総輸送費用の変化はない。
 
表3. 実行可能解(その2)
作業所 | 小売店
Y1
Y2
Y3
供給量
残存供給量
X1
49
51
 
100
0
X2
1
9
70
80
0
需要量
50
60
70
180
 
残存需要量
0
0
0
0
 

(1-3) (1-2)と同じようにしてこの例題で使用されていなかった経路、X1 → Y3の費用の計算をしてみよう。X1 → Y3 の経路で1単位輸送すれば、 X1 の供給量は一定(100)であるから、X1 → Y2で1単位減らす。ところが、 Y2の需要量は決まっている(60)から、X2 → Y2で1単位増やす。ところが、 X2の供給量は一定(80)であるから、X2 → Y3で1単位減らす。結局実行可能解(その3)は、次のようになり、
 
 
表4. 実行可能解(その3)
作業所 | 小売店
Y1
Y2
Y3
供給量
残存供給量
X1
50
49
1
100
0
X2
0
11
69
80
0
需要量
50
60
70
180
 
残存需要量
0
0
0
0
 

   総輸送費用の変化 =  7 - 4 + 6 -10 = -1

である。つまり、X1 → Y3の経路で1単位輸送すれば、輸送経費が1万円安くなる。従って、X1 → Y3の経路に変更可能な最大量(50単位)を輸送することにする。
 
 
表5. 実行可能解(その3)
作業所 | 小売店
Y1
Y2
Y3
供給量
残存供給量
X1
50
0
50
100
0
X2
0
60
20
80
0
需要量
50
60
70
180
 
残存需要量
0
0
0
0
 

(1-4)沿う総費用を求めなさい。
 

[練習問題2]

(2-1) (1-3)と同様の考察によって、更に、X1 → Y3の経路で1単位輸送すれば、輸送経費は安くなるだろうか検討しなさい。
X1 → Y3の経路で輸送経費が安くなるならば、変更可能な最大量(20単位)を輸送することにする。結局、最適な実行可能解は次の表6のようになることを確かめなさい。 
 
 
表6. 実行可能解(最適解1)
作業所 | 小売店
Y1
Y2
Y3
供給量
残存供給量
X1
30
0
70
100
0
X2
20
60
0
80
0
需要量
50
60
70
180
 
残存需要量
0
0
0
0
 

(2-2)以上のようにして、最適な実行可能解である輸送量が表6のように定まる。このときの総費用 C を計算すると次のようになる。

          2   3
  C = ΣΣcij * xij       
           i=1 j=1

        = 3 * 30 + 5 * 20 +  6 * 60 + 70 * 7 = 1040 (万円)        式  (4)
 
 

5. ソルバー機能で輸送計画を解く
 
Excel95から最適化分析ツールとして「ソルバー」機能がアドインされた。ソルバーは複数の変数を持つ問題に対する最適解を求めるもので,線形計画のみならず,最近話題の経済学的複雑系などの非線形計画問題をも扱うことができる。このソルバーを用いて,輸送計画のコストを最小にする問題(線形計画法)を解くための方法を説明する。
[Solver資料参照]