Part III: Traveling salesman problems

Size: px
Start display at page:

Download "Part III: Traveling salesman problems"

Transcription

1 Transportation Logistics Part III: Traveling salesman problems c R.F. Hartl, S.N. Parragh 1/282

2 Motivation Motivation Why do we study the TSP? c R.F. Hartl, S.N. Parragh 2/282

3 Motivation Motivation Why do we study the TSP? it easy to formulate it is a difficult problem many significant real-world problems can be formulated as TSP c R.F. Hartl, S.N. Parragh 3/282

4 Motivation Application areas of the TSP Vehicle routing Once the assignment of customers to routes has been done. A TSP (possibly with side constraints) has to be solved for each vehicle. Cutting wallpaper Assume n sheets of wallpaper shall be cut from a single roll of paper. The amount of paper that is wasted varies depending on which sheet j is cut from the roll directly after i. We want to minimize the total wastage. c R.F. Hartl, S.N. Parragh 4/282

5 Motivation Application areas of the TSP Job sequencing n jobs shall be scheduled on a single machine. The jobs can be done in any order. Assume that we have sequence dependent setup times, i.e. depending on which job i precedes job j the time needed to adapt the machine to be able to process job j varies. All jobs shall be completed in the shortest possible time. Clustering a data array Computer wiring... c R.F. Hartl, S.N. Parragh 5/282

