Top Banner
Discrete Optimizat ion 離離離離離離 () Linear Programming 離離離離離 () Nonlinear Programming 離離離離離離 () Network optimization 離離離離離離離離離 () Mathematical Programming 離離離離離 ()
35

Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Jan 20, 2016

Download

Documents

Samuel Hudson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Discrete Optimization(離散最適化)

Linear Programming(線形計画)

Nonlinear Programming(非線形計画)

Network optimization(ネットワーク計画)

Mathematical Programming (数理計画)

Page 2: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Discrete Optimization (離散最適化)

•  Combinatorial Optimization (組合せ最適化)•  Integer Programming (整数計画)

•Linear Programming•Graph Theory (グラフ理論)•Algorithm and Date Structure  •Discrete Mathematics

Related Topics ( 関連分野 )

c.f. P1

Page 3: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Schedule

1. What is a graph? (グラフ基礎)2. Shortest Path Problem (最短路問題)3. Assignment Problem (割当問題)4. Routing Problem (経路問題)

Page 4: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Graph (グラフ) - ?

010

2030

405060

7080

90

1 åé 2 åé 3 åé 4 åé

ìåãû

ñºå√âÆ

ëÂç„

Page 5: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Graph (グラフ) -examples

Page 6: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Graph -definitionV : vertex set (頂点集合)

A⊆V×V: arc set (枝集合)

G=(V, A)     discrete structure (離散構造)

vertex (頂点)

arc (枝)

Page 7: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Graph - sets vs illustration

a

b

c

d

e

f

g

h

i

j

k

V={a,b,c,d,e,f,g,h,i,j,k}

A={{a,b},{a,c},{a,e},{a,g},{b,c},{b,e},{b,f}, {c,d},{d,f},{d,g},{e,h},{e,k},{f,h},{f,j}, {g,j},{g,k},{h,i},{h,j},{i,j},{i,k},{j,k}}

a

b

c

d

e

f

g

h

i

j

k

Page 8: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Graph -examples

undirected graph (無向グラフ)

directed graph   /   digraph (有向グラフ)

Page 9: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Graph - digraphV : vertex set (頂点集合)

A : arc set (枝集合) ordered pairs of V

G=(V, A)

vertex (頂点)

arc (枝)

Page 10: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Digraph - sets vs illustration

a

b

c

d

e

V={a, b, c, d, e}

A={(a, b), (a, d), (b, c), (b, e), (c, a), (c, e), (d, c), (c, e), (e, d)}

Page 11: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Graph - incidence

a

b

c

d

ea

b

c

d

e

f

g

h

i

j

k

• a と b は隣接 (adjacent)• 枝 {a, b} は a に接続 (incident)• a と b は枝 {a, b} の端点 (end point)• a は枝 (a, b) の始点 (tail)

• b は枝 (a, b) の終点 (head)

並列枝(parallel)

Page 12: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

2.1  基本的用語

グラフの言葉を覚えよう

Page 13: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Walk,trail,path

(a, c, f, h, j, i, k)

(a,b, f, h, j, f, h, i, k)

(a, g, j, h, i, j, k)

(a, c, d, f, h, j, i, k)

walk trail path

walk = 路trail = 単純路path = 道/初等的路

a

b

c

d

e

f

g

h

i

j

ka

b

c

d

e

f

g

h

i

j

k

始点 終点

length=7

Page 14: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Closed walk,closed trail,cycle

(a, c, f, h, j, i, k,e,a)

(a,b, f, h, j, f, h, i, k,e,a)

(a, g, j, h, i, j, k,e,a)

(a, c, d, f, h, j, i, k,e,a)

c.walk c.trail cycle

walk = 路trail = 単純路path = 道/初等的路

a

b

c

d

e

f

g

h

i

j

k

Page 15: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Walk, trail, path - in digraph

(a,b,c,d,e)

(a,d,c,e)

(d,e,d)

path directed path

a

b

c

d

ea

b

c

d

e

forward

backward

Page 16: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Subgraph (部分グラフ)

G=(V, A)

V’ V⊆

a

b

c

d

e

f

g

h

i

j

ka

b

c

d

h

j

ka

b

c

d

e

f

g

h

i

j

kG|V’

