30
Accepted Manuscript Discrete Optimization The Clustered Orienteering Problem E. Angelelli, C. Archetti, M. Vindigni PII: S0377-2217(14)00315-4 DOI: http://dx.doi.org/10.1016/j.ejor.2014.04.006 Reference: EOR 12257 To appear in: European Journal of Operational Research Received Date: 4 March 2013 Please cite this article as: Angelelli, E., Archetti, C., Vindigni, M., The Clustered Orienteering Problem, European Journal of Operational Research (2014), doi: http://dx.doi.org/10.1016/j.ejor.2014.04.006 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

The Clustered Orienteering Problem

  • Upload
    m

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: The Clustered Orienteering Problem

Accepted Manuscript

Discrete Optimization

The Clustered Orienteering Problem

E. Angelelli, C. Archetti, M. Vindigni

PII: S0377-2217(14)00315-4

DOI: http://dx.doi.org/10.1016/j.ejor.2014.04.006

Reference: EOR 12257

To appear in: European Journal of Operational Research

Received Date: 4 March 2013

Please cite this article as: Angelelli, E., Archetti, C., Vindigni, M., The Clustered Orienteering Problem, European

Journal of Operational Research (2014), doi: http://dx.doi.org/10.1016/j.ejor.2014.04.006

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers

we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and

review of the resulting proof before it is published in its final form. Please note that during the production process

errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

Page 2: The Clustered Orienteering Problem

The Clustered Orienteering Problem

E. Angelelli, C. Archetti, M. Vindigni

Department of Economics and Management, University of Brescia, Italy

{angele, archetti, vindigni}@eco.unibs.it

Abstract

In this paper we study a generalization of the Orienteering Problem (OP) which wecall the Clustered Orienteering Problem (COP). The OP, also known as the SelectiveTraveling Salesman Problem, is a problem where a set of potential customers is givenand a profit is associated with the service of each customer. A single vehicle is availableto serve the customers. The objective is to find the vehicle route that maximizes thetotal collected profit in such a way that the duration of the route does not exceed agiven threshold. In the COP, customers are grouped in clusters. A profit is associatedwith each cluster and is gained only if all customers belonging to the cluster are served.We propose two solution approaches for the COP: an exact and a heuristic one. Theexact approach is a branch-and-cut while the heuristic approach is a tabu search.Computational results on a set of randomly generated instances are provided to showthe efficiency and effectiveness of both approaches.

Keywords

Orienteering Problem, Branch-and-Cut, Tabu Search.

Introduction

The class of routing problems with profits is composed by a wide variety of problemswhich share the same characteristic: in contrast to what happens in classical routingproblems, not all customers need to be served. Instead, a profit is typically associ-ated with each customer and the problem is to choose the right set of customers toserve satisfying a number of side constraints while optimizing a given objective func-tion (maximize the total collected profit, minimize the traveling cost, maximize thedifference among profits and costs,...). Among the routing problems with profits, theTraveling Salesman Problems with Profits (TSPPs) are problems where a single vehicleis available to carry out the service (see [5] for an excellent survey on TSPPs). In [5],TSPPs are classified in three main categories, depending on the objective function andside constraints: the Orienteering Problem (OP), also known as the Selective Travel-ing Salesman Problem, where the objective is to find the vehicle route that maximizesthe total collected profit in such a way that the route duration does not exceed a

1

Page 3: The Clustered Orienteering Problem

given threshold; the Prize Collecting TSP (PCTSP), which is the problem of findingthe route that minimizes the traveling cost while ensuring that the profit collected isgreater than or equal to a minimum requested amount; finally, the Profitable TourProblem (PTP) which is the problem of finding the route that maximizes the differ-ence between the total collected profit and the traveling cost. The OP is certainly thevariant that has received more attention in the literature. It has been introduced in[17] and then studied in [9] as an application of the home fuel delivery problem. Anumber of heuristic algorithms have been proposed (see [2], [3], [7], [9], [10], [13], [17]and [19]) and also efficient exact algorithms (see [6], [8], [12] and [16]). The recentliterature has been focused on variants or generalizations of the OP, especially on themultiple vehicle version, called Team Orienteering Problem (TOP). We do not surveyhere the literature related to this variants as it is quite wide. The reader is referred to[11], [18] and [1] for excellent surveys on the OP and on routing problems with profitsin general.

In this paper we address a generalization of the OP which we call the ClusteredOrienteering Problem (COP). In this problem, customers are grouped in clusters. Aprofit is associated with each cluster and is collected only if all customers in the clusterare served.

The interest in studying the COP is motivated by the analysis of practical ap-plication problems that can be formulated as variants or generalizations of the COP.Examples of such applications are mainly related to the distribution of mass products,like in the case where customers are retailers belonging to different supply chains andcontracts are made between the carriers and the chains. Thus, if a carrier agrees toserve a chain, he/she has to serve all retailers belonging to that chain. Another exampleis the case where products are divided in brands: the carrier stipulates contracts withproduct shippers; retailers (customers) require a certain amount of each product; inorder to get the profit, the carrier has to serve all retailers requiring a certain amountof product of the brand for which he/she has a contract. Also, a different case ariseswhen customers are clustered in areas and the profit is collected only if all customersin an area are served. This happens for example in the case of companies providingwaste collection services: they can be engaged by municipalities to serve given areasand visit all customers there.

The main contribution of the paper is the introduction and the study of the COP.We give a mathematical formulation of the problem and propose two solution ap-proaches: an exact solution approach which is a branch-and-cut algorithm, and aheuristic algorithm based on a tabu search scheme. The exact solution approach isable to solve instances with up to 318 vertices and 15 clusters or 226 vertices and 25clusters in one hour of computing time while, on the same classes of instances, theheuristic gives high quality solutions in an extremely short amount of time. Threevariants of the heuristic have been implemented and tested also on larger instanceswhich could not be solved by the exact algorithm. The variant based on a multi-startapproach proved to be the best.

The paper is organized as follows. In Section 1 we describe the problem and proposea mathematical formulation. Section 2 is devoted to the branch-and-cut algorithm,together with the valid inequalities and branching rules we propose to enhance theefficiency of the approach. In Section 3 we describe the tabu search algorithm. InSection 4 we present the computational tests we made in order to verify the effectiveness

2

Page 4: The Clustered Orienteering Problem

of both the exact and the heuristic algorithm and we discuss the computational results.Conclusions are drawn in Section 5.

1 Problem description and formulation

The COP can be represented by an undirected graph G = (V, E) where V is the set ofvertices and E is the set of edges. Set V = {v0, v1, ...., vn} is formed by vertex v0 whichis the depot where the vehicle starts and ends its tour and vertices v1, ..., vn which arethe customers. A cover S = {S1, S2, ..., Sk} of V \{0} is defined where V \{0} = ∪k

