• 検索結果がありません。

— つながりを見る 第 2 章ネットワーク構造

N/A
N/A
Protected

Academic year: 2021

シェア "— つながりを見る 第 2 章ネットワーク構造"

Copied!
21
0
0

読み込み中.... (全文を見る)

全文

(1)

47

2

章 ネットワーク構造

つながりを見る

網目状に何かが互いに繋がっているものを,ネットワークといいます.道路網,

通信網などはが代表的なネットワークです.要素をつなぐものが目に見えなくて も,ネットワークを用いてその構造を記述できる場合があります.たとえば,工 程の前後関係とか,人やモノの組み合わせなどが挙げられます.ネットワークの 性質をうまく使うことで,問題を効率的に解いたり,モデルをわかりやすく表現 することが可能になります.

2.1

再びクッキー屋

2.1.1

だれがどこでつくるか

模擬店で販売するクッキーをつくるのに,サークルの部員の部屋を使う予定です.部屋を提供 してくれる部員だけにつくらせるのは不公平なので,ほかの部員も手伝いに行くことになっていま す.あなたは責任者として,だれがどこへ手伝いに行くのか決めなくてはいけません.

まず,クッキー作りに使える部屋は

3

つあります.1つは自宅住まいの学生のものなので広さ に余裕があり,

6

人が同時に作業できます.ほかの二つは下宿生の部屋なので手伝いは

3

人までが 限度です.

部員が全部で

15

人いて,そのうち部屋の提供者

3

名を除く

12

名を割り振るにあたっては次の ことを考慮しなければなりません.

各製作場所に,必要な人数がいなければならない.

できるだけ,距離的に近い場所に割り振るようにしなければならない.

距離については,どのような基準をとるかが悩ましいところです.たとえば,もっとも移動距離が 長い人を評価の目安にするか,あるいは全員の平均的な距離を考えるかで,結果は変わるかもしれ ません.とりあえず,もっとも簡単でかつ部員に説明のしやすい「平均距離最小化」の基準で割り 振りを考えることにしました.

対象の部員に番号をつけて,3つの製造場所

A,B,C

までの距離を計算したところ,表

2.1

ようになりました

(

部員の部屋と製造場所の位置関係は図表

2.2

参照

)

.さて,だれをどこに割り振 るべきでしょうか?

2.1.2

素朴な方法

最初は素朴な方法で考えてみます.

A

の定員が多いので,まずここから埋めていくことにしま す.Aから距離の近い部員を

6

人選びます.残った

6

人から,今度は

B

から近い部員を

3

名選び,

残りを

C

に回すことにしました.その結果が,表

2.3

です.製造場所

A

には,

1,2,4,10,11,12

の部

(2)

図表

2.1

製造場所までの距離

(km)

部員 製造場所

A

製造場所

B

製造場所

C

1 3.1 1.9 7.3

2 4.5 2.9 6.1

3 5.3 7.5 6.0

4 2.1 3.4 7.2

5 6.5 5.0 4.3

6 4.6 1.1 8.3

7 8.8 9.8 3.1

8 5.6 5.7 3.7

9 6.4 4.6 4.7

10 4.1 7.2 8.0

11 4.3 3.2 5.8

12 3.4 6.8 8.5

定員

6

3

3

図表

2.2

製造場所と部員の位置関係

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8

A B

C

1 2

3 4

5

6

7 8

9

10 11

12

(3)

2.2.

ネットワークの表現

49

員が,製造場所

B

には,5,6,9の部員が,製造場所

C

には,3,7,8の部員が出かけることになりま す.この場合の総移動距離は,

45.1km

となりました.

12

人の平均移動距離は,

3.76km

です.

A

への割り当てられた人の移動距離は少ないものの,

B

C

に割り当てられた

6

人中

5

人が平均を超 えています.不公平であると,文句が出るかもしれません.

図表

2.3 A

から距離の近い順に割り当てる.次に,

B

C

に割り当て

部員 製造場所

A

製造場所

B

製造場所

C

4 2.1 3.4 7.2

1 3.1 1.9 7.3

12 3.4 6.8 8.5

10 4.1 7.2 8.0

11 4.3 3.2 5.8

2 4.5 2.9 6.1

A:

小計

21.5

6 4.6 1.1 8.3

9 6.4 4.6 4.7

5 6.5 5.0 4.3

B:

小計

10.8

8 5.6 5.7 3.7

3 5.3 7.5 6.0

7 8.8 9.8 3.1

C:

小計

12.8

別の方法も考えてみましょう.今度は,近いところを最優先するという方法です.表を見ると,

部員

6

から製造場所

B

への距離が

1.1km

で,ほかのすべての距離よりも小さいので,部員

6

を製 造場所

B

へわりあてます.次に近いのは,

1–B

間の距離

1.9km

なおで,部員

1

も製造場所

B

わりあてます.次いで,4–A,2–Bと近いところから順に割り当てをしていきます.この結果,表

2.5

,図

2.6

を得ました.総距離は,

42.7km(

平均

3.56km)

です.

2

つの図

2.4

2.6

を見比べてみると,前者の方が集合場所

A

への割り当てが優先されている 分,

C

にしわ寄せが来ており,後者については人数の多い

A

に移動距離が長い人がいます.ほか に異なる割り振り方はたくさんありそうですが,部員に納得してもらうためにも「平均距離」の規 準で見たとき,これ以上は改善できないという案を示さないといけません.ここでは,ネットワー クという概念を用い,線形計画法を援用した手法によって最適解を導くことにします.いくつか準 備をしてから,2.6.1節で再度この問題を取り上げることにしましょう.

2.2

ネットワークの表現

ネットワークは何かのつながりを表すものです.現実の様々なネットワークも結局は,何が何 とつながっているか,という関係に還元することができます.したがって,その構造を表現するに は,ネットワークの結び目と結び目同士のつながりについての情報が必要です.

結び目に相当する部分を,端点

(vertex)

