ESA On approximating a geometric prize-collecting traveling salesman problem with time windows Reuven Bar-Yehuda – Technion IIT Guy Even – Tel Aviv Univ. Shimon (Moni) Shahar –Tel Aviv Univ.
ESA :00-5:00 7:00-6:00 12:00-8:00 6:00-7:00 leave office at 5:00 get back at 20:00 10:00-11:00 16:00-17:00 17:00-18: hour rest 1 hour 2 hours 1.5 hours 2 hours 4 hours 2 hours Motivation – postman distributing packages
ESA Prize-collecting TSP with time windows A scheduling problem with locations. Definition: –Sites in a metric space (e.g. the plane). –A time-interval for each site (release-time, deadline). –Moving agent with speed in [0,1]. –Goal: max #sites the agent visits on-time. –Extension: service-time per site.
ESA Known results: scheduling with locations Feasibility is NPC for points on a line [Tsitsiklis92]. Polynomial algorithm for the case where all intervals are [0,t i ] (using dynamic programming) [Tsitsiklis92 Khanna02] Min makespan (completion time of last job): –1.5-approx for points on a line with release times, processing times, and no deadlines [KNI98]. –2-approx for points on a line, no deadlines, multiple agents (vehicles) [KN01]. –PTAS for trees with O(1) leaves, single & multiple agents [AS02].
ESA x y t
ESA x y t
ESA x y t
ESA x y t
ESA x t
ESA x t
ESA x t
ESA x t
ESA speed = 1/slope Slope in [45 0, ] Chop intervals outside of visibility cone
ESA Now we rotate the view by 45 0 ….
ESA After we rotate the view by 45 0, Slope of tour [0, 90]
ESA Longest monotone path
ESA Special case: zero length Longest monotone subsequence
ESA Approach: Longest path on a DAG
ESA Approach: Longest path on a DAG
ESA Approach: Longest path on a DAG
ESA Approach: Longest path on a DAG
ESA x y t Approach works for any dimension: Longest path on a DAG
ESA x y t Longest path on a DAG
ESA Polynomial time algorithms: If all interval times have zero length If Max length ≤ k * Min Length Grid path: Opt in time Poly(n,2 k ) General: 2-approx in time Poly(n,2 k ) General: O(log k /loglogn) - approx No assumptions: O(log(n)) - approximation
ESA Construct a DAG. V={(x,y): (x,y) R 2 } Direct the grid up & right. Assign edge weights (#intersecting intervals). Find a longest path on the obtained DAG. k-apx Grid path: |interval grid| k
ESA Grid path: |interval grid| k Construct a DAG V = {(x,y),b 1 …b k : (x,y) R 2 and b i {0,1}} Directed “right” edges (x,y)0b 2 …b k (x+1,y)b 2 …b k 0 (x,y)0b 2 …b k (x+1,y)b 2 …b k 1 Directed “up” edges (x,y)1b2…bk (x,y+1)b2…bk0 (x,y)1b2…bk (x,y+1)b2…bk1 Assign edge weights and find longest path in the DAG (2,2) (2,3) 0 (2,2)1001 (2,3)0010
ESA A 2-approx for length [1,2) Construct a 2/4 square grid. Each interval intersects at most 8 grid lines. Find optimal grid path (k=8). Time complexity: Poly(n) Claim: (optimal) path P: grid paths P1 P2, s.t P1 and P2 cover all intervals intersected by P
ESA (optimal) path P: grid paths P1, P2, s.t P1 and P2 cover all intervals intersected by P P: an optimal path P1: Upper grid path P P1 P2 P2: Lower grid path
ESA A 2-approx for length [1,2) 2log(I max /I min )- apx for the general case
ESA A 2-approx for length [1,k) 2log(I max /I min )/logk- apx for the general case k=O(logn) time is Poly(n)
ESA Recursive bisection Claim: separating vertical line (at most half the intervals lie strictly on each side).
ESA Recursive bisection (cont.) bisect recursively log(n) “combs” Level 1 Level 2 2nd comb A comb defines subset of intervals that intersect exactly one comb-tooth. comb C i such that: C i OPT contains at least OPT/log n intervals.
ESA O(log(n)) Approximation Partition the intervals into log n combs. For each comb 2-apx. 2log(n)- approximation.
ESA Approximation for comb Form a grid. Construct a DAG. V = set of horz segments Set of edges: (i, j) (i+1, k) If j k. Edge weights is the number Of new intersected intervals ii+1 j k weight((i, j), (i+1, k))=4
ESA Approx ratio = 2 Decompose OPT into alternating sub-tours: –horizontal sub-tours inside a slice –vertical sub-tours between two comb teeth –Each “covered segment” must cross P1 or P2 P2 P1
ESA Zigzags: source of hardness special case: no zigzags between intervals Dynamic programming finds optimal tour (even if distances are asymmetric). Extension: density = bound on number of zigzag between intervals. apx ratio=density (same dynamic programming)
ESA Further research Improve approximation ratio in 1-D. Nothing known for 2-D.