オペレーションズリサーチA 第5回(98/5/19) 講義OHP

「基礎OR」/「OR演習」
第5回
11/10/2009
森戸 晋
1
中間試験のお知らせ
• 中間試験日程
2009/11/24(火)
• 時間: 13:00~14:30
• 場所
– 56-103,52-203教室 (座席指定制)
• 001~100まで 56-103教室
• 101~ (過年度を含む) 52-203教室
2
ネットワーク上の最適化
(ネットワーク計画)の
代表的問題
3
最短路問題
1
10
始
s
点
終
t
点
1
3
2
5
6
2
2
3
各枝の数字は、枝の距離(費用)を表す
4
最大流問題
1
8
5
v
s
t
v
2
6
8
5
2
3
各枝の数字は、枝の容量を表す
5
最小費用流問題
1
10(5)
10
s
1(8)
t
10
3(2)
6(6)
5(8)
2(5)
2
3
各枝の数字は、各点間の単位当たり費用、
( )内の数字は、各枝の容量を表す
6
最短路問題
(=流量1の最小費用流問題)
1
10
始点
1
1
(1)
s
3
2
(1)
(1)
1
6
(1)
5
(1)
t
(1)
終点
2
2
(1)
3
各枝の数字は、各点間の距離(費用)、
( )内の数字は、各枝の容量を表す
7
最小木問題
無向グラフ上で、すべての点を張る最小コストの木
(閉路を構成しない、連結な枝の集合)を選ぶ問題
2
1
10
1
5
4
3
6
5
3
2
4
各枝の数字は、各点間の距離(費用)
8
最小木問題
無向グラフ上で、すべての点を張る最小コストの木
(閉路を構成しない、連結な枝の集合)を選ぶ問題
2
1
10
1
5
4
3
6
5
3
2
4
木ではない: 連結していない
9
最小木問題
無向グラフ上で、すべての点を張る最小コストの木
(閉路を構成しない、連結な枝の集合)を選ぶ問題
2
1
10
1
5
4
3
6
5
3
2
4
木ではない: 閉路が存在する
10
最小木問題
無向グラフ上で、すべての点を張る最小コストの木
(閉路を構成しない、連結な枝の集合)を選ぶ問題
2
1
10
1
5
4
3
6
5
3
2
4
すべての点を張らない木
11
最小木問題
無向グラフ上で、すべての点を張る最小コストの木
(閉路を構成しない、連結な枝の集合)を選ぶ問題
2
1
10
1
5
4
3
6
5
3
2
4
すべての点を張る木(全域木)
12
最小木問題
無向グラフ上で、すべての点を張る最小コストの木
(閉路を構成しない、連結な枝の集合)を選ぶ問題
2
1
10
1
5
4
3
6
5
3
2
4
各枝の数字は、各点間の距離(費用)
13
貪欲アルゴリズム(Kruskal法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
14
貪欲アルゴリズム(Kruskal法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
15
貪欲アルゴリズム(Kruskal法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
16
貪欲アルゴリズム(Kruskal法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
17
貪欲アルゴリズム(Kruskal法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
18
貪欲アルゴリズム(Prim法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
19
貪欲アルゴリズム(Prim法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
20
貪欲アルゴリズム(Prim法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
21
貪欲アルゴリズム(Prim法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
22
貪欲アルゴリズム(Prim法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
23
貪欲アルゴリズム(Prim法)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
24
改善法(初期解生成)
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
目的関数値 12
25
改善法
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
26
改善法
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
目的関数値 10(12+3-5)
27
改善法
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
28
改善法
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
目的関数値 9(10+3-4)
29
改善法
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
30
改善法
3
ホ
コ
2
1
ア
1
5
ブ
4
3
シ
目的関数値 8(9+1-2)
31
最短路問題
(sからtへの最短路を求める)
枝の「距離」
7
s
始点
1
8
3 5
5
2
t
終点
6
4
3
33
最短路問題の
線形計画問題による定式化
枝の「距離」
7
s
1
8
3 5
t
終点
6
始点
5
2
4
3
最小化 7xs1+5xs2+5x12+8x1t+3x21+4x23+6x3t
条件 -xs1 - xs2
=-1
xs1
- x12 -x1t + x21
=0
xs2 + x12
- x21 - x23
=0
x23 - x3t =0
x1t
+ x3t =1
xs1, xs 2 , x12 , x1t , x21 , x23 , x3t  0
34
ダイクストラ法(0)
∞
1
∞
1
t
10
ラベル(gi)
2 の初期化
0
s
3
5
2
∞
2
6
3
∞
ラベル(gi)
の初期化
35
ダイクストラ法(1)
∞
1
1
∞
t
10
0
s
3
5
ラベル(gi)
最小の点を走査
2
2
∞
2
6
3
∞
36
ダイクストラ法(2)
∞→10
1
1
∞
t
10
0
s
3
5
6
2
2
∞→5
2
3
∞
37
ダイクストラ法(3)
10
1
1
∞
t
10
ラベル
最小の点を走査
2
0
s
3
5
走査済み
2
5
2
6
3
∞
38
ダイクストラ法(4)
10→8
1
1
∞
t
10
0
s
3
5
6
2
2
5
2
3
∞→7
39
ダイクストラ法(5)
8
1
1
∞
t
10
ラベル
最小の点を走査
2
0
s
3
5
2
5
2
6
3
7
40
ダイクストラ法(6)
8
1
1
∞→13
t
10
0
s
3
5
6
2
2
5
2
3
7
41
ダイクストラ法(7)
8
1
1
13
t
10
ラベル
最小の点を走査
2
0
s
3
5
2
5
2
6
3
7
42
ダイクストラ法(8)
8
1
1
13→9
t
10
0
s
3
5
6
2
2
5
2
3
7
43
ガントチャートもどきの図による解法
44
ガントチャートもどきの図による解法
45
任意の2点間の最短路dij ← min{dij,dik+dkj}
1
2
3
4
5
6
7
1
2 3
0
3 4
3
0 ∞
4 ∞ 0
8
4 2
∞ 8 ∞
∞ ∞ 7
∞ ∞ ∞
4
8
4
2
0
2
4
7
5 6
7
∞ ∞ ∞
8 ∞ ∞
∞ 7 ∞
2 4
7
0 ∞ 1
∞ 0
1
1 1
0
k=1 1
2
3
4
5
6
7
1
0
3
4
8
∞
∞
∞
3
4
∞
0
2
∞
7
∞
4
8
4
2
0
2
4
7
5
∞
8
∞
2
0
∞
1
k=1 1
2
3
4
5
6
7
1
2 3
0
3 4
3
0 7
4 7
0
8
4 2
∞ 8 ∞
∞ ∞ 7
∞ ∞ ∞
4
8
4
2
0
2
4
7
5 6
7
∞ ∞ ∞
8 ∞ ∞
∞ 7 ∞
2 4
7
0 ∞ 1
∞ 0
1
1 1
0
8
2
3
0
∞
4
8
∞
∞
6
∞
∞
7
4
∞
0
1
7
∞
∞
∞
7
1
1
0
46
Warshall-Floyd法
任意の2点間の最短路
三角オペレーション
• 距離行列 D=[dij]
• 点 j に関する三角オペレーション
dij ← min{dij,dik+dkj}
for all i, j=1,…,n; i, j ≠ k
k
i
j
47
Warshall-Floyd法のアルゴリズム
任意の2点間の最短路
• 元々の距離行列 C=[cij]
• 初期化
for all i ≠j do dij ← cij
for i =1,…,n do dii ← 0
• 基本部分
for k =1,…,n do
for i =1,…,n ; i ≠ k do
for j =1,…,n ; j ≠ k do
dij ← min{dij,dik+dkj}
48
任意の2点間の最短路dij ← min{dij,dik+dkj}
1
2
3
4
5
6
7
1
2 3
0
3 4
3
0 ∞
4 ∞ 0
8
4 2
∞ 8 ∞
∞ ∞ 7
∞ ∞ ∞
4
8
4
2
0
2
4
7
5 6
7
∞ ∞ ∞
8 ∞ ∞
∞ 7 ∞
2 4
7
0 ∞ 1
∞ 0
1
1 1
0
k=1 1
2
3
4
5
6
7
1
0
3
4
8
∞
∞
∞
3
4
∞
0
2
∞
7
∞
4
8
4
2
0
2
4
7
5
∞
8
∞
2
0
∞
1
k=1 1
2
3
4
5
6
7
1
2 3
0
3 4
3
0 7
4 7
0
8
4 2
∞ 8 ∞
∞ ∞ 7
∞ ∞ ∞
4
8
4
2
0
2
4
7
5 6
7
∞ ∞ ∞
8 ∞ ∞
∞ 7 ∞
2 4
7
0 ∞ 1
∞ 0
1
1 1
0
8
2
3
0
∞
4
8
∞
∞
6
∞
∞
7
4
∞
0
1
7
∞
∞
∞
7
1
1
0
49
1
k=2 2
3
4
5
6
7
1
2 3
0
3 4
3
0 7
4
7 0
8
4 2
∞ 8 ∞
∞ ∞ 7
∞ ∞ ∞
4
8
4
2
0
2
4
7
5 6
7
∞ ∞ ∞
8 ∞ ∞
∞ 7 ∞
2 4
7
0 ∞ 1
∞ 0
1
1 1
0
1
k=2 2
3
4
5
6
7
1 2 3
0 3 4
3 0 7
4 7 0
7
4 2
11 8 15
∞ ∞ 7
∞ ∞ ∞
4
7
4
2
0
2
4
7
5 6 7
11 ∞ ∞
8 ∞ ∞
15 7 ∞
2 4 7
0 ∞ 1
∞ 0 1
1 1 0
1
2
k=3 3
4
5
6
7
1
2 3
0
3 4
3
0 7
4
7 0
7
4 2
11 8 15
∞ ∞ 7
∞ ∞ ∞
4
7
4
2
0
2
4
7
5 6
7
11 ∞ ∞
8 ∞ ∞
15 7 ∞
2 4
7
0 ∞ 1
∞ 0
1
1 1
0
1
2
k=3 3
4
5
6
7
1
2 3
0
3 4
3
0 7
4
7 0
6
4 2
11 8 15
11 14 7
∞ ∞ ∞
4
6
4
2
0
2
4
7
5 6
7
11 11 ∞
8 14 ∞
15 7 ∞
2 4
7
0 ∞ 1
∞ 0
1
1 1
0
50
1
2
3
k=4 4
5
6
7
1 2 3
0 3 4
3 0 7
4 7
0
6 4 2
11 8 15
11 14 7
∞ ∞ ∞
4
6
4
2
0
2
4
7
5 6 7
11 11 ∞
8 14 ∞
15 7 ∞
2 4 7
0 ∞ 1
∞ 0 1
1 1 0
1
2
3
k=4 4
5
6
7
1
2
0
3
3
0
4 6
6
4
8
6
10 8
13 11
4
6
4
2
0
2
4
7
5
8
6
4
2
0
6
1
3
4
6
0
2
4
6
9
6
7
10 13
8 11
6
9
4
7
6
1
0
1
1
0
1
2
3
4
k=5 5
6
7
1
2
3
4
k=5 5
6
7
1
2
0
3
3
0
4
6
6
4
8
6
10 8
13 11
1
0
3
4
6
8
10
9
2
3
0
6
4
6
8
7
3
4
6
0
2
4
6
9
3
4
6
0
2
4
6
5
4
6
4
2
0
2
4
7
4
6
4
2
0
2
4
3
5
8
6
4
2
0
6
1
5
8
6
4
2
0
6
1
6
7
10 13
8 11
6 9
4 7
6
1
0
1
1
0
6
10
8
6
4
6
0
1
51
7
9
7
5
3
1
1
0
1
2
3
4
5
k=6 6
7
1
0
3
4
6
8
10
9
2
3
0
6
4
6
8
7
3
4
6
0
2
4
6
5
4
6
4
2
0
2
4
3
5
8
6
4
2
0
6
1
6
10
8
6
4
6
0
1
7
9
7
5
3
1
1
0
1
2
3
4
5
6
k=7 7
1
0
3
4
6
8
10
9
2
3
0
6
4
6
8
7
3
4
6
0
2
4
6
5
4
6
4
2
0
2
4
3
5
8
6
4
2
0
6
1
6
10
8
6
4
6
0
1
7
9
7
5
3
1
1
0
1
2
3
4
5
6
7
1
0
3
4
6
8
10
9
2
3
0
6
4
6
8
7
3
4
6
0
2
4
6
5
4
6
4
2
0
2
4
3
5
8
6
4
2
0
2
1
6
10
8
6
4
2
0
1
7
9
7
5
3
1
1
0
52
負の閉路を含む最短路問題
2
1
2
-4
1
4
1
3
3
53
輸送問題
需要量
供給量
10
工場P1
6
4
15
工場P2
工場P3
18
需要地M2
9
需要地M3
12
需要地M3
11
1
5
25
需要地M1
6
3
2
5 6
8
7
10
枝上に輸送費
54
需給の一致しない輸送問題(ダミーの追加)
需要量
供給量
10
6
工場P1
4
15
工場P2
工場P3
6
2
5 6
8
00
5
ダミー工場
18
需要地M2
9
需要地M3
12
需要地M3
11
1
5
20
需要地M1
3
7
0 10
0
枝上に輸送費
55
変数の0-1制約、整数制約指定
EXCELソルバーでは制約条件の一部として指定
0-1変数
整数変数
56
0-1変数を含む
ソルバーパラメータ設定
57
施設配置問題
関東地方を中心に営業を行ってきた輸入品販売業の
K社では、関西地方に活動を拡大するため、京阪神地方
に倉庫の賃借を行う計画を立てている。賃借の候補とな
る倉庫はmカ所にあって、第i地点の倉庫Wi(i=1,・・・,m)の
月間処理能力はai(トン/月)で、その経費(賃借料や維
持費など毎月の固定費)はdi(千円/月)である。また、
関西一円に広がる消費地Dj(j=1,・・・,n)での輸入品の需
要量bj(トン/月)と、WiからDjへのトン当たり輸送費cij
(千円)が与えられたとして、すべての需要を満たし、毎
月の総費用(倉庫経費+輸送費)を最小にする倉庫配置
と輸送計画を求めたい。この問題を数理計画問題として
定式化せよ。
58
施設配置問題(p.100)
59
施設配置問題の定式化
• 定数:di = 倉庫iの経費(固定費)
cij = 倉庫iからjへの輸送単価
• 変数: yi = 倉庫iを借りるとき1、さもなくば0
xij = 倉庫iからjへの輸送量(xij≧0)
• 目的関数(総費用最小):
最小化 z = Σi diyi + ΣiΣj cijxij
制約
需要を満足しなければならない
倉庫を借りないならば、送り出してはいけない
60
施設配置問題の定式化
最小化
制約
z = Σi diyi + ΣiΣj cijxij
Σi xij≧bj
j=1,2,…,n
Σj xij≦aiyi
i=1,2,…,m
xij≧0,yi =0 or 1
61
補足: 輸送問題
ポテンシャル法による被約費用の計算
1.被約費用=cij-(ui+vj)
2.基底変数の被約費用=0,から
m+n-1本の連立方程式
変数はm+n個
どれか1個を適当に固定しui,vjを決定
3.非基底変数(非基底マス)に対して
被約費用=cij-(ui+vj)
62