Solving multiobjective team orienteering problem with time windows using adjustment iterated local search
 540 Downloads
Abstract
One of the problems tourism faces is how to make itineraries more effective and efficient. This research has solved the routing problem with the objective of maximizing the score and minimizing the time needed for the tourist’s itinerary. Maximizing the score means collecting a maximum of various kinds of score from each destination that is visited. The profits differ according to whether those destinations are the favorite ones for the tourists or not. Minimizing time means traveling time and visiting time in the itinerary being kept to a minimum. Those are small case with 16 tourism destinations in East Java, and large case with 56 instances consists of 100 destinations each from previous research. The existing model is the Team Orienteering Problem with Time Window (TOPTW), and the development has been conducted by adding another objective, minimum time, become Flexible TOPTW. This model guarantees that an effective itinerary with efficient timing to implement will be produced. Modification of Iterated Local Search (ILS) into Adjustment ILS (AILS) has been done by replacing random construction in the early phase with heuristic construction, continue with Permutation, Reserved and Perturbation. This metaheuristic method will address this NPhard problem faster than the heuristic method because it has better preparation and process. Contributing to this research is a multiobjective model that combines maximum score and minimum time, and a metaheuristics method to solve the problem faster and effectively. There are calibration parameter with 17 instances of 100 destinations each, small case test using Mixed Integer Linear Programming, and large case test comparing AILS with MultiStart Simulated Annealing (MSA), Simulated Annealing (SA), Artificial Bee Colony (ABC), and Iterated Local Search. The result shows that the proposed model will provide itinerary with less number of visited destination 4.752% but has higher total score 8.774%, and 3836.877% faster, comparing with MSA, SA, and ABC. While AILS is compared with ILS, it has less visited destination 5.656%, less total score 56.291%, and faster 375.961%. Even though AILS has more efficient running time than other methods, it needs improvement in algorithm to create better result.
Keywords
Multiobjective Team orienteering problem Time window Iterated local search Mixed integer linear programmingIntroduction
Tourism in Indonesia has a promising future. Data from the Indonesian Ministry of Tourism (2017) show tourism generated 205.04 trillion rupiah in foreign currency while attracting 14.04 million international tourists and 277 million domestic tourists. Encouraging travel and spending is one of strategic targets of the ministry especially for domestic tourists. To encourage travel, the itineraries must be planned well so that it covers tourists’ favorite destinations without using up too much time. Activities that are included initinerary preparation are choosing favorite destinations and arranging them while considering the destinations’ operational times and tourists’ limited time, then making it into a schedule to follow. The combination becomes more complex with more destinations, constraints, and objectives. This condition has been categorized as a tourism routing problem by previous researchers. This research is interesting because it attempts to fulfill tourists’ needs, arrange tourists’ favorite destinations, and guarantee the minimum time without breaking the constraints.
The Traveling Salesman Problem (TSP) is a basic routing arrangement that also applies to routing for tourism itineraries. TSP with profit is one of the TSP developments that considers every destination to have score or profit in order to prioritize visitations. The Orienteering Problem (OP) starts with a similar principle to TSP with its scores and profit for destinations, but with OP the different scores become the objective. This problem is more complex because it has constraints like time windows at each destination that must be followed to make the itinerary feasible. This condition is similar with tourism industry because tourists will visit their favorite destination or destinations with higher scores. OP is a basic model that is applicated widely in addressing tourism routing problems. There are many developments that arise so that it conforms to tourism situations. For example, the Orienteering Problem with Time Window (OPTW) is an OP model that considers destinations’ operational times, or the Team Orienteering Problem (TOP) will apply to group traveling situations.
Previous research has focused on maximizing scores to guarantee that the favorite destinations are the priority of an itinerary. Unfortunately, time can be ineffective because such an itinerary reduces productive hours that can be used to visit other favorite destinations. The previous objective is maximizing scores which guarantees the favorite destinations are inserted in the itinerary, but the effect is a longer time spent traveling and some destinations cannot be visited. This research will combine two objectives: maximizing the score and minimizing the time. The previous models only used one objective. The metaheuristic method replaces the random phase in the heuristic construction to reduce the possibility of an ineffective result. The contribution of this research is more effective and efficient routing for tourists. It is referred to as more effective because it will contain more destinations, while more efficiency is achieved because it can save time for the tourists. The contribution of this model is a better result according to route development by modifying the Team Orienteering Problem with Time Window (TOPTW) model and metaheuristics method, Iterated Local Search (ILS). This modification is needed in order to accommodate another objective, which is minimum time. With ILS, it will start with an adjustment in the heuristic construction before it will perturb randomly.
This paper will be start with an introduction that shows problem and also the gap in previous research. The second section is a literature review to help design state of the art research that links the previous research and the proposed research. The third section is the methodology for the research steps. The results will be laid out in the fourth section along with the analysis. Then the fifth section will consist of the conclusions based on this research.
Literature review
OP can be adjusted to many situations; it can be continued to the metaheuristic method for the optimality, consider many constraints, and has faster computer time. Herzog and Wörndl (2014) defined OP as a score system based on collected scores for chosen destinations while considering the constraints. OP is related to the Knapsack Problem, The Maximum Collection Problem, and The Bank Robber Problem (Li and Fu 2012). A regular heuristic method cannot be used because considering all the constraints takes longer in terms of process time and has a greater possibility of yielding an infeasible result. Hence, the metaheuristic method will be used to run the algorithm. The metaheuristic method concerns efficiency in time and has the flexibility to consider the preferences and limitations of the tourists.
OP development has expanded it widely but OP has remained as the basic model. If OP is usually for single route, the Team Orienteering Problem (TOP) that was developed by Vansteenwegen et al. (2011a, b) will produce multiroutes. Some models can be used to generate single or multiroutes. For example, the Orienteering Problem with Time Windows (OPTW) is for arranging a single route while considering operational hours of destinations (Tsitsiklis 1992; Kantor and Rosenwein 1992; Gendreau et al. 1998a, b; Bansal et al. 2004; Chekuri and Kumar 2004; Chekuri and Pal 2005; Righini and Salani 2009; Vansteenwegen et al. 2011a). OPTW can transform into the Team Orienteering Problem with Time Windows (TOPTW) for multiroutes (Vansteenwegen 2008; Vansteenwegen et al. 2009a; Lin and Yu 2012; Gunawan et al. 2015a). Both OPTW and TOPTW transform into many research topics because of their flexibility (Vansteenwegen et al. 2011b). A moving 2opt is needed to get a qualified result for OP, but in the limited time this process cannot be implemented efficiently to solve the (T)OPTW model. The solution approach for (T)OPTW is the same as for (T)OP. This concept was confirmed by Tricoire et al. (2010) who modified (T)OP problem solving with limited time to get better results. Model TOPTW was used in Vansteenwegen et al. (2009b) paper, Vansteenwegen et al. (2009c), Labadie et al. (2010), Montemanni et al. (2011), Lin and Yu (2012), Hu and Lim (2014), Cura (2014), Gunawan et al. (2015a), and Gunawan et al. (2015b). The reason why the researchers used the same model was because they can compare the performance of the metaheuristic method in terms of result quality and run time. They used the same case as found here: http://www.mech.kuleuven.be/en/cib/op.
Objective (2.10) maximizes the total score that is collected. Equation (2.11) guarantees that a route that starts at destination 1 will be ended at location n. Equation (2.12) and (2.13) determine the relationship and timeline of each tour. Equation (2.14) assures that each destination will be visited once. Equation (2.15) explains that each route will finish in limited time. Equations (2.16) and (2.17) guarantee every visit will start during operational hours. Equation (2.18) prevents same route planning.
Gendreau and Lourenco (2003) said that a metaheuristic method gets solutions by combining interaction between local improvement procedures and higher strategy to get an effective process. This process can escape from local optimal results and give better results from a bigger searching area. In the existing method, this has done but it created a trap in local optimal results. In a complex searching area, especially when using one or more neighborhoods to move from one solution to other solution, it could be a constructive or destructive process. To solve this problem, it needs an optimal method that will yield results immediately like metaheuristic methods do. Talbi (2009) divided metaheuristic methods into several groups: one of them is the most developed singlesolution metaheuristics like Simulated Annealing, Tabu Search, Variable Neighborhood Search, Iterated Local Search, and Guided Local Search. Populationbased metaheuristics is another common group like Genetic Algorithm, Ant Colony, and Particle Swarm. Labadi et al. (2010) proposed a method that combines the Greedy Randomized Adaptive Search Procedure (GRASP) and the Evolutionary Local Search (ELS). This approach gives solutions with equal quality and reduces computer time significantly compared to the Ant Colony System. When GRASPELS compared to ILS, it gives better quality results but has a longer process time. Lin dan Yu (2012) used a heuristic algorithm for TOPTW with Simulated Annealing, and they modified it become MultiStart Simulated Annealing (Lin and Yu 2017). Gunawan et al. (2016) stated the better solution of the TOPTW model is an equilibrium solution compared to an optimal solution that is centered. They said that models like Local Search and Simulated Annealing (Hu and Lim 2014), Artificial Bee Colony (Cura 2014), and Simulated Annealing and Iterated Local Search (SAILS) (Gunawan et al. 2015a) have worse results than the WellTuned—Iterated Local Search that they had designed (Gunawan et al. 2015b). Welltuned ILS will yield improved solutions with short computerization. This is in line with the survey by Gavalas et al. (2013a) that said Iterated Local Search (ILS), Greedy Randomized Adaptive Search Procedure and Evolutionary Local Search (GRASPELS), Ant Colony Systems (ACS) and Iterative Three Components Heuristics (I3CH) can give satisfactory results for problems in TOPTW. Before those pieces of research, Vansteenwegen et al. (2011b) conducted a survey to compare the results of ILS and ACS. Gavalas et al. (2013b) said that TOPTW is a NPhard problem and that the most efficient metaheuristic method is ILS. Vansteenwegen et al. (2009c) also made same statement because ILS also offers a fair compromise between execution time and a good quality traveling route.
ILS combines an insertion step and a shaking step to avoid the optimum solution being local. ILS was developed by Lourenço et al. (2013) for the Traveling Salesman Problem and Scheduling Problem. A set of local solutions is developed rather than repeating a local search randomly. Good balancing between improvement and shaking the intermediate solution is the important thing. These two important steps in ILS, as seen in Vansteenwegen et al. (2009b), are Insertion and Shaking. The first step, Insertion, is a local heuristic step to add new destinations to a route one by one. Before adding the visit to a destination to a route, the verification for all the visitations to other destination must be conducted, thus the arrangement can follow the operational time after the insertion. To get a fast heuristic, there needs to be a fast evaluation for every possibility. The problem is this checking will take a lot of time. For every insertion of a visitation, the minimum insertion time will be determined. The second step, Shake, is needed to exit from the local optimal. As long as this step is one, one or more visitations will be removed. The shake uses two parameters as inputs, with first parameter indicating how many visitations in the sequence will be removed from each route and position in every route to start the removal process. If in the removal process the last destination is reached, removal still continues after the starting point. After the removal, all visitations that are removed will be diverted to the front as much as possible to avoid unimportant waiting time. If it reaches the final destination, removal will continue after the starting point.
From previous research, we knew the problem that has not been fulfilled is the addition of another objective to the previous model TOPTW, making a multiobjective model with two objectives, which are maximizing score and minimizing time. This additional objective is needed because it will make the itinerary more effective and efficient. Effective because it can accommodate the tourists’ favorite destinations, and efficient because it can save the tourists time. The novelty of this research is the modification of the model by using a mathematical formula. This formula will help to achieve the optimal result by considering the real situation or reducing the assumptions. Another novelty is the design of the adjustment to the ILS, because it has a construction phase to replace the random phase. The heuristic construction will give better preparation by producing better results and faster that tourist only needs few time to wait for the result.
Methodology
This research methodology consists of three steps. The first step is analyzing and modifying the previous TOPTW model, second is modifying the ILS method, and third is validating and comparing the result. The new TOPTW model will accommodate multiobjectives, which are the maximum score and minimum time for finding the shortest total time that contains visiting time V_{i} and traveling time T_{ij}. Constraints will be added to make sure the starting time s_{i}, and visiting time V_{i} at a destination will not pass the T_{max}. A complete directed network is G = (k,i), where k = {1,2,…,m} is the set of destinations in a route; destinations {(i j,}: i ≠ j, i j∈N} are the set of arcs. Destination 0 is the starting location in each route. Destination i(i =1,…, n) is a tourism destination with a nonnegative score S_{i}, a nonnegative visiting time V_{i}, and a time window [O_{i}, C_{i}] in each node. Each path must start from and end at node 0. The traveling time from destination i to destination j is known as T_{ij} for each pair of destinations i and j. The maximum time in a route cannot exceed the budget time T_{max}. Every destination can be visited only once. The objective is maximizing the total score from visiting the destinations, and minimizing the time spent. The minimum time is found by adding the visiting and traveling times for all destinations and routes that are visited, and the traveling time from the starting location to the first location. FTOPTW can be modeled as a mixed integer linear program as follows.