i=1Si.In the following we call each element Si ∈ S a cluster. Each customer belongs to atleast one cluster Si, i = 1, ..., k. Note that a customer can belong to more than onecluster. An integer value pi is associated with each cluster Si and corresponds to theprofit which is collected only if all customers in Si are served (visited) by the vehicle.A cost te is related to each edge e ∈ E and represents the time needed to traverseedge e. We assume that travel times satisfy the triangle inequality. A single vehicleis available and a maximum time limit Tmax is imposed on the duration of the vehicleroute. Note that, it is not necessary that all vertices belonging to a cluster are visitedconsecutively, i.e., the vehicle can start visiting some vertices in a cluster, leave thecluster and visit vertices belonging to different clusters and then visit the remainingvertices of the previous cluster. The objective is to find the route that maximizes thetotal collected profit and such that the duration is lower than or equal to Tmax. Notethat, if all clusters are formed by single customers, the COP reduces to the OP.

In order to give a mathematical formulation of the problem let us first introducethe following notation:

• δ(U): set of edges with one endpoint in U and one endpoint in V \U . For the easeof notation, we will write δ(j) for the set of edges adjacent to the single vertexvj .

• E(U): set of edges with both endpoints in U ⊆ V .

• zi: binary variable equal to 1 if all customers in cluster Si ∈ S are served, 0otherwise.

• yj : binary variable equal to 1 if vertex vj ∈ V is served, 0 otherwise.

• xe: binary variable equal to 1 if edge e ∈ E is traversed, 0 otherwise.

The COP can then be formulated as follows:

3

Page 5: The Clustered Orienteering Problem

max∑

Si∈S

pizi (1)

y0 = 1 (2)∑

e∈δ(j)

xe = 2yj ∀vj ∈ V (3)

e∈E

texe ≤ Tmax (4)

e∈E(U)

xe ≤∑

vj∈U\{vt}yj , ∀U ⊆ V \{0},∀vt ∈ U (5)

zi ≤ yj , ∀Si ∈ S, ∀vj ∈ Si (6)zi ∈ {0, 1} ∀Si ∈ S (7)xe ∈ {0, 1} ∀e ∈ E (8)yj ∈ {0, 1} ∀vj ∈ V. (9)

The objective function (1) aims at maximizing the total collected profit. Constraint(2) imposes to visit the depot while (3) establishes to traverse two edges adjacentto each served vertex. Inequality (4) imposes the maximum time limit on the routeduration while (5) are the subtour elimination constraints. (6) imposes that all verticesbelonging to a cluster must be served in order to get the corresponding profit. Finally,(7)–(9) are variable definitions.

Note that this formulation is an adaptation of the formulation proposed in [6]for the solution of the OP. The branch-and-cut algorithm proposed in [6] is, to thebest of our knowledge, the best exact solution approach proposed in the literaturefor the solution of the OP. Thus, we are confident that the formulation we proposewill be also effective for the COP. The differences with respect to the standard OPformulation are related to the presence of the z variables indicating whether a clusterSi is served. As a consequence, while in the OP the sum of the profits of the servedcustomers is maximized, in COP we maximize the sum of the profits of the clustersserved. Moreover, constraints (6) and (7) are not present in the OP.

In the following section we present a branch-and-cut algorithm for the exact solutionof the COP.

2 A branch-and-cut algorithm

We implemented a branch-and-cut algorithm in order to solve model (1)–(9) whichwe call COP-CUT. At each node of the branch-and-bound tree we solve the linearrelaxation of (1)–(9) where subtour elimination constraints (5) are originally removedfrom the formulation and inserted only once violated. In the following we describe thevalid inequalities and the branching rules implemented in order to improve the efficiencyof the algorithm, together with the separations algorithms which detect violated validinequalities and subtour elimination constraints.

4

Page 6: The Clustered Orienteering Problem

2.1 Valid inequalities

In order to strengthen the formulation, we introduced different valid inequalities. Thefirst class of valid inequalities, which we call logical constraints, is the following:

xe ≤ yj ∀vj ∈ V, e ∈ δ(j) (10)

and establishes the relation between the x and the y variables. They were intro-duced in [6] for the OP and they proved to be effective.

A second class of inequalities, called connecting inequalities, states that, if a clusteris served, then at least two edges must connect the cluster with vertices outside thecluster:

e∈δ(Si)

xe ≥ 2zi ∀Si ∈ S. (11)

A more general class of valid inequalities, called Generalized Subtour EliminationConstraints (GSECs), which consider all possible subsets of customers, was introducedin [6]. This class of inequalities was proved to be one of the most effective among thedifferent classes proposed in [6]. We preferred to implement inequalities (11) insteadof the more general GSECs in order to reduce the time spent to separate them.

Moreover, we implemented a third class of valid inequalities, called cluster-set in-equalities, which are based on the idea of identifying a set S′ ⊆ S of clusters whichcannot be feasibly served altogether as this would violate the time constraint. Thecluster-set inequalities are formulated as follows:

Si∈S′zi ≤ |S′| − 1 ∀S′ ⊆ S s.t. TSP (S′) > Tmax, (12)

where TSP (S′) is the value of the optimal solution of the TSP over all vertices inS′ ∪ {0}.

Finally, the following two classes of valid inequalities are inserted each time afeasible solution or a new best solution is found, respectively.

Each time a new feasible solution is found, the following inequality is inserted:

Si /∈C,Si∈S

zi ≥ 1 (13)

where C is the set of clusters served in the feasible solution just found. The in-equality establishes that at least one cluster not served in the current feasible solutionsolution has to be selected. Moreover, if the new solution improves the value of thecurrent best feasible solution, let us denote as pbest the value of the new solution andas C the set of all subsets of clusters such that C = {C ⊆ S|∑Si∈C pi ≥ pbest + 1}.Finally, let Ψ = minC∈C

∑Si∈C pi. Then, the following valid inequality is added:

Si∈S

pizi ≥ Ψ. (14)

Thus, Ψ is the minimum profit greater than pbest that can be collected and inequal-ity (14) imposes to choose a set of clusters such that the profit collected is greaterthan or equal to Ψ. Note that lower bound Ψ may be strengthened by considering

5

Page 7: The Clustered Orienteering Problem

constraints that exclude a set of clusters or supersets of a set of clusters which havebeen proved to be infeasible while separating inequalities (12).

2.2 Separation algorithms

Subtour elimination constraints (5) and valid inequalities (10), (11) and (12) are in-serted only once violated, while (13) and (14) are inserted each time a new feasible orbest solution is found, respectively. We look for the violation of valid inequalities (10),(11) and (12) up to the second level of the branch-and-bound tree, i.e., up to node7 when performing a breath-first search (the root node is node 1). The order withwhich we insert cuts is the following: we first insert violated logical inequalities (10),followed by connecting inequalities (11), then subtour elimination constraints (5) andfinally cluster-set inequalities (12). Every time we find at least one violated inequality,we insert the inequality and we return to the solution of the linear relaxation of theproblem.

