applied integer programming: modeling and solution · applied integer programming: modeling and...

46
Traveling Salesman Problem Transformation to the TSP Applications of the TSP Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute of Technology April 15, 2015 Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Upload: others

Post on 04-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Applied Integer Programming: Modeling andSolution

Chen, Batson, DangSection 6.1 - 6.3

Henrik Fredriksson

Blekinge Institute of Technology

April 15, 2015

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 2: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Modeling Combinatorical Optimization Problems II

1 Traveling Salesman ProblemImportance of the TSP

2 Transformation to the TSPShortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

3 Applications of the TSPMachine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 3: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Traveling Salesman Problem

A traveling salesman is to visit a number of cities and the distanceconnecting two cities are known; the problem is to find a shortest routethat starts from a home city, visits other cities exactly once, and returnsto the home city.

Became popular in () (Dantzig, Fulkerson and Johnson)

Perhaps the most well-studied COP

Thousands of publications. Over 1000 distinct papers cited

Representative of NP-hard COPs

Primary driving force in novel optimization and solution algorithms

Many AI algorithms, GA, SA, Tabu search, heuristics developed to(at least partly) solve the TSP

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 4: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Traveling Salesman Problem

A traveling salesman is to visit a number of cities and the distanceconnecting two cities are known; the problem is to find a shortest routethat starts from a home city, visits other cities exactly once, and returnsto the home city.

Became popular in () (Dantzig, Fulkerson and Johnson)

Perhaps the most well-studied COP

Thousands of publications. Over 1000 distinct papers cited

Representative of NP-hard COPs

Primary driving force in novel optimization and solution algorithms

Many AI algorithms, GA, SA, Tabu search, heuristics developed to(at least partly) solve the TSP

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 5: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Milestones of TSP instances solved to optimality

Year No. of Cities Data Set Research Team

49 dantzig42 Dantzig, Fulkerson, Johnson 64 random points Held and Karp 67 random points Camerini, Fratta, Maffioli 120 grl20 Grotschel 318 lin318 Crowder and Padberg 532 att532 Padberg and Rinaldi 666 gr666 Grotschel and Holland 2392 pr2392 Padberg and Rinaldi 7397 pla7397 Applegate, Bixby, Chvatal, Cook 13, 509 usa13509 Applegate, Bixby, Chvatal, Cook 15, 112 dl5112 Applegate, Bixby, Chvatal, Cook 24, 978 sw24978 Applegate, Bixby, Chvatal, Cook 33, 810 pla33810 Applegate, Bixby, Chvatal, Cook 85, 900 pla85900 Applegate, Bixby, Chvatal, Cook

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 6: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Slow progress ( to mid-s )

Lack of applications. Could only solve small instances of the problem

Rapid progression (mid-s - mid-s)

Increased computational capability and introduction ofbranch-and-cut technique

TSP can be used as a benchmark for IP algorithms

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 7: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Slow progress ( to mid-s )

Lack of applications. Could only solve small instances of the problem

Rapid progression (mid-s - mid-s)

Increased computational capability and introduction ofbranch-and-cut technique

TSP can be used as a benchmark for IP algorithms

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 8: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Some definitions

Definition

Let G = (V ,E ) be a graph where V is the set of vertices (nodes) and Eis the set of edges (arcs). If the TSP is defined over a directed graph,then we have a asymmetric TSP. If the the TSP is defined over aundirected graph, then we have a symmetric TSP.

Definition

A route is sequence of distinct nodes

(v1, v2, . . . , vn−1, vn)

such that (vi , vi+1) ∈ E ,∀i = 1, . . . n − 1. If the route contains all nodesof the graph, it is called a Hamiltonian route

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 9: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Some definitions

Definition

Let G = (V ,E ) be a graph where V is the set of vertices (nodes) and Eis the set of edges (arcs). If the TSP is defined over a directed graph,then we have a asymmetric TSP. If the the TSP is defined over aundirected graph, then we have a symmetric TSP.

Definition

A route is sequence of distinct nodes

(v1, v2, . . . , vn−1, vn)

such that (vi , vi+1) ∈ E ,∀i = 1, . . . n − 1. If the route contains all nodesof the graph, it is called a Hamiltonian route

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 10: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Definition

