32
TSP.1 9.4 Travelling Salesperson Problem (TSP) Very famous problem Many practical applications Very easy to describe Very difficult to solve (Curse of Dimensionality) We shall consider the dynamic programming (DP) approach Other approaches: see 620-362

9.4 Travelling Salesperson Problem (TSP)

Embed Size (px)

DESCRIPTION

9.4 Travelling Salesperson Problem (TSP). Very famous problem Many practical applications Very easy to describe Very difficult to solve (Curse of Dimensionality ) We shall consider the dynamic programming (DP) approach Other approaches: see 620-362. Problem Formulation. - PowerPoint PPT Presentation

Citation preview

Page 1: 9.4 Travelling Salesperson Problem (TSP)

TSP.1

9.4Travelling Salesperson Problem

(TSP)

• Very famous problem

• Many practical applications

• Very easy to describe• Very difficult to solve (Curse of Dimensionality)

• We shall consider the dynamic programming (DP) approach

• Other approaches: see 620-362

Page 2: 9.4 Travelling Salesperson Problem (TSP)

TSP.2

Problem Formulation

• There are many ways to describe this problem.

• We shall consider the following:–English version

– Linear Programming oriented version

– Linear Programming Free version

–Dynamic programming version

Page 3: 9.4 Travelling Salesperson Problem (TSP)

TSP.3

English Version

• You are given a set of n cities

• You are given the distances between the cities

• You start and terminate your tour at your home city

• You must visit each other city exactly once.

• Your mission is to determine the shortest tour.

Page 4: 9.4 Travelling Salesperson Problem (TSP)

TSP.4

Maths versions

• We shall consider two Maths Version

• The first is LP-based

• The second is LP-free

• The first version dominates the OR literature

Page 5: 9.4 Travelling Salesperson Problem (TSP)

TSP.5

TSP Version 1 (LP)

• Decision variable:

A boolean matrix x interpreted as follows:

x(i,j):= 1, iff we go from city i to city j.

x(i,j) := 0, otherwise

Page 6: 9.4 Travelling Salesperson Problem (TSP)

TSP.6

Example

• This matrix represents the tour (1,2,3,4,1)

x =

0 1 0 0

0 0 1 0

0 0 0 1

1 0 0 0

Page 7: 9.4 Travelling Salesperson Problem (TSP)

TSP.7

Objective function

• d(i,j) = (direct) distance between city i and city j.

z = x ( i , j ) d ( i , j )

j = 1

n

∑i = 1

n

Page 8: 9.4 Travelling Salesperson Problem (TSP)

TSP.8

Constraints

• Each city must be “exited” exactly once

• Each city must be “entered” exactly once

x ( i , j )

j = 1

n

∑ = 1 , i = 1 , 2 , ..., n

x ( i , j )

i = 1

n

∑ = 1 , j = 1 , 2 , ..., n

Page 9: 9.4 Travelling Salesperson Problem (TSP)

TSP.9

Is this enough ?

Page 10: 9.4 Travelling Salesperson Problem (TSP)

TSP.10

No!

• The first two constraints allow sub-tours

• Thus, we have to add a constraint that will prevent sub-tours

Page 11: 9.4 Travelling Salesperson Problem (TSP)

TSP.11

Explanation: sub-tours

• Two subtour: (1,2,1) and (3,4,3)

• This solution is not feasible for the TSP

x =

0 1 0 0

1 0 0 0

0 0 0 1

0 0 1 0

Page 12: 9.4 Travelling Salesperson Problem (TSP)

TSP.12

• If we start at the home city n=1, we will not visit city 3 and 4.

• We must go from city 2 to either city 3 or city 4.

1

2

3

4

Page 13: 9.4 Travelling Salesperson Problem (TSP)

TSP.13

Subtour elimination constraint

• S = subset of cities