Logical and connecting inequalities are separated by simple enumeration. For thesubtour elimination constraints we instead implemented the standard separation algo-rithm based on the solution of a maximum flow problem from the depot to each vertexof the auxiliary graph (see [15]).

Identifying violated inequalities (12) is a difficult task because of two main reasons:first of all, the number of inequalities is exponential in the number of clusters and thusenumerating all of them is not viable. Second, once a set of clusters is identified, inorder to check if it can be feasibly served, it is necessary to solve a TSP on all verticesin the set of clusters (plus the depot). It is thus crucial to find a criterion to choosethe set of clusters on which a TSP will be solved, in order to avoid to solve manyTSPs in vain. To this aim, we designed a procedure that identifies a set of clusters S′

which violates constraints (12) and on which we successively solve the TSP. Let LB(zi)and UB(zi) be the lower and the upper bound, respectively, on variable zi defined bybranching constraints, respectively. We define:

C1 = {Si ∈ S|LB(zi) = 1 in current node of the branch-and-bound tree}

C0 = {Si ∈ S|UB(zi) = 0 in current node of the branch-and-bound tree}.

The procedure we designed in order to identify violated constraints (12) consists insolving the following MILP problem:

6

Page 8: The Clustered Orienteering Problem

max∑

Si∈S

piαi (15)

Si∈S

ziαi ≥k∑

i=1

αi − 1 + ε (16)

Si∈S

αi ≥ 1 (17)

αi = 1,∀Si ∈ C1 (18)αi = 0,∀Si ∈ C0 (19)

αi ∈ {0, 1} Si ∈ S (20)

where zi corresponds to the value of zi in the current optimal solution of the linearrelaxation of (1)–(9), ε is set to a small constant (10−3) in order to guarantee nonnegligible degree of violation and αi is a binary variable equal to 1 if cluster i isinserted in set of clusters S′. The model aims at finding the set of clusters S′ thatviolates constraint (12) while maximizing the total profit. In fact, if a feasible solutionto problem (15)-(20) is found, then, thanks to constraints (16), the clusters whoseassociated α variable takes value 1 identify a set of clusters that violates constraint(12). Constraint (17) imposes to select at least one cluster, i.e., the solution with anull value is discarded.

Different objective functions can be used for the identification of a set of clusterswhich violates inequality (12). For example, one may wish to find a set of clusterswhich satisfies constraints (16)-(20) and maximizes the violation of inequality (12) ormaximizes/minimizes the number of clusters inserted.

In order to identify a violated inequality we implemented different strategies basedon iterated solutions of problem (15)-(20). The following rule is the one with the bestperformance.

We first identify the set of clusters of maximum and minimum cardinality violatingconstraints (12) by solving the following problems:

max∑

Si∈S

αi and min∑

Si∈S

αi

subject to constraints (16)-(20). Let us call Cmax the value of the optimal solutionwhen the cardinality is maximized and Cmin the value of the optimal solution whenthe cardinality is minimized. We then solve problem (15)-(20) with the addition of thefollowing constraint:

Si∈S

αi = c.

Initially we set c = �Cmax+Cmin2 . Then, if the solution of the TSP on the set of

clusters identified by the optimal solution of (15)-(20) has a value greater than Tmax,the corresponding cut is added to the formulation. Otherwise, we set Cmin = c+1, wecompute again the value of c as �Cmax+Cmin

2 and we iterate. This rule for updating thevalue of c is due to the fact that, if we do not find a set of clusters violating inequality(12) with a cardinality equal to the current value of c, this is probably due to the fact

7

Page 9: The Clustered Orienteering Problem

that the value of c is too low, and thus we increase it. If instead we find a violatedinequality, we add it to (1)-(9) and we solve the corresponding linear relaxation. Tocalculate the optimal TSP solution on the identified set of clusters we use the Concordelibrary [4].

Separating inequalities (12) is thus time consuming as it involves solving a TSP foreach set of clusters identified by the solution of (15)-(20). In order not to solve manyTSPs in vain, each time problem (15)-(20) is solved we add a set of inequalities to itsformulation which limit the search for the following solutions. In particular, let us callS′ the set of clusters for which αi = 1 in the current solution of (15)-(20). Then, ifTSP (S′) ≤ Tmax, inequality (13) is added to (15)-(20) with C = S′ and zi = αi.

The separation of inequalities (12) is stopped after finding 5 solutions of (15)-(20)without success, i.e., either (15)-(20) is infeasible or the set S′ identified by the solutionis such that TSP (S′) ≤ Tmax. The separation is stopped also when c = Cmax and (15)-(20) is solved without success.

Finally, in order to identify the value of Ψ in inequality (14), the following MILPis solved:

min∑

Si∈S

piαi (21)

Si∈S

piαi ≥ pbest + 1 (22)

with the addition of all violated inequalities (12) found so far, where αi = zi.Constraint (22) imposes to select a set of clusters whose total profit is higher than pbest

while the objective function (21) selects the set of clusters that minimizes the profit,in the set of those satisfying constraint (22).

2.3 Branching rules

As far as the separation algorithm of inequalities (12) is used, i.e., up to the secondlevel of the branch-and-bound tree, we implemented the following branching rule. If,in the current node of the branch-and-bound tree, while separating inequalities (12),we found a set of clusters C for which

∑i∈C zi ≥ |C| − 1 and TSP (C) ≤ Tmax, then

we generate two branches and set∑

i∈C zi ≥ |C| on one branch and∑

i∈C zi ≤ |C| − 1on the other branch.

When the separation algorithm of inequalities (12) is not used, since the objectiveof the COP is to maximize the total collected profit and this is related to clusters, wedecided to give priority to the z variables when branching. In fact, the z variables arethe only ones appearing in the objective function. The choice on which z variable tobranch on is made on the basis of the default setting of the exact solver used.

3 A tabu search algorithm

As will be shown in Section 4.2, the COP-CUT algorithm is able to solve small tomedium size instances. In order to solve larger instances, we propose a heuristic algo-rithm for the solution of the COP, in particular a tabu search algorithm which we callCOP-TABU. The general scheme of COP-TABU is the following.

8

Page 10: The Clustered Orienteering Problem

COP-TABU

Compute an initial solution s0

s∗ ← s0

s← s0

While a stopping criterion is not met do

Generate the neighborhood N(s)

Choose the best solution s′ ∈ N(s)

s← s′

If s is better than s∗ then

s∗ ← s

End If

Update the tabu list

Update the long-term memory

End While

Return s∗

In the following we explain in detail each step of COP-TABU. Procedures Updatethe tabu list and Update the long-term memory are explained before procedureChoose the best solution s′ ∈ N(s) as they are needed to understand how wechoose s′ ∈ N(s).

