algorithms for path-planning shuchi chawla (cmu/stanford/wisconsin) 10/06/05
DESCRIPTION
Algorithms for Path-Planning Shuchi Chawla 3 A 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 OrderingTRANSCRIPT
Algorithms for Path-Planning
Shuchi Chawla(CMU/Stanford/Wisconsin)
10/06/05
Shuchi Chawla2 Algorithms for Path-Planning
A trick-or-treat problem• It’s Halloween…
Collect large amounts of candy between 6pm and 8pm
• Goal: Get as much candy as possible
• In what order should you visit houses?
Shuchi Chawla3 Algorithms for Path-Planning
A 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?
SelectionOrdering
Shuchi Chawla4 Algorithms for Path-Planning
• Informally… planning and ordering of tasks
• Classic instance ― Traveling Salesman ProblemFind the shortest tour covering all given locations
• A natural extension ― Orienteering Cover as many locations as possible by a given deadline
Path-planning
• 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
Shuchi Chawla5 Algorithms for Path-Planning
Approximation Results• A reward vs. time trade-off
Time taken
Rew
ard
obta
ined
A “quota” approximation
A “budget” approximation
OPT
(2 hrs, )
(2 hrs, )
(4 hrs, )
Shuchi Chawla6 Algorithms for Path-Planning
Approximation 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
Shuchi Chawla7 Algorithms for Path-Planning
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]
• 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
2 [Goemans Williamson ’92] ? 2 [Goemans Williamson ’92] 6.75+
Approximation Results
? ? ?
3 3 log n 3 log2 n
LP-based techniques
Use structural properties& Dynamic Programming
Joint work with Bansal, Blum, Karger, Meyerson, Minkoff & Lane
Shuchi Chawla8 Algorithms for Path-Planning
Back to Orienteering• The givens
A “map” G of locations, distances, start location sRewards on locationsDeadline D
• To findA path that collects as much reward as possible by deadline D
Shuchi Chawla9 Algorithms for Path-Planning
Back to Orienteering: why LPs don’t 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
Shuchi Chawla10 Algorithms for Path-Planning
Formalizing the “slack”• Excess of path = length of path – length of
shortest path
• An approx. for excess an approx. for Orienteering
Given approx for k-TSP: Good solution
to prefix of OPT
Given approx for excess: Good solution to suffix of OPT
• -approx to length : len(ALG) (shorest-len + excess)• -approx to excess : len(ALG) shortest-len + excess
Shuchi Chawla11 Algorithms for Path-Planning
– 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!
Approximating the excess• Excess of path = length of path – length of
shortest path
• -approx to length : len(ALG) (shortest-len + excess)
• -approx to excess : len(ALG) shortest-len + excess
• The simple case : excess > shortest-len– 2-approx to length gives 3-approx to excess– Solution: use k-TSP
• The harder case : excess << shortest-len
Shuchi Chawla12 Algorithms for Path-Planning
Approximating the excess• The large excess
case:excess > shortest-len
• Use k-TSP
• The small excess case:excess ≈ 0
(OPT is “monotone”)• Use Dynamic
Programming
Use k-TSPDynamic Program
monotone
monotone
monotone
wiggly wiggly
Patch segments using dynamic programming
OPT
Gives a (2+)-approximation for Min-Excess
In order of increasing distance from start
What about the intermediate case?
Shuchi Chawla13 Algorithms for Path-Planning
• 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 algorithm for Orienteering
Excess of ALG 1+2+3 ; Reward of ALG = ⅓ reward of OPT
1 2
3
Excess of path from u to v
(u,v) = ℓ(u,v)–d(u,v)
An r-approximation for min-excess gives
a r-approximation for Orienteering
v1
v2
OPT
ALG
Shuchi Chawla14 Algorithms for Path-Planning
So 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
Shuchi Chawla15 Algorithms for Path-Planning
Planning 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
Shuchi Chawla16 Algorithms for Path-Planning
Approximating 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?
Shuchi Chawla17 Algorithms for Path-Planning
A pictorial representation of OPT
Time
Dead
line “Good” rectangle
Can be approximated
via Orienteering
Shuchi Chawla18 Algorithms for Path-Planning
The 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
Shuchi Chawla19 Algorithms for Path-Planning
Avoiding double-counting
• Divide nodes into sets by deadlines
• Guess last node on OPT in each group
• Approximate Orienteering on each group
Time
Dead
line
V1
V2
V3
V4
length of seg. 2
length of seg. 3
Shuchi Chawla20 Algorithms for Path-Planning
Avoiding 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
Time
Dead
line
V1
V2
V3
V4
Shuchi Chawla21 Algorithms for Path-Planning
The 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
Shuchi Chawla22 Algorithms for Path-Planning
Deadlines 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 > 0, get O(1/k) fraction of reward
exceed deadlines by a (1+2-k) factor O(log Dmax)-approximation
Shuchi Chawla23 Algorithms for Path-Planning
A 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
Shuchi Chawla24 Algorithms for Path-Planning
Open 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
Questions?