A heuristic scheme for the Cooperative Team Orienteering Problem with Time Windows
The Cooperative Orienteering Problem with Time Windows (COPTW)is a class of problems with some important applications and yet has received relatively little attention. In the COPTW a certain number of team members are required to collect the associated reward from each customer simultaneously and cooperatively. This requirement to have one or more team members simultaneously available at a vertex to collect the reward, poses a challenging OR task. Exact methods are not able to handle large scale instances of the COPTW and no heuristic schemes have been developed for this problem so far. In this paper, a new modification to the classical Clarke and Wright saving heuristic is proposed to handle this problem. A new benchmark set generated by adding the resource requirement attribute to the existing benchmarks. The heuristic algorithm followed by boosting operators achieves optimal solutions for 64.5% of instances for which the optimal results are known. The proposed solution approach attains an optimality gap of 2.61% for the same instances and solves benchmarks with realistic size within short computational times.
keywords:Heuristics, Team Orienteering Problem with Time Windows, Saving algorithms, Vehicle Routing Problem, Travelling salesman
The Orienteering Problem (OP) is a well-known integer programming problem in combinatorial optimisation, introduced by Golden et al. (1987). OP emerges from a combination between the travelling salesman problem and the knapsack problem. Therefore, it is a routing problem where travelling to all vertices is often not feasible due to limited resources and the available time. The objective of the OP is to find the combination of nodes that maximises the total rewards collected. Tourist trip design (Verbeeck et al. (2014); Vansteenwegen and Van Oudheusden (2007); De Falco et al. (2015)), home fuel delivery (Golden et al. (1987)) and asset protection during wildfire (Van Der Merwe et al. (2015))are some examples of application found in the literature.
Various extensions of the OP have been inspired by real-world problems, such as the Team Orienteering Problem with Time Window (TOPTW) (Labadie et al. (2012); Souffriau et al. (2013); Duque et al. (2015); Gunawan et al. (2015)), time-dependent orienteering problem (Abbaspour and Samadzadegan (2011); Mei et al. (2016); Gavalas et al. (2014)) and other variants (Salazar-Aguilar et al. (2014); Van Der Merwe et al. (2015); Varakantham et al. (2015)). Readers are referred to the survey articles by Vansteenwegen et al. (2011); Gunawan et al. (2016), for a complete list of applications and extensions.
The Orienteering problem is NP-hard (Golden et al. (1987)). An extensive number of exact and heuristic approaches have been proposed to solve this problem. In the literature, a few papers have focused on exact methods(Keshtkaran et al. (2016); Poggi et al. (2010); Dang et al. (2013a)) but most papers deal with heuristic approaches(Bouly et al. (2010); Liang et al. (2013); Marinakis et al. (2015); Dang et al. (2013b); Gunawan et al. (2015); Labadie et al. (2012)).
Given a set of nodes in a TOPTW problem a subset of vertices should be visited in order to collect corresponding rewards (Vansteenwegen et al. (2011)). An extension to TOPTW is the Cooperative Orienteering Problem with Time Windows (COPTW), proposed by Van Der Merwe (2015). This problem arises when some tasks that need to be undertaken at certain locations can only be accomplished by two or more individuals acting cooperatively. In COPTW each node has a unique resource requirement. Collecting the corresponding reward at any individual vertex is upon the condition of meeting the requirements within its time window. Depending on the requirement of each node, one or more team members must be available there to start the service simultaneously. This study seeks to propose a heuristic approach for solving the COPTW, for the first time.
In all orienteering problems with time windows the routes are very sensitive, either a minor change in service start time at any node or even a single swap in orientation of the nodes requires additional computational effort to double-check all constraints for every single route. This very attribute motivates developing a fast and efficient heuristic to solve the problem. We handled the existing complexity of the COPTW by proposing a new robust enhancement to the Clarke and Wright (CW) algorithm followed by boosted operators. The main feature of the heuristic algorithm is its simplicity which facilitates the handling of the problem constraints.
The remainder of the paper is organised as follows: section 2 describes the mathematical formulation of the COPTW problem. In section 3 we introduce the general scheme of the proposed heuristic approach. Our findings from an extensive experimental study are discussed in section 4. Finally, the conclusion and potential future research directions are stated in section 5.
2 Cooperative Orienteering Problem with Time Windows
COPTW generalises the TOPTW formulation (see Van Der Merwe et al. (2015) and Van Der Merwe (2015) for a detailed discussion), where a certain number of team members (resources) are required at vertices . The location is considered served if team members arrive at the vertex within the time window and start the service simultaneously at time for a duration of units of time. In COPTW, a homogeneous fleet of team members start their route from and must return to depot by time , where both and represent a same location. For any two vertices, indicates the required time for each team member to travel from to . The binary decision variable , takes the value if team members visit within the appropriate time window for the required duration, otherwise. The other decision variable is which takes if arc is traversed, otherwise . Furthermore, represents the number of team members travelling from to . Lastly, defines a set of arcs that can be traversed if a team member departs vertex at and arrives vertex by . Following the definition of , feasible arcs that can be traversed to and from node are shown by and , respectively.
The mathematical formulation of the COPTW as a mixed-integer program is as follows:
The objective function (1) maximises the sum of the rewards collected at each vertex . Constraint (2) ensures all members depart from and return to a designated depot. Constraint (3) guarantees flow conservation by enforcing the equality of incoming and outgoing arcs to each node. Constraints (4) and (5) ensure that the collection of a reward (ie a score) at each location is dependent upon the condition of fulfilling its resource requirement, and travelling members of a fleet through an arc never exceeds the total . Constraint (6) ensures that at each vertex the service can only be started when the previously visited location has been served completely and there is sufficient time to travel to the vertex. Constraints (7) and (8) enforce every vertex is visited within its time window. Integer and binary conditions are defined in constraints (9) and (10).
A graphical representation of a sample solution for COPTW is sketched in Fig. 1 as below.
Two of the main attributes of each node, the resource requirement () and corresponding reward (), are specified. Three team members leave the depot and () members must be at each vertex before starting the service to collect associated the reward. The numbers over each arc represent the travelling members of the team through an arc. It is infeasible to visit all vertices within their time frames. Considering the set of all feasible solutions a schedule is produced that maximises the score (ie the sum of rewards collected).
3 A heuristic approach for the COPTW
The requirement in COPTW problems that two or more members of a team are required to be at some of the locations and within specified time windows pose complications observed in neither VRP’s nor OP’s.
Robust enhancements are applied to the classical Clarke and Wright Saving (CWS) heuristic (Clarke and Wright (1964)) followed by modified operators to tackle the challenges introduced by COPTW. The resulting algorithm is named as the Modified Clarke and Wright (MCW) heuristic.
While COPTW aims to maximise the collected score by meeting the resource requirements of vertices within their associated time windows, this can be achieved along with construction of the shortest possible routes, at least in most cases. In the proposed saving function the first two terms are inspired by extensive studies in this area. particularly, Doyuran and Çatay (2011) introduced a new saving function which not only covers the accomplished improvements by Altınel and Öncan (2005) but also integrates a sweep algorithm for further enhancements. However, the last term is developed to explain the orienteering problem attribute to maximise the total collected score. The first term of the saving function improves the reshaping ability of the classical CW heuristic and its circumference characteristic. Motivation of the second term is to give early placement to pairs in vicinity of the depot by including , which is the value of constructed angles between pairs. Therefore, pairs with acute angle climb in the saving pair list while the ones with absolute angles get penalise. The last term is award-based, as pairs with higher score should be at high priorities in the saving pair list, with less impression from other factors. The proposed saving function for the MCW heuristic is therefore as follows:
Where represents the angle between customer and resulted by two rays originating from the depot and crossing them. In the above formulation,, and demonstrate saving value, distance and score, respectively. In equation (11), is the maximum distance and is the average score for each node. Moreover, three parameters namely , and are finely tuned to equip the MCW heuristic to perturbation move. To ensure the assignment of nodes with highest saving values prior to others, we implemented parallel route construction in the MCW algorithm which fit the best with underlying nature of the problem.
In the well-known classical CW saving heuristic Clarke and Wright (1964), all vertices are initially connected to the depot. then, saving values of pairs are obtained by joining each of the two nodes in succession. The procedure adds a new vertex at a time to the ends of tours. But, the MCW heuristic is equipped with more than one insertion operator. Covering vertices in the MCW begins by checking the ends of the constructed tours for insertion. In case of failure, the new vertices will be added within tours, as inspired by the cheapest insertion algorithm (see Rosenkrantz et al. (1974)) in accordance with the associated saving values. It is worthwhile to mention that none of the constraints should be violated and no removal is allowed before starting the function. In the other words, the algorithm is equipped with the same logic as exists in the ejection chains (Glover (1996)).
Figure 2 illustrates the effect of taking advantage from the sweep algorithm and the saving algorithm in the MCW heuristic. The depot is denoted as ”D” and associated rewards are defined in figure 2(c). The CW heuristic constructs circumferenced routes (figure 2(b)) while the sweep algorithm forms routes based on polar angles with the depot regardless of distance between any pairs(figure 2(c)). The proposed saving function reshapes the constructed routes in figure 2(a) by integrating the cosine value. As can be observed nodes with higher rewards are covered in figure 2(c), which proves the importance of the last term in equation 11. The existing routes in figure 2(c) can be improved after implementation of the function operators.
As far as the parameters in the saving function are concerned, the computational effort is positively correlated to the intervals for triplets. Based on extensive tests and considering the compromise between the search effort and solution quality, promising incremental size and intervals for the coefficients are defined. It was decided to change the parameters within for pairs and for , all with an increment of . The large interval and step-size assist the heuristic to explore a broader area of the solution space. The pseudo-code of the presented solution is given in Algorithm 1.
At first, a saving pair list is initialised by calling the function . after that, unvisited nodes based on the pairs that they belong to and their saving values should be assigned to sufficient number of routes. Vertices with satisfied resource requirements are marked as serviced and relevant information are updated. However, nodes with less number of visits than their resource requirements must be removed, before applying the local search to the solution.
The function is represented in Algorithm 2. The saving values of feasible pairs are defined in tuples. The saving function is designed based on the sweep algorithm and CW heuristic (Doyuran and Çatay (2011)) where a new additional term is added to give early placement to vertices with higher scores. The coefficient interval for this term is broader compare to the other two as it plays a crucial rule in maximisation of the objective function. Since frequent update in the is required after each insertion or removal, this procedure is described in Algorithm 3.
Insertion and removal of each vertex can trigger significant changes in the problem environment as revision of the feasibility matrix may be required. In algorithm 3, the start time of the service at each node is the maximum value of the latest arrival time of team members to a node and its opening time. The generated solution by the MCW heuristic is already promising due to the applied logic in the saving function and the insertion operators; however algorithm 4 is designed to further improve the solution quality.
The solution then undergoes a local search improvement for further enhancements which is described in Algorithm 4. Saving values of pairs bring on assignment of vertices in an efficient manner which cause the least additional travel distance and thereby saving more time for score collection at as many locations as possible. The function checks whether any of the inserted vertices can be substituted with the unvisited ones with the possibility of improving the objective function while satisfying all constraints. Finally, it is noteworthy that, while we switch the search space by changing the parameters (perturbation move), the function acts as a local search algorithm.
4 Computational results
Extensive numerical studies were conducted to evaluate the efficacy of the proposed solution approach. A set of benchmark instances was generated by adding the problem-specific attribute to the well-known existing benchmark sets (see Vansteenwegen et al. (2009)). The resource requirement attribute was added to each vertex by picking a random number from a set of , which indicates how many members of the team are required to collect the associated reward at each node.
In the first study, truncated benchmark sets are designed to solve sufficiently small-size instances by means of both the CPLEX commercial solver and the MCW algorithm. Furthermore, we explored the trade-off between an increased number of available members for service on the one hand and the computation time and objective value on the other hand. We furthermore showed the efficient performance of the proposed heuristic in term of time and accuracy on the large-size designed benchmark instances. All the above computational work was performed on a single node of the National Computational Infrastructure. Each node is equipped with dual 8-core Intel Xeon (Sandy Bridge 2.6 GHz) processors and 32GB of RAM. The algorithm was programmed in C++, using a GCC 5.2.0 compiler. Where applicable, MILP models were solved by the CPLEX 12.6.3 commercial solver in deterministic parallel optimisation mode. All tables show the execution times as elapsed times in seconds.
For the parameter studies, after running 584 instances with various parameter settings, we tuned them in a way to define the best possible trade-off between runtime and solution quality. It was decided to change the parameters within for pairs and for . Based on the authors’ observations the value of plays a significant role in the solution quality, thus a broader interval is considered for the newly introduced term in the saving function. Additionally, an incremental size of is large enough to search the feasible region sufficiently and to avoid redundant iterations.
For validation and performance evaluation a collection of 456 small-size benchmark instances were generated and solved by means of both CPLEX and the MCW heuristic . A summary of the tests for nodes with and team members on instance sets c100, r100 and rc100 is provided in Table 1. The size of truncated instances are chosen in a way to investigate the correlation between the increase in problem size and exponential growth in computational effort. It is worthwhile to mention that, infeasible edges are excluded in MILP formulations to simplify models for CPLEX.
In Table 1 computation times are reported for all problems in seconds and the optimality gap is defined by ”OPT Gap %”. The average gap from optimal solutions in Table 1 is which shows the promising performance of the proposed heuristic. Moreover, it can be seen that the computation time increases drastically with minor changes in the problem size for CPLEX, while that of MCW heuristic experiences negligible change.
Table 2 gives the summary of results for vertices with the same number of available team members. One can see that CPLEX solves larger problems from the sets c200, r200 and rc200 compared to those in Table 1. This is due the nature of the studied benchmark groups as the time window intervals are different in length and a larger portion of customers can be covered by the same number of team members. In Table 2, the heuristic average computational time remains below one second for all instances, while it takes hours to solve some sets by CPLEX. In Table 2, the average deviation of MCW heuristic from optimal solutions is just which is reasonable for a heuristic solution.
To further verify the reliability of MCW, more truncated instances from (pr01-pr10) and (pr11-pr20) sets were tested and results are demonstrated in Table 3 and 4. The proposed algorithm performs similarly in all examined cases which assures its reliability for further runs on larger problems.
An instance where the MCW achieved an optimal solution on a small set is demonstrated in Fig. 3. For the sake of better presentation, nodes are assigned into the cells of arrays. The times for starting the service and the corrsponding time window for each succeeding vertex are provided.
Consider for example, three members leave the depot and arrive at customer number 5 within its time window [15,67], where they start the service simultaneously to collect the associated score at 15.1. After that, second and third members leave customer 5 toward vertex number 3. Finally, all the team members finish their tour by returning to depot before . One can see that the illustrated routes are highly dependent in a sense that any minor change in orientation of nodes at any tour requires reconstruction of other routes.
The proposed solution method was examined on truncated sets and results were discussed. After the superior performance of the heuristic approach analysed, we carried out further tests on larger instances by using the same approach. Finally, in Table 5 we report a summary of tests for 50 and 100 vertices with 6 and 12 team members. More team members are considered in order to cover a substantial portion of available nodes. Among the (pr01-pr20) test instances those with an insufficient number of nodes are excluded in the reported results. As can be observed, our implementation attains an optimality gap of 2.61% on instances for which the optimal results are known and solves benchmarks with realistic size within short computational times.
In this paper we investigated the cooperative orienteering problem with time windows, and a new efficient heuristic algorithm is presented to tackle the problem-specific complexities. Although the problem is not newly introduced, we have developed the first heuristic solution to this problem. The proposed algorithm generates optimal solutions for 64.5% of instances for which the best results are known. In this study, we introduced a new modification to the CW saving heuristic to improve solution quality without losing its simplicity.
To evaluate the solution approach, a new benchmark set was generated for the COPTW problem. This was achieved by adding the resource requirement attribute to the existing benchmarks (Vansteenwegen et al. (2009); Montemanni and Gambardella (2009)) for the TOPTW poblem. Then, the small-sized instances were solved by both the CPLEX solver and the MCW heuristic and results analysed. The optimality gaps and computational times demonstrated the efficiency of the algorithm.
The COPTW is an important class of problem that arises naturally in many applications. For example, in disaster relief aid workers transported by bus must be present at the same locations and time windows as a truck carrying relief supplies so that these supplies can be distributed. As the applications grow, further developments will most likely be neded to represent factors such as soft time windows, and real-time changes to route and capacity constraints. Adding new constraints will require more efficient algorithms where our MCW heuristic at the very least will be able to generate high quality and reliable results that can be used as initial solutions.
The second author is supported by the Australian Research Council under the Discovery Projects funding scheme (project DP140104246).
- Abbaspour and Samadzadegan (2011) Abbaspour, R. A., Samadzadegan, F., 2011. Time-dependent personal tour planning and scheduling in metropolises. Expert Systems with Applications 38 (10), 12439–12452.
- Altınel and Öncan (2005) Altınel, İ. K., Öncan, T., 2005. A new enhancement of the clarke and wright savings heuristic for the capacitated vehicle routing problem. Journal of the Operational Research Society 56 (8), 954–961.
- Bouly et al. (2010) Bouly, H., Dang, D.-C., Moukrim, A., 2010. A memetic algorithm for the team orienteering problem. 4or 8 (1), 49–70.
- Clarke and Wright (1964) Clarke, G., Wright, J. W., 1964. Scheduling of vehicles from a central depot to a number of delivery points. Operations research 12 (4), 568–581.
- Dang et al. (2013a) Dang, D.-C., El-Hajj, R., Moukrim, A., 2013a. A branch-and-cut algorithm for solving the team orienteering problem. In: International Conference on AI and OR Techniques in Constriant Programming for Combinatorial Optimization Problems. Springer, pp. 332–339.
- Dang et al. (2013b) Dang, D.-C., Guibadj, R. N., Moukrim, A., 2013b. An effective pso-inspired algorithm for the team orienteering problem. European Journal of Operational Research 229 (2), 332–344.
- De Falco et al. (2015) De Falco, I., Scafuri, U., Tarantino, E., 2015. A multiobjective evolutionary algorithm for personalized tours in street networks. In: European Conference on the Applications of Evolutionary Computation. Springer, pp. 115–127.
- Doyuran and Çatay (2011) Doyuran, T., Çatay, B., 2011. A robust enhancement to the clarke–wright savings algorithm. Journal of the Operational Research Society 62 (1), 223–231.
- Duque et al. (2015) Duque, D., Lozano, L., Medaglia, A. L., 2015. Solving the orienteering problem with time windows via the pulse framework. Computers & Operations Research 54, 168–176.
- Gavalas et al. (2014) Gavalas, D., Konstantopoulos, C., Mastakas, K., Pantziou, G., Vathis, N., 2014. Efficient heuristics for the time dependent team orienteering problem with time windows. In: International Conference on Applied Algorithms. Springer, pp. 152–163.
- Glover (1996) Glover, F., 1996. Ejection chains, reference structures and alternating path methods for traveling salesman problems. Discrete Applied Mathematics 65 (1), 223–253.
- Golden et al. (1987) Golden, B. L., Levy, L., Vohra, R., 1987. The orienteering problem. Naval research logistics 34 (3), 307–318.
- Gunawan et al. (2016) Gunawan, A., Lau, H., Vansteenwegen, P., 2016. Orienteering problem: A survey of recent variants, solution approaches and applications. European Journal of Operational Research 255 (2), 315–332.
- Gunawan et al. (2015) Gunawan, A., Lau, H. C., Lu, K., 2015. An iterated local search algorithm for solving the orienteering problem with time windows. In: European Conference on Evolutionary Computation in Combinatorial Optimization. Springer, pp. 61–73.
- Keshtkaran et al. (2016) Keshtkaran, M., Ziarati, K., Bettinelli, A., Vigo, D., 2016. Enhanced exact solution methods for the team orienteering problem. International Journal of Production Research 54 (2), 591–601.
- Labadie et al. (2012) Labadie, N., Mansini, R., Melechovskỳ, J., Calvo, R. W., 2012. The team orienteering problem with time windows: An lp-based granular variable neighborhood search. European Journal of Operational Research 220 (1), 15–27.
- Liang et al. (2013) Liang, Y.-C., Kulturel-Konak, S., Lo, M.-H., 2013. A multiple-level variable neighborhood search approach to the orienteering problem. Journal of Industrial and Production Engineering 30 (4), 238–247.
- Marinakis et al. (2015) Marinakis, Y., Politis, M., Marinaki, M., Matsatsinis, N., 2015. A memetic-grasp algorithm for the solution of the orienteering problem. In: Modelling, Computation and Optimization in Information Systems and Management Sciences. Springer, pp. 105–116.
- Mei et al. (2016) Mei, Y., Salim, F. D., Li, X., 2016. Efficient meta-heuristics for the multi-objective time-dependent orienteering problem. European Journal of Operational Research 254 (2), 443–457.
- Montemanni and Gambardella (2009) Montemanni, R., Gambardella, L. M., 2009. An ant colony system for team orienteering problems with time windows. Foundation Of Computing And Decision Sciences 34 (4), 287.
- Poggi et al. (2010) Poggi, M., Viana, H., Uchoa, E., 2010. The team orienteering problem: Formulations and branch-cut and price. In: OASIcs-OpenAccess Series in Informatics. Vol. 14. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
- Rosenkrantz et al. (1974) Rosenkrantz, D. J., Stearns, R. E., Lewis, P. M., 1974. Approximate algorithms for the traveling salesperson problem. In: Switching and Automata Theory, 1974., IEEE Conference Record of 15th Annual Symposium on. IEEE, pp. 33–42.
- Salazar-Aguilar et al. (2014) Salazar-Aguilar, M. A., Langevin, A., Laporte, G., 2014. The multi-district team orienteering problem. Computers & Operations Research 41, 76–82.
- Souffriau et al. (2013) Souffriau, W., Vansteenwegen, P., Vanden Berghe, G., Van Oudheusden, D., 2013. The multiconstraint team orienteering problem with multiple time windows. Transportation Science 47 (1), 53–63.
Van Der Merwe (2015)
Van Der Merwe, M., 2015. An optimisation approach for assigning resources to
defensive tasks during wildfires. Ph.D. thesis, RMIT University.
- Van Der Merwe et al. (2015) Van Der Merwe, M., Minas, J. P., Ozlen, M., Hearne, J. W., 2015. A mixed integer programming approach for asset protection during escaped wildfires. Canadian Journal of Forest Research 45 (4), 444–451.
- Vansteenwegen et al. (2009) Vansteenwegen, P., Souffriau, W., Berghe, G. V., Van Oudheusden, D., 2009. Iterated local search for the team orienteering problem with time windows. Computers & Operations Research 36 (12), 3281–3290.
- Vansteenwegen et al. (2011) Vansteenwegen, P., Souffriau, W., Van Oudheusden, D., 2011. The orienteering problem: A survey. European Journal of Operational Research 209 (1), 1–10.
- Vansteenwegen and Van Oudheusden (2007) Vansteenwegen, P., Van Oudheusden, D., 2007. The mobile tourist guide: an or opportunity. OR insight 20 (3), 21–27.
- Varakantham et al. (2015) Varakantham, P., Mostafa, H., Fu, N., Lau, H. C., 2015. Direct: A scalable approach for route guidance in selfish orienteering problems. In: Proceedings of the 2015 International Conference on Autonomous Agents and Multiagent Systems. International Foundation for Autonomous Agents and Multiagent Systems, pp. 483–491.
- Verbeeck et al. (2014) Verbeeck, C., Vansteenwegen, P., Aghezzaf, E.-H., 2014. An extension of the arc orienteering problem and its application to cycle trip planning. Transportation research part E: logistics and transportation review 68, 64–78.