y_{ik} = 1 if destination i is visited in route k, 0 otherwise

x_{ijk} = 1 if in route k, a visitation to destination i is followed by a visit to destination j, 0 otherwise

i: number of destinations.

k: number of routes.

S_{i}: score of customer i.

T_{max}: budget time in a route.

T_{ij}: traveling time from destination i to destination j.

s_{i}: arrival time for destination i.

V_{i}: visiting time for destination i.

O_{i}: opening time in the time window for destination i.

C_{i}: closing time in the time window for destination i.

L: Large constants.
The objective function (3.1) maximizes the total score and (3.2) minimizes the time. The total score comes from the score that is summed from every destination that is in the schedule. Total time comes from all the starting times and all the visiting time spent at the places visited. Maximum total score is the priority before continuing with the minimum total time. Constraint (3.3) determines the number of routes used. Constraints (3.4) and (3.5) maintain the connectivity and keep track of the timeline of each route. Constraint (3.6) makes sure that every destination is visited at most once. Constraint (3.7) guarantees that the time budget of each route is not violated. Constraints (3.8) and (3.9) are time window constraints. Constraint (3.10) guarantees that the starting time and visiting time for each destination is not greater than the time budget. Constraint (3.11) specifies that all variables are binary. To make sure this formulation is feasible to run, we used a case study with 16 tourism destinations in East Java.
In the beginning, AILS will take visiting and traveling times from the database, then the destination with the biggest score will be allocated to each route without violating the maximum time T_{max} and operational hours [O_{i}, C_{i}] of the destination. Permutation will guarantee every destination has the same probability of contributing the best solution. The maximum score (Total Score or TS) and minimum time (Total Time or TT) become BS1. BS1 continues to the second process, reverse, in which we will flip the sequence in every route, and recount the TT. If this is less than BS1 and fulfills the time requirement, the result will be placed into BS2. Otherwise, BS1 will become BS2. Repeat this step until all the routes have been flipped. The last step is Perturbation for all the routes. Based on the percentage, the destinations will be moved to another route randomly. If there is a better TT, it could be BS3. If they are getting worse, BS2 will be set as BS3.
The third step is comparing the metaheuristics AILS with other methods in previous papers. Some researches proposed multiobjective team orienteering problem to maximize various profit from each destinations (MartínMoreno and VegaRodríguez 2018; Schilde et al. 2009; Rezki and Aghezzaf 2017), while Hu et al. (2018) developed it with time windows. Mirzaei et al. (2017) research has objective to balance the profit among the routes. Another multiobjective for time dependent orienteering problem was designed by Mei et al. 2016). Multiobjective that is combined maximum profit and minimum travel cost was developed by Bederina and Hifi (2017) as proposed multiobjective team orienteering problem without time windows. This research is focused with multiobjective orienteering problem with time window, and the objectives are maximum profit and minimum time. The previous multiobjectives research did not use single profit for each destination and did not have time window, while this research will compare with single objective research, because they presented the multiresult like total destination visited, total profit, total time, and running time. AILS will compare to other methods like MSA, SA and ABC in Lin and Yu (2017) and ILS in Vansteenwegen et al. (2009b). There is a calibration parameter that is required before we run AILS. There are 17 problem instances, each consisting of 100 destinations, from Solomon’s datasets (Lin and Yu 2017). The percentage will be set at 20%, 40%, 60% and 80% to find out which one will give the shorter running time. The comparison that will be used is total score, visited destination and running time. All the result for each problem are recorded and the gap for the running time is calculated as the average (RT_{BS}–RT_{AILS})/RT_{AILS} where RT_{BS} is the best solution running time in comparing methods and RT_{AILS} is the running time from the AILS method. It will do the same for Visited Destination (VD) and Total Score (TS). Other methods that will be compared are MultiStart Simulated Annealing (MSA) (Lin and Yu 2017), Simulated Annealing (SA) (Lin and Yu 2012), Artificial Bee Colony (ABC) (Cura 2014), and Iterated Local Search (ILS) (Vansteenwegen et al. 2009b). We use the same case study from Solomon’s datasets, and follow the number of routes previous papers used, for a fair comparison.
Algorithm and metaheuristic
This section will describe the calculation process and solution that is obtained from mathematic formulation for the TOPTW algorithm. However, the proposed TOPTW has more objectives. In this new algorithm, the objectives are to maximize the score and minimize the time. The addition objectives make the optimization program perform it as two serial process. When we run the program in Lingo 17 with 16 destinations in Mixed Integer Linear Programming, the program runs for more than 45 min to get the global optimum total score. This time is too long for tourists, who need a very short time to give them a result. The program’s running time must be limited, at most to just 1 s, to get a maximum score and minimum time. That is why we need a metaheuristics method like the Adjustment Iterated Local Search (AILS) to speed up the algorithm to get a solution that is near the global optimal. Because the objective of the program is to minimize its running time, so the tourist is only waiting a short time, we will focus on this. But to make sure the program is good enough, compared to other methods, we also record the total score and number of visited destinations.
Solution representation
A FTOPTW example with 16 destinations
Destination  No  X  Y  V  S  O  C 