あるいは頂点と呼びます.そのつながりを示すのに,

端点同士を結ぶ線を引き,これを枝

(edge)

あるいは辺

(arc)

と呼ぶことにします.

例えば図表

2.7

6

個の端点と

9

本の枝からなるネットワークです.

ネットワークをモデル化するにあたって,いつも図に頼ることができるとは限らないので,記 号を使って表してみるにしましょう.

(4)

図表

2.4 A

から距離の近い順に割り当てた結果

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8

A B

C

1 2

3 4

5

6

7 8

9

10 11

12

図表

2.5

距離の近い順に割り当て

部員 製造場所 距離

6 B 1.1

1 B 1.9

4 A 2.1

2 B 2.9

7 C 3.1

12 A 3.4

8 C 3.7

10 A 4.1

5 C 4.3

11 A 4.3

3 A 5.3

9 A 6.4

総距離

42.7

(5)

2.2.

ネットワークの表現

51

図表

2.6

距離の近い順に割り当てた結果

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8

A B

C

1 2

3 4

5

6

7 8

9

10 11

12 A

B

C

1 2

3 4

5

6

7 8

9

10 11

12 A

B

C

1 2

3 4

5

6

7 8

9

10 11

12

まず,端点には名前をつけます.ここではすべての端点に番号をふって区別しました.場合に よっては,数字ではなく,a, b, c, . . .などを使ったりします.

枝は,どの端点から始まって,どの端点を至っているかに着目します.端点

i

から出て,端点

j

へいたる枝を

ij

とします.この流儀にしたがって,図表

2.7

の例の

9

本の枝に名前をつけると,

13, 15, 16, 21, 23, 34, 36, 42, 65

となります.

枝が出発する端点を始点,枝が至る端点を終点と呼びます.端点

i

から端点

j

へ至る枝

ij

の始 点は

i

,終点は

j

です.枝

ij

と枝

ji

を区別して考えます.

n

個の端点と

m

本の枝からなるネットワークを考えます.

端点の集合:

V = { 1, 2, . . . , n }

枝の集合:

E = { e

1

, e

2

, . . . , e

m

}

端点集合

V

と枝集合

E

の組

G = (V, E)

をあわせて,グラフ

(graph)

といいます.グラフ上の枝 に向きがある場合

(枝 ij

と枝

ji

を区別する場合)を有向グラフ,向きがない場合を無向グラフと呼 びます.

グラフの端点や枝に重みの情報を付け加えて,ネットワークの表現とする場合もあります.重 みについては輸送問題の節で説明しましょう.

(6)

図表

2.7

ネットワークの例

1 2

3

4

5

6

2.3

輸送問題

輸送問題

(transshipment problem)

とは,ネットワーク上で入口

(source)

から出口

(sink)

に向 かって,モノを流す際に,最適な経路とその経路上の流量を求める問題と考えることができます.

2.3.1

輸送問題の例

ある会社が製品を

3

つの工場で生産しています.ここで作られた製品は

2

ヶ所にある直営店で 販売されています.工場の生産量の合計と直営店の需要量の合計は一致しており,各工場の生産量 と各直営店の需要量はそれぞれ表

2.8

のようになっています.

図表

2.8

工場と直営店

工場

A

工場

B

工場

C

直営店

P

直営店

Q

生産・需要量

12 7 9 15 13

対応する端点

1 4 5 3 8

この工場と直営店は図表

2.9

ような道路網で結ばれています.図の端点は,工場,直営店,中 継点のいずれかを表しています.枝

(道路)

の横の

[ ]

の中の数値は,その道路を利用して,製品

1

単位輸送する際にかかる費用

(

消費する燃料の費用,通行料,渋滞による機会費用の損失額な ど)です.需要量は,直営店に対応する端点の横に□で囲って示しました.生産量は負の需要とし て解釈し,マイナス記号をつけて記入してあります.

基本的にこの道路網では,ほとんどの道が一方通行ですが,端点

3,6

間では両方向に通行でき ます.

以上の条件のもとで,各工場から直営店に製品を輸送する際の費用を最小にするには,どのよ うな経路でどれくらいの量を送ればよいでしょうか.

2.3.2

輸送問題の定式化

この問題を線形計画法の枠組で定式化してみることにします.

端点

i

と端点

j

が枝

ij

を介して繋がっているとき,端点

i

から端点

j

に製品を送ることができ ると考えます

(枝 ji

が存在しない場合は,枝

ij

が存在しても端点

j

から端点

i

にモノを送ることは

(7)

2.3.

輸送問題

53

図表

2.9

工場・直営店間の道路網

1

2

3

4

5

6

7

8 [8] [10]

[18]

[15]

[25]

[6]

[3]

[5]

[8]

[4]

[9]

[5]

[4]

[11]

-12

-9 -7

15

13 [3]

できないことに注意).枝

ij

を通るモノの量を変数

x

ijを用いて表します.xijの値が

0

であれば,

その枝を使ってはモノを流さないことを意味します.

このネットワークにおける総輸送費用は,各枝に通すモノの量に

1

単位当たりの輸送費用をか けて,それをすべての枝について合計すれば得られます.枝の集合

E

E = { 12, 14, 24, 25, 31, 36, 37, 43, 47, 56, 58, 63, 64, 78, 86 }

とします.また,枝

ij

1

単位当たりの輸送費用を

c

ijで表します.この問題では,例えば,

c

12

= 8,

c

58

= 9

などとなります.以上の表記を用いると総輸送費用

z

は,

z = ∑

ijE

c

ij

x

ij

= 8x

12

+ 18x

14

+ 15x

24

+ 4x

25

+ 6x

31

+ 5x

36

+ 5x

37

+ 3x

43

+ 10x

47

+ 25x

56

+ 9x

58

+ 4x

63

+ 11x

64

+ 3x

78

+ 8x

86

と表せます.

