Improved Algorithms for Orienteering and Related Problems Chandra Chekuri, Nitish Korula and Martin Pal Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms (SODA 08) Presented By: Asish Ghoshal The Problem • Given a graph G(V,E) (directed or undirected), two nodes s,t ϵ V and a non-negative budget B, find an s-t walk of total length at most B so as to maximize the number of distinct nodes visited by the walk. • A node may be visited multiple times by the walk but is only counted once in the objective function. • Motivated from real world problems in vehicle routing, robot motion planning. Quick Facts • Is NP-hard • Is APX-hard (cannot be approximated within 1481/1480) • Introduced in 1987 by Bruce L. Golden, Larry Levy, and Rakesh Vohra Introduction • Orienteering belongs to the class of prize collecting TSP. • Given a set of cities with some “prize” associated with each city and given a set of pair wise distances, a salesman needs to pick a subset of cities so as to minimize distance and maximize total reward. • Bi-criteria optimization problem. Introduction • General approach: • Fix one criteria and optimize the other – K-TSP, k-Stroll Fix: No of nodes (total reward) Optimize: distance – Orienteering Fix: Total distance (budget) Optimize: Reward (no of nodes covered) The Story So far • First non-trivial approximation: 2 + Ɛ (Arkin, Mitchell and Narasimhan) for points on Euclidean plane. • 4 (Blum et al) for points on arbitrary metric spaces. • 3 (Bansal et al) • PTAS (K. Chen and Har-peled) for fixed dimensional Euclidean space. Results • Undirected graphs: – Ratio of (2+δ) and running time of nO(1/ δ^2) • Directed Graphs: • Ratio O(log2 OPT) Approach • The basic approach: Approximation of k-stroll -> approximation of minimum excess -> approximation for Orienteering. The MIN_EXCESS Problem • The excess of a path P is defined as the difference between the length of the path L and the shortest distance D between its end points. i.e excess(P) = L – D • Given a weighted graph with rewards, end points s and t, and a reward quota k, find a minimum excess path from s to t collecting reward at least k. MIN_EXCESS (Contd) • If x is the excess of an optimal path, an αapproximation for the minimum-excess problem has length at most: d(t) + αx ≤ α(d(t) + x) and hence gives an α approximation for the minimum length problem. Note: d(t) is the shortest distance between the end points of the path. K-stroll to Orienteering via min-excess 1. In undirected graphs a β-approximation to the k-stroll problem implies a (3 β/2 – ½)approximation to the minimum excess problem (Blum 2003) 2. In directed graphs a β-approximation to the kstroll problem implies a (2β - 1)-approximation to the minimum excess problem. 3. A γ-approximation to the min-excess problem implies a | γ| approximation for orienteering. (Bansal 2004) K-stroll to Orienteering via min-excess • 2 and 3 can be extended to show that an (α,β)-approximation to the k-stroll algorithm for directed graphs gives (α|2β 1|)-approximation for directed orienteering. • Using 1 and 3 and a (1 + δ,2)approximation for the k-stroll problem gives a ((1+ δ)*|2.5|) = (3 + δ)approximation for orienteering. • But we are interested in (2 + δ) approximation. (2 + δ) approach • Begin with k-stroll • Given a metric graph G, with 2 specified vertices s, t and a target k, find an s-t path of minimum length that visits at least k vertices. • Let L be the length of such an optimal path and D be the shortest path distance from s to t. (2 + δ) approach (Contd) • Objective: For any fixed path that visits at least (1-O(δ))k vertices and has total length at most max{1.5D,2L-D} • (Chaudhuri et al 2003) give a polynomial algorithm to find a tree T that spans k vertices containing both s and t, of length at most (1+ Ɛ)L for any Ɛ > 0 • Guesses O(1/Ɛ) vertices s,w1..wm,t such that an optimal path P visits the vertices in the given order and length and distance between any wi-wi+1 is < ƐL. • Assume all edges in T are < ƐL. • Let PTs,t be the path in T from s to t. • L is the shortest s-t path visiting k vertices. • Since length(T)<= (1+Ɛ)L We can double all edges of T not on PTs,t to obtain a path PT from s to t that visits k vertices. Length of PT is 2length(T)-length(PTs,t) <= 2length(T) - D Easy Doubling conditions • If length(T) <= 5D/4 then PT has length at most 3D/2). • Length(PTs,t) >= D+2ƐL then length(PT) <= 2(1+Ɛ)L – (D + 2ƐL) = 2L - D • If the easy doubling conditions are not met it means D <= 4/5(length(T)) and length(PTs,t) >= (1/5 - 2Ɛ)L • Modify the tree T to T’ in the following way: • Greedily decompose the edge set of T\PTs,t into Ω(1/δ) disjoint connected components, each with length in [δL,3δL) • Merge connected components to get T’ • Tree T’ contains a vertex of degree 1 or 2 that corresponds to a component containing at most 32δk vertices. • Remove C • C can either be a leaf or a node with degree 2 and contain at most 32δk vertices. • So we get a tree T’’ of length (1-32δ)k vertices. • If C is not a leaf we get two Trees. • Find the shortest distance between trees. • In either case double edges and we get a tree of length at most 2L-D and we are done. Conclusion • Using results from Orienteering improved results can be obtained for TSP with deadlines and TSP with time windows. References • N. Bansal, A. Blum, S. Chawla and A. Meyerson. Approximation Algorithms for Deadline TSP and Vehicle Routing with time windows. Proc. Of ACM STOC 166174. 2004 • A.Blum, S.Chawla, D. Karger, T.Lane, A. Meyerson and M. Minkoff. Approximation algorithms for Orienteering and disounted reward TSP, SIAM J. On Computing, 37(2):653-670,2007. • K. Chaudhuri, B.Godfrey, S.Rao and K.Talwar. Paths, trees and minimum latency tours. Proc. of IEEE FOCS, 36-45,2003.