12
Discrete Applied Mathematics ( ) Contents lists available at ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam The Capacitated Orienteering Problem Adrian Bock a,, Laura Sanità b a EPF Lausanne, EPFL SB MATH AA, Station 8, 1015 Lausanne, Switzerland b Combinatorics & Optimization Department, University of Waterloo, 200 University Ave. W, Waterloo, Ontario, Canada, N2L 3G1 article info Article history: Received 21 October 2013 Received in revised form 28 August 2014 Accepted 9 October 2014 Available online xxxx Keywords: Orienteering Vehicle routing Approximation algorithms abstract In the Orienteering Problem, we are given an undirected, metric graph G = (V , E), starting and end nodes s, t V , node profits π : V N and a length bound D. The goal is to find an st path of length at most D that collects maximum profit. The Orienteering Problem is a fundamental network design problem and efficient algorithms for this problem have often been used as subroutine to develop efficient algorithms for a wide number of vehicle routing problems. The focus of this paper is on a natural generalization in which we also consider node demands r : V N and a capacity bound C . The goal is to find an st path of length at most D that collects maximum profit from nodes whose total demand does not exceed the capacity bound C . We give a (3 + ε)-approximation algorithm for the Capacitated Orienteering Problem in general graphs, which improves over the previously best known approximation bound. We further obtain a PTAS on trees and a PTAS on Euclidean metrics. As one may expect, there is a number of capacitated vehicle routing problems where the Capacitated Orienteering Problem appears as subroutine. As a byproduct of our analysis, we develop new approximation results for some of those problems. © 2014 Elsevier B.V. All rights reserved. 1. Introduction In the Orienteering Problem (OP), we are given an undirected complete graph G = (V , E ) with metric distances d : E N on the edges, starting and end nodes s, t V , node profits π : V N and a length bound D. The goal is to find an st path P = (V P , E P ), subject to the length constraint eE P d(e) D, that maximizes the profit vV P π(v) collected by the visited nodes. OP is a fundamental network design problem with high theoretical and practical relevance. The problem is widely studied in the literature for approximation, exact, and heuristic algorithms [12–14,24]. Indeed, there is a long list of vehicle routing problems, for which efficient algorithms rely on applying algorithms for OP as a subroutine (e.g. Deadline-TSP [6], Distance- constrained Vehicle Routing Problem [22], School Bus Problem [8]). In this paper, we focus on a natural generalization of OP, in which the selected path has to satisfy a second budget constraint besides the length bound. Given node demands r : V N and a capacity bound C N, we look for a path P that maximizes vV P π(v) and that satisfies both constraints eE P d(e) D and vV P r (v) C . We refer to this problem as the Capacitated Orienteering Problem (COP). Corresponding author. Tel.: +41 21 693 27 39; fax: +41 21 693 58 40. E-mail addresses: [email protected] (A. Bock), [email protected] (L. Sanità). http://dx.doi.org/10.1016/j.dam.2014.10.001 0166-218X/© 2014 Elsevier B.V. All rights reserved.

The Capacitated Orienteering Problem

  • Upload
    laura

  • View
    219

  • Download
    5

Embed Size (px)

Citation preview

Page 1: The Capacitated Orienteering Problem

Discrete Applied Mathematics ( ) –

Contents lists available at ScienceDirect

Discrete Applied Mathematics

journal homepage: www.elsevier.com/locate/dam

The Capacitated Orienteering ProblemAdrian Bock a,∗, Laura Sanità b

a EPF Lausanne, EPFL SB MATH AA, Station 8, 1015 Lausanne, Switzerlandb Combinatorics & Optimization Department, University of Waterloo, 200 University Ave. W, Waterloo, Ontario, Canada, N2L 3G1

a r t i c l e i n f o

Article history:Received 21 October 2013Received in revised form 28 August 2014Accepted 9 October 2014Available online xxxx

Keywords:OrienteeringVehicle routingApproximation algorithms

a b s t r a c t

In the Orienteering Problem, we are given an undirected, metric graph G = (V , E), startingand end nodes s, t ∈ V , node profits π : V → N and a length bound D. The goal is to findan s–t path of length at most D that collects maximum profit. The Orienteering Problemis a fundamental network design problem and efficient algorithms for this problem haveoften been used as subroutine to develop efficient algorithms for a wide number of vehiclerouting problems.

The focus of this paper is on a natural generalization in which we also consider nodedemands r : V → N and a capacity bound C . The goal is to find an s–t path of length atmost D that collects maximum profit from nodes whose total demand does not exceed thecapacity bound C .

We give a (3 + ε)-approximation algorithm for the Capacitated Orienteering Problemin general graphs, which improves over the previously best known approximation bound.We further obtain a PTAS on trees and a PTAS on Euclidean metrics.

As onemay expect, there is a number of capacitated vehicle routing problemswhere theCapacitatedOrienteering Problemappears as subroutine. As a byproduct of our analysis, wedevelop new approximation results for some of those problems.

© 2014 Elsevier B.V. All rights reserved.

1. Introduction

In theOrienteering Problem (OP),we are given anundirected complete graphG = (V , E)withmetric distances d : E → Non the edges, starting and end nodes s, t ∈ V , node profits π : V → N and a length bound D. The goal is to find an s–t pathP = (VP , EP), subject to the length constraint

e∈EP

d(e) ≤ D, that maximizes the profit

v∈VPπ(v) collected by the visited

nodes.OP is a fundamental network design problemwith high theoretical and practical relevance. The problem iswidely studied

in the literature for approximation, exact, and heuristic algorithms [12–14,24]. Indeed, there is a long list of vehicle routingproblems, for which efficient algorithms rely on applying algorithms for OP as a subroutine (e.g. Deadline-TSP [6], Distance-constrained Vehicle Routing Problem [22], School Bus Problem [8]).

In this paper, we focus on a natural generalization of OP, in which the selected path has to satisfy a second budgetconstraint besides the length bound. Given node demands r : V → N and a capacity bound C ∈ N, we look for a pathP that maximizes

v∈VP

π(v) and that satisfies both constraints

e∈EPd(e) ≤ D and

v∈VP

r(v) ≤ C . We refer to thisproblem as the Capacitated Orienteering Problem (COP).

∗ Corresponding author. Tel.: +41 21 693 27 39; fax: +41 21 693 58 40.E-mail addresses: [email protected] (A. Bock), [email protected] (L. Sanità).

http://dx.doi.org/10.1016/j.dam.2014.10.0010166-218X/© 2014 Elsevier B.V. All rights reserved.

Page 2: The Capacitated Orienteering Problem

2 A. Bock, L. Sanità / Discrete Applied Mathematics ( ) –

Gupta et al. [18] have recently shown that there is a constant factor approximation algorithm for COP. In particular, theydesign a 2α-approximation algorithm for COP, relying on an α-approximation algorithm for OP as a subroutine. Using thecurrently best known approximation algorithm for OP given by Chekuri et al. [12] with factor (2+ ε), their result translatesinto a (4 + ε)-approximation algorithm for COP.

In this paper, we give a (1 + α + ε)-approximation algorithm for COP, relying on an α-approximation algorithm for OPas a subroutine. Using the result of [12], this implies an approximation guarantee of (3 + ε), improving over [18].