次に,この問題の制約条件を考えることにしましょう.この問題において満たすべき条件は,流 量均衡条件と呼ばれるものです.これは,モノが流れる際に,消費されない限り途中で消えてなく なったりしない,という条件です.具体的には,各端点において,流入量の合計と流出量の合計が 一致する,という表現になります.例えば,端点

2

に流入する量は端点

1

からの来る

x

12です.流 出する量は,端点

4

へ流す

x

24と端点

5

へ流す

x

25です.端点

2

は中継点なのでこれ以外の流入出 量はありません.したがって,

x

12

= x

24

+ x

25

でなくてはなりません.

では,入口である工場の端点ではどうなるでしょうか.端点

1

での流入量は

x

31で,流出量は

x

12

x

14です.これに加えて

12

単位の生産量が存在します.したがって,端点

1

では,

x

31

+ 12 = x

12

+ x

14

(8)

が成り立っていなくてはなりません.この式を書き直すと,

x

31

− x

12

− x

14

= −12

となります.同様に出口である直営店

(端点 8)

は,

x

58

+ x

78

= x

86

+ 13

です.

以上の条件をすべての端点について書くと

x

31

− x

12

− x

14

= −12 x

12

− x

24

− x

25

= 0

−x

31

− x

36

− x

37

+ x

43

+ x

63

= 15 x

14

+ x

24

− x

43

− x

47

+ x

64

= −7

x

25

− x

56

− x

58

= −9 x

36

+ x

56

− x

63

− x

64

+ x

86

= 0

x

37

+ x

47

− x

78

= 0 x

58

+ x

78

− x

86

= 13

(2.1)

となります.

演習問題

2.1

1.

方程式系

(2.1)

においては端点の数だけ制約式が存在する.すべての制約式の右辺と左辺

を足しあわせるとどうなるか確かめなさい.

2.

方程式系

(2.1)

を行列で表現する際の係数行列を書きなさい.

輸送問題を線形計画問題として定式化すると,

min 8x

12

+ 18x

14

+ 15x

24

+ 4x

25

+ 6x

31

+ 5x

36

+ 5x

37

+ 3x

43

+10x

47

+ 25x

56

+ 9x

58

+ 4x

63

+ 11x

64

+ 3x

78

+ 8x

86

s.t. x

31

− x

12

− x

14

= −12 x

12

− x

24

− x

25

= 0

−x

31

− x

36

− x

37

+ x

43

+ x

63

= 15 x

14

+ x

24

− x

43

− x

47

+ x

64

= −7 x

25

− x

56

− x

58

= −9

x

36

+ x

56

− x

63

− x

64

+ x

86

= 0 x

37

+ x

47

− x

78

= 0

x

58

+ x

78

− x

86

= 13 x

ij

0, ij E

(2.2)

となります.

(2.2)

を解くと,最適解は以下の通りです.

x

12

= 4 x

14

= 8 x

24

= 0 x

25

= 4 x

31

= 0

x

36

= 0 x

37

= 0 x

43

= 15 x

47

= 0 x

56

= 0

x

58

= 13 x

63

= 0 x

64

= 0 x

78

= 0 x

86

= 0

演習問題

2.2

宮城県に拠点をおくメーカーが,県内の工場と配送センターを結ぶ配送計画の見直しをすること になった.工場は,利府,名取,古川にあり,配送センターは,仙台北部,仙台南部,石巻,古 川にある.各工場の生産可能量,および配送センターの需要が以下のように与えられている.

(9)

2.3.

輸送問題

55

工場 生産可能量 配送センター 需要 利府

200

仙台北部

400

名取

400

仙台南部

300

古川

500

石巻

200

古川

200

また,各工場と配送センター間の製品

1

単位の輸送にかかる費用は以下のように与えられている.

配送センター

仙台北部 仙台南部 石巻 古川

利府

3 4 5 4

名取

3 2 4 3

古川

3 4 4 2

輸送費用を最小にするにはどうすればよいか.

1.

ネットワークを図示せよ.

2.

輸送問題として定式化せよ.

2.3.3

参考:需給が一致しない場合

前節の問題では,工場の生産量の合計と直営店の需要量の合計が一致していました.供給量と 需要量を常に一致させるのは困難なため,一般には,需給のギャップを想定した方が自然です.し かし,流量均衡条件が成り立つためには,ネットワーク上の総供給量と総需要量が一致していなく てはなりません.生産量の合計が,需要を上回っているような場合は,どのように問題を表現すれ ばよいでしょうか.

現実に需給のギャップがある場合,たとえば供給量が過剰な場合,モノは在庫となります.輸 送問題に置いても同様です.仮想的な在庫を表す端点をもとのネットワークに導入すればよいので す.すなわち,図

2.10

のように,倉庫を表す端点

9

をつくり,そこと各工場を表す端点間に枝を 張ります.

2.10

では,端点

8

における直営店の需要量が

13

から

3

に減少したことをうけて,仮想的な 在庫の量を

10

と設定しました.また,各工場と仮想的な在庫を結ぶ枝

19,49,59

の輸送費用は

0

としています.これは,この在庫が仮想的なもので,実際の製品の移動はないことに対応してい ます.

この問題の最適解は,以下の通り.

x

12

= 0 x

14

= 8 x

19

= 4 x

24

= 0 x

25

= 0 x

31

= 0

x

36

= 0 x

37

= 0 x

43

= 15 x

47

= 0 x

49

= 0 x

56

= 0 x

58

= 3

x

59

= 6 x

63

= 0 x

64

= 0 x

78

= 0 x

86

= 0

演習問題

2.3

端点の集合

V

と枝の集合

E

がつぎのように与えられているとする.

V = f 1; 2; 3; 4 g

E = f 12; 13; 21; 23; 24; 34; 43 g

(10)

図表

2.10

仮想的な在庫の導入例

1

2

3

4

5

6

7

8 [8] [10]

[18]

[15]

[25]

[6]

[3]

[5]

[8]

[4]

[9]

[5]

[4]

[11]

-12

-9 -7

15

3 [3]

9 10

[0]