Compute an initial solution s0

The initial solution is generated by first ordering all clusters randomly and theninserting them sequentially in s0, if the corresponding solution is feasible. The insertionis done as follows. We start from a solution s0 visiting only vertex 0. Then, each timea cluster is added to s0, a new tour is generated on all vertices included in s0 throughthe Lin-Kernigham algorithm [14]. The procedure stops when all clusters have beenconsidered for insertion.

Generate the neighborhood N(s)

Given the current solution s, let C(s) be the set of clusters served in solution s andC(s) be its complement. The neighborhood N(s) is made by two types of moves:

• Given Si ∈ C(s), insert Si in s if the corresponding solution is feasible.

• Given Si ∈ C(s), remove Si from s.

The insertion of a cluster Si in a solution s is made by solving the TSP on all verticesbelonging to C(s)∪Si with the Lin-Kernigham algorithm [14]. The removal of a clusteralways leads to a feasible solution thus it does not require any TSP calculation. Wesimply remove each vertex of the cluster by joining its predecessor with its successor.

9

Page 11: The Clustered Orienteering Problem

Note that, when removing a cluster from s, we remove only vertices which do notbelong to any other cluster in C(s).

Update the tabu list

Every time a cluster is inserted (removed) from s, then it is tabu to remove (insert)it from s for α iterations.

Update the long-term memory

Let ηi be the number of iterations cluster Si has remained in the current solution.ηi is set to one each time Si is inserted in C(s). At each iteration, ηi is set to 0 if Si isremoved from the current solution, otherwise it is increased by one.

Choose the best solution s′ ∈ N(s)

In order to avoid to uselessly explore the entire neighborhood, we defined a rulewhich splits it into six different neighborhood sets which are explored on the basis ofa rule that will be described in the following. Each neighborhood set is identifiedaccording to the move applied on the current solution s and to the fact that the tabustatus is taken into account or not.

1. Non-Tabu Insertion. Insert in s a non-tabu cluster from C(s), if any.

2. Old Removal. Remove from s a cluster Sj ∈ C(s) for which ηj > β, if any.

3. Non-Tabu Removal. Remove from s a non-tabu cluster Sj ∈ C(s), if any.

4. Tabu Insertion. Insert in s a tabu cluster Si ∈ C(s) whose insertion leads to asolution with a higher value than the aspiration level of Si, if any. The aspirationlevel of cluster Si is defined as the solution value obtained the last time Si wasin C(s).

5. Random Removal. Choose randomly a cluster in C(s) and remove it from s.Consider also tabu clusters.

6. Random Insertion. Choose randomly a cluster in C(s) and insert it in s. Consideralso tabu clusters.

Note that a move is applied only if it leads to a feasible solution. Also, the bestmove is implemented, where the best move is chosen on the basis of a criterion whichconsiders, for each cluster, the profit and the overlapping with other clusters visitedin the current solution. In order to avoid to calculate many TSPs and then choosethe best move, when an insertion move is considered (either tabu or non-tabu), firstclusters are ordered on the basis of an ordering criterion. The first cluster in the listwhich can be feasibly inserted in s is then considered. The ordering criterion is thefollowing. Let ηSj (s) be the number of customers in Sj which are not already visitedin s, for each Sj ∈ C(s). The ordering criterion is a non-increasing order of the ratio

pj

1+ηSj(s) . The reasons for considering this criterion are twofold: on one side, we want

to favor the insertion of a cluster with a high profit. On the other side, if a clusterwhich is not visited in the current solution has a high overlap with clusters which arealready visited, meaning that a large portion of its customers belong also to clusters

10

Page 12: The Clustered Orienteering Problem

which are already visited, then its insertion is less expensive in terms of traveling cost.Note that the 1 at the numerator of the ratio is inserted to take into account the casewhere all customers in cluster Sj ∈ C(s) are already visited in solution s. Similarly, forthe non-tabu removal, we order the non-tabu clusters on the basis of a non-decreasingratio pj

1+νSj(s) , where νSj (s) is the number of customers in Sj ∈ C(s) that belongs to

other clusters visited in solution s. We then remove the first in the list.Given a neighborhood set s, a move is admissible for s if it belongs to the set

of moves defining neighborhood set s and if the corresponding solution is feasible.Neighborhood sets are explored according the previous order and the first admissiblemove is implemented. This implies that, if there is at least one admissible move forNon-Tabu Insertion, then the best one is implemented. Otherwise, it means that nocluster in C(s) can be inserted, either because it is tabu or because its insertion leadsto an infeasible solution. In this case, we remove a cluster from C(s) with Old Removalwhich checks if there are clusters which have remained in C(s) for a high number ofiterations (more than β) and remove the oldest one. Note that, in this case, the clusterremoved is not tabu as many iterations have elapsed from its last move. If there isno cluster Si ∈ C(s) with ηi > β, then we apply Non-Tabu Removal and remove thenon-tabu cluster in C(s) with the lowest value of the ratio pj

1+νSj(s) . The reason why we

decided to remove first the ‘old’ clusters is that typically they correspond to clusterswith a high profit and thus they would rarely be removed. If no cluster is removed, itmeans that all clusters Si ∈ C(s) are tabu and have ηi < β. In this case Tabu Insertionis applied. Random Removal is applied only when no tabu cluster in C(s) beats itsaspiration level while Random Insertion is applied only when solution s is empty.

A final note has to be made on the TSP calculations. Each time a TSP is calculatedon a set C of clusters, the information concerning feasibility of set C is stored inmemory. Then, if set C is feasible, i.e., TSP (C) ≤ Tmax, COP-TABU will not calculatethe TSP on C and on each set C ′ ⊆ C in the following iterations. If instead TSP (C) >Tmax, then COP-TABU will not calculate the TSP on C and on each set C ′ ⊇ C inthe following iterations.

Note that in COP-TABU the value of TSP (C) is calculated through the Lin-Kernigham algorithm and thus it is a heuristic value. This means that COP-TABUcan discard feasible solutions.

We implemented three variants of COP-TABU:

• Basic: COP-TABU is stopped after Γ iterations.

• Multi-start: COP-TABU is restarted γ times from γ different random initialsolutions. To have a fair comparison with the basic COP-TABU each run isstopped after Γ

γ iterations.

• Reactive: COP-TABU is stopped after Γ iterations. Moreover, each time wefind a new best solution s∗, α is decreased by 25% of its current value. On thecontrary, if 10 iterations have elapsed without improving s∗, the value of α isincreased by 1. In any case, α is always kept in the interval [1, 2

3k], where k is thenumber of clusters. The reason behind this rule for updating the value of α isthat, when a new best solution is found, we want to deeply explore the solutionspace around this solution thus we need to reduce drastically the value of α toavoid to miss good solutions because they are classified as tabu. On the other

11

Page 13: The Clustered Orienteering Problem