We also give a Polynomial Time Approximation Scheme (PTAS) for COP on tree metrics and on Euclidean metrics. Bothresults rely on dynamic programming combined with a feasibilization method introduced by Grandoni et al. [17]. The PTASfor COP on Euclidean metrics builds upon the corresponding known result for OP by Chen and Har-Peled [13].

Additionally, we observe that for some capacitated vehicle routing problems, good approximation algorithms can be builtupon the existence of good approximation algorithms for COP.

A first extension considers a fleet of M capacitated vehicles that can be used to collect profits. This is the so-calledCapacitated Team Orienteering Problem (CTOP) that is motivated by several applications in logistics [3]. As an example,consider a carrier that has to select the most profitable customers whose demands can be served by his capacitated fleet ofvehicles.

A variation of this problem is the Capacitated Team Orienteering with Split Deliveries (SDCTOP) [2], which is defined asCTOP but with the difference that a customer’s demand can be served by more than one vehicle (split delivery). Motivationfor studying this problem comes from the fact that in some applications important savings can be achieved if a customer canbe served by more than one vehicle (see [5]). Both CTOP and SDCTOP have been studied intensively in terms of heuristicsand exact algorithms, but there is no rigorous analysis of the complexity of these problems in terms of approximationalgorithms. We give a constant factor approximation algorithm for both problems, using our approximation results forCOP.

Another application concerns the Distance-constrained Vehicle Routing Problem (DVRP). This problem asks for the min-imum number of paths respecting both a length bound D and a capacity bound C that is necessary to serve all customerdemands. Nagarajan and Ravi [22] obtained a min{O(log n),O(logD)}-approximation algorithm, where n denotes the num-ber of customers. Recently, a O

logD

log logD

-approximation algorithmwas presented by Friggstad and Swamy [15]. Combining

our results with the greedy algorithm for the set cover problem, we easily obtain an O(log C) approximation.

1.1. Related work

OPwas introduced byGolden et al. [16] and is NP-hard already on star graphs. However, it admits a (2+ε)-approximationalgorithm for general metrics [12] and a PTAS for Euclidean metrics [13].1 Gupta, Krishnaswamy, Nagarajan and Ravi [18]give approximation algorithms for a stochastic version of OP. Among their results, they obtain a (4 + ε)-approximationalgorithm for COP (which they call Knapsack Orienteering).

A survey on routing problemswith profits is due to Feillet, Dejax, Gendreau [14]. Recently, Vansteenwegen, Souffriau andVanOudheusden [24] gave a survey on heuristics for OP and related problems. Butt and Cavalier [10] introduced theMultipleTour Maximum Collection Problem which is the natural extension to a fleet of vehicles. This problem was first referred toas Team Orienteering Problem by Chao, Golden and Wasil [11]. Recent heuristics for the Team Orienteering Problem werepresented by Tang, Miller-Hooks [23] and by Archetti, Hertz and Speranza [4], whereas an exact algorithm was presentedby Boussier, Feillet, Gendreau [9].

The CTOP was first studied by Archetti et al. [3] who described heuristics and a branch-and-price algorithm. The algo-rithms were extended to SDCTOP by Archetti et al. [2]. They also showed that by allowing split deliveries, the profit of theoptimal solution can be at most twice as large as the optimal profit for CTOP.

2. Constant approximation algorithm for general graphs

Recall that an α-approximation algorithm for a maximization problem is a polynomial time algorithm that returns, forany instance of the problem, a feasible solution whose objective value is at least 1

αtimes the value of an optimal solution.

In this section, we present a (3+ε)-approximation algorithm for COP.We letαop be the best approximation factor knownfor the OP. The result follows from Theorem 1 and the (2 + ε)-approximation algorithm for OP due to [12].

In the following, we use the notation r(W ) :=

v∈W r(v) and analogously π(W ) :=

v∈W π(v) for any subset of nodesW . For a given path P , we denote by VP the nodes of P and by EP its edges. With a slight abuse of notation, we shortenr(VP) and π(VP) to r(P) and π(P) respectively. Without loss of generality,2 we assume in the following that π(v)

r(v)≥ 1 for all

nodes v.

1 In fact, the result in [13] is given for unit profit values but it can be generalized to arbitrary profits by simply scaling the profits (cf. [7]).2 This can be achieved e.g. by removing from G nodes with zero profit (if any) and bymultiplying all profits by the product of all non zero demand values.

Page 3: The Capacitated Orienteering Problem

A. Bock, L. Sanità / Discrete Applied Mathematics ( ) – 3

Algorithm 1 INPUT: instance (G, d, π, r, C,D) of COP and ε ∈ (0, 1)

1: Compute a family S := {S ⊆ V \ {s, t} : |S| ≤ ⌊1δ⌋} of all possible node subsets of cardinality at most 1

δ, where δ :=

ε3+ε

.

2: For each S ∈ S with |S| < ⌊1δ⌋, do:

- Compute the minimum-length path PS from s to t that visits the nodes in S (and no other node) by enumerating allpossible ordered sequences of the vertices in S.

3: For each S ∈ S with |S| = ⌊1δ⌋, do:

- Apply Algorithm 2 with input (G, d, π, r, C,D), δ, and S. Let PS be the path returned by Algorithm 2.4: Output argmaxS∈S{π(PS) : PS is feasible for (G, d, π, r, C,D)}.

Algorithm 2 INPUT: instance (G, d, π, r, C,D), δ ∈ (0, 1), and a node subset S1: Preprocess the instance by eliminating from G all the nodes v /∈ S with r(v) > minw∈S r(w)

2: Set δ :=δ

1−δ, k :=

log(1+δ)

max

v:r(v)>0

π(v)

r(v)

, Puncap := {s, t}, Pcap := ∅ and i := k

3: WHILE (Pcap = ∅ and i ≥ 0)

- For all v ∈ V , define new profit values π (i)(v) :=

π(v) if r(v) = 0π(v) if π(v)

r(v)≥ (1 + δ)i

0 otherwise- Apply an αop-approximation algorithm to the OP instance (G, d, π (i),D), that returns a path P- IF r(P) ≤ C THEN Set Puncap := P , ELSE Set Pcap := P

- Set i := i − 14: If Pcap = ∅, repeat removing the node v in VPcap of smallest demand r(v) (and shortcut the resulting path accordingly),

until r(Pcap) ≤ C

5: RETURN PS :=argmaxπ(Puncap), π(Pcap)

Theorem 1. For any 1 > ε > 0, Algorithm 1 is a (1 + αop + ε)-approximation algorithm for COP.Proof. Given an instance (G, d, π, r, C,D) of COP, we let P∗ denote the optimal solution.

We will first argue that Algorithm 1 returns a feasible solution to the instance (G, d, π, r, C,D) whose value is at leastπ(P∗)

(1+αop+ε), and later we will argue about its running time.

Claim 1. The solution output by Algorithm 1 is feasible and collects a total profit ≥ (1 + αop + ε)−1· π(P∗).

Proof. We distinguish two cases depending on the cardinality of |VP∗ |.Observe that if |VP∗ \ {s, t}| < ⌊

1δ⌋, then Algorithm 1 will compute a path PS of minimum length visiting the nodes VP∗

during Step 2 for S = VP∗ \ {s, t}. It follows that such path PS is feasible and has profit equal to π(P∗), and therefore thesolution output by the algorithm has profit ≥ π(PS) = π(P∗).