[0]

[0]

1.

グラフ

(V; E)

によって表されているネットワークを図示せよ.

2.

このネットワークが生産拠点と販売拠点との間の配送網を表しているとする.端点

1

に生 産拠点があり毎日

a

単位の製造を行っている.一方,端点

3

4

に販売拠点があり,それ ぞれ

b

単位,

c

単位の需要がある.また,各枝には以下のように単位あたりの輸送に掛る 費用が存在している.

12 13 21 23 24 34 43

費用

2 5 4 1 4 2 7

生産量と販売量の間に以下の関係がある場合について,費用を最小にするような配送計画 を求める問題を定式化せよ.

(1) a = b + c

の場合

(2) a > b + c

の場合

(3) a < b + c

の場合

必要であれば,与えられたネットワークに端点と枝をつけ加えても構わない.

2.4

生産/在庫計画

前節の輸送問題は,空間上の位置関係(工場と直送店の場所)がネットワークを用いて表され ていました.ネットワークは必ずしも物理的な場所に関係するとは限りません.時間軸上のつなが りをネットワーク構造を用いて表すことができます.

2.4.1

ガソリンの購入計画

ガソリンの卸売りをしている会社があります.ガソリンの値段と需要は毎期変動するので,月 毎に販売計画を調整しなければ,在庫が過剰になったり製品が供給できなくなったりします.この 会社は,ガソリンの貯蔵施設を保有しているので,在庫をうまく使って価格や需要の変動に対処し ています.

今,4期先まで,値段と需要についてある程度信頼のおける推計値が得られました.

(11)

2.4.

生産/在庫計画

57

単位当たりの値段 需要

1

90 140

単位

2

85 120

単位

3

92 150

単位

4

90 120

単位

販売と貯蔵については次のような条件があります.

ガソリンは期首に購入

4

期の終りに,在庫として少なくとも

20

単位のガソリンが必要

販売価格は,

4

期間にわたり一定

貯蔵施設のキャパシティーは十分大きい

需要を満たし,かつ収益を最大にするためには,各期にどれくらいガソリンを購入すればよいで しょうか.

この問題は,実はとても単純な問題です.モデル化するまでもなく解けます.なぜなら,販売 価格が一定で,しかも在庫の容量に制限がないので,仕入れ価格が一番安いときにたくさん買えば いいからです.したがって,

1

期目の期首に,その期に必要な分

(140

単位

)

だけを購入し,もっと も安い

2

期目に以後必要な量をすべて

(120 + 150 + 120 + 20 = 410

単位

)

購入することが最適です.

結局,購入量と仕入れ価格の合計は

1

期目:

140 2

期目:

410 3

期目:

0 4

期目:

0 (2.3)

総仕入価格:

90 140 + 85 410 = 47540

となります.

次に,あえてこの問題をネットワークを用いて表してみましょう.各期間ごとの購入量,販売 量,在庫量を,あたかもガソリンがネットワークを流れるものとして表現してみると,図

2.11

得ます.

図表

2.11

ガソリンの販売・在庫を表すネットワーク

0

1 2 3 4 5

6 7 8 9

140 120 150 120

-550

20

[90] [85] [92] [90]

(12)

端点

6,7,8,9

が需要を表しており,端点

0

がガソリンの仕入先を表します.端点

0(仕入先)

から端点

1

2

3

4

にガソリンが移動することが,購入に相当します.したがって,枝

01

02

03

04

の費用をガソリンの単位当たりの仕入れ価格に設定しています.枝

12

23

34

45

を流れ る量が在庫量になります.

このネットワークは輸送問題と全く同じ形式なので,同じようにLPに定式化してみます.

min 90x

01

+ 85x

02

+ 92x

03

+ 90x

04

s.t. −x

01

− x

02

− x

03

− x

04

= −550 x

01

− x

12

− x

16

= 0

x

12

+ x

02

− x

23

− x

27

= 0 x

23

+ x

03

− x

34

− x

38

= 0 x

34

+ x

04

− x

45

− x

49

= 0

x

45

= 20, x

16

= 140, x

27

= 120, x

38

= 150, x

49

= 120 x

ij

0, ij

(2.4)

(2.4)

の最適解は,

x

01

= 140, x

02

= 410, x

03

= 0, x

04

= 0,

x

12

= 0, x

16

= 140, x

23

= 290, x

27

= 120,

x

34

= 140, x

38

= 150, x

45

= 20, x

49

= 120,

となり,(2.3)と同じ結果を得ました.

今の問題は,あえてネットワークを書いてわざわざ

LP

に定式化しなくても解くことができま した.では,もう少し複雑な設定をしてみましょう.在庫として保有するガソリンに保管費用がか かるとします.

1

単位当たり

3

とします.

この場合はモデル化のステップが必要でしょう.ネットワークができていれば簡単に対応でき ます.在庫を表す枝に費用をつけるだけです.結果は,図

2.12

のようになりました.

図表

2.12

ガソリンの販売・在庫を表すネットワーク:保管費用あり

0

1 2 3 4 5

6 7 8 9

140 120 150 120

-550

20 [90] [85] [92] [90]

[3] [3] [3] [3]

(13)

2.4.

生産/在庫計画

59

LP

の定式化は省略して計算結果だけを示します.

x

01

= 140, x

02

= 270, x

03

= 0, x

04

= 140,

x

12

= 0, x

16

= 140, x

23

= 150, x

27

= 120,

x

34

= 0, x

38

= 150, x

45

= 20, x

49

= 120

演習問題

2.4

1.

上記の問題では,在庫の容量は考えていなかった.貯蔵するガソリンは最大

100

単位まで という制約がある場合の問題を線形計画問題として定式化せよ.

2.

上の問題をさらに発展させて.在庫の容量制約に,次の条件を付け加える.まず,各期の 販売価格を仕入れ価格の

1.1

倍とする.また需要は必ずしも満たさなくてもいいが,満た せない分に関しては,仕入れ値の