side, when the best solution is not improved, we want to avoid to come back tothe current solution and thus we increase the value of α. However, in order toavoid to restrict too much the set of non-tabu solutions, α is increased graduallyby a constant value equal to 1.

A final observation is needed on the structure of COP-TABU. Even if we have de-fined different neighborhood sets, COP-TABU basically differs from a standard Vari-able Neighborhood Search (VNS) algorithm in that, in a VNS, the neighborhood setsare used to move to a different solution from the current one. Then, this solution isaccepted only if it improves the current solution. If this is not the case, the new solu-tion is discarded and a different neighborhood is applied. COP-TABU instead acceptsalso worsening solutions if they are not tabu. Thus, even if it uses neighborhood sets,the basic scheme inherits the standard rules of the tabu search. We have decided tocombine tabu search with neighborhood sets in order to obtain an approach which caneasily escape from local optima (with the tabu rule) and, at the same time, efficientlyexplore the solution space (with the neighborhood sets).

4 Computational tests

In this section we describe the computational tests we made in order to verify theperformance of both the COP-CUT and the COP-TABU algorithms. In Section 4.1 wedescribe how we generated the instances while Section 4.2 is dedicated to computationalresults.

4.1 Test instances

To the best of our knowledge, COP has never been studied previously in the literature.Thus, there are no benchmark instances and we had to generate them. To this aim, wetake TSP benchmark instances from the TSPLIB95 library available at the followingurl: http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95. We note that, in theinstances of the TSPLIB95 library, vertices are numbered from 1. In our tests, the firstvertex coincides with v0, the depot.

We take all instances with a number of vertices ranging from 42 to 532 which are57 in total. We keep the data concerning the location of the vertices and we generatethe remaining data as follows:

1. Clusters: the number k of clusters has been set to the following values: 10, 15, 20,25. Clusters are generated by considering the vertices sequentially with respect totheir number and inserting them in each cluster in such a way to obtain clustersof similar size and which are partially overlapping. In particular, we start byremoving the first vertex (depot) from the list of n + 1 vertices and obtain a listof n customers. Then, we compute the quotient q and the remainder r of theinteger division n/k. The customers list is thus partitioned in k sublists wherethe first r sublists contain q+1 customers and the remaining k−r sublists containq customers. Finally, we compute d = max

(1,

⌊ q10

⌋), and make each sublist to

share its first d customers with the preceding sublist and its last d customers withthe following one (last sublist is the preceding sublist of the first one and viceversa). As a final result, two consecutive sublists (clusters of customers) overlap

12

Page 14: The Clustered Orienteering Problem

for 2d customers i.e., each cluster shares customers with other two clusters for atotal of 4d customers.

2. pi: in order to generate the profit of each cluster Si, we first assigned a profitto each vertex, excluding the depot. The profit of a cluster is then given asthe sum of the profits of the vertices in the cluster. The profits are generatedaccording to two rules as done in [6] for the OP. The first rule sets the profitof each vertex equal to 1. The second rule sets the profit of a vertex j equal to1 + (7141j + 73)mod(100) in order to obtain pseudo-random profits.

3. Tmax: we set the value of Tmax as θ · TSP ∗ where TSP ∗ is the optimal value ofthe TSP over all vertices. We considered three values of θ: 1/4, 1/2, and 3/4.

Thus, we generated in total 57× 4× 2× 3 = 1368 instances. The instances and thedetailed results can be found at the following url: http://or-brescia.unibs.it/.

4.2 Computational results

In this section we present the computational results of the tests we made in order toverify the efficiency of both COP-CUT and COP-TABU. We first analyze the perfor-mance of COP-CUT in Section 4.2.1 and then we focus on COP-TABU in Section4.2.2. All tests have been made on an Intel Xeon W3680 six-core CPU 3.33GHz, Win-dows 7 Professional-64 bit operating system with 12Gb ram. COP-CUT and the basicbranch-and-cut algorithm, described in the next section, are implemented in ConcertTechnology with CPLEX 12.2. The implementation of the Lin-Kernigham algorithmused in COP-TABU is the one provided in the Concorde library [4]. Computing timesare expressed in seconds.

4.2.1 Performance of COP-CUT

COP-CUT has been tested on instances with up to 318 vertices as larger instancescould not be solved within the time limit. In order to verify the performance of thealgorithm, we compare it against the solution of formulation (1)-(9). The aim of ourtests is to verify the efficiency of valid inequalities (12), (13), (14) and of the branchingrule described in Section 2.3. As inequalities (10) and (11) were already proven to beeffective in [6], we did not focus our tests on their efficiency and we inserted them inthe basic formulation. In the following, we call BASIC the branch-and-cut algorithmbased on formulation (1)-(9) plus inequalities (10) and (11). A further notice on theBASIC branch-and-cut is that we set a priority on the z variables when branching. Infact, when using the default CPLEX parameter, we got extremely poor results. Themaximum time limit of both algorithms is set to 1 hour.

We have 312 instances with less than 100 vertices, 600 instances with a number ofvertices ranging from 100 to 199 and 288 instances ranging from 200 to 318 vertices.Results are shown for instances in the latter range. Instances with less than 100 verticeshave been solved to optimality by both algorithms. However, on 241 instances, over312, the BASIC algorithm finds the optimal solution in a lower computing time whileCOP-CUT is faster on 53 instances. The computing time is the same for the remaininginstances. For the 600 instances with a number of vertices ranging between 100 and199, the BASIC algorithm solved 524 of them while COP-CUT solved 455 instances.Moreover, when the optimal solution is found, the BASIC algorithm is faster on 402

13

Page 15: The Clustered Orienteering Problem

instances while COP-CUT is faster on 116 instances. Thus, for instances with lessthan 200 vertices, COP-CUT does not compare favorably with the BASIC algorithm.However, as will be shown later, on instances with a higher dimension COP-CUT tendsto outperform the BASIC algorithm. Thus, we conclude that the introduction of thevalid inequalities, especially inequalities (12), is worthwhile only when the dimensionof the instances is such that it pays off to spend a higher computing time in tryingto improve the upper bound. For smaller instances, it is better not to separate theseinequalities.

We thus decided to present the detailed results for instances with at least 200vertices where we can see the advantages of using COP-CUT instead of the BASICalgorithm. We also decided to discard instances with θ = 1/4 as they distort the averageresults obtained over all instances. This is due to the fact that, for many instancesin this class, the branch-and-cut algorithms were not able to find any feasible solutionwith positive value. On the other side, these instances could not be solved to optimalityand the algorithms gave a positive upper bound at the end of the computation. Thus,the optimality gap, which is calculated as z−z

z where z is the upper bound at the end ofthe computation and z is the value of the best feasible solution found by the algorithm,turned out to be 100% and this high value distorted the average results. In any case,even if the exact algorithms were not able to prove the optimality, we believe that nofeasible solution with positive value exists for these instances, thus the null solution isthe optimal one.