From now on, we focus on the case |VP∗ \ {s, t}| ≥ ⌊1δ⌋. Consider the set S∗ given by the ⌊

1δ⌋-cardinality subset of nodes

with highest demand values in the set VP∗ \ {s, t}. In other words, consider a set S∗⊆ VP∗ \ {s, t} with |S∗

| = ⌊1δ⌋ that

satisfies the following property: for any u ∈ S∗ and any v ∈ (VP∗ \ {s, t}) \ S∗, we have r(v) ≤ r(u).This set S∗ will be considered in some iteration of Step 3 in Algorithm 1. When this happens, Algorithm 2 will return a

path PS∗ .We now show that such path PS∗ is feasible for our instance (G, d, π, r, C,D) and has profit≥ (1+αop+ε)−1·π(P∗).

This will conclude the proof of our claim, since it implies that at Step 4 Algorithm 1 returns a feasible solution of total profitat least as high as the profit of PS∗ .

Consider Algorithm 2 applied on (G, d, π, r, C,D) and the S∗. In the preprocessing step, we first eliminate all the nodesv ∈ S∗ with r(v) > minw∈S∗ r(w). Note that no such node can be contained in VP∗ by our definition of S∗.

Algorithm 2 then executes the WHILE loop for a number of (at most k + 1) iterations. In iteration i, it only considers thesubset of nodes of the graph whose profit per demand ratio is at least (1+ δ)i, and computes a path using an approximationalgorithm for OP, therefore ignoring capacity bound. If the resulting path P respects the capacity bound C , this path will bestored as the last feasible path (Puncap) found using the approximation algorithm for OP.

From iteration to iteration, the algorithm enlarges the set of considered nodes until either all nodes have been considered(i < 0) or it finds a path P with r(P) > C . In the latter case, the algorithm stores this path (Pcap), and in both cases it exitsthe WHILE loop.

Let i∗ be the value of the index i at the end of Algorithm 2. If i∗ < 0, then the path Puncap is an αop-approximate solutionfor COP, because it respects the capacity bound (and therefore it is a feasible path) and because all nodes in our instancewere considered since the profits π (0)

≡ π . Therefore the bound on the approximation guarantee simply follows from theapproximation guarantee of the αop-approximation algorithm for OP.

Page 4: The Capacitated Orienteering Problem

4 A. Bock, L. Sanità / Discrete Applied Mathematics ( ) –

Thus we can focus on the case i∗ ≥ 0, i.e. the WHILE loop was exited because some path Pcap = ∅ was found. In thiscase, by the end of the WHILE loop execution, the algorithm has stored two paths: Puncap that is a feasible path for our COPinstance, and Pcap that, in contrast, is not feasible since the capacity bound is not respected. For this reason, Algorithm 2modifies Pcap in step 4 by greedily discarding the nodes of smallest demand until it becomes a feasible path. The algorithmthen outputs the more profitable path among Puncap and Pcap.

Before going into the details of our analysis, we observe that the following inequality holds after step 4 of Algorithm 2:

r(Pcap) ≥ (1 − δ)C . (1)

To see this, recall that in step 4 of Algorithm 2, we will never discard nodes in S∗ (if any) from Pcap, since these nodes havehigh demand value and r(S∗) ≤ C holds. Consequently, we only discard nodes v with demand r(v) ≤ r(u) for all u ∈ S∗.Note that if r(v) > δC , then r(u) > δC for all u ∈ S∗ would hold by our choice of S∗, leading to a violation of the capacitybound C for the path P∗, a contradiction. It follows that r(v) ≤ δC for all v ∈ S∗ and therefore r(Pcap) ≥ (1− δ)C holds. Thisinequality will be used later in our analysis.

We define

V+(i∗) :=

v ∈ VP∗ :

π(v)

r(v)≥ (1 + δ)i

∗+2

V−(i∗) :=

v ∈ VP∗ :

π(v)

r(v)< (1 + δ)i

∗+2

.

Trivially, π(P∗) = π(V+(i∗)) + π(V−(i∗)). We are now going to give a bound on both π(V+(i∗)) and π(V−(i∗)).Our first claim is that

π(V+(i∗)) ≤ αopπ(Puncap). (2)

If i∗ = k − 1, then V+(i∗) = ∅ and Puncap is simply the edge {s, t}, so the claim is trivially satisfied. Otherwise, the pathPuncap has been foundwhile solving the OP instance (G, d, π (i∗+2),D). Note that P∗ is a feasible solution for (G, d, π (i∗+2),D).Therefore, π(Puncap) ≥

1αop

π (i∗+2)(P∗) =1

αopπ(V+(i∗)).

Our second claim is that

π(V−(i∗)) ≤ (1 + δ)2π(Pcap). (3)

To see this, first observe that π(V−(i∗)) =

v∈V−(i∗)π(v)

r(v)· r(v) ≤ (1 + δ)i

∗+2

· C by definition and feasibility of P∗. Then,

observe that π(Pcap) =

v∈VPcapr(v) ·

π(v)

r(v)≥ (1− δ)C(1+ δ)i

∗+1. This is because Pcap only contains nodes with a profit per

demand ratio of at least (1+ δ)i∗+1 and because inequality (1) implies that its total demand is r(Pcap) ≥ (1− δ)C . Therefore,

π(V−(i∗)) ≤ C · (1 + δ)i∗+2

≤1

1 − δ(1 + δ)π(Pcap) = (1 + δ)2π(Pcap).

Combining (2) and (3), we now conclude that

π(P∗) = π(V+(i∗)) + π(V−(i∗))≤ αop · π(Puncap) + (1 + δ)2 · π(Pcap)

≤ (1 + ε + αop)maxπ(Puncap), π(Pcap)

. �

Finally, let us argue about the running time of Algorithms 1 and 2.

Claim 2. Algorithm 2 runs in time polynomial in the size of the instance (G, d, π, r, C,D).

Proof. Steps 1, 2, 4 and 5 can be performed in time polynomial in the size of (G, d, π, r, C,D). Each execution of the WHILEloop requires to approximately solve an OP instance that can be constructed in polynomial time. Finally, note that we exitthe WHILE loop after at most k + 1 iterations, and since δ =

ϵ3 is a fixed constant, k = O(log(πmax)) if we denote by πmax

the maximum profit of a node, that is, k is polynomially bounded in the size of (G, d, π, r, C,D). �

Claim 3. Algorithm 1 runs in time polynomial in the size of the instance (G, d, π, r, C,D).

Proof. In Step 1, we set δ :=ε

3+εand therefore for any fixed ε, δ is a fixed small constant. Consequently, the cardinality |S|

is polynomial in n, and we can compute the family S by enumerating all possible node subsets in time polynomial in |V |.In Step 2, we consider every possible element S ∈ S of cardinality less than ⌊

1δ⌋, that is a constant, and we compute

a minimum-length path PS visiting s, t and S. Since |S| is bounded by a constant we can compute this path by trying allpossible ordering for the nodes in S, therefore also Step 2 can be performed in time polynomial in |V |.

Page 5: The Capacitated Orienteering Problem

A. Bock, L. Sanità / Discrete Applied Mathematics ( ) – 5

Step 3 requires to performAlgorithm2 for each subset S ∈ S of cardinality ⌊1δ⌋. Aswe have already argued, the number of

