Power Point2000形式

download report

Transcript Power Point2000形式

最適化アルゴリズムの動向
ーメタヒューリスティックスを中心としてー
(応用編)
東京商船大学
流通情報工学
久保 幹雄
メニュー

応用編
–
–
–
–
–
–
–
–
二次割当
グラフ分割
巡回セールスマン
最大クリーク
グラフ彩色
ジョブショップスジューリング
運搬経路
N-Queen
二次割当問題
3回
2回
1回
5km
2km
1km
移動量行列 (Fij)
(週に何回遊びに行くか)
-
距離行列 (Dij)
-
二次割当問題
2回 5km
2km 1回
1km
3回
-
順列π
-
-
-
2×5+2×1+1×3=15km
二次割当問題
 V={1,2,…,n},
n×n 行列(Fij),(Dij)が
与えられたとき,V上の順列πで
Σi,j Fij Dπ(i)π(j)を最小にするものを
求める問題.
 応用
– 工場,レイアウト設計,キーボードの
– 配列,自己テスト可能な回路,回路配線
 問題集(QAPLIB)あり.
二次割当問題の近傍
(swap近傍)
2回 5km
2km 1回
1km
3回
2×5+2×1+1×3=15km
-
1回
5km
2回
2km
-
1km
3回
1×5+2×2+1×3=12km
-
-
二次割当問題の属性
-
-
-
人と家のペア
交換した人のペア
-
-
なぜペア属性が悪いか
-
-
禁止リストの
長さによらず
巡回が発生する!
人と家のペアにする理由
 数理計画による自然な定式化
– 変数
Xij = 人iが家jに割り当てられたとき 1
それ以外
0
– min. ΣΣ Fij Dkl Xik Xjl
s.t. Σ Xij = 1 for all i
Σ Xij = 1 for all j
Xij : 0 or 1
グラフ分割問題
半分に分けたい!
仲良し!
グラフ分割問題
目的関数値=2
グラフ分割問題
 無向グラフ
G=(V,E)が与えられたと
き,|L|=|R|を満たすVの分割(L,R)で,
LとRの間の枝の本数を最小にするもの
を求める問題.
 応用
– VLSI 設計, プログラム分割
 JohnsonらがSimulated
Annealing法の
実験のために採用した第1の問題.
グラフ分割問題に対する近傍
(swap近傍)
交叉の例
グラフ分割問題に対する単性生殖交叉
A1 B1
A1 B1
A2 B2
B2 A2
通常の解の表現の弱点
実行可能解のみ
を探索する
擬似実行可能解
(グラフ分割問題)各グループ内の人数が
多少は違ってもよい!
擬似実行可能解上の近傍
(グラフ分割問題)
ペナルティ関数法
目的関数
実行可能
ペナルティ関数法(失敗例)
目的関数
実行可能
擬似実行可能解探索法
擬似実行可能解の集合
実行可能解の集合 F
戦略的振動
starategic oscillation
巡回セールスマン問題
Aberdeen
Belfast
Edinburgh
Liverpool
Dublin
Cardiff
London
巡回セールスマン問題
Aberdeen
Belfast
Edinburgh
Liverpool
Dublin
Cardiff
London
巡回セールスマン問題
 グラフ
G=(V,E), E上の重み関数 d が
与えられたとき重みの合計が最小の
Hamilton閉路を求める問題.
 応用
– 基盤配線,配送計画,スケジューリング,
基盤穿孔,X線構造解析実験,タンパク質
構造解析,DNA 並べ替え,VLSI設
計, etc.
 問題集(TSPLIB)あり.
Approximate Algorithms
 Improvement
Algorithm
– 2,3,..k-opt
– Lin-Kernighan opt
 Construction