Figures 1-8 report the results related to 192 instances: 12 TSP benchmark instanceswith a number of vertices ranging from 200 to 318, 4 different number k of clusters,2 kinds of profit generation, 2 value of θ. In particular, figures 1-4 report the resultsrelated to the optimality gap at the end of the computation. We report the resultsclassified by number of vertices (Figure 1), number of clusters (Figure 2), kind ofgeneration of profits (Figure 3) and value of θ (Figure 4). This in order to detectwhich feature of the problem influences the performance of the algorithms the most.In Figure 3, ‘g1’ stands for the instances where the profit of each vertex is set to 1while ‘g2’ is the class of instances with random profits. In Figure 4, ‘q2’ is the class ofinstances where θ = 1/2 while in ‘q3’ θ = 3/4 (remember that we discarded instancesin ‘q1’ with θ = 1/4).

If we first focus on detecting which characteristic influences the performance of bothbranch-and-cut algorithms, we can see that there is no clear evidence from the figures.As far as the number of vertices (Figure 1), the instances with 200 and 262 vertices seemto be the most difficult ones while the behavior of both algorithms is quite fluctuating.This is partly due to the instances where no feasible solution with a positive value hasbeen found. In this case, the gap with the upper bound goes up to 100%. In fact,this happens also for some instances with θ > 1/4 and is due to the fact that thebranch-and-cut algorithms are not able to find any feasible solution with positive valuewithin the maximum computational time. On the other side, we also believe that thehigh gaps are due to the poorness of the upper bound, as will be confirmed by theresults we will show in the next section. This enforces our statement on the need ofgood valid inequalities to strengthen the value of the upper bound. We have made asimilar analysis also on the number of vertices per cluster but no remarkable highlighthas emerged. In fact, while all instances with less than 10 vertices per cluster areeasily solved by both algorithms, for more than 10 vertices the behavior is fluctuating

14

Page 16: The Clustered Orienteering Problem

Figure 1: Optimality gap with respect to the number of vertices

Figure 2: Optimality gap with respect to the number of clusters

15

Page 17: The Clustered Orienteering Problem

Figure 3: Optimality gap with respect to the kind of generation of profits

Figure 4: Optimality gap with respect to the value of θ

16

Page 18: The Clustered Orienteering Problem

and with no evidence of a trend. We notice that the maximum number of vertices percluster in our instances is 38 (318 vertices and 10 clusters). Concerning the numberof clusters there seems to be no influence on the performance of the algorithms as theaverage optimality gap is quite stable (Figure 2). The class of instances ‘g2’ is moredifficult than the class ‘g1’ even if the difference between the two is not substantial(around 2% on the average optimality gap for COP-CUT and 4% for BASIC). As faras the value of θ, we see that ‘q2’ is the most difficult class. This is due to the factthat the value of θ is more binding in ‘q2’ than in ‘q3’. In fact, while in ‘q3’ the valueof θ is 3/4 and thus a small number of clusters are not served in the optimal solution,in ‘q2’ θ = 1/2 and nearly half of the clusters are not served. Thus, in ‘q2’ decidingwhich clusters have to be served or not is more complex than in ‘q3’ as there is a higherdegree of choice of set of clusters that provide high quality solutions.

If we now focus on the performance of the algorithms, figures 1-4 show that COP-CUT performs better than the BASIC algorithm. With the exception of instanceswith 226 vertices, the average optimality gap of COP-CUT is smaller than the one ofthe BASIC algorithm. If we look at the number of clusters or the kind of generationof profits, the average gap of COP-CUT is always lower than the one of the BASICalgorithm. Finally, if we concentrate on the value of θ, COP-CUT performs betterfor both classes ‘q2’ and ‘q3’. Looking in more details at the results, it is possibleto notice that the high average gaps are due, even for instances of classes ‘q2’ and‘q3’, to instances where no feasible solution with a positive value is found within themaximum computing time. Thus, even if all the figures, and especially Figure 1, show ahigh optimality gap, we believe that this is due to the characteristics of the problem andof the instances and our conclusion is that these results show that a big effort has to bespent in improving the upper bound, as done by COP-CUT. Finally, we made furtherexperiments with different versions of the branch-and-cut algorithm in order to detectwhich is the attribute of COP-CUT which contributes the most to its performance.In particular, we made tests with a branch-and-cut algorithm which did not includeneither inequalities (13) and (14) nor the branching rule described in Section 2.3. Weobtained results which are very similar to the ones obtained with COP-CUT. Thismeans that inequalities (12) are the most influencing attribute of COP-CUT.

We perform the same analysis as before also on the computational time. The resultsare shown in figures 5-8.

The figures show that on average COP-CUT requires a lower computational time,especially for class ‘g2’ (Figure 7), 10 clusters (Figure 6) and θ = 3/4 (Figure 8). Asexpected, Figure 8 shows that the class of instances which requires more computingtime is the one with θ = 1/2.

A final observation is that the number of instances solved to optimality, over 192,is 53 for the COP-CUT algorithm and 56 for the BASIC algorithm. This have to beweighted up with the results related to the optimality gap and solution time illustratedpreviously. In fact, on 100 instances COP-CUT provides a better optimality gap thanthe BASIC algorithm while the opposite happens on 29 instances while, finally, thealgorithms give the same optimality gap on 63 cases. This confirms that COP-CUTperforms on average better than the BASIC algorithm for instances with more than200 vertices. The separation of inequalities (12) is time consuming and this penalizesCOP-CUT especially in the solution of smaller instances. However, these inequalitiesare fundamental to reduce the optimality gap when the size of the instances increases.

17

Page 19: The Clustered Orienteering Problem

Figure 5: Computational time with respect to the number of vertices

Figure 6: Computational time with respect to the number of clusters

18

Page 20: The Clustered Orienteering Problem

Figure 7: Computational time with respect to the kind of generation of profits

Figure 8: Computational time with respect to the value of θ

19

Page 21: The Clustered Orienteering Problem

In fact, the average optimality gap on this set of instances is equal to 39.25% forthe BASIC algorithm while it decreases to 25.17% for the COP-CUT. This difference,which is quite substantial, is due to the introduction of inequalities (12).

4.2.2 Performance of COP-TABU

We now present the computational tests we made to verify the performance of COP-TABU. The three variants of the algorithm have been tested on all instances. Tobe coherent with the results presented in the previous section, we do not consider theinstances with θ = 1/4. For instances with up to 318 vertices we compared the solutionwith the optimal solution given by COP-CUT or the BASIC algorithm, if available, orwith the best upper bound. Note that the number of these instances is much higherthan the one considered in the previous section as we now include also the instanceswith less than 200 vertices. In particular, we compare COP-TABU with the best upperbound and the best feasible solution found by COP-CUT and the BASIC algorithm.In the following, we will use the term ‘branch-and-cut algorithm’ to indicate the bestbetween COP-CUT and the BASIC algorithm. For larger instances, as branch-and-cut is not able to solve them, we make a comparison between the three variants ofCOP-TABU. The behavior of COP-TABU is strictly related to the number of clusters,whereas there seems to be no evident relation with the number of vertices, kind ofgeneration of profits and value of θ. Thus, we will present the results on the basis ofthe number of clusters. Preliminary tests showed that the following parameter valuesgive the best results: Γ = 1000, β = Γ

