1 / 37

On approximating a geometric prize-collecting traveling salesman problem with time windows

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. 1.5 hours. 4 hours. 2 hours. 2 hours. 2 hours. 1 hour. 1 hour. 1 hour.

blair-cain
Download Presentation

On approximating a geometric prize-collecting traveling salesman problem with time windows

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. 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.

  2. 1.5 hours 4 hours 2 hours 2 hours 2 hours 1 hour 1 hour 1 hour Motivation – postman distributing packages 10:00-11:00 6:00-7:00 12:00-8:00 16:00-17:00 0.5 hour rest 17:00-18:00 7:00-5:00 7:00-6:00 leave office at 5:00 get back at 20:00 12:00-8:00

  3. 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.

  4. Known results: scheduling with locations • Feasibility is NPC for points on a line [Tsitsiklis92]. • Polynomial algorithm for the case where all intervals are [0,ti] (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].

  5. t y x

  6. t y x

  7. t y x

  8. t y x

  9. t x

  10. t x

  11. t x

  12. t x

  13. speed = 1/slope Slope in [450, 1350] Chop intervals outside of visibility cone

  14. Now we rotate the view by 450 ….

  15. After we rotate the view by 450, Slope of tour  [0, 90]

  16. Longest monotone path

  17. Special case: zero length Longest monotone subsequence

  18. Approach: Longest path on a DAG

  19. Approach: Longest path on a DAG

  20. Approach: Longest path on a DAG

  21. Approach: Longest path on a DAG

  22. t Approach works for any dimension: Longest path on a DAG y x

  23. Longest path on a DAG t y x

  24. Polynomial time algorithms: • If all interval times have zero length • If Max length ≤ k * Min Length Grid path: Opt in time Poly(n,2k) General: 2-approx in time Poly(n,2k) General: O(log k /loglogn) - approx • No assumptions: O(log(n)) - approximation

  25. 1 1 1 1 1 1 2 1 1 1 1 1 1 Grid path: |intervalgrid|  k • Construct a DAG. V={(x,y): (x,y) R2} • Direct the grid up & right. • Assign edge weights (#intersecting intervals). • Find a longest path on the obtained DAG.  k-apx

  26. 0 1 0 0 (2,3) 1 (2,2) Grid path: |intervalgrid|  k • Construct a DAG • V = {(x,y),b1…bk: • (x,y) R2 and bi  {0,1}} • Directed “right” edges • (x,y)0b2…bk(x+1,y)b2…bk0 • (x,y)0b2…bk(x+1,y)b2…bk1 (2,2)1001 (2,3)0010 • 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

  27. 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

  28. P P1 P2  (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 P2: Lower grid path

  29. A 2-approx for length  [1,2)  2log(Imax/Imin)- apxfor the general case

  30. A 2-approx for length  [1,k)  2log(Imax/Imin)/logk- apxfor the general case k=O(logn)  time is Poly(n)

  31. Recursive bisection Claim: separating vertical line (at most half the intervals lie strictly on each side).

  32. Level 2 Level 2 2nd comb Recursive bisection (cont.) • A comb defines subset of intervals that intersect exactly one comb-tooth. • bisect recursively  log(n) “combs” • comb Ci such that: Ci OPT contains at least OPT/log n intervals. Level 1

  33. O(log(n)) Approximation • Partition the intervals into log n combs. • For each comb 2-apx. • 2log(n)- approximation.

  34. Approximation for comb • Construct a DAG. i i+1 • Form a grid. • V = • set of horz segments k j • Set of edges: • (i, j) (i+1, k) • If j  k. Edge weights is the number • Of new intersected intervals weight((i, j), (i+1, k))=4

  35. 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 P1 P2

  36. 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)

  37. Further research • Improve approximation ratio in 1-D. • Nothing known for 2-D.

More Related