390 likes | 410 Views
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
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