A cycle is sequence of distinct nodes

(v1, v2, . . . , vn−1, vn, v1)

such that (vi , vi+1), (vn, v1) ∈ E ,∀i = 1 . . . , n − 1. If the cycle containsall nodes of the graph, it is called a Hamiltonian cycle

Finding the shortest Hamiltonian cycle gives is a solution to the TSP.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 11: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Definition

A cycle is sequence of distinct nodes

(v1, v2, . . . , vn−1, vn, v1)

such that (vi , vi+1), (vn, v1) ∈ E ,∀i = 1 . . . , n − 1. If the cycle containsall nodes of the graph, it is called a Hamiltonian cycle

Finding the shortest Hamiltonian cycle gives is a solution to the TSP.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 12: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Example of Hamiltonian cycle

1

2

3

4

5

6

8

5

7

6

1

1

1

2

9 2

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 13: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSPImportance of the TSP

Example of Hamiltonian cycle

1

2

3

4

5

6

8

5

7

6

1

1

1

2

9 2

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 14: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

Shortest Hamiltonian Paths

Finding the shortest Hamiltonian path in graph G = (V ,E ) can betransformed into a TSP in the following way:

1 Construct a new graph G ′ by:1 adding a virtual node to G2 connect the new node with all the others with distance zero

2 Solve the TSP in the new graph G ′

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 15: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

Shortest Hamiltonian Paths

Finding the shortest Hamiltonian path in graph G = (V ,E ) can betransformed into a TSP in the following way:

1 Construct a new graph G ′ by:1 adding a virtual node to G2 connect the new node with all the others with distance zero

2 Solve the TSP in the new graph G ′

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 16: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

Shortest Hamiltonian Paths

Finding the shortest Hamiltonian path in graph G = (V ,E ) can betransformed into a TSP in the following way:

1 Construct a new graph G ′ by:1 adding a virtual node to G2 connect the new node with all the others with distance zero

2 Solve the TSP in the new graph G ′

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 17: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

1

2

3

4

5

6

8

5

7

6

1

1

1

2

9 2

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 18: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

1

2

3

4

5

6

7

8

5

7

6

1

1

1

2

9 2

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 19: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

1

2

3

4

5

6

7

8

5

7

6

1

1

1

2

0

00

00

0

9 2

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 20: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

1

2

3

4

5

6

7

8

5

7

6

0

00

00

0

9

1

1

1

2

2

0

00

00

0

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 21: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

If a starting position for the salesman is given, say node 1. Then we dothe following transformation:

1 Add the arcs (vi , v1), i = 2, . . . n with distance zero to the graph2 Solve the TSP

1

2

3

4

5

6

8

5

7

6

1

1

1

2

9 2

0

0

0

00

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 22: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

If a starting position for the salesman is given, say node 1. Then we dothe following transformation:

1 Add the arcs (vi , v1), i = 2, . . . n with distance zero to the graph2 Solve the TSP

1

2

3

4

5

6

8

5

7

6

1

1

1

2

9 2

0

0

0

00

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 23: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

If a starting position for the salesman is given, say node 1. Then we dothe following transformation:

1 Add the arcs (vi , v1), i = 2, . . . n with distance zero to the graph2 Solve the TSP

1

2

3

4

5

6

8

5

7

6

1

1

1

2

9 2

0

0

0

00

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 24: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

TSP with Repeated City Visits

Suppose we require that the salesman has to visit each city at least once,instead of exactly once. Consider the following transformation:

Whenever there exists a route from vn to vk in G . Construct a newgraph with arcs (vn, vk) where the distance equals the total cost ofthe shortest path between them.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 25: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

TSP with Repeated City Visits

Suppose we require that the salesman has to visit each city at least once,instead of exactly once. Consider the following transformation:

Whenever there exists a route from vn to vk in G . Construct a newgraph with arcs (vn, vk) where the distance equals the total cost ofthe shortest path between them.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 26: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

1 2

3 4

5

2

1

10

9

4

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 27: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

1 2

3 4

5

1310 2

16

1

17

8

4

715

11

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 28: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

Multiple TSP

