1 / 39

Approximating the Dial-a-Ride problem

Approximating the Dial-a-Ride problem. Viswanath Nagarajan Tepper School of Business, CMU Joint work with Anupam Gupta, M.T.Hajiaghayi, and R.Ravi. Motivation. Free transport service for disabled people Each customer wants to be picked up at office and dropped at home

tsao
Download Presentation

Approximating the Dial-a-Ride problem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Approximating the Dial-a-Ride problem Viswanath Nagarajan Tepper School of Business, CMU Joint work with Anupam Gupta, M.T.Hajiaghayi, and R.Ravi

  2. Motivation • Free transport service for disabled people • Each customer wants to be picked up at office and dropped at home • Single van of limited capacity • Van starts and ends at its depot • What is the minimum cost route for van?

  3. Problem Definition • n vertex metric space (V,d) • m objects with source & destination • (s1,t1)  (sm,tm) • Vehicle of capacity k • Starting vertex r • Goal:minimum length tour that moves each object from source to destination

  4. An example (k=2) pick 1 pick 2 s1 s2 t3 r drop 3 pick 3 s3 t2 t1 drop 2 drop 1

  5. Two versions • Preemptive: can leave objects at intermediate locations and pick up later • O(log n) approximation guarantee [CR’98] • (log1/4n) approximation hardness [G’06] • Non-preemptive: object picked up remains in vehicle until delivered at destination • This talk: non-preemptive Dial-a-Ride

  6. Non-preemptive DaR: special cases • All si=r : Capacitated Vehicle routing • Single source special case • Approximation guarantee 2.5 [HK ’85] • All si=ti : Travelling Salesman Problem • k=1: Stacker-crane problem • Approximation guarantee 1.8 [FHK ’78] • k=1 • Approximation guarantee 3 [AHK ’97]

  7. Non preemptive DaR (general k):previous results • Simple O(k), O(m/k) approximations • O(k1/2 log n) approximation [CR ’98] • Use an interesting lower bound • In terms of m, number of objects • min{k1/2 log n, m/k} = O(m1/3)

  8. This talk • O(min{n1/2,k1/2}¢log2 n) approximation algorithm for non-preemptive Dial-a-Ride • For every instance of Dial-a-Ride, there exists a 1-preemptive tour that has length at most O(log2 n) ¢ optimal many-preemptive tour

  9. Some observations • Length of optimal tour, OPT ≥ minimum TSP tour on {r,s1,,sm,t1,,tm} (Steiner bound) • OPT ≥ 1/k ¢i=1m d(si,ti) (flow bound) • Lower bounds even for preemptive tour

  10. Warm up: simple algorithm 1O(k)-approximation • TSP tour S on {r,s1,,sm} • Algorithm 1: Move along S; when at si, pick object i go to ti, drop it and return to si • Length of solution d(S) + 2¢i=1m d(si,ti) • Use lower bounds • OPT ≥ 2/3¢ d(S) (from Steiner bound) • OPT ≥ 1/k ¢i=1m d(si,ti) (from flow bound)

  11. Warm up: simple algorithm 2O(m/k)-approximation • TSP tour S on {r,s1,,sm} & T on {r,t1,,tm} • Algorithm 2: Repeat m/k times: • Move around S and pick k new objects H • Move around T and drop the objects in H • Length of solution m/k¢(d(S) + d(T)) • Use Steiner lower bound • OPT ≥ 2/3¢d(S), 2/3¢d(T)

  12. Algorithm for non-preemptive DaR

  13. Structure theorem k=3 Thm: There is a tour that costs at most O(log m) times the optimal tour and is of the “pick k – drop k” form: pick ≤ k objects, drop them; and continue similarly. empty empty empty empty 1’ 2’ 3’ 1 2 3 pick k – drop k tour

  14. Proof of structure theorem • Consider optimal non-preemptive tour  • Number of edges in ≤ m¢(n+1) • Stretch of object i = number of edge traversals between si (pick-up) & ti (drop-off) stretch1=10 stretch2=5 stretch3=4 s1=s2 t1 s3 tour  t2 t3

  15. Proof of structure theorem • Group Gj has objects with stretch 2 [2j-1,2j) • Number of groups is log2(mn) = O(log m) • Find “pick k-drop k” tour for objects in Gj • Length at most O(d()) • Then, overall “pick k-drop k” tour of length O(log m)¢d() = O(log m)¢OPT

  16. pick pick pick drop drop drop 2j-1 2j Proof of structure theorem • “pick k-drop k” for group Gj of length 5¢d() tour  batch 1 batch 2 batch t

  17. Greedy algorithm: non-preemptive DaR • Set cover based algorithm. Repeat until all objects serviced: • Greedy subproblem: Find set S of ≤ k objects of minimum cost to number ratio, 4¢MST(S) / |S| •  approximation for subproblem implies  log2 m for non-preemptive DaR

  18. The k-forest problem

  19. k-forest Input: • metric space (V,d) on n vertices • m pairs (s1,t1)  (sm,tm) • target k Goal: find minimum length forest that connects at least k pairs. • O(n2/3 log n) approximation [SS ’06] • Generalizes dense-k-subgraph problem

  20. k-forest to Dial-a-Ride • Approximating Greedy subproblem ‘equivalent’ to k-forest • Obtain approximation factor =min{n1/2,k1/2} for k-forest Thm: There is an O(min{n1/2,k1/2}¢log2 m) approximation algorithm for non-preemptive Dial-a-Ride.

  21. k-forest algorithm • Until k pairs covered: • Obtain minimum ratio tree T with ≤ k pairs • Add T to current forest • Ratio of tree T = d(T)/(number of new pairs) •  approximation for ratio problem implies: • O(¢log k), standard set cover analysis • O() if =poly(k), better analysis [C+ ’98] • Give two algorithms for ratio problem • Guarantees O(k1/2) and O(n1/2)

  22. O(k1/2) approximation algorithm • Define distances on the set of objects [m] c(i,j) = d(si,sj) + d(ti,tj) • For each t=1,,k: Solve k-MST with target of t on metric c to obtain tree St • Pick best ratio tree S in {S1,,Sk} • Output corresponding tree in metric d

  23. Proof: O(k1/2) approximation • Consider optimal ratio tree T, covering q pairs Claim: There is a tree S in metric c, with c(S)≤4¢d(T) that covers q1/2 pairs. • Claim ) O(q1/2) = O(k1/2) approximation

  24. Proof: O(k1/2) approximation •  is an Euler tour of optimal ratio tree T • Pairs {1,,q} covered in T • Sources appear in order s1,,sq • Sinks appear in order t(1),,t(q) s1 t(1) t(q) sq s2 t(2) tour 

  25. Proof: O(k1/2) approximation Fact: Any permutation on [q] has a q1/2 increasing or decreasing subsequence. • There is set {p1<<pt} of t=q1/2 pairs • i=1t d( s(pi), s(pi+1) ) ≤ d() • i=1t d( t(pi), t(pi+1) ) ≤ d() • So i=1t c(pi, pi+1) ≤ 2¢d() ≤ 4¢d(T) • Path on q1/2 pairs in metric c, with length O(d(T))

  26. O(n1/2) approximation algorithm • Algorithm is better of two procedures • T denotes the minimum ratio tree • We guess the following quantities • B: the length of tree T • q: the number of pairs in T • : the maximum demand `degree’ in T • s: the vertex of maximum demand degree in T

  27. Procedure 1: (2q/) approximation • Place weight on each vertex u, equal to the number of pairs with end points u & s • Using the k-MST algorithm find an s-tree T1 of length at most 2B having maximum weight • Number of pairs in T1≥  (degree) • So, ratio of T1≤ 2B/ = (2q/)¢(B/q)

  28. Procedure 2 • Initially T2={s} • While T2≠ V, do: • Shrink T2 to a single root, and run k-MST with this root and target of q/2 new vertices to obtain tree S • If d(S) > 2B, exit loop. • Else, T2 = T2 [ S, and continue loop. • Output T2

  29. Procedure 2: (4n/q) approximation • Number of iterations ≤ n/(q/2) = 2n/q • So d(T2) ≤ (2n/q)B • |TnT2| ≤ (q/2) • Else there is an augmenting tree of length ≤ B • So k-MST algorithm will find one of length ≤ 2B ! • Number of demands incident on TnT2 ≤ ¢|TnT2| ≤ q/2 • Number of demands in TÅT2≥ q/2 • So ratio of T2≤ (4n/q)¢(B/q)

  30. Putting it together • Min ratio algorithm outputs better of T1, T2 • Ratio ≤ min{ 2q/, 4n/q }¢(B/q) ≤ 4n1/2¢(B/q) • So O(n1/2) approximation • Using both algorithms, O(min{k1/2,n1/2}) approximation for k-forest

  31. Value of preemptions

  32. 1-preemptive tours • [CR ’98] There are instances of DaR where OPTnon-pmt≥ (n1/3)¢ OPTpmt • At most 1 preemption per object: OPT1-pmt • Almost as good as many preemptions Thm: For every instance of DaR, there is a tour that preempts each object at most once, and has length at most O(log2 n)¢ OPTpmt

  33. Proof: 1-preemptive tour • Fact: Every n-point metric space can be “well approximated” by a distribution of dominating tree metrics [FRT ’03] • Distances preserved within factor of O(log n) • Each tree has height ≤ h=O(log n) • WMA, metric is a tree of height ≤ h • Lose factor O(log n) in approximation

  34. Proof: 1-preemptive tour • Least common ancestor of object i, lca(si,ti) • Group objects according to level of lca • At most h = O(log n) groups level j

  35. Proof: 1-preemptive tour • Will show: 1-preemptive tour for each group having length O(1)¢OPTpmt • Consider optimal many-preemptive tour restricted to servicing group j objects • WMA, it services each subtree separately level j subtrees

  36. Proof: 1-preemptive tour • Consider optimal many-preemptive tour on any one subtree at level j • Each object i crosses root (as lca(si,ti)=root) • Drop each object i at root • preemptive tour for single source DaR instance with demands (root,si) • Single source algorithm [HK ’87]: non-preemptive tour of cost ≤ 2.5¢preemptive-OPT

  37. Proof: 1-preemptive tour • Single source algorithm implies: • non-preemptive tour moving all i from si to root • non-preemptive tour moving all i from root to ti Total length ≤ 2*2.5¢OPTpmt • Concatenate solutions for each level j subtree • 1-preemptive tour for group j • length ≤ O(1)¢OPTpmt • Concatenate solutions for each group j • 1-preemptive tour on tree of length O(log n)¢OPTpmt

  38. Conclusions • Improve approximation guarantee for k-forest • Even on Euclidean plane, best approximation is ~ min{n1/2,k1/2}. Improved ratio? • Algorithm essentially reduces DaR to k-forest • Is the reverse direction true? • Would imply at least as hard as Dense-k-subgraph

  39. Thank you!

More Related