1.2

倍のペナルティがかかるとする.

[

総売り上げ

]

[

総仕入れ価格

]

[

在庫費用

]

[

ペナルティの合計

]

を最大にするためには どのように定式化すべきか.

2.4.2

生産シフトの決定

ある工場で製品を生産しています.生産量や在庫量を調整することで,製品需要の変動に対応 しています.生産量の調整は

2

段階で行います.通常シフトでは

1

単位当たり

500

円で生産が可能 です.ただし通常シフトでは,最大

80

単位までしか生産できません.通常シフトで生産が追い付 かないときは,臨時シフトをとって増産体制に入ります.臨時シフトではさらに

20

単位まで増産 可能ですが,生産費用は高くなり,1単位当たり

650

円です.在庫には上限はありませんが,1 間毎に

1

単位当たり

100

円の保管費用がかかります.

4

期先までの需要が表

2.13

のように与えられている場合,費用を最小にするような各期の生産 量と在庫の量をネットワークとして表してみると,図

2.14

のようになります.

図表

2.13

各期の需要量

1 2 3 4

需要量

85 60 90 105

図表

2.14

生産量と在庫量のネットワーク

1 2

3

4 5

6

7 8

9

10

11 12 13

[0]

[0] [0] [0] [0] [0] [0] [0]

[500]

[650]

[650]

[650]

[650]

[100] [100] [100]

[500] [500] [500]

-80

-20

-20 -80 -80 -20 -80 -20

60 90

85 105

60

(14)

演習問題

2.5

2.14

で表現されたネットワークを用いて,費用を最小にする生産在庫計画を求める問題を

LP

として定式化せよ.

演習問題

2.6

あるレンタカーショップの

1

週間

(

営業日は

6

日間

)

の運用問題を考えるこのレンタカーショッ プでは,全部で

30

台の車をレンタルしている.レンタルした車は必ずメンテナンスに出すので,

常に

30

台が営業可能というわけではない.もし店頭にある車の台数が十分でないならば,姉妹 店からお金を払って借りてくる必要がある.姉妹店との取り決めで,借りる期間は1週間となっ ている.

メンテナンスには,通常では

3

日かかり,その費用は

1

台当たり

p

円である.しかし,

q(> p)

円支払うことで,

1

日でメンテナンスを終えることができる.他の姉妹店から借りてくる場合は,

1日あたり

r

円かかる.

今から

1

週間について第

j

日目の需要が

d

jであるとわかっているとき

(7

日目は休業日なので

d

7

= 0

とします

)

,このレンタカーショップの営業費用を最小にする計画を作るものとする.

ただし,週始めにおいてはメンテナンスに出してある車はないものする.そのためには,

5

6

目にレンタルした車は,

1

日でメンテナンスを終えるようにしなければならない.また,このレ ンタカーショップの車種は

1

つだけで,しかも貸し出した当日に返却されるとする.