In the multiple TSP, m salesmen has to visit n customer cities. Letfp, p = 1, 2, . . . n be the fixed cost if salesman p is activated. Theproblem is determine how many of the salesmen should be utilized suchthat their total traveling distance is minimized and each city is visitedonce by one and only one salesman and then return to the home city(node 0). If the network is directed we can transform the multiple TSPto to a standard asymmetric TSP by the following steps:

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 29: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

1 Arrange the fixed cost in ascending order

f0 ≤ f1 ≤ . . . ≤ fm−1

2 Add dummy nodes labeled −1,−2, . . . ,−(m − 1) as a home city forsalesman 2, 3, . . .m, respectively.

3 Add the arcs (−i , j),∀i = 1, 2, . . . ,m − 1 and each (0, j) ∈ A withdistance

c ′−i,j = c0,j +1

2fi

4 Add the arcs (j ,−i) whenever (j , 0) ∈ A with distance

c ′j,−i = cj,0 +1

2fi

5 Add the arcs (−i ,−(i − 1)) for every pair of i = 1, 2, . . . ,m− 1 withdistance

c ′−i,−(i−1) =1

2fi−1 −

1

2fi .

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 30: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

0 1

2

3

4

2

1

3

4

2

1

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 31: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

0 1

2

3

4

2

1

3

4

2

1

-1

-2

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 32: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

0 1

2

3

4

2 + 12f0

1 + 12 f0

3+

12 f0

4+12 f0

2

1

-1

-2

2 +12f 1

1 +12f1

3 + 12 f1

4 + 12 f12

+1

2f 2

1+12f 2

3 +12f2

4 + 12f2

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 33: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

0 1

2

3

4

2 + 12f0

1 + 12 f0

3+

12 f0

4+12 f0

2

1

-1

-2

2 +12f 1

1 +12f1

3 + 12 f1

4 + 12 f12

+1

2f 2

1+12f 2

3 +12f2

4 + 12f2

1 2(f0−

f 1)

1 2(f1−

f 2)

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 34: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

Suppose we obtain the solution

(0, 1), (1, 4), (4,−2), (−2,−1)(−1, 2), (2, 3), (3, 0).

0 1

2

3

4

-1

-2

Salesman 0 visites cities 1 and 4; salesman 2 visits none and salesman 1visits cities 2 and 3.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 35: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

Clustered TSP

Let G = (N,A) be a digraph where the nodes have been partioned into kdisjoint subsets Ni , i = 1, 2, . . . k . The problem of the clustered TSP is tofind the minimum cost Hamiltonian cycle with the constraint that nodeswithin the same cluster must be visited consecutively.The problem can be transformed to the standard TSP by adding an(large) additional cost to the arcs between nodes that do not belong tothe same cluster.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 36: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Shortest Hamiltonians PathTSP with Repeated City VisitsMultiple TSPClustered TSPMaximum TSP

Maximum TSP

Let G = (N,A) be a graph with a positive or negative arc valuecij , (i , j) ∈ A. The problem is to find a Hamiltonian cycle(v1, v2, . . . vn, v1) such that

c1,2 + . . . + cn−1,n + cn,1

is maximal.The problem can be transformed into a standard (minimum) TSP bysetting c ′ij = −cij or c ′ij = −cij + M (M large constant) if c ′ij becomesnegative.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 37: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Machine Sequencing Problems in Various ManufacturingSystems

Job scheduling

Suppose that n jobs with a given processing time has to be processed ona single machine. The jobs can be processed in any order but somemachine job setup times are dependent, e.g. job i must precede job j .Objective is to find a sequence of jobs so all jobs are processed such thatthe total process time is minimized.

Assembly line

In assembly line systems, jobs can be grouped together as clusters. Thejob within the same cluster must be completed before proceding to thenext cluster. This type of sequencing can be considered as a clusteredTSP.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 38: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Machine Sequencing Problems in Various ManufacturingSystems

Job scheduling

Suppose that n jobs with a given processing time has to be processed ona single machine. The jobs can be processed in any order but somemachine job setup times are dependent, e.g. job i must precede job j .Objective is to find a sequence of jobs so all jobs are processed such thatthe total process time is minimized.

