Title: Approximation Algorithms for Path-Planning Problems
1Approximation Algorithms for Path-Planning
Problems
Shuchi Chawla
- with
- Nikhil Bansal, Avrim Blum and Adam Meyerson
2The Trick-o-Treaters Problem
- Collect as much candy as possible within 6pm and
8pm - More candy ? more popularity with the kids
- Some complicating constraints
- Limited amount of time
- Mr. X always gives twice as much candy as Mrs. Y,
but his house is a long detour. - Orienteering
- Given a metric and a starting point, cover as
many high-reward locations as possible within
a limited amount of time
3Path-planning in the real world
- A robot-navigation problem
- Deliver packages to certain locations
- Faster delivery gt greater happiness
- Limited battery power
- Packages have different deadlines for delivery
- Assembly analysis
- Manufacturing
- Production planning
4A reward-time trade-off
- Given graph (metric) G, construct a path
satisfying some constraints and optimizing some
function. - Classic formulation Traveling Salesman
- Find the shortest tour covering all locations
- Budget the path-length and maximize reward
- Orienteering Hard bound on path length
- Time Window Visit node v within Rv, Dv
- Impose a reward quota and minimize length
- k-Path Collect at least k reward
5A reward-time trade-off
- Given graph (metric) G, construct a path
satisfying some constraints and optimizing some
function. - Classic formulation Traveling Salesman
- Find the shortest tour covering all locations
- Budget the path-length and maximize reward
- Orienteering 4 Blum C Karger03
- 3 Bansal Blum C Meyerson 04
- Time Window 3log2n Bansal Blum C Meyerson 04
- Impose a reward quota and minimize length
- k-Path 2 ? Chaudhury Godfrey Rao 03
6The rest of this talk
- A 3-approximation for Orienteering
- An O(log2n) approx for the Time-Window Problem
- Orienteering with deadlines
- Incorporating release-dates
- Extensions and Open Problems
7Orienteering and k-Path
- Orienteering length D maximize reward
- k-Path reward k minimize length
- Complementary problems
- Series of results on k-TSP (related to k-Path)
- BRV99 Garg99 AK00 CGRT03
- best approx (2?)
- None for Orienteering until recently!
8Why is Orienteering difficult?
- First attempt Use distance-based approximations
to approximate reward - Let OPT(d) max achievable reward with length d
- A 2-approx for distance implies that
ALG(d) OPT(d/2) - However, we may have OPT(d/2) ltlt OPT(d)
- Bad trade-off between distance and reward!
OPT(d)
s
APPROX
9Why is Orienteering difficult?
- First attempt Use distance-based approximations
to approximate reward - Idea Modify the algorithm itself
- Doesnt help moat-growing always goes for
shallow fruit - Orienteering is inherently harder Perturbation
of the input changes the output widely
OPT(d)
s
APPROX
10Why is Orienteering difficult?
- Second attempt approximate subparts of the
optimal path and shortcut other parts - If we stray away from the optimal path by a lot,
we may not be able to cover reward thats far
away - Approximate the extra length taken by a path
over the shortest path length
OPT
APPROX
11Why is Orienteering difficult?
- Second attempt approximate subparts of the
optimal path and shortcut other parts - If we stray away from the optimal path by a lot,
we may not be able to cover reward thats far
away - Approximate the extra length taken by a path
over the shortest path length - If OPT obtains k reward with length d?, ALG
should obtain the same reward with length d??
12The Min-Excess Problem
- Given graph G, start and end nodes s, t, reward
on nodes ?v, target reward k, find a path that
collects reward at least k and minimizes ?(P)
l(P) d(s,t) - At optimality, this is exactly the same as the
k-path objective of minimizing l(P) - However, approximation is different
Min-excess is strictly harder than
K-path - There is a (2?)-approximation for Min-Excess
- Blum, C, Karger, Meyerson, Minkoff, Lane,
FOCS03 - Our algorithm returns a path with length
- d(s,t) (2?) ?(P)
excess
13A 3-approximation to Orienteering
- There exists a path from s to t, that
- collects reward at least ?
- has length ? D
- Given a 3-approximation to min-excess
- 1. Divide into 3 equal-reward parts
(hypothetically) - 2. Approximate the part with the smallest excess
- ? 3-approximation to orienteering
- Using an r-approx for Min-excess ( r ? Z ),
we get an
r-approximation for s-t Orienteering
Excess of path P ?(P) dP(u,v) d(u,v)
Open Given an r-approx for min-excess (r 2 R ),
can we get r-approx to Orienteering?
v2
OPT
v1
APPROX
Excess of one path (?1?2?3)/3
Can afford an excess up to (?1?2?3)
14So far
- A 3-approximation for Orienteering
- An O(log2n) approx for the Time-Window Problem
- Orienteering with deadlines
- Incorporating release-dates
- Extensions and Open Problems
Coming up
15The Time-Window Problem
- Find a path visiting many nodes in their
time-window - school bus routing bank and postal
deliveries - industrial refuse collection newspaper
delivery - fuel oil delivery dial-a-ride
service - Widely studied in scheduling and OR literature
- Constant-approx known for points on a line,
- few different
time-windows - No approximation known for the general case
- A special case The Deadline-TSP Problem
- Vertices only have deadlines
- All release-times are 0.
16The next step Deadline-TSP
- Every vertex has a deadline D(v) Find a path
that maximizes nodes v visited before D(v) - If the last node on the path has the min
deadline, use Orienteering to approximate the
reward - Everything visited before the minimum deadline
- Dont need to bother about deadlines of other
nodes - Does OPT always have a large subpath with the
above property? - There are many subpaths of OPT with the above
property that together contain all the reward
NO!
17A segmentation of OPT
Deadline
Time
18Deadline-TSP
- Segment graph into many parts, approximate each
using Orienteering and patch them together - How do we find such a segmentation without
knowing the optimal path? - In order to avoid double-counting of reward,
segments should be node-disjoint - Our result
- There exists a segmentation based only on
deadlines, such that the resulting solution is a
(3 log n)-approximation
19A 2-dimensional view
Deadline
Disjoint Rectangles
Time
20The Rectangle Argument
- Approximate reward contained in a disjoint
family of rectangles - Every pair of rectangles is non-overlapping in
BOTH dimensions - We construct O(log n) families of disjoint
rectangles - 1. These cover ALL the reward in OPT
- 2. We can approximate the best of them
- We get an O(log n)-approximation
21The Rectangle Argument
- There are O(log n) families of disjoint
rectangles that cover all the reward in OPT
22The Rectangle Argument
- There are O(log n) families of disjoint
rectangles that cover all the reward in OPT
Deadline
Time
23The Rectangle Argument
- 2. We can approximate the best disjoint family
- Suppose we know the minimal vertices
- Just try out all the log n families
- Problem - Minimal vertices depend on the optimal
tour! - Solution
- Try all possibilities.
- They are ordered by deadlines, so use a simple
dynamic program
24The Rectangle Argument
- 2. We can approximate the best disjoint family
25The O(log n)-approximation
- Approximate reward contained in a disjoint
family of rectangles - Every pair of rectangles is non-overlapping in
BOTH dimensions - We construct O(log n) families of disjoint
rectangles - 1. These cover ALL the reward in OPT
- 2. We can approximate the best of them
- Obtain an O(log n)-approximation
26From Deadlines to Time-Windows
- Nodes have deadlines as well as release times
- Note that release times are dual to deadlines
if we look at the path from the end to the start,
release times become deadlines! - Log-approximation for deadlines ?
log-approximation for release dates - Algorithm for Time-Windows
- Run the approximation for Deadline-TSP
- Replace Orienteering by Orienteering with
release-dates - O(log2n)-approximation for the Time-Window problem
l(OPT) L
D(v) L-R(v)
OPT
v
Require l(s,v) ? R(v)
? l(t,v) ? L-R(v)
27A Bicriteria Approximation
- Given any ? gt 0,
- Get O(log 1/?) fraction of reward
- Exceed deadlines by a (1?) factor
- O( log Dmax )-approximation
- Constant factor approximation if we can exceed
deadlines by a small constant factor - Nice trade-off
- Halving the extra time taken, increases the
approximation factor by only an additive 1
28An overview of our results
Approximation
Problem
Orienteering
3
Deadline TSP
3 logn
Time-Window Problem
3 log2n
reward log 1/? deadlines 1?
Time-Window Problem - bicriteria
29Future Directions
- Better approximations
- can we get a constant factor for Time-Windows?
- special metrics such as trees or planar graphs
- hardness of approximation?
- Asymmetric Path-planning
- the graph is directed still obeys triangle
inequality - polylog-approximations and lower bounds for
distance - need entirely different ideas for
asymmetric-Orienteering - is it log-hard?
30Questions?
31The Min-Excess Problem
- Given graph G, start and end nodes s, t, reward
on nodes ?v - Find a path from s to t collecting K reward and
minimizing l(P) d(s,t) - At optimality, this is exactly the same as the
K-path objective of minimizing l(P) - However, approximation is different
- ?-approx to K-path ?l(P)
- ?-approx to min-excess d ?(l(P) d)
?l(P) (?-1)d - Min-excess is strictly harder than K-path
32Solving Min-Excess
- OPT d? k-path gives us ALG ?(d?)
- We want ALG d ??
- Note When ? d, ?(d?) d O(?) ?
- Idea When ? is large, approximate using k-path
- What if ? ltlt d ?
- Small ? ? path is almost like a shortest path
- or its distance from s mostly increases
monotonically
33Solving Min-Excess
- OPT d? k-path gives us ALG ?(d?)
- We want ALG d ??
- Note When ? d, ?(d?) d O(?) ?
- Idea When ? is large, approximate using k-path
- What if ? ltlt d ?
- Small ? ? path is almost like a shortest path
- or its distance from s mostly increases
monotonically - Idea Completely monotone path ? use dynamic
programming to solve exactly!
- Binary decision for each vertex
should it be in the path or not? - Compute P(vj,t) the best path that has length
t and ends at vj - P(vj1,t)
- consider P(u,t), where t t-l(u,vj1)
- pick the best path (best u) from the above
34Solving Min-Excess
- Idea When ? is large, approximate using k-path
- Idea Completely monotone path ? use dynamic
programming to solve exactly!
Patch segments using dynamic programming
t
s
OPT
wiggly
wiggly
monotone
monotone
monotone