such subsets is polynomial in |V |, and since Algorithm 2 runs in polynomial time, it follows that also Step 3 can be performedin polynomial time. The same observation applies for Step 4. �

This concludes the proof of Theorem 1. �

3. Preliminaries for a PTAS

We recall that a polynomial time approximation scheme (PTAS) for a maximization problem is an algorithm that, given aninstance of the problem and a value ε > 0, returns a feasible solution of value at least (1 − ε) times the value of an optimalsolution. The running time is polynomial in the input size for any fixed constant ε. A fully polynomial time approximationscheme (FPTAS) requires that the running time is polynomial in both the input size and 1

ε.

Both the results for tree metrics and for Euclideanmetrics developed in the next sections rely on dynamic programming.However, the running time will depend on the total profit of the nodes π(V ) and the capacity bound C . Since these valuesare in general not polynomial in the input size, the running time of the dynamic programwould not be polynomial. We hereshow how we can overcome these obstacles.

The next lemma shows that we can restrict our attention to the case where the profits are polynomially bounded in theinput size by preprocessing our instance using standard scaling and rounding techniques (see e.g. [25]). In the following wedenote the size of a given instance I = (G, d, π, r, C,D) of COP by |I|.

Lemma 1. Suppose to have an algorithm A that returns a feasible solution to a given instance I = (G, d, π, r, C,D) of COPwhose value is at least (1 − δ) times the optimal value for every δ > 0, and that runs in time polynomial in (|I| · π(V )) for δfixed. Then there is a PTAS for COP.

Furthermore, if A runs in time polynomial in (|I| · π(V )) and 1δ, then there is an FPTAS for COP.

Proof. In order to show that there is a PTAS for COP, we have to design an algorithm A′ that for any fixed ε > 0, finds afeasible path P with π(P) ≥ (1 − ε)π(P∗) for a given instance (G, d, π, r, C,D) of COP with optimal solution P∗, and thatruns in time polynomial in |I|.

For each node v, let Psvt denote the s–t path formed by the edges {s, v} and {v, t}. Algorithm A′ performs the followingsteps.1. Setπmax := maxv∈V {π(v) : Psvt is feasible} and remove all vertices uwithπ(u) > πmax from the instance. Set K :=

επmax2n

where n = |V |. For each v ∈ V , define π(v) :=

π(v)

K

.

2. Apply algorithm A to the instance (G, d, π , r, C,D) with δ := ε/2, and output the path P found by algorithm A.Clearly the path P is feasible for the instance (G, d, π, r, C,D). We now compare its profit valuewith the profit of P∗. Note

that the nodes removed from G in step 1 are surely not contained in VP∗ , since they are not contained in any feasible path.Furthermore, P∗ defines as well a feasible solution for the instance (G, d, π , r, C,D). Let P∗ denote the optimal solution tothe instance (G, d, π , r, C,D). We get

π(P) ≥ K π(P) ≥ (1 − δ)K π(P∗) ≥ (1 − δ)K π(P∗) = (1 − δ)K

v∈VP∗

π(v)

≥ (1 − δ)

v∈VP∗

(π(v) − K) ≥ (1 − δ)(π(P∗) − Kn) = (1 − δ)π(P∗) −

ε

2πmax

≥ (1 − δ)

1 −

ε

2

π(P∗) ≥ (1 − ε)π(P∗)

where we used the fact that π(P∗) ≥ πmax, since π(P∗) ≥ π(Psvt) for all feasible paths Psvt .Finally, we argue about the running time of our algorithm. Algorithm A′ relies on applying algorithm A to our modified

instance (G, d, π , r, C,D). Note that π(V ) = O(n2/ε), and thereforeA has a running time polynomial in |I|, yielding thatA′

is polynomial in |I| and hence is a PTAS for COP. Observe that if the running time of algorithm A depends only polynomiallyon 1

δ, then we obtain an FPTAS for COP. �

We now show how to proceed if the capacity bound C is not polynomially bounded in the input size. To overcome thisdifficulty, we rely on a feasibilizationmethod introduced in [17].

Lemma 2. Suppose to have an algorithm A that returns a feasible solution to a given instance I = (G, d, π, r, C,D) of COPwhose value is at least (1 − δ) times the optimal value for every δ > 0, and that runs in time polynomial in (|I| · C) for δ fixed.Then there is a PTAS for COP.

Proof. We want to design an algorithm A′ that, for a fixed ε > 0, finds a feasible path P with π(P) ≥ (1 − ε)π(P∗) fora given instance (G, d, π, r, C,D) of COP with optimal solution P∗ and that runs in time polynomial in |I|. Algorithm A′

performs the following steps.1. Set δ := ε/2, and construct a family S containing all possible subsets of nodes of cardinality at most 1

δ.

Page 6: The Capacitated Orienteering Problem

6 A. Bock, L. Sanità / Discrete Applied Mathematics ( ) –

2. For each subset S ∈ S, construct a suitable modified COP instance (G, d, π ′, r ′, C ′,D) and apply algorithm A to find ans–t path PS .

3. Output argmaxS∈S{π(PS) : PS is feasible for (G, d, π, r, C,D)}.

We first describe how to construct an instance (G, d, π ′, r ′, C ′,D) for a given set S in step 2, and then argue about theprofit of the output path in step 3.

The capacity bound and the demands are scaled and rounded as follows. Let C := C −

v∈S r(v) and cmax :=

maxv∈S:r(v)≤C r(v). For K :=δn cmax, we set C ′

:=

(1 − δ)

min{C,ncmax}K

. Moreover, we define new demand values for the

nodes by setting r ′(v) := 0 for v ∈ S and r ′(v) :=

r(v)

K

otherwise. Note that this scaling and rounding operation yields a

modified capacity bound C ′= O(n2/δ).

In addition, we define new profit values π ′ as follows:

• π ′(v) := 0 for all v ∈ S such that π(v) > minu∈S π(u);• π ′(v) := 0 for all v ∈ S such that r(v) > cmax;• π ′(v) := π(v) otherwise.

The above operations yield the instance (G, d, π ′, r ′, C ′,D).We now show that the path output by Algorithm A′ in step 3 has a profit ≥ (1 − ε)π(P∗).We prove this by considering the set S∗ that contains the 1

δ-subset of nodes of VP∗ of highest profit value. This set S∗ will

be considered in some iteration of step 2 in our algorithm, and Algorithm A returns a path P := PS∗ for the correspondingmodified instance (G, d, π ′, r ′, C ′,D).Wenowargue that P is feasible for (G, d, π, r, C,D) and has profit at least (1−ε)π(P∗).

The bound on the length is clearly satisfied for P . The feasibility with respect to the capacity constraint remains to beshown.

We have:

r(P) ≤ r(S∗) + r(P \ S∗) ≤ r(S∗) + Kr ′(P \ S∗) + Kn≤ r(S∗) + KC ′

+ δcmax

≤ r(S∗) + (1 − δ)(C − r(S∗)) + δcmax ≤ C .

Finally, we show that P collects profit π(P) ≥ (1 − ε)π(P∗). Our analysis follows the steps in [17].First, observe that π ′(P∗) = π(P∗) holds by construction, since the definition of S∗ implies that we only set to zero