6 The asymmetric TSP The asymmetric TSP x ij = { 1, if arc (ij) is part of the solution, 0, otherwise. c ij = the costs to traverse arc (i,j) A...set of arcs, V...set of vertices (TSP is formulated on a complete directed graph) c R.F. Hartl, S.N. Parragh 6/282

7 The asymmetric TSP The asymmetric TSP x ij = { 1, if arc (ij) is part of the solution, 0, otherwise. c ij = the costs to traverse arc (i,j) A...set of arcs, V...set of vertices (TSP is formulated on a complete directed graph) IP Formulation c ij x ij min (1) (i,j) A x ij = 1 j V, (2) i V \{j} x ij = 1 i V, (3) j V \{i} x ij 1 S V, S 2, (4) i S j/ S x ij {0,1} (i,j) A. (5) c R.F. Hartl, S.N. Parragh 7/282

8 The asymmetric TSP The asymmetric TSP x ij = { 1, if arc (ij) is part of the solution, 0, otherwise. c ij = the costs to traverse arc (i,j) A...set of arcs, V...set of vertices (TSP is formulated on a complete directed graph) IP Formulation c ij x ij min (1) (i,j) A x ij = 1 j V, (2) i V \{j} x ij = 1 i V, (3) j V \{i} x ij 1 S V, S 2, (4) i S j/ S x ij {0,1} (i,j) A. (5) c R.F. Hartl, S.N. Parragh 8/282

9 The asymmetric TSP The asymmetric TSP - connectivity/subtour elimination Option 1 (connectivity constraints) x ij 1 S V, S 2 (6) i S j/ S Option 2 (subtour elimination constraints) x ij S 1 S V, S 2 (7) i S j S These two formulations are algebraically equivalent. They prevent the formation of subtours containing fewer than S vertices. Note that the number of subtour elimination constraints needed is 2 V V 2. c R.F. Hartl, S.N. Parragh 9/282

10 The asymmetric TSP The asymmetric TSP A solution with 2 subcycles B C A D E c R.F. Hartl, S.N. Parragh 10/282

11 The asymmetric TSP The asymmetric TSP A solution with 2 subcycles Subtour elim. for subtour A-B-C: B C A D E c R.F. Hartl, S.N. Parragh 11/282

12 The asymmetric TSP The asymmetric TSP A solution with 2 subcycles B Subtour elim. for subtour A-B-C: Option 1: x AD +x AE +x BD + x BE +x CD +x CE 1 C A D E c R.F. Hartl, S.N. Parragh 12/282

13 The asymmetric TSP The asymmetric TSP A solution with 2 subcycles B C Subtour elim. for subtour A-B-C: Option 1: x AD +x AE +x BD + x BE +x CD +x CE 1 Option 2: x AB +x AC +x BA +x BC +x CA + x CB(+x AA +x BB +x CC) 2 A D E c R.F. Hartl, S.N. Parragh 13/282

14 The asymmetric TSP The asymmetric TSP A solution with 2 subcycles B C E A D Subtour elim. for subtour A-B-C: Option 1: x AD +x AE +x BD + x BE +x CD +x CE 1 Option 2: x AB +x AC +x BA +x BC +x CA + x CB(+x AA +x BB +x CC) 2 Subtour elim. for subtour D-E: c R.F. Hartl, S.N. Parragh 14/282

15 The asymmetric TSP The asymmetric TSP A solution with 2 subcycles B C E A D Subtour elim. for subtour A-B-C: Option 1: x AD +x AE +x BD + x BE +x CD +x CE 1 Option 2: x AB +x AC +x BA +x BC +x CA + x CB(+x AA +x BB +x CC) 2 Subtour elim. for subtour D-E: Option 1: x DA +x EA +x DB + x EB +x DC +x EC 1 c R.F. Hartl, S.N. Parragh 15/282

16 The asymmetric TSP The asymmetric TSP A solution with 2 subcycles B C E A D Subtour elim. for subtour A-B-C: Option 1: x AD +x AE +x BD + x BE +x CD +x CE 1 Option 2: x AB +x AC +x BA +x BC +x CA + x CB(+x AA +x BB +x CC) 2 Subtour elim. for subtour D-E: Option 1: x DA +x EA +x DB + x EB +x DC +x EC 1 Option 2: x DE +x ED(+x DD +x EE) 1 c R.F. Hartl, S.N. Parragh 16/282

17 The asymmetric TSP A lower bound for the asymmetric TSP The ATSP is known to be NP-hard (we do not know of a polynomial time algorithm for its solution). A good lower bound on the optimal solution of the ATSP can be obtained by removing the subtour elimination constraints. The relaxed problem is the c R.F. Hartl, S.N. Parragh 17/282

18 The asymmetric TSP A lower bound for the asymmetric TSP The ATSP is known to be NP-hard (we do not know of a polynomial time algorithm for its solution). A good lower bound on the optimal solution of the ATSP can be obtained by removing the subtour elimination constraints. The relaxed problem is the Linear Assignment Problem! (c ii := such that x ii = 0) c R.F. Hartl, S.N. Parragh 18/282

19 The asymmetric TSP A lower bound for the asymmetric TSP The ATSP is known to be NP-hard (we do not know of a polynomial time algorithm for its solution). A good lower bound on the optimal solution of the ATSP can be obtained by removing the subtour elimination constraints. The relaxed problem is the Linear Assignment Problem! (c ii := such that x ii = 0) Rule: zap is a good lower bound on z ATSP if the cost matrix is strongly asymmetric. (empirical tests showed that (zatsp z AP )/z AP often < 1%). If the cost matrix is symmetric, (zatsp z AP )/z AP is often more than 30%. Source: Laporte et al. (2004) Introduction to Logistics Systems Planning and Control, p. 252ff c R.F. Hartl, S.N. Parragh 19/282

20 The asymmetric TSP ATSP: Patching heuristic Initialization Solve the AP. Let C = {C 1,...,C p } denote the set of subcycles in the optimal solution of the AP. If C = 1 STOP. Otherwise proceed with step 2. Step 1 Identify the two subcycles with the largest number of vertices. Step 2 Merge these two subcycles such that the cost increase is as small as possible and update C. If C = 1 STOP. Otherwise go back to step 2. c R.F. Hartl, S.N. Parragh 20/282

21 The asymmetric TSP ATSP: Patching heuristic - Example Initialization apply the Hungarian method. 3 B 2 D 2 A F 2 C 4 E 3 c ij A B C D E F A B C D E F c R.F. Hartl, S.N. Parragh 21/282

22 The asymmetric TSP ATSP: Patching heuristic - Example A 2 2 B C D E 2 3 F Initialization apply the Hungarian method. Several alternative AP solutions with Z = 23: Solution 1: A C F E D B A Solution 2: A C E B A, D F D Solution 3: A C B A, D F E D... c ij A B C D E F A B C D E F c R.F. Hartl, S.N. Parragh 22/282

23 The asymmetric TSP ATSP: Patching heuristic - Example A 2 2 B C D E 2 3 F Initialization apply the Hungarian method. Several alternative AP solutions with Z = 23: Solution 1: A C F E D B A Solution 2: A C E B A, D F D Solution 3: A C B A, D F E D... B D c ij A B C D E F A B C D E F A F C E c R.F. Hartl, S.N. Parragh 23/282

24 The asymmetric TSP ATSP: Patching heuristic - Example B D 2 2 A 10 4 F 2 C E 3 Steps 1 and 2 Find the best way to join the two subcycles: c ij A B C D E F A B C D E F c R.F. Hartl, S.N. Parragh 24/282

25 The asymmetric TSP ATSP: Patching heuristic - Example B D 2 2 A 10 4 F 2 C E 3 Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: c ij A B C D E F A B C D E F c R.F. Hartl, S.N. Parragh 25/282

26 The asymmetric TSP ATSP: Patching heuristic - Example B D A C 10 9 E 3 F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 c ij A B C D E F A B C D E F c R.F. Hartl, S.N. Parragh 26/282

27 The asymmetric TSP ATSP: Patching heuristic - Example 2 B D A C c ij A B C D E F A B C D E F E 3 F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 c R.F. Hartl, S.N. Parragh 27/282

28 The asymmetric TSP ATSP: Patching heuristic - Example B D 2 2 A C c ij A B C D E F A B C D E F E F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 c R.F. Hartl, S.N. Parragh 28/282

29 The asymmetric TSP ATSP: Patching heuristic - Example B D 2 2 A 2 C 10 c ij A B C D E F A B C D E F E 3 F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 Insert 2nd tour between C and B: c R.F. Hartl, S.N. Parragh 29/282

30 The asymmetric TSP ATSP: Patching heuristic - Example A B C D c ij A B C D E F A B C D E F E 3 F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 Insert 2nd tour between C and B: C D F E B = = 0 c R.F. Hartl, S.N. Parragh 30/282

31 The asymmetric TSP ATSP: Patching heuristic - Example A 2 2 B C 4 D E 10 c ij A B C D E F A B C D E F F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 Insert 2nd tour between C and B: C D F E B = = 0 C F E D B = = 0 c R.F. Hartl, S.N. Parragh 31/282

32 The asymmetric TSP ATSP: Patching heuristic - Example A B C D c ij A B C D E F A B C D E F E F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 Insert 2nd tour between C and B: C D F E B = = 0 C F E D B = = 0 C E D F B = = 0 c R.F. Hartl, S.N. Parragh 32/282

33 The asymmetric TSP ATSP: Patching heuristic - Example A B C D c ij A B C D E F A B C D E F E 3 F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 Insert 2nd tour between C and B: C D F E B = = 0 C F E D B = = 0 C E D F B = = 0 Insert 2nd tour between B and A: c R.F. Hartl, S.N. Parragh 33/282

34 The asymmetric TSP ATSP: Patching heuristic - Example A 2 8 B C 10 c ij A B C D E F A B C D E F D E 2 3 F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 Insert 2nd tour between C and B: C D F E B = = 0 C F E D B = = 0 C E D F B = = 0 Insert 2nd tour between B and A: B D F E A = = 5 c R.F. Hartl, S.N. Parragh 34/282

35 The asymmetric TSP ATSP: Patching heuristic - Example A 2 B C 4 10 c ij A B C D E F A B C D E F D E 3 F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 Insert 2nd tour between C and B: C D F E B = = 0 C F E D B = = 0 C E D F B = = 0 Insert 2nd tour between B and A: B D F E A = = 5 B F E D A = = 5 c R.F. Hartl, S.N. Parragh 35/282

36 The asymmetric TSP ATSP: Patching heuristic - Example A 2 B C c ij A B C D E F A B C D E F D E 2 F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 Insert 2nd tour between C and B: C D F E B = = 0 C F E D B = = 0 C E D F B = = 0 Insert 2nd tour between B and A: B D F E A = = 5 B F E D A = = 5 B E D F A = = 13 c R.F. Hartl, S.N. Parragh 36/282

37 The asymmetric TSP ATSP: Patching heuristic - Example A 2 2 B C 4 D E 10 c ij A B C D E F A B C D E F F Steps 1 and 2 Find the best way to join the two subcycles: Insert 2nd tour between A and C: A D F E C = = 13 A F E D C = = 13 A E D F C = = 13 Insert 2nd tour between C and B: C D F E B = = 0 C F E D B = = 0 C E D F B = = 0 Insert 2nd tour between B and A: B D F E A = = 5 B F E D A = = 5 B E D F A = = 13 e.g. best solution (several): A C F E D B A Z = 23 (upper bound on z ATSP) c R.F. Hartl, S.N. Parragh 37/282

38 The symmetric TSP The symmetric TSP (STSP) Since lower and upper bounding procedures for the ATSP do not perfom well if applied to the STSP, procedures tailored to the STSP have been developed. Notation E...edge set x e = { 1, if edge e is part of the solution, 0, otherwise. c e = c ij = c ji c R.F. Hartl, S.N. Parragh 38/282

39 The symmetric TSP STSP: IP formulations j V:(j,i) E (i,j) E:i S,j/ S x ij + (i,j) E x ji + x ij c ij min (8) j V:(i,j) E (j,i) E:i S,j/ S x ij = 2 i V, (9) x ji 2 S V,2 S V /2, (10) x e {0,1} e E. (11) i < j for each edge (i,j) E Since the connectivity constraints of subset S are equivalent to those of subset V \S, we only consider S V such that S V /2. c R.F. Hartl, S.N. Parragh 39/282

40 The symmetric TSP STSP: IP formulations x e c e min e E e J(i) e E(S) (12) x e = 2 i V, (13) x e S 1 S V,2 S V /2 (14) x e {0,1} e E. (15) J(i) all edges connected to i; E(S) edges connecting vertices in subset S c R.F. Hartl, S.N. Parragh 40/282

41 The symmetric TSP STSP: a lower bound The STSP is also NP-hard. A valid lower bound on the optimal solution cost z STSP is c R.F. Hartl, S.N. Parragh 41/282

42 The symmetric TSP STSP: a lower bound The STSP is also NP-hard. A valid lower bound on the optimal solution cost zstsp is the optimal solution cost of the MST z MST c R.F. Hartl, S.N. Parragh 42/282

43 The symmetric TSP STSP: Christofides heuristic Initialization Compute a minimum spanning tree T. Step 1 Compute a least-cost perfect matching among the vertices of odd degree in T. (V D...vertices with odd degree). Add the edges of the perfect matching (M...vertices of the matching, H...graph induced by union of the edges T and M). Step 2 If there is a vertex j V of degree > 2, eliminate two edges incident in j, denote them (j,k),(j,h) with k h and add edge (k,h) (try to replace those two edges that improve the solution value the most and do not lead to subcycles). Repeat step 2 until all vertices in V have a degree of 2. c R.F. Hartl, S.N. Parragh 43/282

44 The symmetric TSP STSP: Christofides heuristic - Example O 2 A C 2 B 1 3 O A B C D E T O A B C D E T E D 1 5 T Initialization compute the minimum spanning tree (Kruskal s algorithm!) c R.F. Hartl, S.N. Parragh 44/282

45 The symmetric TSP STSP: Christofides heuristic - Example O 2 A 2 B 1 3 D 1 5 T Initialization compute the minimum spanning tree (Kruskal s algorithm!) C E Step 1 V D = {O,C,B,T} O A B C D E T O A B C D E T c R.F. Hartl, S.N. Parragh 45/282

46 The symmetric TSP STSP: Christofides heuristic - Example O 2 A 2 B 1 3 D 1 5 T Initialization compute the minimum spanning tree (Kruskal s algorithm!) C O A B C D E T O A B C D E T E Step 1 V D = {O,C,B,T} Compute a least-cost perfect matching: c R.F. Hartl, S.N. Parragh 46/282

47 The symmetric TSP STSP: Christofides heuristic - Example O 2 A C 2 B 1 3 E D 1 5 T O A B C D E T O A B C D E T Initialization compute the minimum spanning tree (Kruskal s algorithm!) Step 1 V D = {O,C,B,T} Compute a least-cost perfect matching: O B,C T: 4+10 = 14 O C,B T: 4+9 = 13 O T,B C: = 14 c R.F. Hartl, S.N. Parragh 47/282

48 The symmetric TSP STSP: Christofides heuristic - Example O 2 4 A C 2 B 1 3 E D T O A B C D E T O A B C D E T Initialization compute the minimum spanning tree (Kruskal s algorithm!) Step 1 V D = {O,C,B,T} Compute a least-cost perfect matching: O B,C T: 4+10 = 14 O C,B T: 4+9 = 13 O T,B C: = 14 Least cost perfect matching: E(M) = {(O,C),(B,T)}: 4+9 = 13 c R.F. Hartl, S.N. Parragh 48/282

49 The symmetric TSP STSP: Christofides heuristic - Example O 2 4 A C 2 B 1 3 E D T O A B C D E T O A B C D E T Initialization compute the minimum spanning tree (Kruskal s algorithm!) Step 1 V D = {O,C,B,T} Compute a least-cost perfect matching: O B,C T: 4+10 = 14 O C,B T: 4+9 = 13 O T,B C: = 14 Least cost perfect matching: E(M) = {(O,C),(B,T)}: 4+9 = 13 Step 2 j = B find shortcuts. c R.F. Hartl, S.N. Parragh 49/282

50 The symmetric TSP STSP: Christofides heuristic - Example O 2 4 A C 2 B 1 3 E D T O A B C D E T O A B C D E T Initialization compute the minimum spanning tree (Kruskal s algorithm!) Step 1 V D = {O,C,B,T} Compute a least-cost perfect matching: O B,C T: 4+10 = 14 O C,B T: 4+9 = 13 O T,B C: = 14 Least cost perfect matching: E(M) = {(O,C),(B,T)}: 4+9 = 13 Step 2 j = B find shortcuts. B is connected to A,C,E,T c R.F. Hartl, S.N. Parragh 50/282

51 The symmetric TSP STSP: Christofides heuristic - Example O 2 4 A C 2 B 1 3 E D T O A B C D E T O A B C D E T Initialization compute the minimum spanning tree (Kruskal s algorithm!) Step 1 V D = {O,C,B,T} Compute a least-cost perfect matching: O B,C T: 4+10 = 14 O C,B T: 4+9 = 13 O T,B C: = 14 Least cost perfect matching: E(M) = {(O,C),(B,T)}: 4+9 = 13 Step 2 j = B find shortcuts. B is connected to A,C,E,T possible shortcuts: A E: = 5 5 = 0 A T: = = 0 C E: = 4 4 = 0 C T: = = 0 c R.F. Hartl, S.N. Parragh 51/282

52 The symmetric TSP STSP: Christofides heuristic - Example Initialization compute the minimum spanning tree (Kruskal s algorithm!) O 2 4 A C 2 B 1 3 E D T O A B C D E T O A B C D E T Step 1 V D = {O,C,B,T} Compute a least-cost perfect matching: O B,C T: 4+10 = 14 O C,B T: 4+9 = 13 O T,B C: = 14 Least cost perfect matching: E(M) = {(O,C),(B,T)}: 4+9 = 13 Step 2 j = B find shortcuts. B is connected to A,C,E,T possible shortcuts: A E: = 5 5 = 0 A T: = = 0 C E: = 4 4 = 0 C T: = = 0 We choose C E c R.F. Hartl, S.N. Parragh 52/282

53 The symmetric TSP STSP: Christofides heuristic - Example Initialization compute the minimum spanning tree (Kruskal s algorithm!) O 2 4 A 2 B D T Step 1 V D = {O,C,B,T} Compute a least-cost perfect matching: O B,C T: 4+10 = 14 O C,B T: 4+9 = 13 O T,B C: = 14 Least cost perfect matching: E(M) = {(O,C),(B,T)}: 4+9 = 13 C 4 O A B C D E T O A B C D E T E Step 2 j = B find shortcuts. B is connected to A,C,E,T possible shortcuts: A E: = 5 5 = 0 A T: = = 0 C E: = 4 4 = 0 C T: = = 0 We choose C E z STSP = 27 z MST = 14 c R.F. Hartl, S.N. Parragh 53/282

54 Further solution methods Solution methods Heuristic methods Nearest neighbor Cheapest insertion k-opt (local search) Exact methods c R.F. Hartl, S.N. Parragh 54/282

55 Construction heuristics Nearest neighbor heuristic Initialization Set P = {r} with r being a vertex chosen arbitrarily and P denotes the (partial) TSP tour. Set h = r. Step 1 Find the vertex k V \P such that c hk = min j V\P {c hj }. Append k to the end of P. Step 2 If P = V, add r to the end of P and STOP. (P is now a Hamiltonian cycle). Otherwise, set h = k and continue with step 1. c R.F. Hartl, S.N. Parragh 55/282

56 Construction heuristics Nearest neighbor heuristic Initialization Set P = {r} with r being a vertex chosen arbitrarily and P denotes the (partial) TSP tour. Set h = r. Step 1 Find the vertex k V \P such that c hk = min j V\P {c hj }. Append k to the end of P. Step 2 If P = V, add r to the end of P and STOP. (P is now a Hamiltonian cycle). Otherwise, set h = k and continue with step 1. Hamiltonian cycle A cycle that contains all the vertices of a graph. (TSP = problem of finding the minimum cost Hamiltonian cycle in a graph) Sources: Laporte et al. (2004) Introduction to Logistics Systems Planning and Control, p. 261 E.L. Lawler J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys (Eds) (1990) The traveling salesman problem, p. 2, p. 150f. c R.F. Hartl, S.N. Parragh 56/282

57 Construction heuristics Nearest neighbor heuristic - Example A O B D T C E O A B C D E T O A B C D E T c R.F. Hartl, S.N. Parragh 57/282

58 Construction heuristics Nearest neighbor heuristic - Example A O B D T Initialization r = O, P = {O}, h = O C E O A B C D E T O A B C D E T c R.F. Hartl, S.N. Parragh 58/282

59 Construction heuristics Nearest neighbor heuristic - Example A O B D T Initialization r = O, P = {O}, h = O C E Step 1 identify the nearest neighbor to O O A B C D E T O A B C D E T c R.F. Hartl, S.N. Parragh 59/282

60 Construction heuristics Nearest neighbor heuristic - Example A O C B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V c R.F. Hartl, S.N. Parragh 60/282

61 Construction heuristics Nearest neighbor heuristic - Example 2 A O C B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V c R.F. Hartl, S.N. Parragh 61/282

62 Construction heuristics Nearest neighbor heuristic - Example 2 A O C B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A c R.F. Hartl, S.N. Parragh 62/282

63 Construction heuristics Nearest neighbor heuristic - Example 2 A O C B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A B: k = B, P = {O,A,B}, Z = 4 Step 2 P < V c R.F. Hartl, S.N. Parragh 63/282

64 Construction heuristics Nearest neighbor heuristic - Example O 2 A C 2 B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A B: k = B, P = {O,A,B}, Z = 4 Step 2 P < V c R.F. Hartl, S.N. Parragh 64/282

65 Construction heuristics Nearest neighbor heuristic - Example O 2 A C 2 B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A B: k = B, P = {O,A,B}, Z = 4 Step 2 P < V Step 1 identify the nearest neighbor to B c R.F. Hartl, S.N. Parragh 65/282

66 Construction heuristics Nearest neighbor heuristic - Example O 2 A C 2 B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A B: k = B, P = {O,A,B}, Z = 4 Step 2 P < V Step 1 identify the nearest neighbor to B C: k = C, P = {O,A,B,C}, Z = 5 Step 2 P < V c R.F. Hartl, S.N. Parragh 66/282

67 Construction heuristics Nearest neighbor heuristic - Example O 2 A C 1 2 B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A B: k = B, P = {O,A,B}, Z = 4 Step 2 P < V Step 1 identify the nearest neighbor to B C: k = C, P = {O,A,B,C}, Z = 5 Step 2 P < V c R.F. Hartl, S.N. Parragh 67/282

68 Construction heuristics Nearest neighbor heuristic - Example O 2 A C 1 2 B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A B: k = B, P = {O,A,B}, Z = 4 Step 2 P < V Step 1 identify the nearest neighbor to B C: k = C, P = {O,A,B,C}, Z = 5 Step 2 P < V... c R.F. Hartl, S.N. Parragh 68/282

69 Construction heuristics Nearest neighbor heuristic - Example O 2 A C 1 2 B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A B: k = B, P = {O,A,B}, Z = 4 Step 2 P < V Step 1 identify the nearest neighbor to B C: k = C, P = {O,A,B,C}, Z = 5 Step 2 P < V... P = {O,A,B,C,E,D,T}, Z = = 15 c R.F. Hartl, S.N. Parragh 69/282

70 Construction heuristics Nearest neighbor heuristic - Example O 2 A C 1 2 B 4 1 E D 5 T O A B C D E T O A B C D E T Initialization r = O, P = {O}, h = O Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A B: k = B, P = {O,A,B}, Z = 4 Step 2 P < V Step 1 identify the nearest neighbor to B C: k = C, P = {O,A,B,C}, Z = 5 Step 2 P < V... P = {O,A,B,C,E,D,T}, Z = = 15 Step 2 P = V, append O to P c R.F. Hartl, S.N. Parragh 70/282

71 Construction heuristics Nearest neighbor heuristic - Example Initialization r = O, P = {O}, h = O O 2 A C B 4 1 E D 5 T O A B C D E T O A B C D E T Step 1 identify the nearest neighbor to O A: k = A, P = {O,A}, Z = 2 Step 2 P < V Step 1 identify the nearest neighbor to A B: k = B, P = {O,A,B}, Z = 4 Step 2 P < V Step 1 identify the nearest neighbor to B C: k = C, P = {O,A,B,C}, Z = 5 Step 2 P < V... P = {O,A,B,C,E,D,T}, Z = = 15 Step 2 P = V, append O to P P = {O,A,B,C,E,D,T,O} z TSP = 28 c R.F. Hartl, S.N. Parragh 71/282

72 Construction heuristics Nearest neighbor heuristic - Observations Advantages Simple and fast c R.F. Hartl, S.N. Parragh 72/282

73 Construction heuristics Nearest neighbor heuristic - Observations Advantages Simple and fast Disadvantages Solution can be of rather poor quality. (edges added in later iterations may be quite long - especially the last edge connecting back to the first vertex) c R.F. Hartl, S.N. Parragh 73/282

74 Construction heuristics Cheapest insertion heuristic Initialization arbitrarily choose the first vertex r. Initialize the TSP tour P = {r,r}, Z = 0 Iteration step If P < V +1 For each vertex i V \P find the cheapest insertion position between any j and k; j,k P and neighboring in P. Find the vertex i V \P that can be inserted the cheapest; insert it at its cheapest position (say j and k ): P = {r,...,j,i,k,...,r} and set Z = Z c j k +c j i +c i k c R.F. Hartl, S.N. Parragh 74/282

75 Construction heuristics Cheapest insertion heuristic - Example A O B D T C E O A B C D E T O A B C D E T c R.F. Hartl, S.N. Parragh 75/282

76 Construction heuristics Cheapest insertion heuristic - Example A O B D T Initialization r = O, P = {O,O} Z = 0 C E O A B C D E T O A B C D E T c R.F. Hartl, S.N. Parragh 76/282

77 Construction heuristics Cheapest insertion heuristic - Example A O C B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O,O} Z = 0 Iteration 1 O A O = 2+2 = 4 O B O = 4+4 = 8 O C O = 4+4 = 8 O D O = 8+8 = 16 O E O = 7+7 = 14 O T O = = 26 c R.F. Hartl, S.N. Parragh 77/282

78 Construction heuristics Cheapest insertion heuristic - Example A O C B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O,O} Z = 0 Iteration 1 O A O = 2+2 = 4 O B O = 4+4 = 8 O C O = 4+4 = 8 O D O = 8+8 = 16 O E O = 7+7 = 14 O T O = = 26 A: i = A, P = {O,A,O}, Z = 4 c R.F. Hartl, S.N. Parragh 78/282

79 Construction heuristics Cheapest insertion heuristic - Example O 2 2 A C B O A B C D E T O A B C D E T E D T Initialization r = O, P = {O,O} Z = 0 Iteration 1 O A O = 2+2 = 4 O B O = 4+4 = 8 O C O = 4+4 = 8 O D O = 8+8 = 16 O E O = 7+7 = 14 O T O = = 26 A: i = A, P = {O,A,O}, Z = 4 c R.F. Hartl, S.N. Parragh 79/282

80 Construction heuristics Cheapest insertion heuristic - Example Initialization r = O, P = {O,O} Z = 0 O 2 2 A C B O A B C D E T O A B C D E T E D T Iteration 1 O A O = 2+2 = 4 O B O = 4+4 = 8 O C O = 4+4 = 8 O D O = 8+8 = 16 O E O = 7+7 = 14 O T O = = 26 A: i = A, P = {O,A,O}, Z = 4 Iteration 2 O B A, A B O = = 4 O C A, A C O = = 5 O D A, A D O = = 12 O E A, A E O = = 10 O T A, A T O = = 24 c R.F. Hartl, S.N. Parragh 80/282

81 Construction heuristics Cheapest insertion heuristic - Example Initialization r = O, P = {O,O} Z = 0 O 2 2 A C B O A B C D E T O A B C D E T E D T Iteration 1 O A O = 2+2 = 4 O B O = 4+4 = 8 O C O = 4+4 = 8 O D O = 8+8 = 16 O E O = 7+7 = 14 O T O = = 26 A: i = A, P = {O,A,O}, Z = 4 Iteration 2 O B A, A B O = = 4 O C A, A C O = = 5 O D A, A D O = = 12 O E A, A E O = = 10 O T A, A T O = = 24 B: i = B, P = {O,B,A,O}, Z = 8 c R.F. Hartl, S.N. Parragh 81/282

82 Construction heuristics Cheapest insertion heuristic - Example Initialization r = O, P = {O,O} Z = 0 O 2 A 4 C 2 B O A B C D E T O A B C D E T E D T Iteration 1 O A O = 2+2 = 4 O B O = 4+4 = 8 O C O = 4+4 = 8 O D O = 8+8 = 16 O E O = 7+7 = 14 O T O = = 26 A: i = A, P = {O,A,O}, Z = 4 Iteration 2 O B A, A B O = = 4 O C A, A C O = = 5 O D A, A D O = = 12 O E A, A E O = = 10 O T A, A T O = = 24 B: i = B, P = {O,B,A,O}, Z = 8 c R.F. Hartl, S.N. Parragh 82/282

83 Construction heuristics Cheapest insertion heuristic - Example A 2 2 D O T 4 B C E O A B C D E T O A B C D E T c R.F. Hartl, S.N. Parragh 83/282

84 Construction heuristics Cheapest insertion heuristic - Example O 2 A 4 C 2 B O A B C D E T O A B C D E T E D T Iteration 3 O C B = = 1 B C A = = 2 A C O = = 5 O D B = = 8 B D A = = 10 A D O = = c R.F. Hartl, S.N. Parragh 84/282

85 Construction heuristics Cheapest insertion heuristic - Example O 2 A 4 C 2 B O A B C D E T O A B C D E T E D T Iteration 3 O C B = = 1 B C A = = 2 A C O = = 5 O D B = = 8 B D A = = 10 A D O = = C: i = C, P = {O,C,B,A,O}, Z = 9 c R.F. Hartl, S.N. Parragh 85/282

86 Construction heuristics Cheapest insertion heuristic - Example O 2 4 A C 2 1 B O A B C D E T O A B C D E T E D T Iteration 3 O C B = = 1 B C A = = 2 A C O = = 5 O D B = = 8 B D A = = 10 A D O = = C: i = C, P = {O,C,B,A,O}, Z = 9 c R.F. Hartl, S.N. Parragh 86/282

87 Construction heuristics Cheapest insertion heuristic - Example O 2 4 A C 2 1 B O A B C D E T O A B C D E T E D T Iteration 3 O C B = = 1 B C A = = 2 A C O = = 5 O D B = = 8 B D A = = 10 A D O = = C: i = C, P = {O,C,B,A,O}, Z = 9... c R.F. Hartl, S.N. Parragh 87/282

88 Construction heuristics Cheapest insertion heuristic - Example O 2 4 A C 2 1 B O A B C D E T O A B C D E T E D T Iteration 3 O C B = = 1 B C A = = 2 A C O = = 5 O D B = = 8 B D A = = 10 A D O = = C: i = C, P = {O,C,B,A,O}, Z = 9... P = {O,C,T,D,E,B,A,O}, z TSP = 27 c R.F. Hartl, S.N. Parragh 88/282

89 Construction heuristics Cheapest insertion heuristic - Example O 2 4 A C 2 B 10 3 E D 1 5 T O A B C D E T O A B C D E T Iteration 3 O C B = = 1 B C A = = 2 A C O = = 5 O D B = = 8 B D A = = 10 A D O = = C: i = C, P = {O,C,B,A,O}, Z = 9... P = {O,C,T,D,E,B,A,O}, z TSP = 27 c R.F. Hartl, S.N. Parragh 89/282

90 Improvement heuristics Local search Local search Local search algorithms are iterative procedures that try to improve an initial feasible solution x (0). At the kth iteration, all solutions contained in a neighborhood of the current solution x (k) are enumerated. If there exist feasible solutions that are less costly than x (k), the best solution of the neighborhood becomes the new current solution x (k+1) and the procedure is repeated. Otherwise, the procedure ends. The last current solution is the local optimum. Source: Laporte et al. (2004) Introduction to Logistics Systems Planning and Control, p. 263 c R.F. Hartl, S.N. Parragh 90/282

91 Improvement heuristics Local search Local search Local search algorithms are iterative procedures that try to improve an initial feasible solution x (0). At the kth iteration, all solutions contained in a neighborhood of the current solution x (k) are enumerated. If there exist feasible solutions that are less costly than x (k), the best solution of the neighborhood becomes the new current solution x (k+1) and the procedure is repeated. Otherwise, the procedure ends. The last current solution is the local optimum. Source: Laporte et al. (2004) Introduction to Logistics Systems Planning and Control, p. 263 Neighborhood A neighborhood is defined by all feasible solutions that can be reached by applying a given operator to a given solution (e.g.: move one vertex, exchange two vertices). c R.F. Hartl, S.N. Parragh 91/282

92 Improvement heuristics Lin-Kernighan: k-opt (local search) Initialization Let P (0) be the initial TSP solution and let z (0) TSP be the cost of P(0). Set h = 0. Step 1 Identify the best feasible solution P (h+1) that can be obtained through a k-exchange. If z (h+1) TSP z(h) TSP, STOP. Step 2 set h = h+1 and proceed with step 1. c R.F. Hartl, S.N. Parragh 92/282

93 Improvement heuristics Lin-Kernighan: k-opt (local search) Initialization Let P (0) be the initial TSP solution and let z (0) TSP be the cost of P(0). Set h = 0. Step 1 Identify the best feasible solution P (h+1) that can be obtained through a k-exchange. If z (h+1) TSP z(h) TSP, STOP. Step 2 set h = h+1 and proceed with step 1. k-exchange replace k links (edges) of the current solution with k new links, e.g. a 2-exchange: replace (i,j) and (k,l) by (i,l) and (j,k) (= inverse the sequence between j and k) c R.F. Hartl, S.N. Parragh 93/282

94 Improvement heuristics Lin-Kernighan: 2-exchange i l k j c R.F. Hartl, S.N. Parragh 94/282

95 Improvement heuristics Lin-Kernighan: 2-exchange i l i l k j k j c R.F. Hartl, S.N. Parragh 95/282

96 Improvement heuristics Lin-Kernighan: 2-opt (typical picture) r t r t c R.F. Hartl, S.N. Parragh 96/282

97 Improvement heuristics Lin-Kernighan: 2-opt - Example A O B D T C E Initial solution O C E D T B A O c R.F. Hartl, S.N. Parragh 97/282

98 Improvement heuristics Lin-Kernighan: 2-opt - Example A O B D T 2-opt C E Initial solution O C E D T B A O c R.F. Hartl, S.N. Parragh 98/282

99 Improvement heuristics Lin-Kernighan: 2-opt - Example A O B D T 2-opt O E C D T B A O C E Initial solution O C E D T B A O c R.F. Hartl, S.N. Parragh 99/282

100 Improvement heuristics Lin-Kernighan: 2-opt - Example A O B D T 2-opt O E C D T B A O O C D E T B A O C E Initial solution O C E D T B A O c R.F. Hartl, S.N. Parragh 100/282

101 Improvement heuristics Lin-Kernighan: 2-opt - Example A O B D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O C E Initial solution O C E D T B A O c R.F. Hartl, S.N. Parragh 101/282

102 Improvement heuristics Lin-Kernighan: 2-opt - Example A O C B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O Initial solution O C E D T B A O c R.F. Hartl, S.N. Parragh 102/282

103 Improvement heuristics Lin-Kernighan: 2-opt - Example A O C B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O Initial solution O C E D T B A O c R.F. Hartl, S.N. Parragh 103/282

104 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O Initial solution O C E D T B A O c R.F. Hartl, S.N. Parragh 104/282

105 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O c R.F. Hartl, S.N. Parragh 105/282

106 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O c R.F. Hartl, S.N. Parragh 106/282

107 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O O C E D A B T O c R.F. Hartl, S.N. Parragh 107/282

108 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O O C E D A B T O O T D E C B A O c R.F. Hartl, S.N. Parragh 108/282

109 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O O C E D A B T O O T D E C B A O O C B T D E A O c R.F. Hartl, S.N. Parragh 109/282

110 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O O C E D A B T O O T D E C B A O O C B T D E A O O C E A B T D O c R.F. Hartl, S.N. Parragh 110/282

111 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O O C E D A B T O O T D E C B A O O C B T D E A O O C E A B T D O O B T D E C A O c R.F. Hartl, S.N. Parragh 111/282

112 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O O C E D A B T O O T D E C B A O O C B T D E A O O C E A B T D O O B T D E C A O O C A B T D E O c R.F. Hartl, S.N. Parragh 112/282

113 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O O C E D A B T O O T D E C B A O O C B T D E A O O C E A B T D O O B T D E C A O O C A B T D E O O A B T D E C O c R.F. Hartl, S.N. Parragh 113/282

114 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O best improvement: the best one becomes the new current solution; repeat until no further improvement. B E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O O C E D A B T O O T D E C B A O O C B T D E A O O C E A B T D O O B T D E C A O O C A B T D E O O A B T D E C O c R.F. Hartl, S.N. Parragh 114/282

115 Improvement heuristics Lin-Kernighan: 2-opt - Example O A C Initial solution O C E D T B A O best improvement: the best one becomes the new current solution; repeat until no further improvement. B first improvement: the first improving solution becomes the new current solution; repeat until no further improvement. E D T 2-opt O E C D T B A O O C D E T B A O O C E T D B A O O C E D B T A O O C E D T A B O O D E C T B A O O C T D E B A O O C E B T D A O O C E D A B T O O T D E C B A O O C B T D E A O O C E A B T D O O B T D E C A O O C A B T D E O O A B T D E C O c R.F. Hartl, S.N. Parragh 115/282

116 Branch and bound (BB) - the concept A general method for solving (mixed) integer optimization problems (with a minimization objective). It uses two concepts: branching and bounding. Root node solve relaxation of the optimization problem (e.g., LP of IP). Set LB to the objective function value of the relaxed problem z 0 and set UB =. Put the root node into the set of unprocessed nodes Q. Repeat (until Q is empty) select a node k from the set Q, according to a certain criterion. identify on what to branch branch: partition the problem P k at k into a given number of subproblems s: P k1...p ks (one child node for each subproblem); for the solution spaces wrt the original optimization problem L(P k ) = s i=1 P k i has to hold. (e.g., 2 child nodes: in the 1st child node (1st partition) a certain characteristic is forbidden while in the 2nd child node (2nd partition), this characteristic is enforced). compute the lower bounds at the child nodes (new enforced/forbidden characteristics plus all enforced/forbidden characteristics of parent nodes); put the child nodes into Q bound: the lowest bound across all nodes Q gives the current LB; a feasible solution to the original problem at a given node gives a new UB; all open nodes associated with LBs UB can be pruned (removed from Q). c R.F. Hartl, S.N. Parragh 116/282

117 Branch and bound (BB) - the concept c R.F. Hartl, S.N. Parragh 117/282

118 Branch and bound (BB) - the concept z = 10 LB = 10 UB = c R.F. Hartl, S.N. Parragh 118/282

119 Branch and bound (BB) - the concept z = 10 z = 11 LB = 10 UB = c R.F. Hartl, S.N. Parragh 119/282

120 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 LB = 11 UB = c R.F. Hartl, S.N. Parragh 120/282

121 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 LB = 11 UB = c R.F. Hartl, S.N. Parragh 121/282

122 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 LB = 11 UB = c R.F. Hartl, S.N. Parragh 122/282

123 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 LB = 12 UB = c R.F. Hartl, S.N. Parragh 123/282

124 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 LB = 12 UB = c R.F. Hartl, S.N. Parragh 124/282

125 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 z = 18 LB = 12 UB = 16 c R.F. Hartl, S.N. Parragh 125/282

126 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 z = 18 X LB = 12 UB = 16 c R.F. Hartl, S.N. Parragh 126/282

127 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 z = 18 X X LB = 12 UB = 16 c R.F. Hartl, S.N. Parragh 127/282

128 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 z = 18 X X LB = 13 UB = 16 c R.F. Hartl, S.N. Parragh 128/282

129 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 z = 18 X X LB = 13 UB = 14 z = 14 c R.F. Hartl, S.N. Parragh 129/282

130 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 z = 18 X X LB = 13 UB = 14 z = 14 z = 15 c R.F. Hartl, S.N. Parragh 130/282

131 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 z = 18 X X LB = 13 UB = 14 z = 14 z = 15 X c R.F. Hartl, S.N. Parragh 131/282

132 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 z = 18 X X LB = 13 UB = 14 z = 14 z = 15 X c R.F. Hartl, S.N. Parragh 132/282

133 Branch and bound (BB) - the concept z = 10 z = 11 z = 12 z = 13 z = 17 z = 16 z = 18 X X LB = 14 UB = 14 z = 14 z = 15 X c R.F. Hartl, S.N. Parragh 133/282

134 ATSP: Little et al. BB algorithm 1 lower bound reduction cost of the cost matrix 2 choose a node k for branching: smallest lower bound. 3 branching scheme at node k choose the arc with the largest θ value and generate two child nodes: in the first forbid all tours containing this arc (lower bound: cost value of parent node plus θ), in the second node, include this arc (exclude according row and column and set arc that would lead to a cycle to M). J.D.C. Little, K.G. Murty, D.W. Sweeney, C. Karel (1963) An Algorithm for the Traveling Salesman Problem. Operations Research 11: c R.F. Hartl, S.N. Parragh 134/282

135 ATSP: Little et al. BB algorithm θ ij is the sum of the smallest cost element in row i (excluding c ij ) and the smallest cost element in column j (excluding c ij ); only computed for arcs with c ij = 0. arc that would lead to a cycle: e.g., already committed arcs (1,2),(3,4), new committed arc (2,3); arc that would lead to a cycle: (4,1); e.g., already committed arcs (1,2),(3,4), new committed arc (5,6); arc that would lead to a cycle: (6,5). c R.F. Hartl, S.N. Parragh 135/282

136 ATSP: Little et al. BB algorithm Lower bounds let z(t) denote the costs of a tour under a matrix before row- and column-wise reduction (tour one entry in each row and column selected!); let z 1 (t) denote the cost under the matrix afterward and h the reduction constant: z(t) = h+z 1 (t) therefore, h is a valid lower bound for z(t). If c ij is set to M (forbidden), row i and column j can be reduced by their smallest entries; the sum of these two is given by θ ij. c R.F. Hartl, S.N. Parragh 136/282

137 ATSP: Little et al. BB - Example Root node k = 0 c R.F. Hartl, S.N. Parragh 137/282

138 ATSP: Little et al. BB - Example Root node k = M M M M M M c R.F. Hartl, S.N. Parragh 138/282

139 ATSP: Little et al. BB - Example Root node k = M M M M M M -2 c R.F. Hartl, S.N. Parragh 139/282

Part III: Traveling salesman problems

Part III: Traveling salesman problems Transportation Logistics Part III: Traveling salesman problems c R.F. Hartl, S.N. Parragh 1/74 Motivation Motivation Why do we study the TSP? it easy to formulate it is a difficult problem many significant

More information

EXACT ALGORITHMS FOR THE ATSP

EXACT ALGORITHMS FOR THE ATSP EXACT ALGORITHMS FOR THE ATSP Branch-and-Bound Algorithms: Little-Murty-Sweeney-Karel (Operations Research, ); Bellmore-Malone (Operations Research, ); Garfinkel (Operations Research, ); Smith-Srinivasan-Thompson

More information

2 Notation and Preliminaries

2 Notation and Preliminaries On Asymmetric TSP: Transformation to Symmetric TSP and Performance Bound Ratnesh Kumar Haomin Li epartment of Electrical Engineering University of Kentucky Lexington, KY 40506-0046 Abstract We show that

More information

Travelling Salesman Problem

Travelling Salesman Problem Travelling Salesman Problem Fabio Furini November 10th, 2014 Travelling Salesman Problem 1 Outline 1 Traveling Salesman Problem Separation Travelling Salesman Problem 2 (Asymmetric) Traveling Salesman

More information

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

Bounds on the Traveling Salesman Problem

Bounds on the Traveling Salesman Problem Bounds on the Traveling Salesman Problem Sean Zachary Roberson Texas A&M University MATH 613, Graph Theory A common routing problem is as follows: given a collection of stops (for example, towns, stations,

More information

3.4 Relaxations and bounds

3.4 Relaxations and bounds 3.4 Relaxations and bounds Consider a generic Discrete Optimization problem z = min{c(x) : x X} with an optimal solution x X. In general, the algorithms generate not only a decreasing sequence of upper

More information

The traveling salesman problem

The traveling salesman problem Chapter 58 The traveling salesman problem The traveling salesman problem (TSP) asks for a shortest Hamiltonian circuit in a graph. It belongs to the most seductive problems in combinatorial optimization,

More information

Asymmetric Traveling Salesman Problem (ATSP): Models

Asymmetric Traveling Salesman Problem (ATSP): Models Asymmetric Traveling Salesman Problem (ATSP): Models Given a DIRECTED GRAPH G = (V,A) with V = {,, n} verte set A = {(i, j) : i V, j V} arc set (complete digraph) c ij = cost associated with arc (i, j)

More information

A Survey on Travelling Salesman Problem

A Survey on Travelling Salesman Problem A Survey on Travelling Salesman Problem Sanchit Goyal Department of Computer Science University of North Dakota Grand Forks, North Dakota 58203 sanchitgoyal01@gmail.com Abstract The Travelling Salesman

More information

Introduction to Integer Programming

Introduction to Integer Programming Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity

More information

Introduction to integer programming III:

Introduction to integer programming III: Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability

More information

Combinatorial optimization problems

Combinatorial optimization problems Combinatorial optimization problems Heuristic Algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Optimization In general an optimization problem can be formulated as:

More information

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Totally unimodular matrices Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and

More information

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014 The Traveling Salesman Problem: An Overview David P. Williamson, Cornell University Ebay Research January 21, 2014 (Cook 2012) A highly readable introduction Some terminology (imprecise) Problem Traditional

More information

Check off these skills when you feel that you have mastered them. Write in your own words the definition of a Hamiltonian circuit.

Check off these skills when you feel that you have mastered them. Write in your own words the definition of a Hamiltonian circuit. Chapter Objectives Check off these skills when you feel that you have mastered them. Write in your own words the definition of a Hamiltonian circuit. Explain the difference between an Euler circuit and

More information

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting Summary so far z =max{c T x : Ax apple b, x 2 Z n +} I Modeling with IP (and MIP, and BIP) problems I Formulation for a discrete set that is a feasible region of an IP I Alternative formulations for the

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Sito web: http://home.deib.polimi.it/amaldi/ott-13-14.shtml A.A. 2013-14 Edoardo

More information

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES SANTOSH N. KABADI AND ABRAHAM P. PUNNEN Abstract. Polynomially testable characterization of cost matrices associated

More information

Exact and Heuristic Algorithms for the Symmetric and Asymmetric Vehicle Routing Problem with Backhauls

Exact and Heuristic Algorithms for the Symmetric and Asymmetric Vehicle Routing Problem with Backhauls Exact and Heuristic Algorithms for the Symmetric and Asymmetric Vehicle Routing Problem with Backhauls Paolo Toth, Daniele Vigo ECCO IX - Dublin 1996 Exact and Heuristic Algorithms for VRPB 1 Vehicle Routing

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

Algorithm Design Strategies V

Algorithm Design Strategies V Algorithm Design Strategies V Joaquim Madeira Version 0.0 October 2016 U. Aveiro, October 2016 1 Overview The 0-1 Knapsack Problem Revisited The Fractional Knapsack Problem Greedy Algorithms Example Coin

More information

Discrete (and Continuous) Optimization WI4 131

Discrete (and Continuous) Optimization WI4 131 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek e-mail: C.Roos@ewi.tudelft.nl

More information

Optimization Prof. A. Goswami Department of Mathematics Indian Institute of Technology, Kharagpur. Lecture - 20 Travelling Salesman Problem

Optimization Prof. A. Goswami Department of Mathematics Indian Institute of Technology, Kharagpur. Lecture - 20 Travelling Salesman Problem Optimization Prof. A. Goswami Department of Mathematics Indian Institute of Technology, Kharagpur Lecture - 20 Travelling Salesman Problem Today we are going to discuss the travelling salesman problem.

More information

where X is the feasible region, i.e., the set of the feasible solutions.

where X is the feasible region, i.e., the set of the feasible solutions. 3.5 Branch and Bound Consider a generic Discrete Optimization problem (P) z = max{c(x) : x X }, where X is the feasible region, i.e., the set of the feasible solutions. Branch and Bound is a general semi-enumerative

More information

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

Introduction into Vehicle Routing Problems and other basic mixed-integer problems Introduction into Vehicle Routing Problems and other basic mixed-integer problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical

More information

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Week Cuts, Branch & Bound, and Lagrangean Relaxation Week 11 1 Integer Linear Programming This week we will discuss solution methods for solving integer linear programming problems. I will skip the part on complexity theory, Section 11.8, although this is

More information

3.7 Cutting plane methods

3.7 Cutting plane methods 3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33 Cutting stock

More information

Traveling Salesman Problem

Traveling Salesman Problem Traveling Salesman Problem Zdeněk Hanzálek hanzalek@fel.cvut.cz CTU in Prague April 17, 2017 Z. Hanzálek (CTU) Traveling Salesman Problem April 17, 2017 1 / 33 1 Content 2 Solved TSP instances in pictures

More information

New Integer Programming Formulations of the Generalized Travelling Salesman Problem

New Integer Programming Formulations of the Generalized Travelling Salesman Problem American Journal of Applied Sciences 4 (11): 932-937, 2007 ISSN 1546-9239 2007 Science Publications New Integer Programming Formulations of the Generalized Travelling Salesman Problem Petrica C. Pop Department

More information

Introduction to Integer Linear Programming

Introduction to Integer Linear Programming Lecture 7/12/2006 p. 1/30 Introduction to Integer Linear Programming Leo Liberti, Ruslan Sadykov LIX, École Polytechnique liberti@lix.polytechnique.fr sadykov@lix.polytechnique.fr Lecture 7/12/2006 p.

More information

2. A vertex in G is central if its greatest distance from any other vertex is as small as possible. This distance is the radius of G.

2. A vertex in G is central if its greatest distance from any other vertex is as small as possible. This distance is the radius of G. CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh (rezab@stanford.edu) HW#1 Due at the beginning of class Thursday 01/21/16 1. Prove that at least one of G and G is connected. Here, G

More information

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 8 Dr. Ted Ralphs ISE 418 Lecture 8 1 Reading for This Lecture Wolsey Chapter 2 Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Duality for Mixed-Integer

More information

Introduction to Bin Packing Problems

Introduction to Bin Packing Problems Introduction to Bin Packing Problems Fabio Furini March 13, 2015 Outline Origins and applications Applications: Definition: Bin Packing Problem (BPP) Solution techniques for the BPP Heuristic Algorithms

More information

How hard is it to find a good solution?

How hard is it to find a good solution? How hard is it to find a good solution? Simons Institute Open Lecture November 4, 2013 Research Area: Complexity Theory Given a computational problem, find an efficient algorithm that solves it. Goal of

More information

CS/COE

CS/COE CS/COE 1501 www.cs.pitt.edu/~nlf4/cs1501/ P vs NP But first, something completely different... Some computational problems are unsolvable No algorithm can be written that will always produce the correct

More information

An Exact Algorithm for the Steiner Tree Problem with Delays

An Exact Algorithm for the Steiner Tree Problem with Delays Electronic Notes in Discrete Mathematics 36 (2010) 223 230 www.elsevier.com/locate/endm An Exact Algorithm for the Steiner Tree Problem with Delays Valeria Leggieri 1 Dipartimento di Matematica, Università

More information

IS703: Decision Support and Optimization. Week 5: Mathematical Programming. Lau Hoong Chuin School of Information Systems

IS703: Decision Support and Optimization. Week 5: Mathematical Programming. Lau Hoong Chuin School of Information Systems IS703: Decision Support and Optimization Week 5: Mathematical Programming Lau Hoong Chuin School of Information Systems 1 Mathematical Programming - Scope Linear Programming Integer Programming Network

More information

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1 Branch-and-Bound Leo Liberti LIX, École Polytechnique, France INF431 2011, Lecture p. 1 Reminders INF431 2011, Lecture p. 2 Problems Decision problem: a question admitting a YES/NO answer Example HAMILTONIAN

More information

Maximum Flow Problem (Ford and Fulkerson, 1956)

Maximum Flow Problem (Ford and Fulkerson, 1956) Maximum Flow Problem (Ford and Fulkerson, 196) In this problem we find the maximum flow possible in a directed connected network with arc capacities. There is unlimited quantity available in the given

More information

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lagrangian Relaxation Lecture 12 Single Machine Models, Column Generation 2. Dantzig-Wolfe Decomposition Dantzig-Wolfe Decomposition Delayed Column

More information

Modeling with Integer Programming

Modeling with Integer Programming Modeling with Integer Programg Laura Galli December 18, 2014 We can use 0-1 (binary) variables for a variety of purposes, such as: Modeling yes/no decisions Enforcing disjunctions Enforcing logical conditions

More information

Separating Simple Domino Parity Inequalities

Separating Simple Domino Parity Inequalities Separating Simple Domino Parity Inequalities Lisa Fleischer Adam Letchford Andrea Lodi DRAFT: IPCO submission Abstract In IPCO 2002, Letchford and Lodi describe an algorithm for separating simple comb

More information

Vehicle Routing and MIP

Vehicle Routing and MIP CORE, Université Catholique de Louvain 5th Porto Meeting on Mathematics for Industry, 11th April 2014 Contents: The Capacitated Vehicle Routing Problem Subproblems: Trees and the TSP CVRP Cutting Planes

More information

(tree searching technique) (Boolean formulas) satisfying assignment: (X 1, X 2 )

(tree searching technique) (Boolean formulas) satisfying assignment: (X 1, X 2 ) Algorithms Chapter 5: The Tree Searching Strategy - Examples 1 / 11 Chapter 5: The Tree Searching Strategy 1. Ex 5.1Determine the satisfiability of the following Boolean formulas by depth-first search

More information

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming

Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming Discrete Optimization 2010 Lecture 7 Introduction to Integer Programming Marc Uetz University of Twente m.uetz@utwente.nl Lecture 8: sheet 1 / 32 Marc Uetz Discrete Optimization Outline 1 Intro: The Matching

More information

Scheduling and Optimization Course (MPRI)

Scheduling and Optimization Course (MPRI) MPRI Scheduling and optimization: lecture p. /6 Scheduling and Optimization Course (MPRI) Leo Liberti LIX, École Polytechnique, France MPRI Scheduling and optimization: lecture p. /6 Teachers Christoph

More information

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI UNIVERSITY OF TECHNOLOGY Approximation Algorithms Seminar 1 Set Cover, Steiner Tree and TSP Siert Wieringa siert.wieringa@tkk.fi Approximation Algorithms Seminar 1 1/27 Contents Approximation algorithms for: Set Cover Steiner

More information

Single Machine Models

Single Machine Models Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 8 Single Machine Models 1. Dispatching Rules 2. Single Machine Models Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Dispatching

More information

Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs

Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs Haim Kaplan Tel-Aviv University, Israel haimk@post.tau.ac.il Nira Shafrir Tel-Aviv University, Israel shafrirn@post.tau.ac.il

More information

Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P

Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P Discrete Optimization 2010 Lecture 8 Lagrangian Relaxation / P, N P and co-n P Marc Uetz University of Twente m.uetz@utwente.nl Lecture 8: sheet 1 / 32 Marc Uetz Discrete Optimization Outline 1 Lagrangian

More information

Decision Problems TSP. Instance: A complete graph G with non-negative edge costs, and an integer

Decision Problems TSP. Instance: A complete graph G with non-negative edge costs, and an integer Decision Problems The theory of NP-completeness deals only with decision problems. Why? Because if a decision problem is hard, then the corresponding optimization problem must be hard too. For example,

More information

New Coding System of Grid Squares in the Republic of Indonesia

New Coding System of Grid Squares in the Republic of Indonesia September14, 2006 New Coding System of Grid Squares in the Republic of Indonesia Current coding system of grid squares in the Republic of Indonesia is based on similar

More information

Integer Programming Part II

Integer Programming Part II Be the first in your neighborhood to master this delightful little algorithm. Integer Programming Part II The Branch and Bound Algorithm learn about fathoming, bounding, branching, pruning, and much more!

More information

A New Approximation Algorithm for the Asymmetric TSP with Triangle Inequality By Markus Bläser

A New Approximation Algorithm for the Asymmetric TSP with Triangle Inequality By Markus Bläser A New Approximation Algorithm for the Asymmetric TSP with Triangle Inequality By Markus Bläser Presented By: Chris Standish chriss@cs.tamu.edu 23 November 2005 1 Outline Problem Definition Frieze s Generic

More information

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009 Branch-and-Bound Algorithm November 3, 2009 Outline Lecture 23 Modeling aspect: Either-Or requirement Special ILPs: Totally unimodular matrices Branch-and-Bound Algorithm Underlying idea Terminology Formal

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should

More information

Linear Programming. Scheduling problems

Linear Programming. Scheduling problems Linear Programming Scheduling problems Linear programming (LP) ( )., 1, for 0 min 1 1 1 1 1 11 1 1 n i x b x a x a b x a x a x c x c x z i m n mn m n n n n! = + + + + + + = Extreme points x ={x 1,,x n

More information

M. Jünger G. Reinelt G. Rinaldi

M. Jünger G. Reinelt G. Rinaldi M. Jünger G. Reinelt G. Rinaldi THE TRAVELING SALESMAN PROBLEM R. 375 Gennaio 1994 Michael Jünger - Institut für Informatik der Universität zu Köln, Pohligstraße 1, D-50696 Köln, Germany. Gerhard Reinelt

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization Problem set 8: solutions 1. Fix constants a R and b > 1. For n N, let f(n) = n a and g(n) = b n. Prove that f(n) = o ( g(n) ). Solution. First we observe that g(n) 0 for all

More information

Phase Transitions and Backbones of the Asymmetric Traveling Salesman Problem

Phase Transitions and Backbones of the Asymmetric Traveling Salesman Problem Journal of Artificial Intelligence Research 21 (24) 471-497 Submitted 11/3; published 4/4 Phase Transitions and Backbones of the Asymmetric Traveling Salesman Problem Weixiong Zhang Department of Computer

More information

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

More information

July 18, Approximation Algorithms (Travelling Salesman Problem)

July 18, Approximation Algorithms (Travelling Salesman Problem) Approximation Algorithms (Travelling Salesman Problem) July 18, 2014 The travelling-salesman problem Problem: given complete, undirected graph G = (V, E) with non-negative integer cost c(u, v) for each

More information

Zebo Peng Embedded Systems Laboratory IDA, Linköping University

Zebo Peng Embedded Systems Laboratory IDA, Linköping University TDTS 01 Lecture 8 Optimization Heuristics for Synthesis Zebo Peng Embedded Systems Laboratory IDA, Linköping University Lecture 8 Optimization problems Heuristic techniques Simulated annealing Genetic

More information

Node Edge Arc Routing Problems (NEARP)

Node Edge Arc Routing Problems (NEARP) Node Edge Arc Routing Problems (NEARP) Nicolas Briot Coconut-LIRMM janvier 0 Nicolas Briot (Coconut-LIRMM) Node Edge Arc Routing Problems (NEARP) janvier 0 / What is NEARP? Arc and node routing problem

More information

1 Ordinary Load Balancing

1 Ordinary Load Balancing Comp 260: Advanced Algorithms Prof. Lenore Cowen Tufts University, Spring 208 Scribe: Emily Davis Lecture 8: Scheduling Ordinary Load Balancing Suppose we have a set of jobs each with their own finite

More information

Algorithms and Complexity theory

Algorithms and Complexity theory Algorithms and Complexity theory Thibaut Barthelemy Some slides kindly provided by Fabien Tricoire University of Vienna WS 2014 Outline 1 Algorithms Overview How to write an algorithm 2 Complexity theory

More information

Lecture 2: Scheduling on Parallel Machines

Lecture 2: Scheduling on Parallel Machines Lecture 2: Scheduling on Parallel Machines Loris Marchal October 17, 2012 Parallel environment alpha in Graham s notation): P parallel identical Q uniform machines: each machine has a given speed speed

More information

A simple LP relaxation for the Asymmetric Traveling Salesman Problem

A simple LP relaxation for the Asymmetric Traveling Salesman Problem A simple LP relaxation for the Asymmetric Traveling Salesman Problem Thành Nguyen Cornell University, Center for Applies Mathematics 657 Rhodes Hall, Ithaca, NY, 14853,USA thanh@cs.cornell.edu Abstract.

More information

Minimal Spanning Tree From a Minimum Dominating Set

Minimal Spanning Tree From a Minimum Dominating Set Minimal Spanning Tree From a Minimum Dominating Set M. YAMUNA VIT University School of advanced sciences Vellore, Tamilnadu INDIA myamuna@vit.ac.in K. KARTHIKA VIT University School of advanced sciences

More information

Topics in Approximation Algorithms Solution for Homework 3

Topics in Approximation Algorithms Solution for Homework 3 Topics in Approximation Algorithms Solution for Homework 3 Problem 1 We show that any solution {U t } can be modified to satisfy U τ L τ as follows. Suppose U τ L τ, so there is a vertex v U τ but v L

More information

Multi-objective branch-and-cut algorithm and multi-modal traveling salesman problem

Multi-objective branch-and-cut algorithm and multi-modal traveling salesman problem Multi-objective branch-and-cut algorithm and multi-modal traveling salesman problem Nicolas Jozefowiez 1, Gilbert Laporte 2, Frédéric Semet 3 1. LAAS-CNRS, INSA, Université de Toulouse, Toulouse, France,

More information

Solving the Hamiltonian Cycle problem using symbolic determinants

Solving the Hamiltonian Cycle problem using symbolic determinants Solving the Hamiltonian Cycle problem using symbolic determinants V. Ejov, J.A. Filar, S.K. Lucas & J.L. Nelson Abstract In this note we show how the Hamiltonian Cycle problem can be reduced to solving

More information

A Randomized Rounding Approach to the Traveling Salesman Problem

A Randomized Rounding Approach to the Traveling Salesman Problem A Randomized Rounding Approach to the Traveling Salesman Problem Shayan Oveis Gharan Amin Saberi. Mohit Singh. Abstract For some positive constant ɛ 0, we give a ( 3 2 ɛ 0)-approximation algorithm for

More information

Low-Complexity Algorithms for Sequencing Jobs with a Fixed Number of Job-Classes

Low-Complexity Algorithms for Sequencing Jobs with a Fixed Number of Job-Classes Low-Complexity Algorithms for Sequencing Jobs with a Fixed Number of Job-Classes Jack A.A. van der Veen Nijenrode University - The Netherlands School of Business Straatweg 25, 3621 BG Breukelen The Netherlands

More information

21. Set cover and TSP

21. Set cover and TSP CS/ECE/ISyE 524 Introduction to Optimization Spring 2017 18 21. Set cover and TSP ˆ Set covering ˆ Cutting problems and column generation ˆ Traveling salesman problem Laurent Lessard (www.laurentlessard.com)

More information

3.7 Strong valid inequalities for structured ILP problems

3.7 Strong valid inequalities for structured ILP problems 3.7 Strong valid inequalities for structured ILP problems By studying the problem structure, we can derive strong valid inequalities yielding better approximations of conv(x ) and hence tighter bounds.

More information

Recent Progress in Approximation Algorithms for the Traveling Salesman Problem

Recent Progress in Approximation Algorithms for the Traveling Salesman Problem Recent Progress in Approximation Algorithms for the Traveling Salesman Problem Lecture 4: s-t path TSP for graph TSP David P. Williamson Cornell University July 18-22, 2016 São Paulo School of Advanced

More information

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming: models and applications; complexity Ann-Brith Strömberg 2011 04 01 Modelling with integer variables (Ch. 13.1) Variables Linear programming (LP) uses continuous

More information

GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017)

GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017) GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017) C. Croitoru croitoru@info.uaic.ro FII November 12, 2017 1 / 33 OUTLINE Matchings Analytical Formulation of the Maximum Matching Problem Perfect Matchings

