390 likes | 431 Views
Learn about the Dial-a-Ride problem, where a van needs to transport objects from source to destination efficiently. Explore preemptive and non-preemptive strategies, special cases, algorithms, and approximation guarantees.
E N D
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 • Single van of limited capacity • Van starts and ends at its depot • What is the minimum cost route for van?
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
An example (k=2) pick 1 pick 2 s1 s2 t3 r drop 3 pick 3 s3 t2 t1 drop 2 drop 1
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
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]
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)
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
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
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)
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)
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
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
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
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
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
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
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.
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)
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
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
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
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))
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
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)
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
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)
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
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
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
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
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
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
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
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