Starting point  1  − 7.70  111.00  0  0  0  600 
Banyulawe Waterfall  2  − 7.75  111.68  120  4.7  0  960 
Krecek Ndenu Waterfall  3  − 7.71  111.66  120  4.0  0  960 
Slampir Waterfall  4  − 7.73  111.69  120  4.1  0  960 
Dumilah Waterpark  5  − 7.62  111.53  120  3.7  0  960 
Wilis Mountain  6  − 7.81  111.75  120  4.3  0  960 
Brem Citra Rasa  7  − 7.51  111.68  90  4.0  1  540 
Great mosque Taman  8  − 7.63  111.52  60  4.5  0  780 
Kresek Monument  9  − 7.70  111.63  60  4.2  0  900 
Punden Lambang Kuning  10  − 7.61  111.57  60  4.4  1  540 
Sun City Waterpark  11  − 7.62  111.53  210  4.1  1  540 
Madiun Umbul Square  12  − 7.78  111.52  150  3.8  1  900 
Tirtonirmolo Waterpark  13  − 7.46  111.42  180  4.0  0  780 
Bening Reservoir  14  − 7.54  111.8  180  4.0  1  780 
Dawuhan Reservoir  15  − 7.58  111.62  180  3.9  1  780 
Kedung Brubus Reservoir  16  − 7.45  111.7  180  3.6  1  780 
Grape Agritourism  17  − 7.69  111.64  120  4.1  1  780 
Illustration of solution representation
Table 1 gives a FTOPTW instance with 16 tourism destinations in East Java, and a tourist decides to do the journey in 2 days or two routes. Each destination has coordinates (X, Y), visiting time (V), score (S), opening time (O) and closing time (C) for its time window. All the information is taken from Google Maps.
As can be seen in Fig. 1, the first destination in the first route is destination 2. Line represents traveling time, bar represents visiting time for each destination. It needs 52 min to reach destination 2 from destination 1 (the starting point). It takes 120 min to visit destination 2. Then it continues to destination 4, which takes 12 min, so the starting time at destination 4 is 184 min. The visitation then goes on to destinations 9 and then 12. The time budget T_{max} will end after or equal with end of the visiting time at the last destination. After the last destination, the tourist will return to destination 1. All the visited destinations must be checked for not violating the time window. The second route will do the same. The total score of a given initial solution can be easily calculated from the total score collected in all the routes.
Experimental results and discussion
The proposed FTOPTW algorithm and AILS method was implemented in Java by Eclipse. The experiments are carry out on a computer with an Intel Core m51.10 GHz CPU. To demonstrate the applicability of the FTOPTW algorithm, 94 (17 + 56 + 21) problem instances are generated, based on Solomon’s datasets. These problems can be classified as the problems for parameter calibration, comparing problems with Simulated Annealing (MSA and SA) and Artificial Bee Colony (ABC), and the last is comparing problems with Iterated Local Search (ILS). Each instances consists of 100 destinations with coordinates, visiting times, scores and time windows.
Parameter calibration
Parameter values tested in the calibration
Instance  Percentage perturbation (p)  