10 , γ = 3, α = 0.3|S|. Thus, we use theseparameter values in the tests which are shown in the following.

Figures 9-13 refer to the instances with up to 318 vertices for which we comparethe three variants of COP-TABU with the results given by the branch-and-cut. Inparticular, Figure 9 reports the average gap with respect to the upper bound while inFigure 10 we focus only on instances which are solved to optimality by the branch-and-cut. In Figure 11 we compare the solution given by COP-TABU with the best feasiblesolution found by the branch-and-cut. Figure 12 refers to the iteration at which thebest solution (which coincides with the final solution) has been found. For COP-TABUMulti-start, this number is cumulative over the three restartings. Finally, Figure 13reports the average computing time.

Looking at Figure 9 we can notice that the average gap with respect to the upperbound is below 4.8% for COP-TABU Reactive, 5.3% for COP-TABU Multi-start and6.3% for COP-TABU Basic. Detailed results show that this gap goes up to 58% forCOP-TABU Multi-start and COP-TABU Basic and to 55% for COP-TABU Reactive.This is due partly to the fact that the TSP is solved heuristically (thus, a feasiblesolution could be missed) and partly to the fact that we are comparing with the upperbound. When comparing the solution given by COP-TABU with the best feasiblesolution found by the branch-and-cut, we obtained that, for the instances where theerror with respect to the upper bound is so high, COP-TABU finds a solution whichis always not worse than the one found by the branch-and-cut. This induces us toconclude that these big errors are mostly due to the poorness of the upper bound.

Among the 633 instances solved to optimality by the branch-and-cut (Figure 10),COP-TABU Multi-start finds 532 optimal solutions, COPT-TABU Basic and COP-TABU Reactive find 486 and 582 optimal solutions, respectively. The average gapwith respect to the optimal solution is always below 0.3% for COP-TABU Reactive,

20

Page 22: The Clustered Orienteering Problem

Figure 9: Gap with respect to the upper bound

Figure 10: Gap with respect to the optimal solution

21

Page 23: The Clustered Orienteering Problem

Figure 11: Gap with respect to the best feasible solution found by the branch-and-cut

Figure 12: Iteration at which the best solution has been found

22

Page 24: The Clustered Orienteering Problem

Figure 13: Computational time (seconds)

below 0.8% for COP-TABU Multi-start and below 2.4% for COP-TABU Basic. Morein detail, the maximum error of COP-TABU with respect to the optimal solution is14% for the Reactive variant, 33% for for COP-TABU Multi-start 49% for COP-TABUBasic. Looking in detail at the average error on the basis of the number of vertices,we can see that the gap is always below 4.3%. Looking at the value of θ, in ‘q2’ theaverage gap is 1.9% for COP-TABU Basic, 0.8% COP-TABU Multi-start and 0.1%for COP-TABU Reactive. In ‘q3’ the gap is 1.1% for COP-TABU Basic, 0.6% forCOP-TABU Multi-start and 0.4% for COP-TABU Reactive. Having a look at the kindof generation of profits we can see that class ‘g1’ presents higher gaps than ‘g2’ forall algorithms but with no substantial difference. This allows us to conclude that allversions of COP-TABU are effective. COP-TABU Reactive is clearly the best one,performing better than the other two variants on all instances. This is confirmed byFigure 11 which shows that COP-TABU algorithms are extremely efficient in providinghigh quality solutions: in fact, COP-TABU finds on average better solutions than thebranch-and-cut on all classes of instances apart for the class with 10 clusters where thegap is below 1% for all variants. Moreover, the improvement increases with the numberof clusters. A further consideration which highlights the efficiency of COP-TABU isthat computational time is reasonable as shown in Figure 13. The same figure alsoshows that the computational time is strictly related to the number of clusters. This isexpected as the higher the number of clusters, the more the number of moves that haveto be evaluated by COP-TABU. Finally, Figure 12 shows that on average COP-TABUfinds the best solution in less than 200 iterations. Given that COP-TABU stops after1000 iterations, this means that we could remarkably reduce the computing time whileassuring a high quality of solutions. We decided to maintain a stopping criterion of1000 iterations as the computational time is still reasonable and we got slightly worsesolutions on a subset of instances when reducing this value.

If we now compare the three versions of COP-TABU, we can see that COP-TABUReactive beats both COP-TABU Basic and COP-TABU Multi-start in terms of solution

23

Page 25: The Clustered Orienteering Problem

quality. From the computational time point of view, COP-TABU Basic is the fastestalgorithm while COP-TABU Reactive is on average the slowest. Moreover, COP-TABUReactive requires a higher number of iterations to find the best solution.

For instances with more than 318 vertices we could not compare COP-TABU withthe branch-and-cut, thus we decided to compare the three variants of COP-TABU. Theresults are summarized in Figure 14 which reports the average error with respect tothe best solution found by the three algorithms. We do not report figures concerningthe average number of iterations needed to find the best solution and the averagecomputing time as they show a similar behavior as the one illustrated in figures 12and 13. We simply note that the average number of iterations needed to find the bestsolution is always lower than 220 for all versions of COP-TABU on instances with 25clusters. The average computational time increases when the number of clusters ishigher, as shown in Figure 13, and is slightly less than 800 seconds for all versions ofCOP-TABU on instances with 25 clusters.

Figure 14: Gap with respect to the best solution found

The results confirm that COP-TABU Reactive is the best heuristic in terms ofsolution quality, requiring a computing time which is slightly higher than the other twoalgorithms. A final observation has to be made with respect to the computing time.The stopping criterion is the same for all versions of COP-TABU, i.e., 1000 iterations(999 for COP-TABU Multi-start). The difference in terms of computing time is due tothe number of times the Lin-Kernigham algorithm is called. As mentioned before, eachtime a TSP is calculated, COP-TABU stores the information about the set of clusterson which the calculation has been made in order to avoid to repeat the calculation inthe following iterations. Thus, a shorter computational time means that the algorithmhas visited a higher number of identical solutions and thus is less effective, as provedby the results.

Finally, as the previous results show that the computational time required by COP-TABU is strictly related to the number of clusters, we decided to make further tests toanalyze the behavior of COP-TABU when solving instances with a very high number

24

Page 26: The Clustered Orienteering Problem

