7
The multi-district team orienteering problem M. Angélica Salazar-Aguilar a,n , André Langevin b , Gilbert Laporte c a Graduate Program in Systems Engineering, Universidad Autónoma de Nuevo León (UANL), Mexico b Département de mathématiques et de génie industriel, École Polytechnique e Montréal, Canada c Canada Research Chair in Distribution Management, HEC Montréal, Canada article info Available online 9 August 2013 Keywords: Node routing Team orienteering problem Tasks scheduling Operations planning Adaptive large neighborhood search abstract This paper introduces the multi-district team orienteering problem. In this problem, one must schedule a set of mandatory and optional tasks located in several districts, within a planning horizon. The total available time determined by the length of the planning horizon must be distributed among the districts. All mandatory tasks within each district must be performed, while the other tasks can be performed if time allows. A positive prot or score is collected whenever an optional task is performed. Additionally, some incompatibility constraints between tasks are taken into account. The objective is to determine a schedule for a set of tasks to be performed daily within each district, while maximizing the total collected prot. A mixed integer formulation and an adaptive large neighborhood search heuristic are proposed for this problem. The performance of the proposed algorithm is assessed over a large set of randomly generated instances. Computational results conrm the efciency of the algorithm. & 2013 Elsevier Ltd. All rights reserved. 1. Introduction The problem studied in this work arises from a real situation faced by the Ministry of Transport in the province of Québec in Canada. Periodically, every three or six months, the Ministry must plan its road maintenance activities such as repairs or road marking. The relevant region is divided into districts, to each of which are associated mandatory and optional maintenance activ- ities. All mandatory tasks must of course be performed over the planning horizon, but optional tasks are only executed if time allows. When an optional task i is performed, it generates a prot or score s i . All districts must be served, and the total available time within the planning horizon must be split among the districts. The amount of time assigned to each district is determined during the planning stage. Once the total time assigned to each district is determined, the scheduling of activities is carried out by considering incompatibility constraints between tasks and ensuring that all mandatory tasks are performed. Incompatibilities between tasks can be the result of a number of policies. The most common occurs when a road needs repairs in both directions, in which case repairs cannot be carried out in the two directions on the same day because one cannot close both sides of the road simultaneously. Mandatory tasks are related to repairs that are vital to keep a road in a functional state, while optional tasks are those that can wait for the next planning horizon without disabling the road. Usually, no more than 50% of the total repairs are mandatory, while the rest are optional. In this application, all districts are served in turn by a team of workers based at a depot which remains open until the scheduled tasks are completed. Every day, the team leaves the depot to perform the schedule for that day and then returns to the depot. A working day has a duration of 12 h and a working week contains six working days. A team operates within the same district during a certain number of full weeks. The problem consists of constructing a schedule of mainte- nance work over the planning horizon so that all mandatory tasks are performed, and the total score associated with the optional tasks that are performed is maximized. Each daily schedule is viewed as a route in the context of vehicle routing. To the best of our knowledge, this problem has never been addressed in the scientic literature. We call it the Multi-District Team Orienteering Problem (MDTOP) because the scheduling problem in each district can be viewed as the Team Orienteering Problem (TOP) with addi- tional constraints. The TOP was introduced by Chao et al. [3]. In the TOP, given a xed amount of time for each one of the m members of a team, the goal is to determine m routes starting and ending at a specic point through a subset of locations in order to maximize the total score. The TOP is rooted in the Orienteering Problem (OP), also known as the Selective Traveling Salesman Problem (STSP) (see e.g., [12,57]). Tang and Miller-Hooks [11] have proposed a tabu search Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/caor Computers & Operations Research 0305-0548/$ - see front matter & 2013 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.cor.2013.07.026 n Corresponding author. Tel.: +52 8111923672 E-mail addresses: [email protected], [email protected], [email protected] (M. Angélica Salazar-Aguilar), [email protected] (A. Langevin), [email protected] (G. Laporte). Computers & Operations Research 41 (2014) 7682

The multi-district team orienteering problem

  • Upload
    gilbert

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The multi-district team orienteering problem

The multi-district team orienteering problem

M. Angélica Salazar-Aguilar a,n, André Langevin b, Gilbert Laporte c

a Graduate Program in Systems Engineering, Universidad Autónoma de Nuevo León (UANL), Mexicob Département de mathématiques et de génie industriel, École Polytechnique e Montréal, Canadac Canada Research Chair in Distribution Management, HEC Montréal, Canada

a r t i c l e i n f o

Available online 9 August 2013

Keywords:Node routingTeam orienteering problemTasks schedulingOperations planningAdaptive large neighborhood search

a b s t r a c t

This paper introduces the multi-district team orienteering problem. In this problem, one must schedule aset of mandatory and optional tasks located in several districts, within a planning horizon. The totalavailable time determined by the length of the planning horizon must be distributed among the districts.All mandatory tasks within each district must be performed, while the other tasks can be performed iftime allows. A positive profit or score is collected whenever an optional task is performed. Additionally,some incompatibility constraints between tasks are taken into account. The objective is to determine aschedule for a set of tasks to be performed daily within each district, while maximizing the total collectedprofit. A mixed integer formulation and an adaptive large neighborhood search heuristic are proposed forthis problem. The performance of the proposed algorithm is assessed over a large set of randomlygenerated instances. Computational results confirm the efficiency of the algorithm.

