Title: Algorithms for Path-Planning
1Algorithms for Path-Planning
- Shuchi Chawla
- Carnegie Mellon / Stanford Univ.
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
- Mostly NP-hard ?
5Path-planning A brief history
- Studied in Operations Research for the past 20-30
years - (also known as Vehicle Routing)
- Many variants
- multiple vehicles, stochastic demands,
pickup-and-delivery - Techniques for Mixed Integer Programming
- Stochastic planning problems in Robotics and AI
- My focus Approximation algorithms
A 2-approximation half-as-good as OPT
value ? ½ OPT
Find a solution in polynomial-time with value ?
OPT (a ? 1)
1/?
- cutting plane methods ? branch and bound
- simulated annealing ? genetic
algorithms
- Focus mostly on exploration, position
estimation - Some poly-time solvable problems studied e.g.
shortest paths - Linear and Dynamic programming techniques
6Approximation Results
- A reward vs. time trade-off
A quota approximation
OPT
(2 hrs, )
(4 hrs, )
A budget approximation
(2 hrs, )
Reward obtained
Time taken
7Approximation 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-Excess
- 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 k
locations, but minimize excess
minimize time plus reward foregone max. reward,
reward decreases with time
8Approximation 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-Excess
- Optimize a combination of reward and time
- Prize-Collecting TSP
- Discounted-Reward TSP
This talk
? ? ?
3 3 log n 3 log2 n
Use structural properties Dynamic
Programming FOCS03 STOC04
Use LP-rounding
1.5 Christofides 76 2 BRV99 AK00
CGRT03 Garg05 2?
1.5 Christofides 76 2 BRV99 AK00
CGRT03 Garg05 ?
2 Goemans Williamson 92 ?
2 Goemans Williamson 92 6.75?
9Back to candy-collection (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 - NP-hard we want to find an approximation
In poly-time, find a path covering reward ? ? OPT
by deadline D
10Back to Orienteering why LPs dont work
- Naïve attempt use (a variant of) k-TSP
- If there exists a path length , reward ?
- 2-approx to k-TSP gives length ? , reward ?
½D
1/?
OPT
D
OPT
1/?
11Back 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
12Formalizing the slack
- Excess of path length of path length of
shortest path - The Min-Excess problem
- Given a map G, start s, end t, reward quota k
- Find path with reward k that minimizes excess
t
dist(s,t)
1½ hrs.
length
2 hrs.
OPT
excess
l
length shortest distance
½ hr.
Min-Excess approx
2½ hrs.
k-TSP approx
4 hrs.
13Formalizing 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
14Approximating 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!
15Approximating the excess combining them
- 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
FOCS03
Patch segments using dynamic programming
What about the intermediate case?
OPT
wiggly
wiggly
monotone
monotone
monotone
In order of increasing distance from start
16An 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
17So 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
18Planning 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
19Approximating 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?
20A pictorial representation of OPT
Good rectangle
Deadline
Can be approximated via Orienteering
Time
21The 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
22Avoiding 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
23Avoiding 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
24The 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
25Deadlines 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
26A 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
27Open 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
28Questions?