Title: Algorithms for PathPlanning
1Algorithms for Path-Planning
- Shuchi Chawla
- (CMU/Stanford/Wisconsin)
- 10/06/05
2A trick-or-treat problem
- Its Halloween
- Collect large amounts of candy between 6pm and
8pm - Goal Get as much candy as possible
- In what order should you visit houses?
3A travelling repair-bot problem
- Robot receives requests for repair
- Requests come with a time-window for servicing
- Brownie points for each request serviced
- Goal Maximize the total brownie points
- Cannot perform all of them
- Takes time to service each request and move from
one to another - The problem
- Which ones to accept?
- How to schedule them?
Selection
Ordering
4Path-planning
- Informally planning and ordering of tasks
- Classic instance ? Traveling Salesman Problem
- Find the shortest tour covering all given
locations - A natural extension ? Orienteering
- Cover as many locations as possible by a given
deadline
- Many variants, applications
- Delivery distribution problems
- Production planning, Supply chain management
- Robot navigation
- Studied in Operations Research for 2-3 decades
- Mostly NP-hard we look for approximation
algorithms
5Approximation Results
- A reward vs. time trade-off
A quota approximation
OPT
(2 hrs, )
(4 hrs, )
A budget approximation
(2 hrs, )
Reward obtained
Time taken
6Approximation Results
- A reward vs. time trade-off
- A budget on time maximize reward
- Orienteering
- Deadline-TSP
- TSP with Time-Windows
- A quota on reward minimize time
- TSP
- k-TSP
- Min-latency
- Optimize a combination of reward and time
- Prize-Collecting TSP
- Discounted-Reward TSP
single deadline on time different deadlines on
different locations different time windows for
diff. locations
visit all locations visit k locations visit
all minimize sum of times
minimize time plus reward foregone max. reward,
reward decreases with time
7Approximation Results
Joint work with Bansal, Blum, Karger, Meyerson,
Minkoff Lane
- A reward vs. time trade-off
- A budget on time maximize reward
- Orienteering
- Deadline-TSP
- TSP with Time-Windows
- A quota on reward minimize time
- TSP
- k-TSP
- Min-latency
- Optimize a combination of reward and time
- Prize-Collecting TSP
- Discounted-Reward TSP
? ? ?
3 3 log n 3 log2 n
Use structural properties Dynamic Programming
LP-based techniques
1.5 Christofides 76 2? Garg99 AK00
CGRT03 Garg05 3.59 GK96 CGRT03
1.5 Christofides 76 2? Garg99 AK00
CGRT03 Garg05 3.59 GK96 CGRT03
2 Goemans Williamson 92 ?
2 Goemans Williamson 92 6.75?
8Back to Orienteering
- The givens
- A map G of locations, distances, start
location s - Rewards ? on locations
- Deadline D
- To find
- A path that collects as much reward as possible
by - deadline D
9Back to Orienteering why LPs dont work
- Naïve attempt use (a variant of) k-TSP
- Fails when most reward is far from the start
- Algorithms for quota problems rely on the
Goemans-Williamson primal-dual subroutine - Miss out on far-away reward
- Budget problems are ill-behaved w.r.t. small
perturbations - Solution handle the very-low slack case
separately
Bad case low slack
10Formalizing the slack
- Excess of path length of path length of
shortest path - An approx. for excess ? an approx. for
Orienteering
- a-approx to length len(ALG) ? a (shorest-len
excess) - a-approx to excess len(ALG) ? shortest-len a
excess
Given approx for k-TSP Good solution to prefix
of OPT
Given approx for excess Good solution to
suffix of OPT
11Approximating the excess
- Excess of path length of path length of
shortest path - a-approx to length len(ALG) ? a (shortest-len
excess) - a-approx to excess len(ALG) ? shortest-len a
excess - The simple case excess gt shortest-len
- 2-approx to length gives 3-approx to excess
- Solution use k-TSP
- The harder case excess ltlt shortest-len
- examine a slightly different problem
- Suppose OPT visits all nodes in order of
increasing distance from start Find OPT. - Can solve this exactly using dynamic programming!
12Approximating the excess
- The large excess case
- excess gt shortest-len
- Use k-TSP
- The small excess case
- excess 0
- (OPT is monotone)
- Use Dynamic Programming
Gives a (2?)-approximation for Min-Excess
Patch segments using dynamic programming
What about the intermediate case?
OPT
wiggly
wiggly
monotone
monotone
monotone
In order of increasing distance from start
13An algorithm for Orienteering
- Construct a path from s to t, that has length ? D
and collects maximum possible reward - Given a 3-approximation to min-excess
- 1. Divide OPT into 3 equal-reward parts
(hypothetically) - 2. Approximate the part with the smallest excess
- ? 3-approximation to Orienteering
An r-approximation for min-excess gives a
?r?-approximation for Orienteering
Excess of path from u to v ?(u,v) l(u,v)d(u,v)
OPT
v2
v1
ALG
Excess of ALG ? ?1?2?3 Reward of ALG ?
reward of OPT
14So far
- A new problem min-excess
- An approximation to min-excess
- A 3-approximation to Orienteering
- Coming up next
- Planning with deadlines a (3 log
n)-approximation
15Planning with deadlines Deadline-TSP
- The travelling repair-bot problem
- Every node (request) v has a deadline D(v)
- Reward obtained at v, if v is visited before D(v)
- In Orienteering, D(v) D for all nodes v
- Constant approx known for special cases
- points on a line
- Few different deadlines (based on Orienteering)
- Nothing known in general
16Approximating Deadline-TSP
- Our approach
- Divide the problem into Orienteering
sub-problems - Solve these using algorithm developed previously
- When can we use Orienteering?
- If the last vertex visited by OPT has the
smallest deadline - Remove nodes of smaller deadline
- Reduce all other deadlines to the smallest one
- OPT remains unchanged
- Does OPT have a large subpath with this property?
17A pictorial representation of OPT
Good rectangle
Deadline
Can be approximated via Orienteering
Time
18The high-level idea
- A single good rectangle may not contain enough
reward - Idea Approximate many rectangles stitch
together the approximations - Main bottleneck avoiding double-counting of
reward - Divide graph into disjoint subsets Vi
- Approximate the i-th rectangle over Vi
19Avoiding double-counting
- Divide nodes into sets by deadlines
- Guess last node on OPT in each group
- Approximate Orienteering on each group
V4
V3
V2
Deadline
V1
length of seg. 2
length of seg. 3
Time
20Avoiding double-counting
- To visit nodes before deadlines, rectangles must
be disjoint along the time-axis - Still consider the same sets Vi of vertices
- Obtain reward contained in axis-disjoint
rectangles
V4
V3
V2
Deadline
V1
Time
21The disjoint-rectangle argument
- Approximate reward contained in a family of
disjoint rectangles - We construct (log n) families of disjoint
rectangles - The families together contain all the nodes of
OPT - We can approximate the best family via
Orienteering and dynamic programming - Reward obtained ? ? 1/(log n)
- Gives a (3 log n)-approximation
22Deadlines to Time-Windows
- Nodes have release-times as well as deadlines
- Must visit a node within its time-window to
obtain reward - Straightforward extension of Deadline-TSP
algorithm - ? (3 log2 n)-approximation to Time-Windows-TSP
- A bicriteria approximation
- Given any k gt 0, get O(1/k) fraction of reward
- exceed deadlines by a (12-k) factor
- ? O(log Dmax)-approximation
23A recap of our results
- First approximations for Orienteering,
Deadline-TSP, Time-Windows-TSP,
Discounted-Reward-TSP, - Introducing the new min-excess objective and
approximating it
24Open Problems
- Hardness of planning problems
- Approximations for directed path-planning
- Chekuri, Pal give quasi-polytime
polylog-approximations - Dealing with capacity precedence constraints
- Techniques for approximating planning problems on
MDPs
25Questions?