& 2013 Elsevier Ltd. All rights reserved.

1. Introduction

The problem studied in this work arises from a real situationfaced by the Ministry of Transport in the province of Québec inCanada. Periodically, every three or six months, the Ministry mustplan its road maintenance activities such as repairs or roadmarking. The relevant region is divided into districts, to each ofwhich are associated mandatory and optional maintenance activ-ities. All mandatory tasks must of course be performed over theplanning horizon, but optional tasks are only executed if timeallows. When an optional task i is performed, it generates a profitor score si. All districts must be served, and the total available timewithin the planning horizon must be split among the districts.The amount of time assigned to each district is determined duringthe planning stage.

Once the total time assigned to each district is determined, thescheduling of activities is carried out by considering incompatibilityconstraints between tasks and ensuring that all mandatory tasks areperformed. Incompatibilities between tasks can be the result of anumber of policies. The most common occurs when a road needsrepairs in both directions, in which case repairs cannot be carriedout in the two directions on the same day because one cannot closeboth sides of the road simultaneously. Mandatory tasks are related

to repairs that are vital to keep a road in a functional state, whileoptional tasks are those that can wait for the next planning horizonwithout disabling the road. Usually, no more than 50% of the totalrepairs are mandatory, while the rest are optional.

In this application, all districts are served in turn by a team ofworkers based at a depot which remains open until the scheduledtasks are completed. Every day, the team leaves the depot toperform the schedule for that day and then returns to the depot.A working day has a duration of 12 h and a working week containssix working days. A team operates within the same district duringa certain number of full weeks.

The problem consists of constructing a schedule of mainte-nance work over the planning horizon so that all mandatory tasksare performed, and the total score associated with the optionaltasks that are performed is maximized. Each daily schedule isviewed as a route in the context of vehicle routing. To the best ofour knowledge, this problem has never been addressed in thescientific literature. We call it the Multi-District Team OrienteeringProblem (MDTOP) because the scheduling problem in each districtcan be viewed as the Team Orienteering Problem (TOP) with addi-tional constraints.

The TOP was introduced by Chao et al. [3]. In the TOP, given afixed amount of time for each one of themmembers of a team, thegoal is to determine m routes starting and ending at a specificpoint through a subset of locations in order to maximize the totalscore. The TOP is rooted in the Orienteering Problem (OP), alsoknown as the Selective Traveling Salesman Problem (STSP) (see e.g.,[12,5–7]). Tang and Miller-Hooks [11] have proposed a tabu search

Contents lists available at ScienceDirect

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

Computers & Operations Research

0305-0548/$ - see front matter & 2013 Elsevier Ltd. All rights reserved.http://dx.doi.org/10.1016/j.cor.2013.07.026

n Corresponding author. Tel.: +52 8111923672E-mail addresses: [email protected], [email protected],

[email protected] (M. Angélica Salazar-Aguilar), [email protected](A. Langevin), [email protected] (G. Laporte).

Computers & Operations Research 41 (2014) 76–82

Page 2: The multi-district team orienteering problem

algorithm for the TOP, whereas Boussier et al. [2] have developed abranch-and-price algorithm for the same problem. Archetti et al.[1] have proposed two variants of a generalized tabu searchalgorithm and a variable neighborhood search algorithm for theTOP and have shown that each of these algorithms outperformsthe heuristics of [11].

A variant of the TOP, called the TOPTW, was later introduced byVansteenwegen et al. [13]. In the TOPTW each vertex has anassociated time window. The authors have proposed an integerlinear programming formulation and an iterated local searchheuristic for this problem. The same authors [14] have alsoproposed a path relinking algorithm for the TOP which outper-forms the previous heuristics of Tang and Miller-Hooks [11] and ofArchetti et al. [1], among others.

In the MDTOP there are several districts, each of which containsa subset of mandatory tasks (this feature is not included in theTOP) and another subset of optional tasks. Additionally, the MDTOPcontains incompatibility constraints which are not present in theTOP. In this paper, we propose a mixed integer linear programmingformulation, as well as an adaptive large neighborhood search (ALNS)metaheuristic for the MDTOP.

The organization of this work is as follows. Section 2 formallydescribes the MDTOP and provides a mathematical model for it.Section 3 describes the proposed ALNS metaheuristic for theproblem under study. Computational results are presented inSection 4, followed by conclusions in Section 5.

2. Formal problem description and model

Given a region partitioned into a set D of districts and aplanning horizon of h weeks, the MDTOP consists of determiningthe number wd of weeks allocated to each district dAD and theschedule of all tasks to be performed on each day of the wd weeks.The total time allocated to the districts cannot exceed the length ofthe planning horizon h, which means that ∑dADwdrh. To eachdistrict sets of mandatory and optional tasks, called Md and Od,respectively, are assigned. Within the time wd assigned to districtd, all mandatory tasks in Md must be completed, and someoptional tasks in Od can also be performed. All tasks, mandatoryand optional, consume some service time if they are performed,and if an optional task iAOd is executed, a non-negative score si isthen collected. The aim of the MDTOP is to perform all mandatorytasks and possibly some optional tasks in such a way that the totalcollected score is maximized, the total time assigned to eachdistrict d does not exceed wd, and some side constraints aresatisfied. Namely, the maximum duration of a working day is12 h, each week contains six consecutive working days, and wd isinteger. Moreover, there are some incompatible tasks whichcannot be carried out during the same day.