20  40  60  80  
c101  1.923  1.279  1.343  1.086 
c102  0.611  0.811  0.749  0.725 
c103  0.860  0.986  0.829  0.820 
c104  1.094  1.355  1.268  1.388 
c105  1.484  1.210  1.324  2.125 
c106  1.235  1.310  1.155  1.337 
c107  1.350  1.193  1.654  1.116 
c108  1.348  1.332  1.293  1.559 
c109  1.240  1.378  1.206  1.241 
c201  1.192  1.143  1.420  1.141 
c202  1.135  1.140  1.122  1.281 
c203  1.028  1.367  1.071  1.191 
c204  1.029  1.082  1.089  1.057 
c205  0.967  0.975  1.016  1.039 
c206  1.091  1.050  1.157  1.056 
c207  1.153  0.984  1.048  1.037 
c208  1.089  1.104  1.038  1.026 
average  1.166  1.159  1.164  1.190 
Comparing results obtained by AILS, MSA, SA, ABC and ILS
Computational experiments were carried out on a large problem set to compare the performance of AILS with the other metaheuristic methods like MSA, SA, ABC, and ILS. Given the computational complexity of FTOPTW, a global optimal solution needs 45 min to solve for 16 destinations. Because it is done in sequence, the total score is first achieved with the global optimum, then followed by the minimum time. But in an iterated local search, the total score is near optimal, and the total time will be adjusted. The sequence will be exchanged to find the minimum time.
Computational results for AILS, MSA, SA and ABC method
Instance  AILS  MSA  SA  ABC  GAP  