More information

REVISION SHEET DECISION MATHS 2 DECISION ANALYSIS

REVISION SHEET DECISION MATHS 2 DECISION ANALYSIS REVISION SHEET DECISION MATHS 2 DECISION ANALYSIS The main ideas are covered in AQA Edexcel MEI OCR D2 Before the exam you should know The meaning of the different kinds of node. Be able to construct a

More information

Memorandum COSOR 95-19, 1995, Eindhoven University of Technology

Memorandum COSOR 95-19, 1995, Eindhoven University of Technology Memorandum COSOR 95-19, 1995, Eindhoven University of Technology A polyhedral approach to the delivery man problem C.A. van Eijl Abstract We propose a mixed integer programming formulation for the delivery

More information

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization 15.081J/6.251J Introduction to Mathematical Programming Lecture 24: Discrete Optimization 1 Outline Modeling with integer variables Slide 1 What is a good formulation? Theme: The Power of Formulations

More information

The Traveling Salesman Problem with Pickup and Delivery. A polyhedral approach. IBM Research - Australia. Irina Dumitrescu

The Traveling Salesman Problem with Pickup and Delivery. A polyhedral approach. IBM Research - Australia. Irina Dumitrescu Australia The Traveling Salesman Problem with Pickup and Delivery A polyhedral approach Irina Dumitrescu Jean-Francois Cordeau, Gilbert Laporte, Stefan Ropke The TSP with Pickup and Delivery (TSPPD) Given:

More information

Solving a Production Scheduling Problem as a Time-Dependent Traveling Salesman Problem

Solving a Production Scheduling Problem as a Time-Dependent Traveling Salesman Problem Solving a Production Scheduling Problem as a Time-Dependent Traveling Salesman Problem GABRIELLA STECCO Department of Applied Mathematics, University Ca Foscari of Venice, Dorsoduro n. 3825/E, 30123 Venice,

More information

La petite et la grande histoire du problème du voyageur de commerce

La petite et la grande histoire du problème du voyageur de commerce La petite et la grande histoire du problème du voyageur de commerce par Gilbert Laporte Chaire de recherche du Canada en distributique, Centre de recherche sur les transports (CRT) et GERAD HEC Montréal,

More information

Discrete Optimization 2010 Lecture 12 TSP, SAT & Outlook

Discrete Optimization 2010 Lecture 12 TSP, SAT & Outlook Discrete Optimization 2010 Lecture 12 TSP, SAT & Outlook Marc Uetz University of Twente m.uetz@utwente.nl Lecture 12: sheet 1 / 29 Marc Uetz Discrete Optimization Outline TSP Randomization Outlook 1 Approximation

More information

16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making 6.4/43 Principles of Autonomy and Decision Making Lecture 8: (Mixed-Integer) Linear Programming for Vehicle Routing and Motion Planning Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute

More information

Tractable & Intractable Problems

Tractable & Intractable Problems Tractable & Intractable Problems We will be looking at : What is a P and NP problem NP-Completeness The question of whether P=NP The Traveling Salesman problem again Programming and Data Structures 1 Polynomial

More information

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except

More information

An Exact Algorithm for the Traveling Salesman Problem with Deliveries and Collections

An Exact Algorithm for the Traveling Salesman Problem with Deliveries and Collections An Exact Algorithm for the Traveling Salesman Problem with Deliveries and Collections R. Baldacci DISMI, University of Modena and Reggio E., V.le Allegri 15, 42100 Reggio E., Italy E. Hadjiconstantinou

More information

A maritime version of the Travelling Salesman Problem

A maritime version of the Travelling Salesman Problem A maritime version of the Travelling Salesman Problem Enrico Malaguti, Silvano Martello, Alberto Santini May 31, 2015 Plan 1 The Capacitated TSP with Pickup and Delivery 2 The TSPPD with Draught Limits

More information

MINIMIZING TOTAL TARDINESS FOR SINGLE MACHINE SEQUENCING

MINIMIZING TOTAL TARDINESS FOR SINGLE MACHINE SEQUENCING Journal of the Operations Research Society of Japan Vol. 39, No. 3, September 1996 1996 The Operations Research Society of Japan MINIMIZING TOTAL TARDINESS FOR SINGLE MACHINE SEQUENCING Tsung-Chyan Lai