the profits of the nodes that are surely not contained in P∗. We now describe how the optimal path P∗ can be modifiedto a path P ′ that is feasible for the modified instance (G, d, π ′, r ′, C ′,D) by dropping some selected nodes of P∗ such thatπ(P ′) ≥ (1 − δ)π(P∗) holds. This follows the ideas of the greedy algorithm for the Knapsack problem [20].

Consider the following process: We remove from P∗ the nodes in P∗\ S∗ with smallest ratio π ′(v)/r ′(v) until we get a

path P ′ that satisfies r ′(P ′) ≤ C ′. LetW := P∗\P ′ denote the set of removed nodes and letw∗

∈ W be the last removed node.Observe that π ′(P∗

\S∗)

r ′(P∗\S∗)≥

π ′(W\w∗)

r ′(W\w∗)since we remove nodes with smallest ratio first.

It follows that π ′(W \ w∗) ≤r ′(W\w∗)

r ′(P∗\S∗)· π ′(P∗

\ S∗) ≤ δπ ′(P∗\ S∗) and thus

π ′(W ) ≤ δπ ′(P∗\ S∗) + max

v∈P∗\S∗π ′(v).

Note that P ′ is a feasible solution for the instance (G, π ′, r ′, C ′,D) which contains the nodes P∗\ W . It holds that

π ′(P ′\ S∗) = π ′(P∗

\ (S∗∪ W ))

= π ′(P∗\ S∗) − π ′(W )

≥ (1 − δ)(π ′(P∗) − π ′(S∗)) − maxv∈P∗\S∗

π ′(v)

= (1 − δ)(π(P∗) − π(S∗)) − maxv∈P∗\S∗

π ′(v).

We thus obtain:

π(P ′) = π(S∗) + π(P ′\ S∗) = π(S∗) + π ′(P ′

\ S∗)

≥ π(S∗) + (1 − δ)(π(P∗) − π(S∗)) − maxv∈P∗\S∗

π ′(v).

Note that maxv∈P∗\S∗ π ′(v) ≤ δπ(S∗) by construction of S∗. Therefore

π(P ′) ≥ π(S∗) + (1 − δ)π(P∗) − (1 − δ)π(S∗) − δπ(S∗) ≥ (1 − δ)π(P∗).

Observe that the optimal value of the modified instance (G, π ′, r ′, C ′,D) is thus at least π ′(P ′). By the guarantee of A, wehave π(P) = π ′(P) ≥ (1 − δ)π ′(P ′) = (1 − δ)π(P ′) and hence

π(P) ≥ (1 − δ)π(P ′) ≥ (1 − δ)2π(P∗) ≥ (1 − ε)π(P∗).

Page 7: The Capacitated Orienteering Problem

A. Bock, L. Sanità / Discrete Applied Mathematics ( ) – 7

(a) Original instance. (b) After modification.

Fig. 1. Modification along the unique s–t-path. The optimum s–t-walk in the original instance is indicated in blue whereas the equivalent, optimumclosed walk around s in the modified instance is shown in red. Note that in the modified instance, the black edges on the unique s–t-path have weight0. The selected vertices whose demand is fulfilled and whose profit is thus collected are indicated in blue and red, respectively. (For interpretation of thereferences to color in this figure legend, the reader is referred to the web version of this article.)

Finally, we argue about the running time of our algorithm. Note that A runs in time polynomial in (|I| ·C ′) and thereforein time polynomial in |I|, andwe apply such an algorithm in step 2 atmostO(n

2ε ) times, i.e. once for every possiblemodified

instance obtained by a different node subset S of cardinality 2/ε. The result follows. �

We conclude this section observing that the proofs of the two lemmas above can be combined and yield the followingcorollary, that will be used in the following two sections to show the existence of a PTAS for COP both on tree metrics andEuclidean metrics.

Corollary 1. Suppose to have an algorithm A that returns for every δ > 0 a feasible solution to a given instance I =

(G, d, π, r, C,D) of COPwhose value is at least (1−δ) times the optimal value and that runs in time polynomial in (|I| ·π(V ) ·C)for δ fixed. Then there is a PTAS for COP.

4. A PTAS for tree metrics

Given a complete graph G = (V , E) with metric edge distances d, we say that d is a tree metric if there exists a spanningtree T = (V , F) of G with the following property: d(e) = dT (u, v) for all e = {u, v} ∈ E where dT (u, v) is the length of theunique u–v path in T .

When dealing with tree metrics, it is useful to think about COP in a slightly different but equivalent way: Given a treeT = (V , F) with node profits and demands, edge weights d : F → N and two nodes s and t , we ask for a walk P between sand t in T that collects maximum profit from (a subset of) the nodes contained in P and that satisfies both a length boundD and the capacity bound C . It is straightforward to see that this is equivalent to asking for a path between s and t in themetric completion of T .

We denote in the following n := |V | and Π :=

v∈V π(v). Moreover, for any two nodes u, v ∈ V we denote the uniqueu–v path in T by Puv .

Theorem 2. COP on tree metrics can be solved in time O(nΠ2C2).

Proof. Before describing the algorithm, we need to state some observations.Suppose to have a tree graph T and a walk P that is a feasible solution for a given COP instance. It can easily be seen that

P visits the edges of the unique s–t path Pst in T exactly once and every other edge in P exactly twice. Therefore, we couldset the length of the edges of path Pst to zero and hence reduce the problem to finding a closed walk starting and ending atnode s of length ≤ R := D − d(Pst) that collects maximum profit from nodes whose total demand does not exceed capacitybound C (see Fig. 1). In the following, such a closed walk will be referred to as a tour from s. By adding edges of zero lengthand nodes with zero profit and unit demand (see Fig. 2), we can also assume that tree T is binary.

Consider the following dynamic program. We have table entries Av[k, c] storing the length of the shortest tour from v inthe subtree below v that collects profit at least k using at most c units of capacity. We initialize the table for each v ∈ V asfollows:

Av[k, c] =

0 if k = 0 and c arbitrary;0 if c ∈ {r(v), . . . , C} and k ≤ π(v);

+∞ otherwise.

Note that we are interested in values of c up to C , and of k up toΠ =

v π(v). We consider the tree rooted at s and computetable entries bottom up, i.e. the entry for a node w is computed as soon as the table entries for its two children v1 and v2have been computed. We can either collect the profit of w and decrease the capacity according to its demand or ignore it.

Page 8: The Capacitated Orienteering Problem

8 A. Bock, L. Sanità / Discrete Applied Mathematics ( ) –

(a) Original tree. (b) Resultant binary tree.

Fig. 2. Modifications to obtain a binary tree. Profits are indicated in red, demands in blue and edge weights in black. (For interpretation of the referencesto color in this figure legend, the reader is referred to the web version of this article.)

In both cases we have to consider all possible ways to split profit k and capacity c among its two children. We set

Aw[k, c] = min

Aw[k, c]Avi [k, c] + 2d(vi, w) for i = 1, 2Avi [k − π(w), c − r(w)] + 2d(vi, w) for i = 1, 2(A)(B)

where(A) := min k′=1,...,k−1,

and c′=0,...,c

Av1 [k

′, c ′] + 2d(v1, w) + Av2 [k − k′, c − c ′

] + 2d(v2, w)

(B) := min k′=1,...,k−π(w)−1and c′=0,...,c−r(w)

Av1 [k

′, c ′] + 2d(v1, w) + Av2 [(k − π(w)) − k′, (c − r(w)) − c ′

] + 2d(v2, w).