上記の設定を車の在庫管理の問題としてとらえ,ネットワークの図をつくれ.[ヒント:車がネッ トワークを流れると考えましょう.各営業日において車は,ショップにあるか,レンタルされて いるか,メンテナンスに出ているか,のいずれかです.

2.5

整数性

図表

2.15

輸送のネットワーク

7 4 1

3 2

5 6

2.15

のネットワークを例に使って,輸送問題の解の性質をみることにします.端点

1

10

単位の供給があり,端点

5

7

に,それぞれ

6

単位と

4

単位の需要があるとします.枝の費用を

(15)

2.5.

整数性

61

c

ijとおいて,輸送問題を定式化すると,

min +c

12

x

12

+ c

13

x

13

+ c

14

x

14

+ c

23

x

23

+ c

25

x

25

+ c

26

x

26

+c

34

x

34

+ c

35

x

35

+ c

36

x

36

+ c

37

x

37

+ c

46

x

46

+ c

47

x

47

+ c

65

x

65

+ c

76

x

76

s.t. −x

12

− x

13

− x

14

= −10

+x

12

− x

23

− x

25

− x

26

= 0

+x

13

+ x

23

− x

34

− x

35

− x

36

− x

37

= 0 +x

14

+ x

34

− x

46

− x

47

= 0

+x

25

+ x

35

+ x

65

= 6

+x

26

+ x

36

+ x

46

− x

65

+ x

76

= 0 +x

47

− x

76

= 4

x

ij

0, for all ij

(2.5)

となります.問題

(2.5)

の輸送費用をかえて,いくつか問題を解いてみました.その結果を表にし たのが,表

2.16

です.

図表

2.16

輸送費用の変化と輸送量

ij 12 13 14 23 25 26 34 35 36 37 46 47 65 76 (1) c

ij

9.0 9.5 3.4 4.4 4.8 1.5 1.4 5.4 7.3 4.0 3.6 2.9 8.7 6.3

x

ij

6 0 4 0 6 0 0 0 0 0 0 4 0 0

(2) c

ij

2.5 9.8 6.5 2.3 6.9 6.7 1.4 0.3 2.7 1.2 0.7 8.6 1.9 0.4

x

ij

10 0 0 10 0 0 0 6 0 4 0 0 0 0

(3) c

ij

7.4 5.4 2.8 3.7 0.2 8.9 8.7 2.6 5.7 1.6 6.0 3.4 6.6 8.7

x

ij

6 0 4 0 6 0 0 0 0 0 0 4 0 0

(4) c

ij

9.0 3.3 7.4 4.2 4.0 5.1 1.7 5.3 6.5 0.2 8.4 8.1 7.0 4.7

x

ij

0 10 0 0 0 0 0 6 0 4 0 0 0 0

(5) c

ij

0.2 5.7 4.6 9.1 2.9 0.7 4.8 9.9 9.3 5.7 6.6 7.8 1.1 0.1

x

ij

6 4 0 0 0 6 0 0 0 4 0 0 6 0

(6) c

ij

5.5 0.1 4.6 2.0 7.9 6.2 0.2 9.0 7.7 9.1 7.6 3.9 3.4 5.1

x

ij

0 10 0 0 0 0 4 6 0 0 0 4 0 0

(7) c

ij

9.6 6.8 0.6 6.0 4.0 2.2 1.9 0.8 0.1 7.9 0.2 8.8 3.6 7.3

x

ij

0 0 10 0 0 0 0 0 0 0 6 4 6 0

(8) c

ij

6.0 1.6 3.2 2.4 0.1 4.0 6.5 0.9 7.7 9.7 7.2 7.9 2.4 2.0

x

ij

0 6 4 0 0 0 0 6 0 0 0 4 0 0

演習問題

2.7

2.16

を参照して,最適解においてどのようなルートを通って配送しているか,図に記入せよ.

この結果から以下のことがわかりました.

最適解はすべて整数である.

最適な配送ルートはつながっている

最適は配送ルート上では,ある端点へいたる道はひとつしかない

(

並行する道がない

)

以上は,ただ一つの問題についてパラメータをかえて数値実験を行っただけなので,もしかしたら 別のネットワークでは異なる結果になるかもしれないと思う人がいるかも知れません.実は,上記

(16)

の結果はネットワーク特有の構造から導かれています.一定の条件を満たす輸送問題すべてに当て はまるのです.

説明のために,新しい言葉を導入しておきます.

端点

u

と端点

v

の経路とは,ネットワークの一部分をいい,端点

u

から枝によって結ばれた 端点をたどって端点

v

へ至ることができる

(枝の向きはかんがえなくてもよい).

閉路

(cycle)

とはある端点から出発して同じ端点に戻ってくる経路である.

ネットワークが連結であるとは,ネットワーク上の任意の

2

つの端点間に必ず経路が存在す ることである.

(tree)

とは,連結でかつ閉路の存在しないネットワークのことである.

全域木

(spanning tree)

とは,もとのネットワークのすべての端点を含む木のことである.

輸送問題における実行可能基底解は,

に対応していることが知られています.直感的には 以下のように説明できます.

1.

まず適当に実行可能な輸送案をつくってみてください.その案では当然,需要点と供給点の 間に経路があるはずです.

2.

次に,その案に閉路があるかどうか探してください.もし閉路があったなら,二つの可能性 があります.一つはその閉路が一方通行で元に戻ってくる場合,もう一つはある端点へ流す 経路が

2

種類ある場合です.前者であれば,同じところに戻すような流し方は不合理なので,

その閉路のどこかの枝を輸送案からはずしましょう.後者であれば,2種類の経路のうち輸 送費用が安い方があれば十分なので,高い方をはずします.この段階で,輸送案から閉路は なくなりました.

3.

最後に,輸送案では通らない端点を探します.その端点と輸送案が通る端点とを結ぶ枝をみ つけて,

(

輸送量

0

として

)

輸送案に付け加えましょう.

4.

最終的に,ネットワークのすべての端点が連結されて,かつ閉路の存在しない輸送案になっ たはずです.すなわち全域木が構成されました.

輸送問題の基底形式表現と全域木の対応関係は数学的に示すこともできますが,ここでは割愛しま す.興味がある人は適当な専門書を参照してください.

さて,実行可能解は木であることから最適解も木になっています.ここで,需要量と供給量が すべて整数である場合を考えましょう.木は,その名前の通り末端

(

葉,

leaf

とよばれます

)

から,

だんだんと枝が合流していきます

(大本は根,root

とよばれます).需要が整数であるなら,末端 の需要点に流れる量も

(0

もふくめて

)

整数のはずです.それが合流して,上流の枝に流れる量と なっても整数です.つまり木の構造と需要

(と供給)

が整数であることから,実行可能解は必ず整 数になります.

¶ ³

定理

2.1 (輸送問題の整数性)

輸送問題

min c

x

s.t. Ax = b, x 0

において右辺

b

の要素がすべて整数だとする.この時,輸送問題に最適解が存在すれば,最 適解は整数である.

µ ´

(17)

2.6.

割当や組合わせを決める問題

63

上記の定理は,輸送問題の

“よい”

性質を保証するものです.この性質を利用して,組合わせや 割り当てを決める問題に応用することができます.

2.6

割当や組合わせを決める問題

2.6.1

クッキーの作成場所

2.1

節の続きです.

今考えているのは,部員の製造場所への割り当てです.部員が製造場所に移動していくので,

輸送の最適化問題として考えることもできそうです.部員の部屋から,部員が

1

単位

(=1

人) 給されて,需要点である製造場所へ運ばれるイメージです.各需要点の需要を定員に設定してみ ましょう.さて,運ぶものは部員自身なので分割は不可能ですが,今は定式化の都合を優先させ て,部員の部屋から需要点へ運ばれる物

(=部員)

の量を連続変数を使って表してみましょう.部員

i (i = 1, . . . , 12)

の部屋から,それぞれの需要点

j (j = A, B, C)

へ物が運ばれる可能性があるので,

その量を

x

ij

(i = 1, . . . , 12; j = A, B, C)

と表しましょう.つまり,36個の変数を用意することに なります.

必要な制約は,供給点と需要点それぞれに存在します.供給点においては,部員は

1

単位まで しか供給できないので,

x

iA

+ x

iB

+ x

iC

= 1, i = 1, . . . , 12

となっていなくてはなりません.また,需要点では定員があるので,

x

1A

+ x

2A

+ · · · + x

12A

= 6 x

1B

+ x

2B

+ · · · + x

12B

= 3 x

1C

+ x

2C

+ · · · + x

12C

= 3

を満たしていなくてはなりません.非負制約も忘れてはいけません.

x

ij

0, i = 1, . . . , 12; j = A, B, C

平均移動距離を最小化したいので,目的関数を総移動距離とおいても同じことです.

c

1A

x

1A

+ c

2A

x

2A

+ · · · + c

12A

x

12A

+c

1B

x

1B

+ c

2B

x

2B

+ · · · + c

12B

x

12B

+c

1C

x

1C

+ c

2C

x

2C

+ · · · + c

12C

x

12C

(2.6)

c

ijは,供給点

i

から需要点

j

への距離を表します.たとえば,c1A

= 3.1

です.

以上をまとめると,

min c

1A

x

1A

+ c

2A

x

2A

+ · · · + c

12A

x

12A

+c

1B

x

1B

+ c

2B

x

2B

+ · · · + c

12B

x

12B

+c

1C

x

1C

+ c

2C

x

2C

+ · · · + c

12C

x

12C

s.t. x

iA

+ x

iB

+ x

iC

= 1, i = 1, . . . , 12

x

1A

+ x

2A

+ · · · + x

12A

= 6 x

1B

+ x

2B

+ · · · + x

12B

= 3 x

1C

+ x

2C

+ · · · + x

12C

= 3 x

ij

0, i = 1, . . . , 12; j = A, B, C

(2.7)

(18)

となり,輸送問題が定式化されました.最適解は,

x

1A

= 1 x

2B

= 1 x

3A

= 1

x

4A

= 1 x

5C

= 1 x

6B

= 1

x

7C

= 1 x

8C

= 1 x

9B

= 1

x

10A

= 1 x

11A

= 1 x

12A

= 1

となりました.残りの変数の値は

0

です.最適解が

1

または

0

であることは,輸送問題の整数性に よって保証されます.物の輸送と便宜的に考えて定式化してきたのを,再度人の移動に置き換えて 解釈しなおすと,

製造場所

A

へ行く部員

1,3,4,10,11,12

製造場所

B

へ行く部員

2,6,9

製造場所

C

へ行く部員

5,7,8

となります.この場合の最適値は,42.1(km)です.こうしてみると,最初の素朴な方法も値とし ては悪くない気がします.しかし,図

2.4

と図

2.17

を比較すると,製造場所

C

への割り当てのバ ランスが改善していることがわかります.また,図

2.6

では,製造場所

A

に極端に遠い人が割り当 てられていたのが,図

2.17

では,比較的集合場所に近いところに割り当てられています.

図表

2.17

最適化問題を解いた結果

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8

A B

C

1 2

3 4

5

6

7 8

9

10 11

12

演習問題

2.8

問題

(2.7)

は,平均移動距離最小化に対応している.では,もっとも移動距離が長い部員の移動

距離を最小化にするような割り当て(最長移動距離最小化基準)を得るためには,どのような定 式化を行えばよいか.

(19)

2.6.

割当や組合わせを決める問題

65

2.6.2 2

部グラフ

部室の掃除

クッキーの袋づめを部室で行うと決めたものの,現在の汚れ具合いではとても食べ物を扱う作 業が許されるとは思えません.責任者であるあなたが音頭をとって部室の大掃除を行うことにしま した.毎度のことですが,わがままな部員が多くて,掃除の役割分担ではいつももめることになり ます.以前責任者が分担を一方的に決めたときはいやな仕事に割り振られた部員が怒り出したこと もありました.じゃんけんで決めたときは,最後に負けた部員が逃亡してしまい,結局責任者が泣 く泣くその仕事をする羽目になりました.

今年度大掃除の分担を決めるに当たって,あなたが部員の話を聞いてみたところ,みな仕事に たいして好き嫌いがあり,しかもそれは必ずしも全員一様でないことに気づきました.うまく皆の 意見を調整すれば,なんとか全員が不満を抱かずに済ませることができるかもしれません.

当日集まれる

8

人の部員にアンケートを取ったところ,表

2.18

のような結果を得ました.各部 員が仕事についてどれが好ましいか順位をつけてもらったものです.あなたは,部員の割り当てに 応じて決まる数値の合計が小さいほど部員の不満は少ないだろうと考えました.

図表

2.18

部員の仕事に対する好き嫌いの順序

部員

1 2 3 4 5 6 7 8

a

窓ガラス

6 8 5 1 1 1 4 7

b

照明

1 5 3 2 3 4 1 6

c

1 2 7 8 7 6 2 7 8

d

2 3 3 4 8 2 5 8 4

e

1 7 1 6 4 8 8 2 2

f

2 4 4 1 3 7 6 6 5

g

ごみ

8 6 7 6 5 3 5 3

h

5 2 2 5 4 7 3 1

この割り当て問題を,ネットワークを使って解いてみることにします. 図

2.19

のようなネット ワークを描きました.図

2.19

のように,端点の集合を

2

つに分けたときに,すべての枝の始点が 一方の集合に属する端点となり,終点が他方の集合に属する端点となるネットワーク

(グラフ)

2

部グラフと呼びます.

部員の端点に供給が

1

存在し,仕事の端点に需要が

1

あるというように考えると,これは輸送 問題となります.枝の費用を選好順序して,最小費用輸送問題をとくことで,不満の少ない割り当 てを決めることができそうです.

2.5

節で示したように,輸送問題型の定式化では解は必ず整数になるので,部員の端点からで

8

本の枝のうち,かならず

1

本だけに

1

単位の流量があります.そして,そこが部員に割り当 てる仕事になります.

(20)

図表

2.19

部員と仕事のネットワーク

1 2 3 4 5 6 7 8

a

b

d

e

f

g

h

6 1 2 3 7 1 4

5

定式化は,次の通りです.

min

n

i=1

jJ

c

ij

x

ij

s.t. ∑

jJ

x

ij

= 1, i = 1, . . . , n

n

i=1

x

ij

= 1, j J

x

ij

0, i = 1, . . . , n; j J

ただし,cijは部員

i

を仕事

j

に割り当てたときの選好順序を表し,J

= { a, b, , . . . , h }

とおいてい ます.

結果は,図

2.21

の通りです.最悪でも

3

番目までに割り当てられているので,おそらく部員に 不満はないことでしょう.ためしに,ジャンケンで勝った人からわりあてを決めた場合を見てみま しょう.部員

8

が一番で,以下,部員

5

,部員

6

,部員

3

,部員

7

,部員

4

,部員

2

,部員

1

の順序 で仕事を選ぶことになりました.部員は残っている仕事の中から一番自分の選好順序が高いものを 選びます.結果は表

2.20

の通りです.じゃんけんで負けてしまった人は,あまりいい仕事につけ なかったようです.

図表

2.20

ジャンケンで決めた場合の分担

部員

(選んだ順序) 8 5 6 3 7 4 2 1

選んだ仕事

h a c f b e d g

選んだ仕事の順位

1 1 2 1 1 4 3 8

演習問題

2.9

ある会社の従業員にたいする仕事の割り振りを考える.従業員

5

人に対して,割り振る仕事も

5

つある.従業員はそれぞれの仕事に対して,得手不得手があり,各々の仕事をこなす時間はそれ ぞれ以下の表のようになっている.従業員

B

は仕事

1

を,従業員

D

E

は仕事

4

5

を行う ことはできない.

全体の仕事にかかる時間が最小になる仕事の割り振りを決める問題を定式化せよ.

演習問題

2.10

1.

10人の学生を,3つのゼミのいずれかに所属させることを考える.各ゼミは定員

4

人を 越えて学生を所属させることはできないが,少ない分には構わない.また,各学生

j

がゼ

(21)

2.6.

割当や組合わせを決める問題

67

図表

2.21

仕事の分担

1 2 3 4 5 6 7 8

a

b

d

e

f

g

h 2

1

1

1

2 3

1 1

図表

2.22

従業員が仕事を終えるのに要する時間

(

単位:時間

)

仕事

1

仕事

2

仕事

3

仕事

4

仕事

5

従業員

A 5 4 8 7 3

従業員

B — 4 9 11 5

従業員

C 6 5 8 5 4

従業員

D 7 9 11 — —

従業員

E 6 8 10 — —

i

に所属したときの満足度

u

ijは事前の調査でわかっているものとする.学生の満足度 の総計を最大にするようなゼミの所属を決める問題をあらわすネットワーク(

2

部グラフ)

をつくれ.

2.

最低定員

(

最低でも所属しなければいけない人数

)

2

人と設定されているとする.上と同 様にネットワークであらわせ.

(

)

この場合は,

2

部グラフになりません.

2.6.3

参考:最大マッチング問題

2.6.2

節では,あらかじめ組み合わせの数は与えられていました

(掃除の分担でいえば,8

人を

8

種類の仕事にわりあてました

)

.今度は視点を変えて,可能な組合わせの中でなるべくたくさん の組をつくることを考えてみます.

インコのペアリング1

インコのブリーダーが,自分の飼っているインコをつがいにしてインコを増やそうとしていま す.現在,ブリーダーが所有しているのは,オスが

11

羽,メスが

10

羽です.インコにも相性の良 し悪しがあって,相性の悪いもの同士では雛は生まれません.相性が良いものだけでペアを組む必 要があります.ブリーダーは,できるならばたくさんのペアをつくって,インコをたくさん繁殖さ せたいと思っています.相性から考えて,可能な組合わせが表

2.23

のように与えられたとき,最 もペアの数を多くするにはどうすればよいでしょうか.なお,このインコは共同で子育をするの で,オスまたはメスを共有するペアはつくれません.

この問題は最大マッチング問題と呼ばれるものです.マッチングとはグラフに属する枝の集合 で,マッチングに属する枝は互いに始点も終点も共有しません.オスとメスのインコを端点と見な

1説明のためにインコを例として用いていますが,インコについて実際のことよく知りません.

図表 2.1 製造場所までの距離 (km) 部員 製造場所 A 製造場所 B 製造場所 C 1 3.1 1.9 7.3 2 4.5 2.9 6.1 3 5.3 7.5 6.0 4 2.1 3.4 7.2 5 6.5 5.0 4.3 6 4.6 1.1 8.3 7 8.8 9.8 3.1 8 5.6 5.7 3.7 9 6.4 4.6 4.7 10 4.1 7.2 8.0 11 4.3 3.2 5.8 12 3.4 6.8 8.5 定員 6 名 3 名 3 名 図表 2.2 製造場所と部員の位置関係 0 1
図表 2.4 A から距離の近い順に割り当てた結果 0 1 2 3 4 5 6 7 8 9 10012345678ABC123456789101112 図表 2.5 距離の近い順に割り当て 部員 製造場所 距離 6 B 1.1 1 B 1.9 4 A 2.1 2 B 2.9 7 C 3.1 12 A 3.4 8 C 3.7 10 A 4.1 5 C 4.3 11 A 4.3 3 A 5.3 9 A 6.4 総距離 42.7
図表 2.7 ネットワークの例 1 2 3 4 5 6 2.3 輸送問題
図表 2.10 仮想的な在庫の導入例 1 2 34 5 6 78[8][10][18][15][25][6] [3][5][8][4][9][5][4][11]-12 -9 -7 15 3[3]910[0][0][0] 1
+2

参照

関連したドキュメント

研究も致し方のないところを残しておかないと、研

○ 飼育に挑戦しよう。 直射日光の当たらないところで飼いましょう。

こ んなと きは デジカメプ リント コピ ー 留 守番機 能 電 話 帳 ファク ス 電 話 ご 使用の 前に ファクス /

かいだんが8段(だん)あります。 いま、そのうち4段(だん)のぼりました。 あと何段(なんだん)でのぼりきれますか?

くじが8本(ほん)ありました。 すでに、1人(にん)がくじをひきました。

かいだんが8段(だん)あります。 いま、そのうち7段(だん)のぼりました。 あと何段(なんだん)でのぼりきれますか?

かいだんが8段(だん)あります。 いま、そのうち7段(だん)のぼりました。 あと何段(なんだん)でのぼりきれますか?

かいだんが7段(だん)あります。 いま、そのうち2段(だん)のぼりました。 あと何段(なんだん)でのぼりきれますか?