More information

A branch-and-cut algorithm for the Minimum Labeling Hamiltonian Cycle Problem and two variants

A branch-and-cut algorithm for the Minimum Labeling Hamiltonian Cycle Problem and two variants A branch-and-cut algorithm for the Minimum Labeling Hamiltonian Cycle Problem and two variants Nicolas Jozefowiez 1, Gilbert Laporte 2, Frédéric Semet 3 1. LAAS-CNRS, INSA, Université de Toulouse, Toulouse,

More information

Week 8. 1 LP is easy: the Ellipsoid Method

Week 8. 1 LP is easy: the Ellipsoid Method Week 8 1 LP is easy: the Ellipsoid Method In 1979 Khachyan proved that LP is solvable in polynomial time by a method of shrinking ellipsoids. The running time is polynomial in the number of variables n,

More information

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Definition: An Integer Linear Programming problem is an optimization problem of the form (ILP) min

More information

Time Dependent Traveling Salesman Problem with Time Windows: Properties and an Exact Algorithm

Time Dependent Traveling Salesman Problem with Time Windows: Properties and an Exact Algorithm Time Dependent Traveling Salesman Problem with Time Windows: Properties and an Exact Algorithm Anna Arigliano, Gianpaolo Ghiani, Antonio Grieco, Emanuela Guerriero Dipartimento di Ingegneria dell Innovazione,

More information

Cable Trench Problem

Cable Trench Problem Cable Trench Problem Matthew V Galati Ted K Ralphs Joseph C Hartman magh@lehigh.edu Department of Industrial and Systems Engineering Lehigh University, Bethlehem, PA Cable Trench Problem p.1 Cable Trench

More information

Lecture 6 January 21, 2013

Lecture 6 January 21, 2013 UBC CPSC 536N: Sparse Approximations Winter 03 Prof. Nick Harvey Lecture 6 January, 03 Scribe: Zachary Drudi In the previous lecture, we discussed max flow problems. Today, we consider the Travelling Salesman

More information