of clusters. In particular, we took the biggest instance from the set of previously testedinstances, which has 532 vertices, and we generated three new classes of instanceswith 50, 75 and 100 clusters, respectively. Note that, for each number of clusters, wegenerated 4 instances by varying the value of θ and the kind of generation of profits.Results are summarized on figures 15-17, which refer to all instances with 532 vertices(thus also instances with less than 50 clusters). The figures clearly show that thecomputational time increases with the number of clusters. Also, the iteration at whichthe best solution is found has a similar behavior as the computational time. Finally,for the gap with respect to the best solution found, the results confirm that the bestvariant is COP-TABU Reactive while the worst is COP-TABU Basic with an averageerror which goes up to 5.8%.

Figure 15: Computational time (seconds) on instances with 532 vertices

5 Conclusions

In this paper we analyze a new variant of the Orienteering Problem, the Clustered Ori-enteering Problem, where customers are grouped in clusters and a profit is associatedwith each cluster and is collected only if all vertices of the cluster are served. Thisproblem comes from the analysis of practical applications in supply chain managementwhere products of specific brands have to be distributed to all customers belonging tothe same supply chain.

We present a mathematical formulation together with different valid inequalitiesand embed them in a branch-and-cut algorithm which is able to solve instances withup to 318 vertices in one hour of computing time. Computational results show thatthe number of vertices is not the main characteristic of the problem that influences theperformance of our solution approaches. In fact, it depends also on other features suchas how binding the maximum time constraint is. We notice that the performance doesnot seem to depend on the number of clusters (apart the computing time of the tabusearch algorithm) and this is quite surprising.

25

Page 27: The Clustered Orienteering Problem

Figure 16: Iteration at which the best solution has been found on instances with 532 vertices

Figure 17: Gap with respect to the best solution found on instances with 532 vertices

26

Page 28: The Clustered Orienteering Problem

To solve larger instances, we develop a heuristic algorithm, in particular a tabusearch algorithm. The main feature of this algorithm is its simplicity: the neighborhoodis based on the simple addition and removal of a cluster. Despite its simplicity, theresults prove that it can give high quality solutions in a short computing time.

As a remark on our computational analysis, we can say that the problem seems tobe more difficult to solve than the OP, especially when we want to solve it to optimality.In fact, while previous papers have proposed exact solution approaches which are ableto solve instances with up to 500 vertices for the OP (see [6]), we were not able to solveinstances with more than 318 vertices. The difficulty is probably due to the nature ofthe problem and to the characteristics of the instances. In particular, it seems that theconstraint on the duration of the route plays an important role. In fact, the hardestinstances seems to be the ones where it is difficult to find a feasible solution with apositive value. From a heuristic point of view, on one side it seems to be quite easy todesign a solution algorithm based on a local search concept as the crucial decision iswhich clusters have to be included in the solution or not. Thus, it is natural to basethe neighborhood search on the decision on whether to include or not each cluster.On the other side, the difficult part remains the routing, i.e., find the best sequence ofserving the customers of the included clusters as this has a big impact on the abilityof finding (or, better, not discarding) good solutions.

Future research could be focused on the extension of the COP to the case of multiplevehicles considering also additional constraints like vehicle capacity or time windows.Both the solution algorithms presented in this paper could be adapted to deal withthese extensions.

6 Acknowledgements

The authors wish to thank three anonymous referees who helped them improve a firstversion of the paper.

References

[1] Archetti, C., Speranza, M.G., Vigo, D. (2013), Vehicle routing problems with prof-its, Working paper WPDEM 2013/3, Dipartimento di Economia e Management,Universita degli Studi di Brescia, 2013.

[2] Chao, I., Golden, B., Wasil, E. (1996), Theory and methodology - a fast andeffective heuristic for the orienteering problem, European Journal of OperationalResearch 88, 475-489.

[3] Chekuri, C., Korula, N., Pal, M. (2012), Improved algorithms for orienteering andrelated problems, ACM Transactions on Algorithms 8, 661-670.

[4] Cook, W. (2010), Concorde TSP solver, available athttp://www.tsp.gatech.edu/concorde.html.

[5] Feillet, D., Dejax, P., Gendreau, M. (2005), Traveling salesman problems withprofits, Transportation Science 39, 188-205.

[6] Fischetti, M., Salazar-Gonzalez, J.J., Toth, P. (1998), Solving the orienteeringproblem through branch-and-cut, INFORMS Journal on Computing 10, 133–148.

27

Page 29: The Clustered Orienteering Problem

[7] Gendreau, M., Laporte, G., Semet, F. (1998a), A tabu search heuristic for theundirected selective travelling salesman problem, European Journal of OperationalResearch 106, 539-545.

[8] Gendreau, M., Laporte, G., Semet, F. (1998b), A branch-and-cut algorithm forthe undirected selective travelling salesman problem, Networks 32, 263-273.

[9] Golden, B., Levy, L., Vohra, R. (1987), The orienteering problem, Naval ResearchLogistics 34, 307-318.

[10] Golden, B., Wang, Q., Liu, L. (1988), A multifaceted heuristic for the orienteeringproblem, Naval Research Logistics 35, 359-366.

[11] Keller, C. (1989), Algorithms to solve the orienteering problem: A comparison,European Journal of Operational Research 41, 224-231.

[12] Laporte, G., Martello, S. (1990), The selective travelling salesman problem, Dis-crete Applied Mathematics 26, 193-207.

[13] Liang, Y.-C., Kulturel-Konak, S., Smith, A.E. (2002), Meta heuristics for theorienteering problem., Proceedings of the 2002 Congress on Evolutionary Compu-tation, 384-389.

[14] Lin, S., Kernighan, B.W. (1973), An effective heuristic algorithm for the traveling-salesman problem, Operations Research 21, 498-516, 1973.

[15] Padberg, M. and Rinaldi, G. (1991), A branch-and-cut algorithm for the resolutionof large-scale symmetric traveling salesman problems, SIAM Review 33, 60-100.

[16] Ramesh, R., Yoon, Y., Karwan, M. (1992), An optimal algorithm for the orien-teering tour problem, ORSA Journal on Computing 4, 155-165.

[17] Tsiligirides, T. (1984), Heuristic methods applied to orienteering, Journal of theOperational Research Society 35, 797-809.

[18] Vansteenwegen, P., Souffriau, W., Van Oudheusden, D. (2011), The orienteeringproblem: a survey, European Journal of Operational Research 209, 1-10.

[19] Wang, Q., Sun, X., Golden, B., Jia, J. (1995), Using artificial neural networks tosolve the orienteering problem, Annals of Operations Research 61, 111-120.

28

Page 30: The Clustered Orienteering Problem

Highlights:

• We introduce a new problem, the Clustered Orienteering Problem (COP), which has strong

applications in practice.

• We propose a formulation for the COP and several valid inequalities.

• We developed heuristic and exact algorithms to solve the COP.