Value (A) corresponds to combining tours rooted at v1 and v2 to a cheapest tour of capacity c and profit k without con-sidering w, while (B) incorporates a profit of π(w) for including w in the set of nodes whose profit is collected by our walk.

Once the root of the tree is processed, the maximum value of k is output such that As[k, C] ≤ R.Every node in the tree is processed exactly once by the dynamic program. The running time is O(Π2C2) to compute the

minimum for each table entry and thus we obtain the overall running time of O(nΠ2C2) claimed before. �

An instance of OP can be seen as an instance of COP where C = |V | and r(v) = 1 for every node v. Therefore, Theorem 2and Lemma 1 imply the following result that has also been observed in [1].

Corollary 2. There is an FPTAS for OP on tree metrics.

Similarly, we can combine Theorem 2 with Corollary 1 to obtain the main result of this section.

Theorem 3. There is a PTAS for COP on tree metrics.

5. A PTAS for COP in the plane

The aim of this section is to give a PTAS for COP in the plane extending the result by [13] who considered the case whereπ ≡ 1, r ≡ 1, and C = |V |. An instance of OP with unit profits will be denoted by (G,D). In the following, d(v, w) refersto the Euclidean distance (in dimension 2) between the points v, w ∈ V whereas dP(v, w) refers to the distance between vand w along a path P . We denote n := |V | and we characterize each point by an x- and a y-coordinate.

5.1. The PTAS for OP in the plane

In this section, we describe the algorithm by Chen and Har-Peled [13]. Their result is based on a dynamic programmingapproach due to Mitchell for k-TSP [21]. In particular, their algorithm relies on a dynamic program for the following k-pathproblem: Given a graph Gwith Euclidean distances, nodes s, t ∈ V and an integer k ≤ n, find an s–t path of minimum lengthvisiting at least k nodes.

We sketch the dynamic program in more detail, because it will be crucial for our result. Assume that all points are con-tained in an axis-parallel square R. Following Chen and Har-Peled, we use the notion of a window for a closed axis-parallelrectangle w ⊆ R (see also Fig. 3). A window isminimal if there is no smaller rectangle containing the same subset of nodes.

With this notion and given a fixed ε > 0, table entries for the dynamic program can be defined, each characterized by:(i) a minimal window w that contains at least one point of V with its boundaries determined by (up to) four points of V ,(ii) integer h ∈ {0, 1, . . . , |V |} indicating the number of nodes that should be visited within w,(iii) boundary information specifying at most m = O( 1

ε) crossing segments (each determined by a pair of points of V : one

inside or on the boundary of w, another outside w) for each of the four sides of the boundary of w,(iv) connectivity constraints indicating which pairs of crossing segments are required to be connected within w.

Page 9: The Capacitated Orienteering Problem

A. Bock, L. Sanità / Discrete Applied Mathematics ( ) – 9

Fig. 3. In a rectangle R, the set of points is partitioned by a cut (dotted line). For the subset on the left, a window w1 and the corresponding minimalwindow w3 are shown, whereas w2 is the minimal window containing the subset of points on the right.

Each table entry stores a set of short paths inside w meeting both the boundary and the connectivity constraints visitingat least h nodes. The stored information can be combined together in a recursive manner by subdividing each window intosmaller windows by cutting w along a horizontal or vertical line. In the base case, if the window w has at most m pointsin its interior, then the problem is solved by enumerating all possible solutions. Otherwise, the algorithm tries all possiblecuts for the current window recursively by enumerating all possible choices of valid boundary information along this cutand computing the cheapest option (we refer to [13,21] for details).

It is shown in [21] that this dynamic program yields a PTAS for the k-path problem. However, the key insight of [13] isthat a stronger result can be obtained with a different analysis. To this end, more notation is needed.

A path P can be described by listing the nodes it contains in order as P = ⟨v1, . . . , vk⟩. Let µ := ⌈2/ε⌉ and let1 = i1 < · · · < iµ = k be any sequence of µ ≤ k integers. The µ-skeleton of P is the path ⟨vi1 , . . . , viµ⟩. Clearly, differentchoices of µ integers yield different µ-skeleton paths. The µ-skeleton of P of maximum length is called optimal µ-skeletonof P . The difference between the length of P and its optimal µ-skeleton is the µ-excess of P , denoted by XP,µ.

The crucial point of the analysis by [13] is that the dynamic program for the k-path problem exceeds the optimal lengthonly in terms of the µ-excess of the optimal path.

Theorem 4 ([13]). Let P be any s–t-path that visits k nodes. For any fixed ε, the dynamic program computes a path from s to tthat visits k nodes and has length at most dP(s, t) +

XP,µ+1µ+1 , where µ = ⌈2/ε⌉, in time polynomial in n.

How is the k-path problem related to OP?A feasible solution for an OP instance (G,D) can be found as follows: starting from k = 0 up to k = n, we apply the

dynamic program above for the k-path problem onG and starting and ending nodes s and t . Let P be the best path (maximumnumber of visited points) with length ≤ D found with this procedure. P is then a feasible path for the given OP instance. Ifkopt is the number of points visited by an optimal solution P∗ of the OP instance, the authors in [13] show that

Lemma 3 ([13]). The path P visits at least (1 − ε)kopt nodes.

To prove this lemma, the authors show that the dynamic program has to find for k := (1 − ε)kopt a path of length ≤ D.The crucial idea is to define a particular (µ + 1)-skeleton. Specifically, for a path P with k nodes, let SP denote the

(µ + 1)-skeleton of P that is obtained by subdividing P into segments with a similar number of nodes. Formally, we canfind a sequence 1 = i1 ≤ · · · ≤ iµ+1 = k of µ + 1 integers such that

VP(ij,ij+1)

≥kµ

holds for all j = 1, . . . , µ, wherePij, ij+1

= ⟨vij , . . . , vij+1⟩ denotes the subpath of P from vij to vij+1 . Let E(P, SP) := dP(s, t) − dSP (s, t) denote the excess

of P with respect to the (µ + 1)-skeleton SP .

Proposition 1 ([13]). Let µ > 0. Any s–t path P visiting k nodes can be shortcut (by eliminating some of its nodes) to a path Pcutfrom s to t that visits ≥ (1−

1µ)k nodes and that has length at most dP(s, t) −

E(P,SP )

µsuch that SP is a (µ + 1)-skeleton of Pcut.

Let P∗cut denote the path that we obtain if we apply Proposition 1 to P∗ with µ = ⌈2/ε⌉. Then P∗

cut visits (1 −1µ)kopt ≥

(1 − ε)kopt nodes. Now apply Theorem 4 on P∗cut and value k := (1 − ε)kopt. It follows that the dynamic program finds in

polynomial time a path of length

≤ dP∗cut(s, t) +

XP∗cut,µ+1

µ + 1≤ dP

(s, t) −E(P∗, SP∗)

µ+

XP∗cut,µ+1

µ + 1≤ dP

(s, t) ≤ D,

since E(P∗, SP∗) ≥ dP∗cut(s, t) − dSP∗ (s, t) ≥ XP∗

cut,µ+1 holds, because SP∗ is a (µ + 1)-skeleton for both P∗ and P∗cut.

Page 10: The Capacitated Orienteering Problem

10 A. Bock, L. Sanità / Discrete Applied Mathematics ( ) –