Path  Visited  Score  Time  Path  Visited  Score  Time  Path  Visited  Score  Time  Path  Visited  Score  Time  Visited  Score  Time  
c101  5  56  920  1.159  5  50  805  28.340  5  51  815  29.440  5  51  815  27.540  − 0.095  − 0.118  23.538 
c102  5  56  920  0.899  5  56  945  30.760  5  55  935  26.180  5  56  945  32.490  − 0.006  0.024  32.159 
c103  5  56  920  1.121  5  56  995  29.820  5  56  985  28.310  5  57  995  29.560  0.006  0.078  25.075 
c104  5  56  920  1.086  5  57  1005  25.370  5  58  1015  32.500  5  59  1025  37.030  0.036  0.103  28.128 
c105  5  56  920  1.059  5  52  855  33.520  5  51  845  28.280  5  52  855  31.060  − 0.077  − 0.074  28.229 
c106  5  56  920  1.069  5  52  875  30.170  5  52  875  31.040  5  52  875  38.900  − 0.071  − 0.049  30.216 
c107  5  56  920  1.203  5  54  905  30.770  5  54  905  25.650  5  54  905  34.050  − 0.036  − 0.016  24.068 
c108  5  56  920  0.957  5  55  915  33.950  5  55  915  35.720  5  56  925  38.800  − 0.012  − 0.002  36.781 
c109  5  56  920  0.973  5  59  1015  38.570  5  56  985  29.010  5  59  1015  45.910  0.036  0.092  37.880 
r101  5  47  679  1.036  5  36  310  23.820  5  34  308  31.380  5  34  304  24.520  − 0.262  − 0.547  24.650 
r102  5  47  679  0.741  5  49  560  35.830  5  48  557  25.620  5  51  566  37.970  0.050  − 0.174  43.723 
r103  5  47  679  1.160  5  52  654  36.660  5  53  651  34.470  5  54  657  42.850  0.128  − 0.037  31.753 
r104  5  47  679  0.940  5  57  728  32.730  5  57  709  31.800  5  56  737  52.950  0.206  0.067  40.660 
r105  5  47  679  1.081  5  43  504  27.990  5  43  506  27.870  5  45  511  32.540  − 0.071  − 0.253  26.259 
r106  5  47  679  0.919  5  51  655  26.070  5  50  643  32.760  5  50  649  47.560  0.071  − 0.044  37.589 
r107  5  47  679  1.090  5  54  670  30.280  5  52  667  25.630  5  54  669  51.630  0.135  − 0.015  31.887 
r108  5  47  679  1.020  5  56  736  39.730  5  55  728  28.340  5  55  728  50.770  0.177  0.076  37.837 
r109  5  47  679  0.977  5  49  616  27.540  5  50  621  25.620  5  50  617  34.820  0.057  − 0.090  29.017 
r110  5  47  679  1.028  5  51  650  26.440  5  52  651  32.970  5  51  650  47.930  0.092  − 0.042  33.805 
r111  5  47  679  0.906  5  56  680  32.730  5  53  684  35.350  5  54  676  42.280  0.156  0.001  39.603 
r112  5  47  679  0.977  5  56  745  35.750  5  56  748  29.740  5  55  743  50.680  0.184  0.098  38.635 
rc101  5  46  790  1.226  5  45  583  22.710  5  45  583  20.510  5  45  583  33.310  − 0.022  − 0.262  19.808 
rc102  5  46  790  1.125  5  50  693  26.390  5  51  689  27.480  5  48  683  34.630  0.080  − 0.129  25.222 
rc103  5  46  790  1.010  5  51  755  29.810  5  49  740  26.380  5  50  755  55.210  0.087  − 0.051  35.766 
rc104  5  46  790  1.298  5  54  846  28.770  5  53  851  34.050  5  53  847  38.100  0.159  0.073  24.917 
rc105  5  46  790  1.155  5  45  644  31.170  5  48  651  25.630  5  48  656  36.390  0.022  − 0.177  25.895 
rc106  5  46  790  1.501  5  50  666  29.730  5  50  666  25.400  5  48  661  41.920  0.072  − 0.159  29.780 
rc107  5  46  790  1.190  5  49  730  29.810  5  49  724  33.360  5  50  724  36.690  0.072  − 0.081  26.972 
rc108  5  46  790  0.976  5  52  832  40.160  5  51  828  27.000  5  53  839  50.290  0.130  0.054  39.113 
c201  3  100  1760  1.934  4  100  1510  32.550  3  93  1515  34.510  4  100  1510  25.500  − 0.023  − 0.141  14.953 
c202  3  100  1760  1.797  3  94  1525  40.570  4  100  1510  32.080  4  100  1510  26.900  − 0.020  − 0.139  17.466 
c203  3  100  1760  1.917  4  100  1510  28.360  4  100  1510  27.980  4  100  1510  24.830  0.000  − 0.142  13.114 
c204  3  100  1760  1.383  4  100  1510  20.210  4  100  1510  23.540  4  100  1510  25.750  0.000  − 0.142  15.751 
c205  3  100  1760  1.062  3  95  1535  29.070  3  95  1535  30.660  4  100  1510  22.500  − 0.033  − 0.133  24.810 
c206  3  100  1760  0.658  3  93  1515  25.840  3  94  1525  28.960  4  100  1510  23.990  − 0.043  − 0.138  38.914 
c207  3  100  1760  0.528  3  96  1545  32.780  4  100  1510  25.610  5  100  1435  21.620  − 0.013  − 0.150  49.511 
c208  3  100  1760  0.486  4  100  1510  22.370  3  94  1525  30.100  4  100  1510  21.160  − 0.020  − 0.139  49.501 
r201  3  100  1312  0.792  3  93  1183  46.280  3  93  1198  48.130  4  100  1158  30.620  − 0.047  − 0.101  51.622 
r202  3  100  1312  0.556  3  97  1226  36.720  3  97  1226  37.990  4  100  1158  22.440  − 0.020  _− 0.083  57.243 
r203  3  100  1312  0.578  3  100  1233  35.060  3  100  1233  29.230  4  100  1158  23.020  0.000  − 0.079  49.352 
r204  3  100  1312  0.546  4  100  1158  21.360  4  100  1158  20.810  4  100  1158  19.960  0.000  − 0.117  36.930 
r205  3  100  1312  0.651  3  100  1233  37.390  3  100  1233  35.790  4  100  1158  20.110  0.000  − 0.079  46.768 
r206  3  100  1312  0.512  3  97  1227  27.660  3  100  1233  36.060  4  100  1158  22.270  − 0.010  − 0.081  54.983 
r207  3  100  1312  0.620  3  98  1230  23.540  3  100  1233  24.640  3  100  1233  25.580  − 0.007  − 0.061  38.656 
r208  3  100  1312  0.459  3  100  1233  20.170  4  100  1158  20.010  4  100  1158  19.380  0.000  − 0.098  42.253 
r209  3  100  1312  0.542  3  94  1218  26.810  3  100  1233  41.530  4  100  1158  23.960  − 0.020  − 0.083  55.765 
r210  3  100  1312  0.522  3  100  1233  34.060  3  99  1231  29.870  4  100  1158  20.560  − 0.003  − 0.080  52.953 
r211  3  100  1312  0.485  3  100  1233  24.520  3  100  1233  26.900  4  100  1158  20.830  0.000  − 0.079  48.656 
rc201  3  82  1684  0.430  3  92  1434  47.050  3  93  1448  39.480  4  100  1424  24.270  0.159  − 0.148  84.891 
rc202  3  82  1684  0.473  3  99  1489  34.310  3  98  1484  33.670  4  100  1424  21.510  0.207  − 0.130  62.066 
rc203  3  82  1684  0.468  4  100  1424  21.150  4  100  1424  26.010  4  100  1424  20.450  0.220  − 0.154  47.155 
rc204  3  82  1684  0.506  4  100  1424  24.690  4  100  1424  24.390  4  100  1424  19.220  0.220  − 0.154  43.993 
rc205  3  82  1684  0.447  3  92  1449  38.650  3  94  1459  38.840  4  100  1424  23.980  0.163  − 0.143  74.667 
rc206  3  82  1684  0.444  3  98  1494  34.490  4  100  1424  28.580  4  100  1424  23.030  0.211  − 0.141  63.640 
rc207  3  82  1684  0.479  ^{4}  100  1424  29.220  4  100  1424  29.630  4  100  1424  19.940  0.220  − 0.154  53.830 
rc208  3  82  1684  0.435  ^{4}  100  1424  22.200  4  100  1424  25.510  4  100  1424  19.140  0.220  − 0.154  50.226 
Average gap percentage  4.752  − 8.744  3836.847 
There are three kinds of gaps that we will measure, they are the gaps for the number of Visited Destinations (VD), Total Score (TS), and Running Time (RT). The gap for the running time is calculated as the average (RT_{BS}–RT_{AILS})/RT_{AILS} where RT_{BS} is the best solution running time in the compared method and RT_{AILS} is the running time from the AILS method. The same formula can also be done for the VD gap and TS gap. Then all the instances’ gaps will be averaged again and converted into a percentage. The percentage could be positive because the other methods have a higher result, or negative because the other methods have a lower result. In comparison with Table 3, the VD gap is 4.752%. It means the other methods visited more destinations than AILS. But if we compare it with the TS gap, it has − 8.744%, showing AILS has a higher score than the other methods. It means even though the other methods visited more destinations, they were not effective journeys because they only visited more lower scoring destinations. AILS will give a more effective journey by visiting only the higher ones, so tourist spend less time traveling. The percentage of total time gives a very good result, the difference being 3836.877%. It means the AILS running time is much more efficient than that of the other methods.
Computational results for AILS and ILS method
Instance  AILS  