induced subgraph on V’(V’ が誘導する部分グラフ )

subgraph

a

b

c

d

h

j

k

Page 17: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Subgraph (部分グラフ)

G=(V, A)

a

b

c

d

e

f

g

h

i

j

k

spanning subgraph(全域部分グラフ)

Page 18: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Subgraph (部分グラフ)

G=(V, A)

T V⊆

a

b

c

d

e

f

g

h

i

j

ka

b

c

d

e

f

g

h

i

j

kG\T

Page 19: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Connectivity (連結性)

not connected (非連結) connected (連結)

•  connected component (連結成分)•  isolated vertex (孤立点)

Page 20: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Connectivity - in digraph

strongly connected (強連結) •  root (根)•  strongly connected component(強連結成分)

Page 21: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Degree (次数)

33

Page 22: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Tree (木)

leaves (葉)

root

directed tree (有向木)

• forest• spanning tree

Page 23: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Acyclic (非閉路) in digraph

not contain a directed cycle

Page 24: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Network (ネットワーク)

Graph + numerical datacapacity, cost, supply/demand…

Page 25: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

2.2  基本性質

グラフに慣れよう

Fundamental Properties

Page 26: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.1In any graph, the number of vertices of odd degree is even.

Hand Shaking Lemma 握手補題

どんなグラフでも,奇数次数の頂点は偶数個ある.

Page 27: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.1(proof)In any graph, the number of vertices of odd degree is even.

どんなグラフでも,奇数次数の頂点は偶数個ある.

Σ(degree of v) = 2 |A|v

the number of elements in A

⇒Σ(degree of v) is even v

Page 28: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.2Let G be a graph having n vertices and let any vertex of G have degree at least (n-1)/2. G must be connected.

n=7

n 頂点のグラフ G において,どの頂点の次数も少なくとも(n-1)/2 であるとき, G は連結である.

Page 29: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.2(proof)Let G be a graph having n vertices and let any vertex of G have degree at least (n-1)/2. G must be connected.

n 頂点のグラフ G において,どの頂点の次数も少なくとも(n-1)/2 であるとき, G は連結である.

Assume that G has k connected components G1, G2, …, Gk.,and each component Gi has ni vertices. Then,

n1+n2+…+nk=n.For each component Gi, any vertices v in Gi has degree at most ni-1. Thus we have,

(n-1)/2 ≦ni-1,which implies that ni≧(n+1)/2. Hence k=1.

Page 30: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.3If G=(V, A) is not connected, the complementary graph G=(V, A) is connected.

A= (V ×V )\A

G G

G が非連結のとき,その補グラフは連結である.

Page 31: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.3(proof)If G=(V, A) is not connected, the complementary graph G=(V, A) is connected.

GG

G1

G2

Gkconnected component

G1

G2

Gk

For a pair of vertices in any different components,

For a pair of vertices in a same component,

There is a path between any pair of vertices

Page 32: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.4

Let G be a graph without isolated vertices having n vertices and n-1 arcs (where n 2). G contains at least two vertices of degree 1.≧

n=10

G は孤立点をもたないグラフで, n 個の頂点, n-1 本の枝をもつとする.ただし, n≧2 .このとき, G は次数 1 の頂点を少なくとも 2 つはもつ.

Σ(degree of v) = 2 (n-1)v

degree number

0 0

1 ≦1

≧2 ≧n-1

Σ(degree of v) 2 (n-1)≧ + 1v

Page 33: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.5

Any connected graph on n vertices contains at least n-1 arcs.

(proof) induction on n

v

Page 34: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.6

Any acyclic graph on n vertices has at most n-1 arcs.

a

v v’

(proof) induction on n

( a graph containing no cycle)

Page 35: Discrete Optimization (離散最適化) Linear Programming (線形計画) Nonlinear Programming (非線形計画) Network optimization (ネットワーク計画) Mathematical

Lemma2.7(1) G is a tree

•connected•acyclic

(2)•acyclic•adding any arc to G yields a cycle

(3)•connected•there is a unique path between any two vertices

(4)•connected•removing any arc from G becomes unconnected.

(5)•connected•n-1 arcs

(n: number of vertices)

(6)•acyclic•n-1 arcs