In other words, path P found by the dynamic program visits at least (1 − ε)kopt nodes. This completes our review of thePTAS for OP in the plane.

5.2. Our modifications

Similarly to the previous algorithm for OP, our result relies on a dynamic program, but for a more general CapacitatedQuota-path Problem (CQPP) that is defined as follows:We are given a graph Gwith Euclidean distances, nodes s, t ∈ V , nodeprofits π : V → N, demands r : V → N, a capacity bound C and an integer Q ≤

v∈V π(v). We want to find an s–t path of

minimum length that collects at least profit Q by serving a total demand ≤ C . Clearly, the Capacitated Quota-path problemis a generalization of the k-path problem that can be obtained by setting π ≡ 1, r ≡ 1 and C = |V |. We denote an instanceof CQPP by (G, d, π, r, C,Q ).

For a given ε > 0, we extend the dynamic program of the previous subsection as follows.First, instead of including an integer that indicates the number of nodes that should be visited within a window w, we

rather consider in (ii) a profit threshold to be collected, that is an integer h in the range {0, 1, . . . ,Q }.Second, we need to handle the demands and the capacity bound. To this end, we additionally specify in a table entry of

the dynamic program

(v) an integer j in the range {0, . . . , C} indicating that the total demand of the nodes covered inside the window w shouldnot exceed j.

Following exactly the same steps in [13,21] as previously described, one can combine the stored information in a recursivemanner to compute some s–t path that collects an amount of profit ≥ Q from a subset of nodes of total demand ≤ C . Inparticular, Theorem 4 by [13] extends to the theorem below.

Theorem 5. Let P be an s–t-path that collects a profit ≥ Q from a total demand ≤ C. For any fixed ε > 0, the dynamic programcomputes a path from s to t that collects a profit ≥ Q from a total demand ≤ C and has length at most dP(s, t) +

XP,µ+1µ+1 , where

µ = ⌈2/ε⌉, in time polynomial in (n · C · Q).

Proof. First, let us argue about the running time of our modified dynamic program. As in [13], there are O(n4) choicesof a (minimal) window w and O(n2m) choices of crossing segments on each of the four sides of w (recall m = O( 1

ε)).

Therefore, the total number of possible entries of the dynamic program is O(n4· (n2m)4 · C · Q ), because the number of

possible connectivity constraints is constant (since we assume ε > 0 to be a fixed constant, we omit dependencies on ε inthe discussion of the running time). Moreover, for computing each entry in a recursive manner, we have to consider O(n)choices of a horizontal/vertical cut, O(n2m) choices for new boundary information on the cut, O(C · Q ) choices of demandbounds and profit quotas on both sides of the cut and O(1) choices of connectivity constraints. By multiplying the numberof entries with the number of choices for the partitioning into subproblems, we obtain an overall time complexity for thealgorithm that is polynomial in (n · C · Q ).

Let us now argue about the length. Consider the instance for the k-path problem defined on the graph induced by thenodes in VP , and obtained by setting k := |VP |. By Theorem 4, the dynamic program of [13] for this k-path instance outputsa path P that visits all nodes in VP and whose length is at most dP(s, t) +

XP,µ+1µ+1 .

Now observe that P is also a solution to our CQPP instance since it has a profit ≥ Q and a total demand ≤ C . Moreover, Pwill be implicitly considered by our extended dynamic programwhen applied to our CQPP instance for appropriate choicesof h and j in each table entry. This is because our table entries are defined exactly as in [13] except that the number of nodesis replaced by profits and that extra information about the capacity is added.

Therefore, P will be implicitly considered by our extended dynamic program when applied to our CQPP instance forappropriate choices of h and j in each table entry. This implies that our dynamic programwill output a path whose length isat most the length of P . The result follows. �

How is the CQPP related to COP?We can find a feasible solution for a COP instance (G, d, π, r, C,D) as follows. For all values ofQ from 0 toπ(V ), we apply

the dynamic program above for CQPP on the instance (G, d, π, r, C,Q ).Let P be the best path (in terms of profit) with length ≤ D found with this procedure. P is then a feasible path for the

given COP instance. If P∗ is the optimal path of our COP instance, then we obtain

Lemma 4. π(P) ≥ (1 − ε)π(P∗).

Proof. To prove this lemma, we show that for Q := (1 − ε)π(P∗), our extended dynamic program has to find a path oflength ≤ D.

Our first claim is that P∗ can be shortcut (by eliminating some of its nodes) to a path P∗cut from s to t that collects profit

≥ (1 − ε)π(P∗) and has small length. This can be seen as follows: replace every node v ∈ VP∗ with π(v) copies (i.e. π(v)nodes with the same coordinates) and apply Proposition 1 to P∗ with k := π(P∗) and µ = ⌈2/ε⌉.

Page 11: The Capacitated Orienteering Problem

A. Bock, L. Sanità / Discrete Applied Mathematics ( ) – 11

By doing so, we obtain a path P∗cut that collects profit ≥ (1 − ε)π(P∗) and has length ≤ dP

(s, t) −E(P∗,SP∗ )

µ. Now apply

Theorem 5 for P∗cut and value Q := (1 − ε)π(P∗). It follows that the dynamic program finds a path of length

≤ dP∗cut(s, t) +

XP∗cut,µ+1

µ + 1≤ dP

(s, t) −E(P∗, SP∗)

µ+

XP∗cut,µ+1

µ + 1≤ dP

(s, t) ≤ D,

since E(P∗, SP∗) ≥ XP∗cut,µ+1 as we have already argued.

In other words, the path P found by our dynamic program collects profit at least (1 − ε)π(P∗). �

Putting all together, and using Corollary 1 we get the following.

Theorem 6. There is a PTAS for COP for Euclidean metrics.

6. Applications

In this section, we show two applications of our results in Section 2. First, we generalize COP to deal with a fleet ofvehicles. Second, we use it to get a O(log C)-approximation algorithm for the Distance-constrained vehicle routing problem.

6.1. (Split delivery) capacitated team orienteering

CTOP generalizes COP and allows the use ofM paths respecting both the capacity and the length bound.It is easy to observe that the CTOP can be seen as an instance of themaximum k-coverage problem that is defined as follows

(see [25]): For a universe and a set system on its elements, choose k sets whose union contains asmany elements as possible.With this observation, the following theorem is an easy application of what [19] proved for maximum k-coverage.

However, we state its short proof for completeness.

Theorem 7. There is a 3.53-approximation for CTOP.

Proof. We show that given an α-approximation algorithm for COP, there is a1 − e−1/α

−1-approximation algorithm forCTOP. This is obtained by applying the greedy algorithm for maximum k-coverage to our setting. The theorem then followsfrom setting α := 3 + ε.• For i = 1 toM do• Run the α-approximation algorithm for COP to obtain path Pi.• Remove all covered nodes from the instance.• return P1, . . . , PM .We follow the same steps as for maximum k-coverage to prove the claimed approximation guarantee [19].

Let OPT denote the profit collected by the optimal solution and π(i)left denote the difference between OPT and the amount

of profit collected until iteration i.Note that in every iteration i, π (i−1)

left can be collected using M paths (the optimal solution does it). Thus, the profit of the

path that the α-approximation algorithm for COP returns in the following iteration is π(i)newly covered ≥

π(i−1)leftαM .

By induction on i, we have

