Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Chapter9 4
1. 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
2. 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
3. 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.
4. 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
5. 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
6. 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
8. TSP.8
Constraints
• Each city must be “exited” exactly once
• Each city must be “entered” exactly once
x ( i , j )
j = 1
ν
∑ = 1 , ι = 1 , 2 , ..., ν
x ( i , j )
i = 1
ν
∑ = 1 , ϕ = 1 , 2 , ..., ν
10. TSP.10
No!
• The first two constraints allow sub-
tours
• Thus, we have to add a constraint that
will prevent sub-tours
11. 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
12. 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
13. 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 ) ≤ Σ
ι , ϕ ∈ Σ
∑ − 1 , ∀ Σ ⊂ { 1 , 2 , ..., ν }
14. 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
ι , ϕ ∈ Σ
∑
• Hence the sub-tour
elimination constraint is
not satisfied.
• Indeed, thee are two
subtours in this solution
16. 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.
19. 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.
x
1
, ..., x
n
{ } = { 1 , 2 , 3 , ..., ν }
20. TSP.20
LP-Free Formulation
• There are n! feasible solutions
x
1
, ..., x
n
{ } = { 1 , 2 , 3 , ..., ν }
min
x
d ( 0 , x
1
) + δ ( ξ
ϕ
ϕ = 1
ν − 1
∑ , ξ
ϕ + 1
) + δ ( ξ
ν
, 0 )
23. TSP.23
LP Free Version
x
1
, ..., x
n
{ } = { 1 , 2 , 3 , ..., ν }
min
x
d ( 0 , x
1
) + δ ( ξ
ϕ
ϕ = 1
ν − 1
∑ , ξ
ϕ + 1
) + δ ( ξ
ν
, 0 )
24. 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) = min
j ∈S
d(i, j) + f (j,s {j}){ }, s ≠ φ
s A:= {k ∈ s,k ∉ A}.
25. TSP.25
Explanation
• Then clearly, …..
(i,s)
We are at city i
and still have to
visit the cities
in s
Suppose we decide
that 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) = min
j ∈S
d(i, j) + f (j,s {j}){ }, s ≠ φ
s A := {k ∈ s,k ∉ A}.
26. 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 −
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
30. 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}
31. 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}