Urban OR Fall 2006 Problem Set 6 (Due: Wednesday, December 6, 2006) Problem 1 Problem 6.6 in Larson and Odoni Problem 2 Exercise 6.7 (page 442) in Larson and Odoni. Problem 3 Suppose we have a network G(N, A) such as the one pictured in Figure 1, which can be separated by an “isthmus edge”, (s, t) into two distinct sub-networks G(S, As) and G(T, At) such that S∪T = N and As∪At∪(s, t) = A. (Note that the set of nodes S includes node s and the set of nodes T includes node t.) Let H(T) be the sum of the weights, hj, of the nodes in the set T and H(S) be the sum of the weights, hj, of the nodes in the set S. (a) The following is known as Goldman’s majority theorem”: “If H(T)≥ H(S) then the set of nodes T contains at least one solution to the 1-median problem on G(N, A).” Prove the theorem. To do so, assume that the solution is at some node y∈S and argue that J(y) ≥ J(t), a contradiction. J(.) is the objective function for the 1-median problem – see book. Note as well that t is the node on the G(T, At) “side” of (s, t). (b) Prove the following theorem: “If H(T)≥ H(S) then one can find a solution to the original 1-median problem on G(N, A) by solving the 1-median problem on the sub network G'(T, At) which is identical to G(T, At) except that the weight ht of the node t (on which the edge (s, t) is incident) is replaced by H(S) + ht.” To prove this statement argue as follows: We know from part (a) that the 1-median is in T. Show that for any node y∈T: J ( y) = C + [H (S) + ht ]⋅ d( y, t) + ∑ hj j∈(T − t ) ⋅ d( y, j) (1) where C is a constant and (T-t) indicates the set of nodes, T, not including the node t. Why does (1) prove our theorem? (c) Using the theorems of parts (a) and (b) find very quickly the 1-median of the network shown in Figure 2. (For each node, an identification letter followed by the node’s weight is indicated; link lengths are noted next to each link.) Note that you do not have to consider the lengths of the edges in solving this problem. Problem 4 Consider the Traveling Salesman Problem with Backhauls (TSPB), a version of the TSP which is as follows: Suppose we have one “station point,” s, a set D of “delivery” points (|D| = n) and a set P of “pick-up” points (|P| = m). Assume the travel medium is the Euclidean plane and that all n+m+1 points in the problem are distinct, so that the Euclidean distance between any pair of points is positive. We want to design a tour of minimum length that has this description: a vehicle will begin from s, will visit first all the n points in D to deliver packages, will then (without first returning to s) visit all m points in P to pick up packages and will finally go back to s (where the tour ends). The following heuristic, based on the idea of the Christofides heuristic for the TSP, has been proposed recently for the TSPB (we shall leave Step 4 incomplete until the second question of our problem): Step 1: Construct: (a) TD, the minimum spanning tree of D, i.e., the MST that connects all n delivery points; (b) TP, the minimum spanning tree of P, i.e., the MST that connects all m pick-up points. Now connect s to the delivery point in D which is closest to s. Also connect s to the pick-up point in P which is closest to s. In this way a single tree, T, is formed which consists of TD, TP, s, and the two links connecting s to TD and TP, respectively. Step 2: Transform the (n+m+1)x(n+m+1) matrix of Euclidean distances between pairs of points in the problem in the following way: leave all distances between pairs of points in D unchanged, i.e., equal to the Euclidean distances between these points; similarly, leave all distances between pairs of points in P unchanged; then add a large constant K to all the other distances in the matrix. This means that if the Euclidean distance between any point i ∈ D and any point j ∈ P is d(i, j) units, it will be changed to d(i, j) + K in the transformed distance matrix; similarly the distance between s and i in the transformed distance matrix will be d(s, i) + K and the distance between s and j will be d(s, j) + K. Note that the same “large constant” K is added in all cases. K is chosen so that it is much larger than any of the Euclidean distances (or sums of Euclidean distances) encountered in the problem. Step 3: Let R be the set of odd-degree nodes in T, the tree obtained in Step 1. Find the minimum-cost pair-wise matching between the nodes (points) in R, using the transformed matrix prepared in Step 2. Let H be the (disjoint) graph consisting of the set of links (straight lines) which correspond to the minimum-cost pair-wise matching. (For example, if the points i ∈ D and j ∈ P are both in R and have been matched together in the minimum-cost matching, then the link (i, j) will be in H; similarly, if the points v ∈ D and w ∈ D are both in R and have been matched together, the link (v, w) will be in H; and so on.) Note that, in drawing the graph H, we forget about the large constant K. Step 4: Merge H with T to obtain a graph G (i.e., G = T∪H). (a) Explain carefully but briefly why it is true that the number of (odd-degree) nodes in R which are also delivery points is an odd number (i.e., |R∩D| is an odd number). (a) Given the result of part (a), argue carefully, but briefly, that: (i) The graph G constructed in Step 4 of the algorithm has an Euler tour. (ii) It is possible, using only links in G, to find an Euler tour, which is a feasible (not necessarily) optimal solution to the TSPB. In other words, it is possible to find on G an Euler tour that begins at s, visits all the points in D at least once, then visits all the points in P at least once, and finally returns to the origin s. [Note: the heuristic described in this problem is the best currently available for the TSPB, in terms of worst-case performance.] Problem 5 Consider the following routing problem, which we shall call the Delivery Truck Problem (DTP). Suppose a truck must perform a set of pickups and deliveries in a Euclidean travel environment. Each load which is picked up fills the truck completely and goes to a single destination, so no pickups and deliveries can be combined. This is shown in Figure 3a, for a problem involving four loads: points A, C, E, and G are the pick-up points and the corresponding set of directed edges between each pick-up and each delivery is denoted as R = {(A,B), (C,D), (E,F), (G,H)}. We shall call the pick-up points “head vertices” and the delivery points (B, D, F, H) “tail vertices”. The DTP is to find a tour that begins and ends at some head vertex (we shall use point A in our example without loss of generality) and is of minimal total length. The following heuristic has been suggested for this problem: Step 1: Construct an undirected graph G1 whose vertices are all the head and tail vertices and whose edges are all possible (head vertex, tail vertex) edges, except those edges appearing in R. In other words, in building G1, each head vertex is connected to all tail vertices except the one it is connected to in R. For example, in Figure 3b, we draw an edge between A and D, A and F, and A and H, but not between A and B. The cost (or length) of each edge of G1 is equal to the Euclidean distance between the points that it connects. G1 for our example is shown in Figure 3b. Step 2: Find a minimum cost pairwise matching, M, of the vertices of G1. For our example, let us assume that M = {(A,D), (C,B), (E,H), (G,F)}. Construct a graph G2, by merging R with M (Figure 3c). Note that G2 has some directed edges (the ones associated with R) and some undirected ones (those associated with M). Step 3: Construct a graph G3 with one vertex corresponding to each of the k disjoint cycles of G2 and one vertex between each pair of these vertices. [Note that in our example k=2 and thus G3 will have one vertex corresponding to the set of nodes V= (A, B, C, D) and another corresponding to the set W = (E, F, G, H) – see Figure 3d.] The cost (or length) of each edge in G3 is set equal to the distance between the corresponding pair of cycles, i.e., to the distance between two nodes, one in each cycle, which are closest to each other. [In our example, c(V,W) = min c(i,j) for all vertices i∈V and j∈W where c(i,j) indicates the distance between vertices i and j.] Find the minimum spanning tree T of G3. The minimum spanning tree T of G3 for our example is shown in Figure 3d; note that because, in this case, k=2, T and G3 are identical. Step 4: Construct a new graph G4 by adding to G2 two directed edges for each edge in T. The two edges corresponding to an edge (V,W) in T join the two vertices i∈V and j∈W, whose distance c(i, j) equals c(V,W) and go in opposite directions. [For our example, assume that c(V,W) = c(E,C). Hence, we draw a directed edge from C to E and a directed edge from E to C and add them to G2 to obtain G4, as shown in Figure 3e.] Step 5: Draw an Euler tour through the mixed graph G4, beginning and ending at the required point and making sure to traverse all the directed edges in the correct direction. This tour is a solution to the DTP. (a) Please explain briefly why the mixed graph G4 has an Euler tour. (b) Argue briefly that, if k=1 after Step 2, the above heuristic provides an optimal solution to the DTP. (c) Let L(G4) denote the length of the tour found in Step 5 (i.e., the length of the solution produced by our heuristic), L(DTP) be the length of an optimal DTP tour and L(R) the length of the distance the truck will travel fully loaded. (Note that L(R) will always be part of the distance that any legitimate DTP solution, exact or approximate, must cover.] Argue that L(G4) ≤ 3L(DTP) – 2L(R) [Hint: This is not difficult. Consider how G4 was obtained.] Problem 6 Consider the following version of the k-traveling salesmen problem in Euclidean space: Suppose we have n cities of which city 1 is the home location of the k salesmen. We want to design a set of k tours such that every city is visited by one salesman and the length of the longest tour traveled by any salesman is minimized. In other words, our measure of the quality of a given collection of k routes is the length of the longest of these routes. We call this longest route the “maximum length subtour.” Suppose we use the following algorithm for this problem: Step 1: Beginning and ending at city 1, generate a single traveling salesman tour T that includes all n cities. Do this by using your favorite TSP heuristic. Number the cities i1, i2, ….., in in the order they appear in the tour (note that i1 = 1). Let L be the length of T and let dmax be the maximum direct distance between any city and city 1. Step 2: Generate k subtours in the following way: For each j, 1≤ j < k, define p(j) to be the largest integer such that the length of the path in T from 1 to node ip(j) does not exceed j the quantity (L − 2d max ) + d max . k Step 3: Let the k subtours be T1 = {1, i2 ,...., i p(1) , 1}, T2 = {1, i p(1)+1 ,....., i p(2) , 1} ,…., Tk = {1, i p(k −1)+1 ,...., in , 1} . (a) Show that the lengths L1, L2,…., Lk of all the subtours T1, T2,…., Tk generated in this way must be less than or equal to the quantity 1 (L − 2d max ) + 2d max k (1) [Hint: Show this separately for L1, for Lj such that 2 ≤ j < k – 1, and for Lk.] (b) From part (a) we know that the length of the maximum length subtour generated in this way [call this length L(TLONG) = max (L1, L2,…., Lk)] must be less than or equal to (1) above. Suppose you had used the Christofides heuristic to draw the initial single traveling salesman tour T. Let also L(T*LONG) denote the length of the mximum length subtour in the optimum solution to this k-traveling salesmen problem (assuming you could somehow solve the problem optimally). Show that 5 1 L(TLONG ) ≤ ( − ) ⋅ L(T *LONG ) 2 k (2) i.e., that our heuristic produces a solution which is within less than 150% of the optimum no matter what k is. [Hint: How do the quantities L(TLONG) and L compare to the length L* of the optimum (single) traveling salesman tour through all n cities? How does dmax compare with one of these quantities?] s t (s, t) (An isthmus) G(S, As) G(T, At) Figure 1 Figure 2 A-8 D-4 3 C-1 2 B-3 J-3 2 1 3 F-4 2 I-5 5 E-6 6 K-5 2 4 10 4 3 5 G-5 4 H-1 L-5 3 N-4 M-4 4 3 O-9 P-3 3 Q-3 B D A F C G E H Figure 3a B D A F C G E H Figure 3b B D A F C G E H Figure 3c V W Figure 3d B D A F C G Figure 3e E H