management science 461 lecture 2b – shortest paths september 16, 2008

27
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

Upload: jeremy-simpson

Post on 17-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

Management Science 461

Lecture 2b – Shortest Paths

September 16, 2008

Page 2: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

2

Graph Theory

Branch of mathematics “Graph” has a very specific definition:

Collection of objectsCollection of relationships between objects

Both collections can have associated data (costs, weights)

Page 3: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

3

Physical Abstraction

Euler and the Königsberg Bridges - 1736

Page 4: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

4

Shortest Path Problems

Find the shortest (distance, time, cost) path between two nodes (e.g. 15)

1

2

34

58

2

5

4

3

5

9

Node = Vertex

Arc = Edge = Link

Route = Path

Tour = Circuit = Cycle

Page 5: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

5

Algebraic formulation

otherwise0

selected is to node connecting edge theif1 jixij

1

2

34

58

2

5

4

3

5

9452543

344224

23321312

954

433

5528

minimize

xxx

xxx

xxxx

Page 6: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

6

Flow and Integrality Constraints

subject to x12 + x13 = 1 (node 1)x12 + x32 + x42 = x23 + x24 + x25 (node 2)x13 + x23 + x43 = x32 + x34 (node 3)x34 + x24 = x43 + x42 + x45 (node 4)x25 + x45 = 1 (node 5)xij = 0 or 1 for all i, j

1

2

34

5

Page 7: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

7

Rearranging, we get…

subject to - x12 - x13 = -1 (node 1)x12 + x32 + x42 - x23 - x24 - x25 = 0 (node 2)x13 + x23 + x43 - x32 - x34 = 0 (node 3)x34 + x24 - x43 - x42 - x45 = 0 (node 4)x25 + x45 = 1 (node 5)xij = 0 or 1 for all i, j

1

2

34

5

Flow in = flow out flow in – flow out = 0

Do these -1, 0, 1 values look familiar?

Page 8: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

8

Shortest Path Problems

Solve using Excel’s Solver

However, a network with several hundred nodes would be out of reach, even for Premium Solver

e.g. Edmonton

Efficient algorithms need to be used – like Dijkstra’s algorithm

Page 9: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

9

Dijkstra’s algorithm

“Label-setting” algorithmAt each node, keep track of minimum

distance from origin to the node, and how we got there

Very fast – polynomial time algorithmTime to solve increases polynomially with

problem size (not exponential)

Page 10: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

10

Dijkstra’s Algorithm

8

2

5

4

3

5

9

1

2

34

5

Page 11: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

11

Step 0 – Place Labels

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: Pred: 2

Dist: Pred: 5

Dist: Pred: 4

Dist: Pred: 3

Page 12: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

12

Step 1 – Choose Minimum Label

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: Pred: 2

Dist: Pred: 5

Dist: Pred: 4

Dist: Pred: 3

Page 13: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

13

Step 2 – Update Adjacent Labels

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 8Pred: 1

Dist: Pred: 5

Dist: Pred: 4

Dist: 2Pred: 1

Page 14: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

14

Step 2b – Mark Node As Optimal

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 8Pred: 1

Dist: Pred: 5

Dist: Pred: 4

Dist: 2Pred: 1

Page 15: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

15

Step 3 – Choose Next Min Dist

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 8Pred: 1

Dist: Pred: 5

Dist: Pred: 4

Dist: 2Pred: 1

Page 16: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

16

Step 4 – Update Adjacent Labels

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: Pred: 5

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 17: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

17

Step 4b – Mark Node As Optimal

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: Pred: 5

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 18: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

18

Step 5 – Choose Next Min Dist

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: Pred: 5

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 19: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

19

Step 6 – Update Adjacent Labels

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: 15Pred: 4

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 20: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

20

Step 6b – Mark Node As Optimal

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: 15Pred: 5

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 21: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

21

Step 7 – Choose Next Min Dist

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: 15Pred: 5

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 22: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

22

Step 8 – Update Adjacent Labels

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: 12Pred: 2

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 23: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

23

Step 8b – Mark Node As Optimal

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: 12Pred: 2

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 24: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

24

Step 9 – Choose Next Min Dist

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: 12Pred: 2

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 25: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

25

Step 10 – Update Adjacent Labels

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: 12Pred: 2

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 26: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

26

Step 10b – Mark Node As Optimal

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: 12Pred: 2

Dist: 6Pred: 3

Dist: 2Pred: 1

Page 27: Management Science 461 Lecture 2b – Shortest Paths September 16, 2008

27

Final Solution – Min Dist Tree

8

2

5

4

3

5

9

1

2

34

5Dist: 0Pred: 1

Dist: 7Pred: 3

Dist: 12Pred: 2

Dist: 6Pred: 3

Dist: 2Pred: 1