Assembly line

In assembly line systems, jobs can be grouped together as clusters. Thejob within the same cluster must be completed before proceding to thenext cluster. This type of sequencing can be considered as a clusteredTSP.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 39: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Cellular manufacturing

In cellular manufacturing the aim of to group together similair parts to beprocessed in a machine cell together. Aneja and Kamoun (1999) showedthat the problem of sequencing jobs by a robot in a machine cell can beformulated as a TSP.

Flow shop sequencing

Suppose we have n jobs with given process time that are to be processedon m machines in the same order. Each machine can work on one job atthe time and must be completed without interruption. No waiting time isassumed, that is when job j is completed the j + 1 job in the queue isstarting immediatly. The objective is to finish the last job as soon aspossible. This problem can be considered as a n-city shortestHamiltonian path problem which in turn can be tranformed into an n + 1node TSP by adding a virtual node.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 40: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Cellular manufacturing

In cellular manufacturing the aim of to group together similair parts to beprocessed in a machine cell together. Aneja and Kamoun (1999) showedthat the problem of sequencing jobs by a robot in a machine cell can beformulated as a TSP.

Flow shop sequencing

Suppose we have n jobs with given process time that are to be processedon m machines in the same order. Each machine can work on one job atthe time and must be completed without interruption. No waiting time isassumed, that is when job j is completed the j + 1 job in the queue isstarting immediatly. The objective is to finish the last job as soon aspossible. This problem can be considered as a n-city shortestHamiltonian path problem which in turn can be tranformed into an n + 1node TSP by adding a virtual node.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 41: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Sequencing Problems in Electronic Industry

Drilling holes on IC boards

A number of holes are needed on integrated circuit (IC) boards formounting chips and other hardware. The holes are typically produced bya programmed drilling machine. The TSP is to minimize the the totaltraveling time of the drill.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 42: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Vehicle Routing for Delivery and Dispatching

School bus routing

The problem to schedule school buses to pick up and transport childrento and from schools can be viewed as a multiple TSP if it possible toneglect the time windows and bus capacities constraints. Otherwise theproblem is a vehicle routing problem

Parcel/postal delivery/dispatching

This problem is a modified problem of the TSP where a vehicle is has tovisit a set of streets (arcs) instad of nodes. A path traversing all arcsexactly once is called an Eulerian path.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 43: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Vehicle Routing for Delivery and Dispatching

School bus routing

The problem to schedule school buses to pick up and transport childrento and from schools can be viewed as a multiple TSP if it possible toneglect the time windows and bus capacities constraints. Otherwise theproblem is a vehicle routing problem

Parcel/postal delivery/dispatching

This problem is a modified problem of the TSP where a vehicle is has tovisit a set of streets (arcs) instad of nodes. A path traversing all arcsexactly once is called an Eulerian path.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 44: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Vehicle Routing for Delivery and Dispatching

School bus routing

The problem to schedule school buses to pick up and transport childrento and from schools can be viewed as a multiple TSP if it possible toneglect the time windows and bus capacities constraints. Otherwise theproblem is a vehicle routing problem

Parcel/postal delivery/dispatching

This problem is a modified problem of the TSP where a vehicle is has tovisit a set of streets (arcs) instad of nodes. A path traversing all arcsexactly once is called an Eulerian path.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 45: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Meals/Clinic on wheels

This version of the TSP is about dispatching a fleet of vehicles in urbanor rural environments to satisfy the demand for some commodity orservice, e.g. deliver food to elderly on regular basis or medical services incommunities.

Henrik Fredriksson Applied Integer Programming: Modeling and Solution

Page 46: Applied Integer Programming: Modeling and Solution · Applied Integer Programming: Modeling and Solution Chen, Batson, Dang Section 6.1 - 6.3 Henrik Fredriksson Blekinge Institute

Traveling Salesman ProblemTransformation to the TSP

Applications of the TSP

Machine Sequencing Problems in Various Manufacturing SystemsSequencing Problems in Electronic IndustryVehicle Routing for Delivery and Dispatching

Thank you for listening!

Henrik Fredriksson Applied Integer Programming: Modeling and Solution