–
–
–
–
–
–
Algorithms
Nearest Neighbor
Greedy
Christiofides’
Insertion
Karp’s
Bucket
近傍の例 (2-opt)
a
c
d
b
|ac|<|ab|を満たすcに限定する!
Local Search (2-opt)
Aberdeen
Belfast
Edinburgh
Liverpool
Dublin
Cardiff
London
Local Search (2-opt)
Aberdeen
Belfast
Edinburgh
Liverpool
Dublin
Cardiff
London
近傍の例 (3-opt)
近傍の例 (挿入-opt)
交叉の例
巡回セールスマン問題に対する挿入-optの利用
親世代
子孫
Lin-Kernighan opt
(=3-opt + Depth-first Tabu Search using
2-opt neighborhood)
c
f
d
e
b
a
LK Search
(Depth-first Tabu Search using 2-opt
neighborhood)
c
f
d
e
b
a
d
a
e
b
Tabu
c
f
LK Search
(Depth-first Tabu Search using 2-opt neighborhood)
d
a
a
f
a
f
e
c
b
c
e
b
d
f
e
d
b
c
2-opt,3-opt,k-opt (Worst Case
Results)
 n2  ∃
Running Time :  2  I
 
k  6  opt

PLS-complete 
Lin  Kernighan opt
1
n
4
1
6
1
n 
4
1 21k
n 
4
A 2-opt(I)
OPT(I)
A 3-opt(I)
OPT(I)
A k-opt(I)
OPT(I)





∃I
A 2,3,k-opt(I)
OPT(I)
4 n
∀I
Nearest Neighbor
適当な点から出発し、まだ訪問していない最も近い点へ移動する
全ての点を訪問したら出発点へもどる
Nearest Neighbor (Worst Case Results)
 
2
Running Time :  n
1
NN(I)
  log2 n  1
2
OPT(I)
log n 
NN(I)
OPT(I)
∀I
∃I
Greedy (Multiple Fragment)
閉路ができたり、次数が2を超えないように、枝を短い順に加えていく
Greedy (Worst Case Results)


2
Running Time :  n log n
Greedy(I) 1
  log2 n  1
2
OPT(I)
log n
Greedy(I)

3loglog n
OPT(I)
∀I
∃I
Christofides’ (1)
奇数次数を持つ頂点に対して最小マッチングを求める
奇数次数を持つ頂点を赤く塗りつぶす
最小木を作る
Christofides’ (2)
まだ通過していない枝をグラフ非連結にならないようにたどる
一度通過した点をスキップすることにより、順回路をえる
Christofides’ (Worst Case Results)
 
3
Running Time :  n
Christofides(I)
3

2
OPT(I)
3

2
Christofides(I)
OPT(I)
∀I
∃I
Convex Hull +Insertion
 
2
Running Time :  n
凸包で点を囲むように巡回路をつくる
巡回路に入っていない,最も遠い点へ移動する
Karp’s Partitioning Method (1)
長方形で、p個の点が入るように分割する
各小領域に対する最適巡回路を求める
Karp’s Partitioning Method (2)
長方体と交わる点の枝を非連結にならないようにたどる
Karp’s Partitioning Method
Probabilisitcs Analysis
BHH Theorem (Beardwood, Halton and Hammersley, 1959)
面積Aの正方領域にランダムにばらまかれた
n個の点に対する
lim OPT(I) =
An (β≒0.7124)

β=0.749
BHH (1959)
too optimistic!
β=0.765
Stein (1977)
Bucket
Running Time : n
全ての点を含む単位正方形で小領域に分割し、適当な順序をつける
決められた順序(小領域内では任意)で点を訪問する
Implementation
 Geometric
data structure
– Bucket
– Delaunay Triangulation
– K-d tree
 Tour
–
–
–
–
data structure
Array
Two-level Tree
Segment Tree
Splay Tree
for solving
108 TSP
within 1%
of optimum
Experimental Analysis
 Using
random Euclidean instances
with n=100 to 1000000 cities.
 Using
TSPLIB (real) instances
n=48 to 85900 cities.
 Using random distance instances.