• |S| = cardinality of S (# of elements in S)

• There are 2n such sets !!!!!!!

x ( i , j ) ≤ S

i , j ∈ S

∑ − 1 , ∀ S ⊂ { 1 , 2 , ..., n }

Page 14: 9.4 Travelling Salesperson Problem (TSP)

TSP.14

Example

• Consider S={1,2}, |S|=2

x =

0 1 0 0

1 0 0 0

0 0 0 1

0 0 1 0

x ( i , j ) = 2

i , j ∈ S

• Hence the sub-tour elimination constraint is not satisfied.

• Indeed, thee are two subtours in this solution

Page 15: 9.4 Travelling Salesperson Problem (TSP)

TSP.15

Thus, LP Version

minx

x ( i , j ) d ( i , j )

j = 1

n

∑i = 1

n

s . t .

x ( i , j ) = 1 , i = 1 , 2 , ..., n

j = 1

n

x ( i , j ) = 1 , j = 1 , 2 , ..., n

i = 1

n

x ( i , j ) ≤ S − 1 , ∀ S ⊂ { 1 , 2 , ..., n }

i , j ∈ S

n

x ( i , j ) ∈ { 0 , 1 }

Page 16: 9.4 Travelling Salesperson Problem (TSP)

TSP.16

LP-Free Version

• Decision variables:

xj := j-th city on the tour, j=1,2,…,n

• Example:

• x=(1,3,2,4,1)

• We start at city 1, then go to city 3, then go to city 2 then go to city 4 then return to city 1.

Page 17: 9.4 Travelling Salesperson Problem (TSP)

TSP.17

ASSUMPTION

• Assume that 0 is the home city, and that there are n other cities

Page 18: 9.4 Travelling Salesperson Problem (TSP)

TSP.18

Objective function

z = d ( 0 , x1) + d ( x

j

j = 1

n − 1

∑ , xj + 1

) + d ( xn

, 0 )

Page 19: 9.4 Travelling Salesperson Problem (TSP)

TSP.19

Constraints

• The constraint basically says that x is a permutation of the cities (1,2,3,…,n)

• Make sure that you appreciate the role of { } in this formulation.

x1, ..., x

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

Page 20: 9.4 Travelling Salesperson Problem (TSP)

TSP.20

LP-Free Formulation

• There are n! feasible solutions

x1, ..., x

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

min

x

d ( 0 , x1) + d ( x

j

j = 1

n − 1

∑ , xj + 1

) + d ( xn

, 0 )

Page 21: 9.4 Travelling Salesperson Problem (TSP)

TSP.21

Which one do you prefer?

Page 22: 9.4 Travelling Salesperson Problem (TSP)

TSP.22

LP Version

minx

x ( i , j ) d ( i , j )

j = 1

n

∑i = 1

n

s . t .

x ( i , j ) = 1 , i = 1 , 2 , ..., n

j = 1

n

x ( i , j ) = 1 , j = 1 , 2 , ..., n

i = 1

n

x ( i , j ) ≤ S − 1 , ∀ S ⊂ { 1 , 2 , ..., n }

i , j ∈ S

n

x ( i , j ) ∈ { 0 , 1 }

Page 23: 9.4 Travelling Salesperson Problem (TSP)

TSP.23

LP Free Version

x1, ..., x

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

min

x

d ( 0 , x1) + d ( x

j

j = 1

n − 1

∑ , xj + 1

) + d ( xn

, 0 )

Page 24: 9.4 Travelling Salesperson Problem (TSP)

TSP.24

DP Solution

• Let,

f(i,s) := shortest sub-tour given that we are at city i and still have to visit the cities in s (and return to home city)

Then clearly,

f (i,φ)=d(i,0), φ=empty set

f (i,s) =minj∈S

d(i, j)+f (j,s \ {j}){ }, s≠φ

s \ A:={k∈s,k∉A}.

Page 25: 9.4 Travelling Salesperson Problem (TSP)

TSP.25

Explanation

• Then clearly, …..

(i,s)

We are at city iand still have tovisit the cities

in s

Suppose we decidethat from here we go to city j

Then we shall travel the Distance d(i,j)

(j,s\{j})

We are now at city j and still

have to visit the cities in s\{j}

f (i,φ)=d(i,0), φ=empty set

f (i,s) =minj∈S

d(i, j)+f (j,s \ {j}){ }, s≠φ

s \ A:={k∈s,k∉A}.

Page 26: 9.4 Travelling Salesperson Problem (TSP)

TSP.26

Example (Winston, p. 751)

• Distance (miles)

• Cities: New York, Miami, Dallas, Chicago

d=

− 1334 1559 809

1334 − 1343 1397

1559 1343 − 921

809 1397 921 −

⎢ ⎢ ⎢

⎥ ⎥ ⎥

Page 27: 9.4 Travelling Salesperson Problem (TSP)

TSP.27

Initialization (s=)

• f(1, ) = d(1,0) = 1334

• f(2, ) = d(2,0) = 1559

• f(3, ) = d(3,0) = 809

Page 28: 9.4 Travelling Salesperson Problem (TSP)

TSP.28

Iteration (on, i and s)

• We shall generate s systematically by its “size”.

• Size = 1: Possible values for s: {1}, {2}, {3}.

• s = {1} : f(2,{1})= ? ; f(3,{1})= ?

• s = {2} : f(1,{2})= ? ; f(3,{2})= ?

• s = {3} : f(1,{3})= ? ; f(2,{3})= ?

Page 29: 9.4 Travelling Salesperson Problem (TSP)

TSP.29

|s|=1

f(i,{j}) = d(i,j)+f(j, )

• f(2,{1})= d(2,1) + f(1,) = 1343 + 1334 = 2677

• f(3,{1})= d(3,1) + f(1,) = 1397 + 1334 = 2731

• f(1,{2})= d(1,2) + f(2,) = 1343 + 1559 = 2902

• f(3,{2})= d(3,2) + f(2,) = 921 + 1559 = 2480

• f(1,{3})= d(1,3) + f(3,) = 1397 + 809 = 2206

• f(2,{3})= d(2,3) + f(3,) = 921 + 809 = 1730

Page 30: 9.4 Travelling Salesperson Problem (TSP)

TSP.30

|s| = 2

f(i,s)= min{d(i,j)+f(j,s\{j}): j in s}

• Size = 2: Possible values for s: {1,2}, {1,3}, {2,3}

Thus, we have to determine the values of

• f(3,{1,2}) = ? ; f(2,{1,3}) = ? ; f(1,{2,3}) = ?

• Eg:

f(3,{1,2}) = min {d(3,j) + f(j,s\{j}): j in {1,2} }

= min {d(3,1) + f(1,{2}) , d(3,2) + f(2,{1})}

= min {1397+2902,921+2677}

= min {4299,3598}

= 3598 , N(3,{1,2})={2}

Page 31: 9.4 Travelling Salesperson Problem (TSP)

TSP.31

|s| = 3• In this case there is only one feasible s, namely

s={1,2,3}.

• Thus, there is only one equation to solve, namely for i=0, s={1,2,3}. The value of f(0,{1,2,3}) is the shortest tour.

• Note that in this case

• f(0,{1,2,3})=min {d(0,j) + f(j,{1,2,3}\{j}: j in {1,2,3}

• = min {d(0,1)+f(1,{2,3}), d(0,2)+ f(2,{1,3}), d(0,3)+f(3,{1,2})}

• =min {1334+3073, 1559+3549, 809 + 3598}

• = min {4407,5108,4407} = 4407, N(0,{1,2,3})={1,3}

Page 32: 9.4 Travelling Salesperson Problem (TSP)

TSP.32

Recovery• S=(0,{1,2,3}), N(s)={1,3} , c=1

• S={1,{2,3}}, N(s)={2}, c=(1,2)

• S={2,{3}}, N(s)={3}, c=(1,2,3).

• Hence: x*=(0,1,2,3,0), z*=4407