2.1. Mathematical model

Let Gd ¼ ðVd;AdÞ be a complete graph representing a districtdAD, where the vertex set Vd ¼ fMd [ Od [ fed; edgg contains alltasks in district d, and two copies ed and ed of the depot in districtd. Let ajd be the time needed to perform task j in district d, wherejAMd [ Od. The set Ad is the arc set in district d. The travel time tijfrom vertex i to vertex j is known for all ði; jÞAAd. Each iAOd has anassociated profit si. Some tasks jAMd [ Od have an associated setof tasks Cd

j � Vd\fed; ed; jg which cannot be performed on the sameday as j.

The sequence of tasks assigned to a team during a working dayis a route starting and ending at the depot and whose durationdoes not exceed a time limit Tmax equal to 12 h in our application.Since there are b¼6 working days in a week, the work performed

by the same team over a week in the same district can berepresented by a set of six routes.

For a better explanation of our model, we define the maximumnumber of routes per district as Pd ¼min fhb; jVdjg; dAD. Thedecision variables are defined as follows:

xpdij ¼1 if in route p in district d; a task performed at vertex i

is followed by a task performed at vertex j; i; jAVd

0 otherwise:

8><>:

ypdi ¼ 1 if a task at vertex i is part of route p in district dAD; iAVd

0 otherwise:

wd is the number of working weeks assigned to district d, dAD.ui

pd represents the position of vertex i in route p in district d, iAVd.The problem is then formulated as follows:

ðMDTOPÞ Maximize z¼ ∑dAD

∑pAPd

∑iAOd

siypdi ð1Þ

subject to

∑pAPd

∑iAVd\fedg

xpdedirbwd dAD ð2Þ

∑pAPd

∑iAVd\fedg

xpdied rbwd dAD ð3Þ

∑pAPd

ypdk ¼ 1 dAD; kAMd ð4Þ

∑pAPd

ypdk r1 dAD; kAOd ð5Þ

∑iAVd\fedg

xpdik ¼ ypdk dAD; pAPd; kAMd [ Od ð6Þ

∑iAVd\fedg

xpdki ¼ ypdk dAD; pAPd; kAMd [ Od ð7Þ

∑iAVd\fedg

∑jAVd\fedg

tijxpdij

þ ∑iAVd\fed ;edg

adi ypdi rTmax dAD; pAPd ð8Þ

∑dAD

wdrh ð9Þ

ypdi rupdi r ðjVdj�2Þypdi dAD;pAPd; iAVd\fed; edg ð10Þ

updi �upd

j þ 1rðjVdj�2Þð1�xpdij Þ dAD; pAPd; i; jAVd\fed; edg ð11Þ

∑jACd

i

ypdj r1�ypdi dAD; iAVd\fed; edg;Cdi a∅; pAPd ð12Þ

xpdij ; ypdi Af0;1g i; jAV ; pAPd ð13Þ

updi AZ iAV ; pAPd ð14Þ

wdAZþ dAD: ð15ÞObjective (1) computes the total collected score of the selected

optional tasks. Constraints (2) and (3) state that each route startsand ends at the depot and the number of routes does not exceedthe maximum number of days assigned to each district d. Cons-traints (4) guarantee that each mandatory task is performed.Constraints (5) ensure that an optional task is selected at mostonce. Constraints (6) and (7), combined with (4) and (5), enforcethe flow conservation conditions at the vertices. Constraints (8)mean that the maximum available time Tmax is not exceeded onany route. Constraint (9) guarantees that all tasks are completed

M. Angélica Salazar-Aguilar et al. / Computers & Operations Research 41 (2014) 76–82 77

Page 3: The multi-district team orienteering problem

within the planning horizon. Constraints (10) and (11) preventsubtours. Constraints (12) avoid incompatibilities between thetasks assigned to the same route.

2.2. Complexity of the MDTOP

The MDTOP is NP-hard. Indeed, the special case of the MDTOPwithout mandatory tasks and without incompatibility constraints,only one district, and only one working day, reduces to theSelective Traveling Salesman Problem (STSP) which has been provedto be NP-hard by transformation of its recognition version fromthe Hamiltonian circuit problem [7].

3. Adaptive large neighborhood search heuristic

Since the MDTOP is NP-hard and several papers have shownthat the TOP and related problems are very difficult to solveexactly, we propose a heuristic algorithm for its solution. It isbased on the ALNS mechanism [8,9] which has proved to be highlyeffective for complex routing problems. Our heuristic constructsan initial solution for the MDTOP and then attempts to improve itby means of several destroy and repair operators which arecoupled in our implementation. The ALNS metaheuristic allowsmultiple destroy and repair operators to be used within the samesearch process. Operators are selected dynamically at each itera-tion according to their past performance. To this end, eachoperator is assigned a weight which reflects how successful ithas been in the past and influences its probability of being selectedat the next iteration. These weights are adjusted as the searchprogresses so that the heuristic adapts to the instance at hand andto the state of the search.

3.1. Construction phase

The construction procedure determines the number wd ofweeks that will be assigned to each district dAD, as well as theset of tasks to be performed each day during the wd weeks. Thetotal time assigned to all districts cannot exceed the number ofweeks in the planning horizon. The daily schedule is defined by aroute that starts and ends at the district depot, and the routeduration cannot exceed a preset time limit Tmax ¼ 12 h.

The procedure starts from an empty solution of hb routes,which only contain the start and end location (district depot).Since the districts are independent of each other, our algorithmoperates on one district at a time. Initially, the algorithm estimatesthe minimum number of routes needed to perform all mandatorytasks. To this end, for each district dAD, it constructs the routes byconsidering only the mandatory tasks. These routes are graduallyextended one at a time by iteratively inserting a task in the bestposition in the current route. Let rdg denote the gth route in districtd. When extending rd

g, the algorithm selects a mandatory taskjAMd yielding the shortest duration of rdg, and j is removed fromMd. Consecutive insertions in rd

g take place as long as the durationof rdg does not exceed 12 h. While Md is not empty, the next routergþ1d is extended, and this process is repeated until there remain nounassigned mandatory tasks.

Let Rd be the set of routes that have been extended in district dand let c¼∑dADjRdj be the total number of extended routes.Since the number of working days per district must be a multipleof b, the algorithm initially assigns wd ¼ ⌈jRdj=b⌉ weeks to eachdistrict dAD. Let e¼ h�∑dADwd be the number of weeks notalready assigned to any district. These weeks are distributed one atthe time to the districts in order to yield a final allocation of theavailable time over all districts and a set Rd of partial routes perdistrict, where ∑dADjRdjrhb. We have implemented and tested

four different time-allocation strategies: (i) balanced allocation,starting with the district with the smallest value of jRdj; (ii)allocation according to the cumulative score of optional tasks(decreasing order); (iii) allocation according to the number ofmandatory tasks on each district (decreasing order); and (iv)allocation according to a random selection of districts.

The second main step of the construction method is to assignthe optional tasks to the routes generated in the previous step. Foreach district dAD, the algorithm considers the set of optional tasksOd and attempts to assign some of these to the current routes. Sinceprofit must be maximized, at each iteration the task with the bestinsertion value is included in the solution. For each task kAOd thealgorithm identifies a route rpðkÞd yielding pðkÞ ¼ argmaxgA f1;…;jRd jgðsk=ΔrgdÞ, where sk is the profit associated with k and Δrgd is theincrement in the duration of rdg if task k is inserted into the route.The algorithm then selects the optional task k such thatk ¼ argmaxkAOd

ðsk=ΔrpðkÞd Þ; it then inserts k into rpðkÞd and removesit from Od. This process is iterated while Od is non-empty and thereare still feasible insertions into the current routes. At each insertionthe algorithm computes the duration of the modified route, andonly feasible insertions are allowed. Finally, the total collected profitis computed.

Note that we have not yet mentioned the case where thealgorithm cannot find a feasible solution which allows the execu-tion of all mandatory tasks within the planning horizon. Inpractice this occurs very rarely. Most of the time, the proportionof mandatory tasks does not exceed 50% of the total number oftasks and the planning horizon is sufficiently long to perform allmandatory tasks. However, if the maximal number of routes hb isreached and there is a least one district l such that Ml is not emptyor if ∑dADjRdj4hb, then the current solution is infeasible withrespect to the planning horizon. To deal with this situation, amodified instance is generated in which all mandatory tasks aretreated as optional tasks with very large scores. In this case, whenthe improvement phase finishes, the feasibility of the best foundsolution is verified with respect to the original instance, and theobjective value is recomputed.

The initial solution from each allocation strategy is improvedby applying several destroy and repair operators within theframework of the ALNS metaheuristic. However, if all optionaltasks are part of the initial solution, then there is no need to applythe improvement phase. The ALNS structure used in this work issimilar to the one implemented by Salazar-Aguilar et al. [10] forthe arc routing problem with synchronization constraints.

3.2. Improvement phase

Given an initial solution R¼ fR1;…;RjDjg, a set of destroy andrepair operators is applied until a stopping criterion is reached. Atthe end of this phase, the algorithm reports the best foundsolution Rn. Each destroy and repair operator ωAΩ has a weightρω which is adjusted dynamically during the search. Initially, alloperators have the same weight ρω ¼ 1;ωAΩ. In order to diversifythe search, it is divided into a number of segments of δ iterations(in our case δ¼ 100) and at each iteration within the samesegment, these weights are adjusted dynamically, based on thepast performance of the operator ω, computed as

ρω ¼ SðωÞ=UðωÞ;

where UðωÞ is the number of times operator ω has been selected,and SðωÞ is the number of times for which ω has improved thecurrent solution in the past iterations of the segment. At the end ofa segment, the weights ρω are re-initialized to the value they hadat the first iteration of the segment. This means that at thebeginning of each segment, all operators ω have the same weight.

M. Angélica Salazar-Aguilar et al. / Computers & Operations Research 41 (2014) 76–8278

Page 4: The multi-district team orienteering problem

At each iteration, the selection of an operator ω is achieved byfollowing a roulette wheel mechanism by which operator ω has aprobability

τω ¼ ρω= ∑ϕAΩ

ρϕ

of being selected. Once an operator has been chosen, it is applieduntil three consecutive non-improving solutions have been per-formed. As in record-to-record travel [4], a non-improving solu-tion can be randomly accepted if its value does not decrease that ofthe incumbent solution by more than 10%. In addition, for eachoperator ω, at most 50 non-improving solutions can be accepted.Let Π be the set of non-improving solutions accepted in theprevious iterations, and let R′AΠ be a non-improving solutionwhose value does not exceed that of the incumbent solution bymore than 10%. A number θ is randomly selected in ½0;50�according to a discrete uniform distribution; if jΠjoθo50 thenR′ is accepted, otherwise R′ is rejected. Algorithm 1 summarizesthe general framework of the improvement phase of our ALNSheuristic.

Algorithm 1. Improvement phase of the ALNS heuristic.

Input:R: Initial feasible solutionΩ: Set of destroy and repair operators

Output: RB: Incumbent solutionInitialization

RB←R, Π ¼∅, UðωÞ ¼ 0, SðωÞ ¼ 0, ρω ¼ 1, for all ωAΩUse each destroy and repair operator until three consecutivenon-improvement solutions are found. Update RB, R if it isnecessary.while Stopping criterion is not met doChoose a destroy and repair operator ωAΩ using the

roulette wheel selection mechanism based on currentweights ρωwhile Three consecutive non-improvement solutions are

not found doSet UðωÞ←UðωÞ þ 1Generate RN from R by applying operator ω.

if zðRNÞ4zðRÞ thenSet R←RN , SðωÞ←SðωÞ þ 1

elseif zðRNÞr0:90zðRBÞ thenGenerate a number θA ½0;50� according to a discrete

uniform distributionif jΠjoθo50 then

Set R←RN , Π←Π [ RN

end ifend if

end ifif zðRNÞ4zðRBÞ thenUpdate the incumbent solution, set RB←RN

end ifend whileif the end of the search segment is reached thenρω ¼ 1

elseρω ¼ SðωÞ=UðωÞ

end ifend whilereturn RB

In our implementation of the ALNS metaheuristic we havedeveloped six destroy and repair operators, which attempt toimprove the solution generated in the construction phase. All

operators perform task insertions by keeping feasibility in allroutes. The constraints related to the duration of each route aswell as the compatibility among tasks are satisfied during theentire search process.

3.2.1. Reordering tasksThis operator attempts to reduce the duration of each route

rgdARd; g ¼ 1;…; jRdj associated to each district dAD. For example,if the gth route ðrg2Þ in district d¼2 is selected, then a temporaryroute rg2 is opened. Initially, rg2 contains only the starting and theending vertices (depot). All tasks jArg2 (excluding the depot) arethen inserted into rg2. To carry out this insertion, at each iterationthe task jnArg2 yielding the smallest increment in the duration ofrg2 is selected. If the duration of rg2 is shorter than that of rg2, then rg2is replaced with rg2. This procedure is applied to all routes in thecurrent solution R, and a new solution RN is obtained. Note that theobjective values of solutions R and RN are the same because nonew optional tasks have been included in RN. Therefore, in order toincrease the objective value, the algorithm attempts to assignoptional tasks to all routes in RN, while keeping the maximumduration of the routes less than or equal to Tmax. In each district,whenever an insertion of a vertex jnAMd in a route rd

g is performed,it is because the insertion of jn in rd

g produces the largest value ofζ ¼ sjn=lðrgdÞ, where lðrgdÞ is the duration of route g in district d.

3.2.2. Moving optional tasksThis operator tries to improve the current objective value (total

collected score) by removing and inserting optional tasks. Itoperates as follows. For each route rgdARd; g¼ 1;…; jRdj associatedto each district dAD, a copy rgd is created, considering only themandatory tasks assigned to rd

g and the starting and endingvertices (depot). The duration lðrgdÞ of each route rgd is computed.In general, lðrgdÞr lðrgdÞ because rgd does not include optional tasksassigned to rd

g. This operator then attempts to insert optional tasksin the current routes Rd. To this end, the optional task jnAOd withthe highest score sjn is chosen at each iteration, and the insertionof jn takes place in the gth route having the largest value ofsjn=lðrgdÞ. Note that the insertion of jn is allowed only if the newduration of rgd does not exceed the time limit Tmax. When jn isinserted in rgd, it is removed from Od and the duration of rgd isupdated. The next jnAOd with the highest score is chosen and theprocess attempts to insert it into a route in Rd by applying therules just described. This process ends when there are no morefeasible insertions.

3.2.3. Removal of the farthest task in a random routeThis operator randomly selects a route from the set of routes R.

The district to which this route belongs is identified and theprocess operates as in the next operator.

3.2.4. Removal of the farthest task in a random districtThis operator tries to reduce the duration of a random route rd

g

with the goal of diversifying the search and improving theobjective value. The district d and the route rgdARd are bothrandomly selected. The vertex (task) j to be removed from rd

g isthe one with the largest value of c ¼ cij þ cjk, where i is thepredecessor of j in rd

g and k is the successor of j in rdg. If j is

mandatory, then this operator identifies another route rgd ARd;

gag , in which j can be inserted. In this case, rgd is the one with theshortest increment in its duration (once j has been inserted). If thenew duration of rgd exceeds Tmax, then the optional task jn in rgdwith the smallest score sjn is removed from rgd . The duration of rgd isupdated, and if it exceeds Tmax, the move is refused and the inputsolution is reported. Otherwise, unassigned optional tasks areassigned to the current routes with the aim of increasing the

M. Angélica Salazar-Aguilar et al. / Computers & Operations Research 41 (2014) 76–82 79

Page 5: The multi-district team orienteering problem

current collected score. The process ends when no insertion forany district is feasible. The current solution is then reported.

3.2.5. Sequential removal of farthest tasksHere, the operator O4 is iteratively applied to each district

dAD. It reports the best found solution after O4 has been used jDjconsecutive times (once per district).

3.2.6. Complete removal-insertion of mandatory tasks in all districtsThis operator has the greatest destruction effect. For each

district dAD a complete reassignment of mandatory tasks iscarried out. The jRdj routes in district d are rebuilt simultaneously.At each iteration, a mandatory task jAMd is assigned to a routergdARd. The selected route is the one having the shortest durationafter j has been inserted into it. When Md ¼∅, the optional tasksOd are assigned to the current routes as in the construction phase.As for the previous operators, the process ends if no feasibleinsertion exists or if Od ¼∅; 8dAD. The best known feasiblesolution is reported.

4. Computational results

Our algorithm was coded in C++ and compiled with GNU on a2.40 GHz Intel(R) Xeon(R) CPU E5530 under the Linux operatingsystem. The experimental work was carried out over a large set ofartificial instances. We have analyzed the performance of ouralgorithm by generating different numbers of districts and takinginto account the three different cases: (i) changes in the number ofmandatory tasks; (ii) changes in the number of tasks withincompatibilities; and (iii) considerations of heterogeneous andhomogeneous profits in all optional tasks. We first evaluate theperformance of the different time-allocation strategies developedin the construction phase. The best of these will then be used tocarry out the analysis of the three cases just described.

4.1. Computational results on randomly generated instances

We have tested our algorithm on several sets of randomlygenerated instances. To this end, we have generated different setsof 10 instances. We have considered a planning horizon of threemonths (13 weeks), six working days per week, and a maximumduration of 12 h for each working day. We have also considereddifferent numbers of mandatory tasks and different percentages ofincompatible tasks. In all instance sets of Table 1, at most 50% ofthe total tasks are mandatory, and in Table 2, at most 30% aremandatory. In both cases, 20% of the total tasks are incompatiblewith at least one task, and the score of an optional task is in therange [20, 100]. The first column of these tables contains the nameof the instances set; for instance “5D20Inc50M” is related to theinstances with five districts, 20% of tasks with incompatibilities,and at most 50% of mandatory tasks. The average numbers of tasksand of optional tasks are given in the third and fourth columns ofthe tables, respectively.

Because the MDTOP has never been previously studied, nocomparative data and no competing heuristics exist. We haveevaluated the performance of our ALNS heuristic by varyingsome of the instance parameters. Specifically, we have generatedother instance sets, similar to those described in Tables 1 and 2,where the number of tasks with incompatibility is around 10%of the total. Tables 3 and 4 provide more details about theseinstances.

4.2. Evaluation of time-allocation strategies

A series of tests were carried out to evaluate the performanceof the different time-allocation strategies described in Section 3.1.The results are displayed in Tables 5 and 6. The name of theinstance sets appears in the first column, the number of instanceswhere each strategy generates the best found solution are shownfrom the second to the fifth columns of the Tables 5 and 6. Thetotal number of instances (out of 80 instances, ten per instanceset) where each strategy yields the best found solution is pre-sented in the last row. For example, in the case of the set“5D20Inc50M”, the strategy based on the total score generatesthe best solution for eight out of 10 instances, and the strategybased on the number of mandatory tasks yields the best solutionfor six out of 10 instances. Observe that in this case, there are fourinstances in which both strategies generate the same best solution.For this test, the random time-allocation is not able to generatebetter solutions than the other strategies.

The last row in Tables 5 and 6 shows that the strategy based onthe total score is the one with the best performance since it yieldsthe best solutions in more than 50% of the cases. This strategy willbe used to carry out the following computational analysis.

Table 1Instance sets with 20% of incompatible tasks and maximum 50% of mandatory tasks.

Instance set Districts Average

All tasks Optional

5D20Inc50M 5 568 3247D20Inc50M 7 585 33110D20Inc50M 10 576 33012D20Inc50 12 570 321

Table 2Instance sets with 20% of incompatible tasks and maximum 30% of mandatory tasks.

Instance set Districts Average

All tasks Optional

5D20Inc30M 5 600 4447D20Inc30M 7 566 42210D20Inc30M 10 560 41712D20Inc30M 12 563 423

Table 3Instance sets with 10% of incompatible tasks and maximum 50% of mandatory tasks.

Instance set Districts Average

All tasks Optional

5D10Inc50M 5 567 3237D10Inc50M 7 575 32410D10Inc50M 10 572 32712D10Inc50M 12 564 320

Table 4Instance sets with 10% of incompatible tasks and maximum 30% of mandatory tasks.

Instance set Districts Average

All tasks Optional

5D10Inc30M 5 569 4247D10Inc30M 7 556 41510D10Inc30M 10 568 42412D10Inc30M 12 562 422

M. Angélica Salazar-Aguilar et al. / Computers & Operations Research 41 (2014) 76–8280

Page 6: The multi-district team orienteering problem

4.2.1. Changes in the proportion of mandatory tasksConsidering different instance sets where the proportion of

mandatory tasks is around 50% (Table 1), and instances sets wherethis proportion is around 30% (see Table 2), we have analyzed theeffect of these proportions on the computation time. The secondcolumn of Table 7 shows the average computation time perinstance in each set. For these instances, the computation timeincreases with the proportion of mandatory tasks. For example,our procedure took on an average 765 s to solve one instance inthe set “5D20Inc50”, and 588 s to solve one instance in the set“5D20Inc30M”. Moreover, we observe that the computation timedecreases when the number of districts increases. In other words,the working time or number of routes assigned to each districtdecreases when the number of districts increases because alldistricts must be serviced within the pre-specified planning horizon(in our case, three months).

4.2.2. Changes in the proportion of tasks with incompatibilitiesIn the previous results, the proportion of tasks with incompat-

ibilities is around 20% of the total. Here we have decreased thisproportion to 10%. Table 8 shows the average computation timeover all instances tested.

In Table 8 we observe that the computational time does notdepend on the proportion of mandatory tasks, contrary to the casewhere 20% of the total tasks have incompatibilities (see Table 7).Again, the computation time decreases when the number ofdistricts increases.

4.2.3. Heterogeneous and homogeneous profitsIn the MDTOP each optional task has an associated positive

profit which is collected if the task is performed. In the previousinstances the profit was heterogeneous. This means that theprofits of the optional tasks were not identical. In our case the

profit of each optional task is in the range [20,100]. In this part ofour experimental work we are interested in analyzing the perfor-mance of the ALNS operators on such instances. We have com-puted the average percentage of improvement over all differentinstance sets described in Tables 1–4. The first and third columnsin Table 9 provide the name of the instance set, and the secondand fourth columns show the percentage of improvement in theobjective value per instance in each set. For each instance in eachset we have computed the percentage of improvement as 100�[BestObjectiveValue-InitialObjectiveValue]/InitialObjectiveValue andwe have then computed the average of these improvements(second and fourth columns).

In general, we observe from Table 9 that the largest improve-ments are obtained for the instance sets where 50% of the totaltasks are mandatory, and 10% of the total tasks have someincompatibilities with other tasks. As expected, the instances withmore incompatible tasks are the hardest.

Finally, we have analyzed the case for which all optional taskshave the same (homogeneous) profit. We have considered all theprevious instance sets and we have assumed that all optional taskshave a unit profit. To carry out our analysis we have computed thecomputation time and the average improvement of our ALNSoperators.

Table 10 displays the average computation time per instance ineach set. Comparing the values of the second column in Tables 10and 7, we observe that the computation time is not affected by thepresence of heterogeneous or homogeneous profit. In a similarway, if we sum the values in the fourth column of Table 10 and thevalues in the second column of Table 8, we do not observe anysignificant difference between the computing times for thesetwo cases.

Finally, we have compared the average improvement obtainedfor all instance sets with both heterogeneous and homogeneousprofits (Table 11). In this case, the improvement per instance ineach set is computed as the difference between the number ofoptional tasks in the best found solution and the number of

Table 5Performance of time-allocation strategies, instance sets with 20% of incompatible tasks.

Number of best solutions found by each allocation strategy

Set Balanced Total score Mandatory tasks Random

5D20Inc50M – 8 6 –

7D20Inc50M 8 1 – 110D20Inc50M – 4 6 –

12D20Inc50M – 3 6 25D20Inc30M 5 5 2 –

7D20Inc30M – 7 5 –

10D20Inc30M – 6 4 –

12D20Inc30M – 8 3 1

Total 13 42 32 4

Table 6Performance of time-allocation strategies, instance sets with 10% of incompatible tasks.

Number of best solutions found by each allocation strategy

Set Balanced Total score Mandatory tasks Random

5D10Inc50M – 7 6 17D10Inc50M 7 3 2 –

10D10Inc50M – 7 3 –

12D10Inc50M – 6 5 –

5D10Inc30M 3 7 3 –

7D10Inc30M 2 7 4 –

10D10Inc30M – 6 5 –

12D10Inc30M – 6 4 –

Total 12 49 32 1

Table 7Computation time (seconds), instance sets wherearound 20% of the total tasks have incompatibilitywith other tasks.

Instance set Time (s)

5D20Inc50M 7655D20Inc30M 5887D20Inc50M 5167D20Inc30M 20910D20Inc50M 27310D20Inc30M 17012D20Inc50M 24212D20Inc30M 86

Table 8Computation time (seconds), instance sets wherearound 10% of the total tasks have incompatibilitywith other tasks.

Instance set Time (s)

5D10Inc50M 5255D10Inc30M 6297D10Inc50M 4277D10Inc30M 19710D10Inc50M 31710D10Inc30M 21212D10Inc50M 11512D10Inc30M 143

M. Angélica Salazar-Aguilar et al. / Computers & Operations Research 41 (2014) 76–82 81

Page 7: The multi-district team orienteering problem

optional tasks in the initial solution. The average of these improve-ments is displayed in the second and third columns. For example,in the first instance set in the second column of Table 11, the

average number of optional tasks in the best found solutionsincreases by eight with respect to the initial solutions. In the thirdcolumn on the same row, the average number of optional tasks inthe best found solutions includes eleven more optional tasks thanin the initial solutions. In general, we can see that this way ofcomputing the average improvement shows that the operators arebetter able to increase the number of performed optional tasks inthe homogeneous case than in the heterogeneous case.

5. Conclusions

We have introduced, modeled, and solved a multi-district teamorienteering problem arising in a real context of tasks schedulingand operations planning. This problem was shown to be NP-hard.A mixed integer linear problem was proposed, and an adaptivelarge neighborhood search metaheuristic was developed. In theconstruction phase the ALNS algorithm first assigns certain num-ber of weeks to each district (using four time-allocation strategies)and it then constructs a good set of feasible routes. In theimprovement phase, six destroy and repair operators are applied.The performance of the proposed ALNS procedure was evaluatedon a set of artificial instances. The average improvement yieldedby the improvement phase of our algorithm is significant, which isan indication of the efficiency of this phase. Moreover, the comp-utation time is reasonable considering the size and difficulty of thetested instances.

Acknowledgements

This work was supported by PROMEP/103.5/13/6644 andUANL-PAICYT 2011-2012, and by the Canadian Natural Sciencesand Engineering Research Council under Grants RGPIN41978 and39682-10. This support is gratefully acknowledged. Thanks are dueto a referee who provided valuable comments.

References

[1] Archetti C, Hertz A, Speranza MG. Metaheuristics for the team orienteeringproblem. Journal of Heuristics 2007;13:49–76.

[2] Boussier S, Feillet D, Gendreau M. An exact algorithm for team orienteeringproblems. 4OR 2007;5:211–30.

[3] Chao I-M, Golden BL, Wasil EA. The team orienteering problem. EuropeanJournal of Operational Research 1996;88:464–74.

[4] Dueck G. The great deluge algorithm and the record-to-record travel. Journalof Computational Physics 1993;104:86–92.

[5] Golden BL, Levy L, Vohra R. The orienteering problem. Naval Research Logistics1987;34:307–18.

[6] Golden BL, Wang Q, Liu L. A multi-faceted heuristic for the orienteeringproblem. Naval Research Logistics 1988;35:359–66.

[7] Laporte G, Martello S. The selective travelling salesman problem. DiscreteApplied Mathematics 1990;26:193–207.

[8] Pisinger D, Ropke S. A general heuristic for vehicle routing problems.Computers & Operations Research 2007;34:2403–35.

[9] Ropke S, Pisinger D. An adaptive large neighbourhood search heuristic for thepickup and delivery problem with time windows. Transportation Science2006;40:455–72.

[10] Salazar-Aguilar MA, Langevin A, Laporte G. Synchronized arc routing problemfor snow plowing operations. Computers & Operations Research2012;39:1432–40.

[11] Tang H, Miller-Hooks E. A TABU search heuristic for the team orienteeringproblem. Computers & Operations Research 2005;32:1379–407.

[12] Tsiligirides T. Heuristic methods applied to orienteering. Journal of theOperational Research Society 1984;35:797–809.

[13] Vansteenwegen P, Souffriau W, Vanden Berghe G, Van Oudheusden D. Iteratedlocal search for the team orienteering problem. Computers & OperationsResearch 2009;36:3281–90.

[14] Vansteenwegen P, Souffriau W, Vanden Berghe G, Van Oudheusden D. Pathrelinking approach for the team orienteering problem. Computers & Opera-tions Research 2010;37:1853–9.

Table 9Average percentage of improvement, heteroge-neous instances.

Instance set % Improvement

5D20Inc50M 0.97D20Inc50M 1.110D20Inc50M 1.312D20Inc50M 0.85D20Inc30M 0.97D20Inc30M 0.910D20Inc30M 0.812D20Inc30M 0.65D10Inc50M 1.67D10Inc50M 1.110D10Inc50M 1.212D10Inc50M 1.65D10Inc30M 0.77D10Inc30M 0.510D10Inc30M 0.712D10Inc30M 0.7

Table 10Computation time (seconds), homogeneous instances.

Instance set Time (s)

5D20Inc50M 8275D20Inc30M 4837D20Inc50M 5407D20Inc30M 22110D20Inc50M 25710D20Inc30M 11512D20Inc50M 27412D20Inc30M 1045D10Inc50M 5935D10Inc30M 6777D10Inc50M 4657D10Inc30M 17410D10Inc50M 33610D10Inc30M 25712D10Inc50M 11912D10Inc30M 152

Table 11Average improvement, heterogeneous and homogeneous profits.

Instance set Average improvement

Heterogeneous Homogeneous

5D20Inc50M 8 115D20Inc30M 7 127D20Inc50M 5 87D20Inc30M 6 1010D20Inc50M 5 810D20Inc30M 6 912D20Inc50M 3 812D20Inc30M 6 125D10Inc50M 9 135D10Inc30M 7 117D10Inc50M 5 77D10Inc30M 6 1010D10Inc50M 5 910D10Inc30M 4 1012D10Inc50M 6 812D10Inc30M 5 10

M. Angélica Salazar-Aguilar et al. / Computers & Operations Research 41 (2014) 76–8282