Quality for tour
generation heuristics
30
Percent Excess over
the Held-Karp Lower
Bound
25
20
Christofides
Clarke-Wright
Greedy
Nearest Neighbor
15
10
5
0
2
2.5
3
3.5
4
4.5
5
5.5
6
P
P
(# of Cities =10 )
Running times for tour
generation heuristics
100000
CPU Time in
Seconds on 150Mhz
10000
SGI Challenge
1000
100
Christofides
Clarke-Wright
Greedy
Nearest Neighbor
10
1
2
0.1
2.5
3
3.5
4
4.5
5
5.5
6
P
0.01
0.001
P
(# of Cities =10 )
Quality for improvement
heuristics
Percent Excess over
the Held-Karp
Lower Bound
5
4.5
4
3.5
2-opt
3-opt
Lin-Kernighan
Iterated LK
SA2
3
2.5
2
1.5
1
0.5
0
2
2.5
3
3.5
4
4.5
5
5.5
6
P
P
(# of Cities =10 )
Running times for
improvement heuristics
100000
CPU Time in
Seconds on 150Mhz
SGI Challenge
10000
1000
2-opt
3-opt
Lin-Kernighan
Iterated LK
SA2
100
10
1
2
0.1
2.5
3
3.5
4
4.5
5
5.5
6
P
0.01
P
(# of Cities =10 )
Undominated Algorithms
Percent Excess
over OPT(I)
30%
Karp’s
Bucket
25%
Nearest Neighbor
Insertion
Greedy
Christofides’
15%
2-opt
5%
3%
2%
1%
0%
3-opt
SA
Lin-Kernighan
Iterated-LK
n
nlogn
Running Time
巡回セールスマン問題について
のより詳しい情報は...
山本芳嗣・久保幹雄
巡回セールスマン問題への招待
(朝倉書店)
最大クリーク問題
なるべく大人数でピクニックに行きたい!
仲良し!
最大クリーク問題
最大クリーク問題
(最大安定集合問題)

無向グラフ G=(V,E)が与えられたとき,最大
位数の安定集合 S (Vの部分集合で間に枝の
ないもの)を求める問題.
 応用
– プリント基板テスト,パターンマッチング,符号
理論,考古学および生物学のデータ解析,グラフ
彩色問題の近似アルゴリズムおよび下界,多面体
論(Kellerの予想),故障診断,etc.
 1993年度DIMACSチャレンジ問題の一つ
最大安定集合問題
仲が悪い!
擬似実行可能解
(最大クリーク問題)
仲が悪い!
擬似実行可能解上の近傍
(最大クリーク問題)
Drop
Add
グラフ彩色問題
・・・
クラス分けしたい!
仲が悪い!
グラフ彩色問題
グラフ彩色問題
 無向グラフG=(V,E)が与えられたとき,
Vの安定集合への分割で分割数最小のも
のを求める問題.
 応用
– 時間割作成,スケジューリング,周波数割
当,レジスタ配分,プリント基板テスト,
パターンマッチグ.
 1993年度DIMACSチャレンジ問題の一つ
 Johnsonらの実験的解析の第2の問題
4色問題
色数が少ない問題は
最適化問題としては
簡単!
グラフ彩色問題の近傍 1
悪い枝!
グラフ彩色問題の近傍 2
(Kempe Chain近傍)
ジョブショップスケジューリ
ンング問題
作業
機械
5分
3分
7分
2分
3分
4分
8分
6分
5分
仕事
離接グラフ表現
有向枝
離接枝
開始
終了
解=離接枝に向きをつける
5
3
8
7
2
6
9
5
3
クリティカルパス(最長路)
5
3
8
7
2
6
9
5
3
(制限付き)離接枝反転近傍
5
3
7
2
3
9
5
3
8
8
7
2
6
6
3
9
5
5
3
8
7
2
6
3
9
5
5
クリティカルパス上の離接枝
を反転させる
ジョブショップスケジューリ
ンング問題
 離接グラフ上で最長路の長さが最小に
なるように離接枝に向きをつける問
題.
 数あるスケジューリング問題の中でも
最も悪名が高い.
 実際問題に近い(らしい)
 問題集あり(OR-Libから得られる)
運搬経路問題
3t
5t
ルート
6t
6t
5t
5t
デポ
3t
4t
5t
2t
顧客(需要点) 10t
運搬車の容量
20t
運搬経路問題の近傍
属性
青いルートには
当分戻らない!
デポ
デポ
(1,1)-opt
(p,q)-opt: 二つのルートからp,q人ずつの顧客を交換
N-クイーン問題