Path  Visited  Score  Time  Path  Visited  Score  Time  Path  Visited  Score  Time  
c101  2  23  450  0.435  3  32  590  0.374  4  40  770  0.324 
c102  2  23  450  0.412  3  32  590  0.328  4  40  770  0.298 
c103  2  23  450  0.468  3  32  590  0.300  4  40  770  0.327 
c104  2  23  450  0.499  3  32  590  0.320  4  40  770  0.291 
c105  2  23  450  0.437  3  32  590  0.358  4  40  770  0.343 
c106  2  23  450  0.466  3  32  590  0.310  4  40  770  0.316 
c107  2  23  450  0.595  3  32  590  0.318  4  40  770  0.281 
c108  2  23  450  0.397  3  32  590  0.362  4  40  770  0.400 
c109  2  23  450  0.448  3  32  590  0.330  4  40  770  0.309 
r101  2  19  281  0.339  3  30  434  0.498  4  37  553  0.340 
r102  2  19  281  0.313  3  30  434  0.364  4  37  553  0.315 
r103  2  19  281  0.335  3  30  434  0.564  4  37  553  0.331 
r104  2  19  281  0.338  3  30  434  0.436  4  37  553  0.339 
r105  2  19  281  0.355  3  30  434  0.395  4  37  553  0.353 
r106  2  19  281  0.297  3  30  434  0.342  4  37  553  0.308 
r107  2  19  281  0.328  3  30  434  0.329  4  37  553  0.342 
r108  2  19  281  0.381  3  30  434  0.352  4  37  553  0.332 
r109  2  19  281  0.314  3  30  434  0.338  4  37  553  0.404 
r110  2  19  281  0.337  3  30  434  0.392  4  37  553  0.295 
r111  2  19  281  0.341  3  30  434  0.403  4  37  553  0.316 
r112  2  19  281  0.336  3  30  434  0.320  4  37  553  0.328 
Instance  ILS  GAP  

