Transcript
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


Top Related