π(i)left ≤ π

(i−1)left − π

(i)newly covered

≤ π(i−1)left

1 −

1αM

1 −

1αM

i

OPT .

We obtain

π

Mi=1

Pi

≥ OPT − π

(M)left ≥

1 −

1 −

1αM

MOPT ≥

1 − e−1/αOPT . �

If we now allow node demands to be served by several paths, we can apply the result of Archetti et al. [2] to obtain anapproximation algorithm for SDCTOP. It is proven in [2] that an α-approximation algorithm for CTOP can be turned into a2α-approximation algorithm for SDCTOP. Combining this observation with our results leads to the following corollary.

Corollary 3. There is a 7.06-approximation algorithm for SDCTOP.

6.2. Distance-constrained vehicle routing (with split-delivery)

In the Distance-constrained vehicle routing problem (DVRP), we are given an undirected graph with a metric distancefunction on the edges and a root node. Furthermore, we have node demands r : V → N. The task is to find the smallestnumber of rooted tours such that each node is visited and both a length bound D ∈ N and a capacity bound C ∈ N isrespected for each tour. Note that every node can only be served by exactly one vehicle.

Page 12: The Capacitated Orienteering Problem

12 A. Bock, L. Sanità / Discrete Applied Mathematics ( ) –

As we pointed out in the introduction, a minO(log n),O

logD

log logD

-approximation algorithm was proven for DVRP

[22,15]. We here observe that a O(log C)-approximation for DVRP follows from the existence of an O(1)-approximationalgorithm for COP. It is still open whether a constant factor approximation algorithm can be achieved.

Theorem 8. There exists a O(log C)-approximation algorithm for DVRP.

Proof. An O(log C)-approximation algorithm easily follows from adapting the standard greedy strategy for set cover. Sucha greedy algorithm, applied to a DVRP instance, repeatedly searches for a feasible tour that respects both the capacity boundand the length bound until every demand node is satisfied. It maximizes the total demand of the visited nodes. In each step,the problemwewant to solve is exactly a COP instance where s = t and π(v) = r(v) for all nodes v. The result then followsfrom applying the classical Dual-Fitting set cover analysis (since the analysis is completely standard, we omit the details andrefer to [25]). �

Ultimately, we observe that this result holds as well if a node can be served by several vehicles. Archetti et al. [5] provedthat the optimal solution to the DVRP with split delivery can be transformed into a solution for DVRP with at most twice asmany routes where every node is served exactly once. Therefore, our results also imply a O(log C)-approximation for DVRPwith split delivery.

7. Conclusion

In this paper we have studied a capacitated version of the Orienteering Problem (OP), obtained by introducing anadditional node budget. We presented a (3 + ε)-approximation algorithm for general graphs and a PTAS on trees and onEuclidean metrics.

An interesting open question is whether our constant factor approximation bound can be improved, and whether betterresults can be obtained for some relevant classes of instances, e.g. instances defined on planar graphs.

Acknowledgments

The authors would like to thank the anonymous referees for their helpful comments on how to improve the writing ofthe paper.

References

[1] E. Angelelli, C. Bazgan, M.G. Speranza, Z. Tuza, Complexity and approximation for traveling salesman problems with profits, Theoret. Comput. Sci. 531(2014) 54–65.

[2] C. Archetti, N. Bianchessi, A. Hertz, M.G. Speranza, The split delivery capacitated team orienteering problem, Technical Report n. 349, University ofBrescia, 2010.

[3] C. Archetti, D. Feillet, A. Hertz, M.G. Speranza, The capacitated team orienteering and profitable tour problem, J. Oper. Res. Soc. 60 (2009) 831–842.[4] C. Archetti, A. Hertz, M.G. Speranza, Metaheuristics for the team orienteering problem, J. Heuristics 13 (2007) 49–76.[5] C. Archetti, M. Savelsbergh, M.G. Speranza, Worst-case analysis for split delivery vehicle routing problems, Transp. Sci. 40 (2006) 226–234.[6] N. Bansal, A. Blum, S. Chawla, A. Meyerson, Approximation algorithms for deadline-TSP and vehicle routing with time windows, in: Proc. of STOC,

2004, pp. 166–174.[7] A. Blum, S. Chawla, D.R. Karger, T. Lane, A. Meyerson, M. Minkoff, Approximation algorithms for orienteering and discounted-reward TSP, SIAM J.

Comput. 37 (2) (2007) 653–670.[8] A. Bock, E. Grant, J. Könemann, L. Sanità, The school bus problem on trees, in: Proc. of ISAAC, 2011, pp. 10–19.[9] S. Boussier, D. Feillet, M. Gendreau, An exact algorithm for team orienteering problems, 4OR 5 (2007) 211–230.

[10] S.E. Butt, T.M. Cavalier, A heuristic for the multiple tour maximum collection problem, Comput. Oper. Res. 21 (1994) 101–111.[11] I.-M. Chao, B. Golden, E.A. Wasil, The team orienteering problem, European J. Oper. Res. 88 (1996) 464–474.[12] C. Chekuri, N. Korula, M. Pal, Improved algorithms for orienteering and related problems, in: Proc. of SODA, 2008, pp. 661–670.[13] K. Chen, S. Har-Peled, The Euclidean orienteering problem revisited, SIAM J. Comput. (2007).[14] D. Feillet, P. Dejax, M. Gendreau, Traveling salesman problems with profits, Transp. Sci. 39 (2005) 188–205.[15] Z. Friggstad, C. Swamy, Approximation algorithms for regret-bounded vehicle routing and applications to distance-constrained vehicle routing,

in: Proceedings of the 46th Annual ACM Symposium on Theory of Computing, STOC ’14, ACM, New York, 2014, pp. 744–753.[16] B. Golden, L. Levy, R. Vohra, The orienteering problem, Nav. Res. Logist. 34 (1987) 307–318.[17] F. Grandoni, R. Ravi, M. Singh, R. Zenklusen, New approaches to multi-objective optimization, Math. Program. Ser. A 146 (1–2) (2014) 525–554.[18] A. Gupta, R. Krishnaswamy, V. Nagarajan, R. Ravi, Approximation algorithms for stochastic orienteering, in: Proc. of SODA, 2012.[19] D.S. Hochbaum, A. Pathria, Analysis of the Greedy algorithm in problems of maximum k-coverage, Nav. Res. Logist. 45 (6) (1998) Wiley.[20] B. Korte, J. Vygen, Combinatorial Optimization: Theory and Algorithms, Springer, 2007.[21] J.S.B. Mitchell, Guillotine subdivisions approximate polygonal subdivisions: A simple polynomial-time approximation scheme for geometric TSP,

k-MST, and related problems, SIAM J. Comput. 28 (1999) 1298–1309.[22] V. Nagarajan, R. Ravi, Approximation algorithms for distance constrained vehicle routing problems. Tepper School of Business, Carnegie Mellon

University, Pittsburgh, 2008.[23] H. Tang, E. Miller-Hooks, A tabu search heuristic for the team orienteering problem, Comput. Oper. Res. 32 (2005) 1379–1407.[24] P. Vansteenwegen, W. Souffriau, D. Van Oudheusden, The orienteering problem: a survey, European J. Oper. Res. 209 (2011) 1–10.[25] V.V. Vazirani, Approximation Algorithms, Springer, 2001.