Path  Visited  Score  Time  Path  Visited  Score  Time  Path  Visited  Score  Time  Visited  Score  Time  
c101  2  21  590  1.4  3  29  790  1.1  4  39  1000  3.8  − 0.063  0.315  4.560 
c102  2  22  650  0.9  3  32  890  2.1  4  43  1090  1.8  0.021  0.453  3.624 
c103  2  22  700  1.2  3  33  960  2.2  4  44  1150  2.5  0.042  0.552  4.388 
c104  2  22  750  1.5  3  34  1010  1.3  4  45  1220  3.0  0.063  0.646  4.225 
c105  2  21  640  0.8  3  30  840  1.0  4  40  1030  1.8  − 0.042  0.387  2.1633 
c106  2  20  620  0.8  3  30  870  1.1  4  40  1040  2.1  − 0.053  0.398  2.663 
c107  2  22  670  1.4  3  33  900  1.5  4  43  1100  2.0  0.032  0.475  3.104 
c108  2  22  670  0.8  3  33  900  1.2  4  44  1100  3.6  0.042  0.475  3.832 
c109  2  22  710  0.9  3  33  950  2.0  4  45  1180  2.5  0.053  0.569  3.968 
r101  2  13  330  0.4  3  31  481  0.8  4  28  601  1.4  − 0.163  0.114  1.209 
r102  2  21  508  0.9  3  31  685  1.0  4  39  807  1.7  0.058  0.577  2.629 
r103  2  20  513  0.9  3  31  720  2.0  4  42  878  2.2  0.081  0.665  3.146 
r104  2  22  539  1.5  3  34  765  1.5  4  45  941  3.8  0.174  0.771  5.110 
r105  2  18  430  0.8  3  27  609  2.3  4  35  735  2.9  − 0.070  0.399  4.440 
r106  2  21  529  0.9  3  32  719  2.1  4  41  870  3.5  0.093  0.670  5.864 
r107  2  21  529  1.0  3  33  747  1.1  4  44  927  3.3  0.140  0.737  4.405 
r108  2  24  549  1.4  3  36  790  3.1  4  47  983  3.2  0.244  0.831  6.230 
r109  2  22  498  0.5  3  31  699  1.8  4  40  866  2.1  0.081  0.627  3.167 
r110  2  22  515  1.0  3  32  711  1.4  4  42  870  2.0  0.116  0.653  3.297 
r111  2  23  535  0.6  3  34  764  1.8  4  45  935  2.0  0.186  0.762  3.151 
r112  2  21  515  0.5  3  34  758  1.1  4  44  939  3.1  0.151  0.744  3.776 
Average gap percentage  5.656  56.291  375.961 
Conclusion and future research
The main contribution of this paper is an algorithm that solves the Team Orienteering Problem with Time Windows (TOPTW) fast and effectively. This work concerns the FTOPTW, which is a challenging extension of TOPTW. To reduce the gap between theory and industrial practice, this work develops an MILP model of FTOPTW, which incorporates the maximum score and minimum time. In a small set the algorithm can give a global optimal, based on the maximum score and minimum time. But because the running time was more than 45 min, it will not be suitable as a tourist’s mobile application. There are calibration parameters, a small case test using Mixed Integer Linear Programming, and a large case test comparing AILS with MSA, SA, ABC and ILS. On a large set of test instances, AILS is faster than MSA, SA, ABC and ILS, which will satisfy the tourist. This is achieved by the permutation of all the destinations, that guarantees the best pairwise will be found, which can be reversed as an alternative to get an even better result, and perturbation with a certain percentage will move the destination randomly between routes. The gap for the number of destinations visited is better than MSA, SA, and ABC, but slightly lower than the ILS result.
For future research, having an algorithm that has a near global optimum and a minimum running time is needed to make tourists more satisfied. Combining the algorithm with a metaheuristic method, or hybridize other algorithms is good, but the best fit must pass much research to achieve the objective. The constraints, such as the number of destinations, the number of routes, time budget and operating hours determine the difficulties in arranging the instances.
Notes
Acknowledgements
The author would like to thank United States Agency for International Development (USAID) for the training and mentoring support in writing this article, through the Sustainable Higher Education Research Alliance (SHERA) Program for Universitas Indonesia’s Scientific Modeling, Application, Research and Training for Citycentered Innovation and Technology (SMART CITY) Project.
References
 Bansal N, Blum A, Chawla S, Meyerson A (2004) Approximation algorithms for deadlineTSP and vehicle routing with timewindows. In: Proceedings of the thirtysixth annual ACM symposium on theory of computing  STOC’04. https://doi.org/10.1145/1007352.1007385
 Bederina H, Hifi M (2017) A hybrid multiobjective evolutionary algorithm for the team orienteering problem. In: 2017 4th international conference on control, decision and information technologies (CoDIT). https://doi.org/10.1109/codit.2017.8102710
 Chekuri C, Kumar A (2004) Maximum coverage problem with group budget constraints and applications. Lecture Notes in Computer Science, pp 72–83. https://doi.org/10.1007/9783540278214_7 CrossRefGoogle Scholar
 Chekuri C, Pal M (2005) A recursive Greedy algorithm for walks in directed graphs. In: 46th annual IEEE symposium on foundations of computer science (FOCS’05). https://doi.org/10.1109/sfcs.2005.9
 Cura T (2014) An artificial bee colony algorithm approach for the team orienteering problem with time windows. Comput Ind Eng 74:270–290. https://doi.org/10.1016/j.cie.2014.06.004 CrossRefGoogle Scholar
 Gavalas D, Kasapakis V, Konstantopoulos C, Mastakas K, Pantziou G (2013a) A survey on mobile tourism recommender systems. In: 2013 third international conference on communications and information technology (ICCIT). https://doi.org/10.1109/iccitechnology.2013.6579536
 Gavalas D, Konstantopoulos C, Mastakas K, Pantziou G, Tasoulas Y (2013b) Clusterbased heuristics for the team orienteering problem with time windows. Lecture Notes in Computer Science, pp 390–401. https://doi.org/10.1007/9783642385278_34 CrossRefGoogle Scholar
 Gendreau M, Lourenço HR (2003) Handbook of metaheuristics. SpringerGoogle Scholar
 Gendreau M, Laporte G, Semet F (1998a) A branch‐and‐cut algorithm for the undirected selective traveling salesman problem. Networks 32:263–273. https://doi.org/10.1002/(sici)10970037(199812)32:4<263::aidnet3>3.0.co;2qMathSciNetCrossRefGoogle Scholar
 Gendreau M, Laporte G, Semet F (1998b) A tabu search heuristic for the undirected selective travelling salesman problem. Eur J Oper Res 106(2–3):539–545. https://doi.org/10.1016/s03772217(97)002890 CrossRefzbMATHGoogle Scholar
 Gunawan A, Chuin H, Kun L (2015a) SAILS: hybrid algorithm for the team orienteering problem with time windows. In: Proceedings 7th multidisciplinary international scheduling conference, pp 276–295Google Scholar
 Gunawan A, Lau HC, Lu K (2015b) Welltuned ILS for extended team orienteering problem with time windows. LARC Technical Report Series: http://smu.edu/sg/centres/larc/larctechnicalreportsseries
 Gunawan A, Lau HC, Vansteenwegen P (2016) Orienteering problem: a survey of recent variants, solution approaches and applications. Eur J Oper Res 255(2):315–332. https://doi.org/10.1016/j.ejor.2016.04.059 MathSciNetCrossRefzbMATHGoogle Scholar
 Herzog D, Wörndl W (2014) A travel recommender system for combining multiple travel regions to a composite trip. ContentBased Recomm Syst 1245:42–47Google Scholar
 Hu Q, Lim A (2014) An iterative threecomponent heuristic for the Team Orienteering Problem with Time Windows. Eur J Oper ResGoogle Scholar
 Hu W, Fathi M, Pardalos PM (2018) A multiobjective evolutionary algorithm based on decomposition and constraint programming for the multiobjective team orienteering problem with time windows. Appl Soft Comput 73:383–393. https://doi.org/10.1016/j.asoc.2018.08.026 CrossRefGoogle Scholar
 Indonesian Ministry of Tourism (2017) 2016 Tourism ministry performance accountability reportGoogle Scholar
 Kantor MG, Rosenwein MB (1992) The orienteering problem with time windows. J Oper Res Soc 43(6):629–635. https://doi.org/10.1057/jors.1992.88 CrossRefzbMATHGoogle Scholar
 Labadie N, Melechovský J, Wolfler Calvo R (2010) Hybridized evolutionary local search algorithm for the team orienteering problem with time windows. J Heuristics 17(6):729–753. https://doi.org/10.1007/s107320109153z CrossRefzbMATHGoogle Scholar
 Li J, Fu P (2012) A label correcting algorithm for dynamic tourist trip planning. J Softw 7(12):2899–2905. https://doi.org/10.4304/jsw.7.12.28992905 CrossRefGoogle Scholar
 Lin SW, Yu VF (2012) A simulated annealing heuristic for the team orienteering problem with time windows. Eur J Oper Res 217(1):94–107. https://doi.org/10.1016/j.ejor.2011.08.024 MathSciNetCrossRefzbMATHGoogle Scholar
 Lin SW, Yu VF (2017) Solving the team orienteering problem with time windows and mandatory visits by multistart simulated annealing. Comput Ind Eng 114:195–205. https://doi.org/10.1016/j.cie.2017.10.020 CrossRefGoogle Scholar
 Lourenço HR, Martin OC, Stützle T (2013) Iterated local search. In: Hillier FS, Price CC (eds) International series in operations research and management science. Springer, Berlin, pp 320–353. https://doi.org/10.1007/0306480565_11 CrossRefGoogle Scholar
 MartínMoreno R, VegaRodríguez MA (2018) Multiobjective artificial bee colony algorithm applied to the biobjective orienteering problem. KnowlBased Syst 154:93–101. https://doi.org/10.1016/j.knosys.2018.05.005 CrossRefGoogle Scholar
 Mei Y, Salim FD, Li X (2016) Efficient metaheuristics for the multiobjective timedependent orienteering problem. Eur J Oper Res 254(2):443–457. https://doi.org/10.1016/j.ejor.2016.03.053 MathSciNetCrossRefzbMATHGoogle Scholar
 Mirzaei MH, Ziarati K, Naghibi MT (2017) Biobjective version of team orienteering problem (BTOP). In: 2017 7th international conference on computer and knowledge engineering (ICCKE). https://doi.org/10.1109/iccke.2017.8167930
 Montemanni R, Gambardella LM (2009) An ant colony system for team orienteering problems with time windows. FoundComput Decis Sci 34(4):287zbMATHGoogle Scholar
 Rezki H, Aghezzaf B (2017) The biobjective orienteering problem with budget constraint: GRASP_ILS. In: 2017 international colloquium on logistics and supply chain management (LOGISTIQUA). https://doi.org/10.1109/logistiqua.2017.7962868
 Righini G, Salani M (2009) Decremental state space relaxation strategies and initialization heuristics for solving the orienteering problem with time windows with dynamic programming. Comput Oper Res 36(4):1191–1203. https://doi.org/10.1016/j.cor.2008.01.003 CrossRefzbMATHGoogle Scholar
 Souffriau W, Vansteenwegen P, Vertommen J, Berghe GV, Oudheusden DV (2008) A personalized tourist trip design algorithm for mobile tourist guides. Appl Artif Intell 22(10):964–985CrossRefGoogle Scholar
 Schilde M, Doerner KF, Hartl RF, Kiechle G (2009) Metaheuristics for the biobjective orienteering problem. Swarm Intell 3(3):179–201. https://doi.org/10.1007/s1172100900295 CrossRefGoogle Scholar
 Talbi EG (2009) Metaheuristics from design to implementation. http://onlinelibrary.wiley.com/book/10.1002/9780470496916
 Tricoire F, Romauch M, Doerner KF, Hartl RF (2010) Heuristics for the multiperiod orienteering problem with multiple time windows. Comput Oper Res 37(2):351–367. https://doi.org/10.1016/j.cor.2009.05.012 MathSciNetCrossRefzbMATHGoogle Scholar
 Tsiligirides T (1984) Heuristic methods applied to orienteering. J Oper Res Soc 35(9):797. https://doi.org/10.2307/2582629 CrossRefGoogle Scholar
 Tsitsiklis JN (1992) Special cases of traveling salesman and repairman problems with time windows. Networks 22(3):263–282. https://doi.org/10.1002/net.3230220305 MathSciNetCrossRefzbMATHGoogle Scholar
 Vansteenwegen P (2008) Planning in tourism and public transportation. 4OR 7(3):293–296. https://doi.org/10.1007/s1028800800864 CrossRefzbMATHGoogle Scholar
 Vansteenwegen P, Souffriau W, Berghe GV, Oudheusden DV (2009a) A guided local search metaheuristic for the team orienteering problem. Eur J Oper Res 196(1):118–127. https://doi.org/10.1016/j.ejor.2008.02.037 CrossRefzbMATHGoogle Scholar
 Vansteenwegen P, Souffriau W, Berghe Vanden G V, Oudheusden DV (2009b) Iterated local search for the team orienteering problem with time windows. Comput Oper Res 36(12):3281–3290. https://doi.org/10.1016/j.cor.2009.03.008 CrossRefzbMATHGoogle Scholar
 Vansteenwegen P, Souffriau W, Sörensen K (2009c) The mobile mapping van problem: a matheuristic for capacitated arc routing with soft time windows and depot selection. In: Proceedings 13th information control problem in manufacturing, pp 1119–1124CrossRefGoogle Scholar
 Vansteenwegen P, Souffriau W, Berghe GV, Oudheusden DV (2011a) The city trip planner: an expert system for tourists. Expert Syst Appl 38(6):6540–6546. https://doi.org/10.1016/j.eswa.2010.11.085 CrossRefGoogle Scholar
 Vansteenwegen P, Souffriau W, Oudheusden DV (2011b) The orienteering problem: a survey. Eur J Oper Res 209(1):1–10. https://doi.org/10.1016/j.ejor.2010.03.045 MathSciNetCrossRefzbMATHGoogle Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.