A Tabu Search approach for Multi Constrained Team Orienteering Problem and its application in touristic trip planning

Similar documents
Erasmus School of Economics. Implementation of an iterated local search heuristic for the team orienteering problem with time windows

Genetic Algorithm with Path Relinking for the Orienteering Problem with Time Windows

A Greedy Randomised Adaptive Search Procedure for the Team Orienteering Problem

Applying Particle Swarm Optimization for Solving Team Orienteering Problem with Time Windows

Performance Analysis of Shortest Path Routing Problem using Heuristic Algorithms

A column generation algorithm for the team orienteering problem with time windows

(0) /265656

A Tabu Search solution algorithm

Regensburger DISKUSSIONSBEITRÄGE zur Wirtschaftswissenschaft

SIMULATED ANNEALING APPROACH FOR SOLVING A TIME DEPENDENT ORIENTEERING PROBLEM

An ILS Algorithm for the Team Orienteering Problem with Variable Profit

Computers & Operations Research

Genetic Algorithm Solving Orienteering Problem in Large Networks

A Mathematical Model and Metaheuristics for Time Dependent Orienteering Problem

A Firework Algorithm for Solving Capacitated Vehicle Routing Problem

A tabu search approach for makespan minimization in a permutation flow shop scheduling problems

that imizes the total collected score subject to a given time budget frame. It is assumed that the starting point and the end point are fixed. Many OP

ecompass eco-friendly urban Multi-modal route PlAnning Services for mobile users ecompass TR 010

Research Article Exact Algorithm for the Capacitated Team Orienteering Problem with Time Windows

On step fixed-charge hub location problem

TABU search and Iterated Local Search classical OR methods

Dynamic programming for the orienteering problem with time windows

Outline. TABU search and Iterated Local Search classical OR methods. Traveling Salesman Problem (TSP) 2-opt

An Ant System with Direct Communication for the Capacitated Vehicle Routing Problem

Heuristic and exact solution strategies for the Team Orienteering Problem

Outline of the module

Evolutionary Non-Linear Great Deluge for University Course Timetabling

Overview of Tabu Search

Department of Computer Science Engineering, Bennett University, Greater Noida, UP, India

Open Vehicle Routing Problem Optimization under Realistic Assumptions

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Note: In physical process (e.g., annealing of metals), perfect ground states are achieved by very slow lowering of temperature.

Variable Neighborhood Search for Solving the Balanced Location Problem

An Ant Approach to the Flow Shop Problem

Dynamically Configured λ-opt Heuristics for Bus Scheduling

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem

The Augmented Regret Heuristic for Staff Scheduling

Vehicle Routing Heuristic Methods

Column Generation Method for an Agent Scheduling Problem

Two models of the capacitated vehicle routing problem

A unified matheuristic for solving multi-constrained traveling salesman problems with profits

MIRROR SITE ORGANIZATION ON PACKET SWITCHED NETWORKS USING A SOCIAL INSECT METAPHOR

Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach

ACO and other (meta)heuristics for CO

Optimization Approaches for Solving Chance Constrained Stochastic Orienteering Problems

Variable Neighborhood Search for the Dial-a-Ride Problem

A Comparative Study of Tabu Search and Simulated Annealing for Traveling Salesman Problem. Project Report Applied Optimization MSCI 703

Hybrid ant colony optimization algorithm for two echelon vehicle routing problem

Improved methods for the Travelling Salesperson with Hotel Selection

A Modular Multiphase Heuristic Solver for Post Enrolment Course Timetabling

Handling Multi Objectives of with Multi Objective Dynamic Particle Swarm Optimization

A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints

A Re-examination of Limited Discrepancy Search

Effective Optimizer Development for Solving Combinatorial Optimization Problems *

A Late Acceptance Hill-Climbing algorithm the winner of the International Optimisation Competition

New Trials on Test Data Generation: Analysis of Test Data Space and Design of Improved Algorithm

The Probabilistic Heuristic In Local (PHIL) Search Meta-strategy

A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem

A SIMULATED ANNEALING ALGORITHM FOR SOME CLASS OF DISCRETE-CONTINUOUS SCHEDULING PROBLEMS. Joanna Józefowska, Marek Mika and Jan Węglarz

A Study of Neighborhood Structures for the Multiple Depot Vehicle Scheduling Problem

SCIENCE & TECHNOLOGY

Evolutionary Non-linear Great Deluge for University Course Timetabling

Sudoku is a logic puzzle where one has to fill a grid with

Optimization Techniques for Design Space Exploration

Solving the Traveling Salesman Problem using Reinforced Ant Colony Optimization techniques

Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012

A Course on Meta-Heuristic Search Methods for Combinatorial Optimization Problems

Great Deluge with Non-linear Decay Rate for Solving Course Timetabling Problems

REM WORKING PAPER SERIES. Iterated Local Search Algorithm for the Vehicle Routing Problem with Backhauls and Soft Time Windows.

Heuristic Optimization Introduction and Simple Heuristics

Simple mechanisms for escaping from local optima:

Adjusted Clustering Clarke-Wright Saving Algorithm for Two Depots-N Vehicles

Large Neighborhood Search For Dial-a-Ride Problems

Tabu Search for Constraint Solving and Its Applications. Jin-Kao Hao LERIA University of Angers 2 Boulevard Lavoisier Angers Cedex 01 - France

New algorithm for analyzing performance of neighborhood strategies in solving job shop scheduling problems

a local optimum is encountered in such a way that further improvement steps become possible.

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

A Guided Cooperative Search for the Vehicle Routing Problem with Time Windows

Non-deterministic Search techniques. Emma Hart

Tabu Search Method for Solving the Traveling salesman Problem. University of Mosul Received on: 10/12/2007 Accepted on: 4/3/2008

Decomposition and Local Search Based Methods for the Traveling Umpire Problem

3. Genetic local search for Earth observation satellites operations scheduling

Pre-requisite Material for Course Heuristics and Approximation Algorithms

Test Cost Optimization Using Tabu Search

Solving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm

Solving dynamic memory allocation problems in embedded systems with parallel variable neighborhood search strategies

Effective Local Search Algorithms for the Vehicle Routing Problem with General Time Window Constraints

A Fast Look-ahead Heuristic for the Multi-depot Vehicle Routing Problem

An Efficient Heuristic for the Multi-Vehicle One-to-One Pickup and Delivery Problem with Split Loads

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION

Constrained Minimum Spanning Tree Algorithms

Research Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for Circuit Partitioning

A Hyper-heuristic based on Random Gradient, Greedy and Dominance

An arc orienteering algorithm to find the most scenic path on a large-scale road network

epub WU Institutional Repository

Branch-and-Cut and GRASP with Hybrid Local Search for the Multi-Level Capacitated Minimum Spanning Tree Problem

SPATIAL OPTIMIZATION METHODS

An Intelligent Hyper-heuristic Framework for CHeSC 2011

Improving on the initial solution heuristic for the Vehicle Routing Problem with multiple constraints

Solution Methods for the Multi-trip Elementary Shortest Path Problem with Resource Constraints

Transcription:

A Tabu Search approach for Multi Constrained Team Orienteering Problem and its application in touristic trip planning Kadri Sylejmani Department of Computer Engineering, Faculty of Electrical and Computer Engineering University of Prishtina Prishtina, Kosova e-mail: kadri.sylejmani@uni-pr.edu Jürgen Dorn E-commerce Group, Institute of Software Technology and Interactive Systems Vienna University of Technology Vienna, Austria e-mail: juergen.dorn@ec.tuwien.ac.at Nysret Musliu Database and Artificial Intelligence Group, Institute of Information Systems Vienna University of Technology Vienna, Austria e-mail: musliu@dbai.tuwien.ac.at Abstract The touristic trip planning problem can be considered as a Multi Constrained Team Orienteering Problem with Time Windows (MCTOPTW). The MCTOPTW is characterized with a set of points of interest (POI), each having a score, a time window and some attributes such as the type or entry fee. The maximum number of POIs of certain types that can be included into the itinerary is limited. A tourist can visit the POIs during their respective time windows. The objective is to visit the points that have the highest scores during specified periods of time. This paper proposes a Tabu Search approach for solving the MCTOPTW problem. To explore the neighborhood the moves Insert, Replace and Swap are applied. Additionally, the algorithm employs a tabu list, a perturbation and a diversification mechanism. The algorithm is evaluated on benchmark instances from the literature and its performance is compared to the state of the art results. Keywords-Multi Constrained Team Orienteering Problem with Time Windows; Touristic Trip Planning; Tabu Search; I. INTRODUCTION Recently, for some selected touristic destinations, tourists could use dedicated systems, such as for instance systems in [1, 2, 3] that enable automatic planning of touristic trip itinerary. In general, the tourist specifies the trip constraints (start date, duration, budget etc.) and her/his personal preferences about the type of POI she/he is interested to visit such as nature, archeology, religious art etc. The system than generates a detailed trip itinerary that includes a list of visits to be conducted for the specified period. Each visit, among other attributes, is characterized with its start and end time, duration and cost. The objective is to maximize the tourist satisfaction by considering trip constraints. Touristic trip planning systems are expected to react in real time, regardless of their form of implementation (e.g. app in a hand-held device, online system or desktop application). They are called with different names [4] such as Personalized Electronic Tourist Guide (PET), Mobile Tourist Guide (MTG), Personal Navigation Systems for tourism (PNS) and Electronic Tourist Guides (ETG). An extensive review of the functionalities of the state of the art systems is presented by Souffriau & Vansteenwegen in [5]. Planning a trip for a single tourist is mostly modeled as a Tourist Trip Design Problem (TTDP) [6]. In Orienteering Problem (OP), a number of locations are specified along with a start and an end point. These locations have associated scores. In order to maximize the total collected score, the objective is to visit, in a limited period of time, a subset of these locations, starting from the start point and ending at the end point [7]. The OP is the simplest form used to model the TTDP. More advanced versions, like Team Orienteering Problem (TOP) [8], TOP with Time Windows (TOPTW) [9], Multi Constraint TOPTW (MCTOPTW) [10], include extra constraints into the problem, such as multiple tours, time windows and additional POI constraints, respectively. In this paper, we investigate solving the MCTOPTW by using Tabu Search meta heuristic. Neighborhood exploration is done by using three general moves, namely Insert (a new POI into the itinerary), Replace (a POI in itinerary with a POI out of the itinerary) and Swap (two POIs inside the itinerary). A versatile technique for diversifying and perturbation of search process is applied. We compare our algorithm with the state of the art algorithms for the MCTOPTW problem on benchmark instances. The obtained results show that our approach is competitive with the existing approach for the envisioned problem. The structure of this paper is as in following. Next Section describes the literature review, while the third Section presents problem definition. In Section 4, we describe the proposed algorithm. Section 5 presents the experimental results. Our conclusions and ideas for further work are outlined in Section 6. II. STATE OF THE ART A survey on most efficient algorithms for OP is presented in [11]. Divsalar et. al [17] formulate OP with Hotel Selection (OPHS), where automatic selection of accommodation is enabled, and solve it with a variable neighborhood method. Generalization of OP to multiple limited periods of time is known as TOP. A summary of the best-performing algorithms for TOP is given in [11]. The time window of a POI represents its operating hours. The OP with Time Windows (OPTW) is solved by Righini

and Salani [12] with a bi-directional dynamic programming approach. The TOP with Time Windows (TOPTW) is solved by Montemanni and Gambardella [13] with an ant colony system approach and Vansteneenwegen et.al. [9] with an Iterated Local Search (ILS) approach. Recently, Lin & Yu [16] presented a simulated annealing approach to solve the TOPTW. Tricoire et al. [14] solves the Multi Period OP with Multiple Time Windows (MuOPMTW) by using a variable neighborhood search algorithm. The Multi Constrained TOPTW further extends the TOPTW by adding additional constraints, such as limitation to trip budget or types of location. Garcia et al. extend the ILS method of TOPTW to solve the MCTOPTW. Further, Souffriau et al. [15] hybridize the ILS and Greedy Randomized Adaptive Search Procedure (GRASP) to solve MCTOP with Multiple TW (MCTOPMTW). III. PROBLEM DEFINITION A number of N points are given in a certain geographic location. Each point is characterised with a score S i, an entry fee E i, a visit duration T i, an opening O i and closing C i time and a range of Z logical values e iz that indicate the different categories that the point belongs to. Each point can be visited at most once. The starting point 1 and ending point N are fixed for each tour. The traveling times t ij between points i and j are known for all points. The trip consists of M tours, each limited to a maximal duration of T max. Further, the trip has a range of Z maximum values E z that limit the number of selected points of category z. The aim is to visit a subset of points that would maximise the overall trip score by complying with the underlined hard constraints. In the following, we rewrite the mathematical formulation of the MCTOPTW problem made by Garcia et al. [10]. The definition of two boolean variables, namely x ijm and y im, is done as in following: 1, if a visit to point i is followed with a visit to point j in tour m x = 0, otherwise 1, if point i is visited in tour m y = 0, otherwise The defined variables x ijm and y im are used in the following formulation equations of the problem: max ( S y ) x = x = M x = x = y, k {2,, N 1}, m {1,, M} x = 1 s = s + T + t, i, j {1,, N}, m {1,, M} y 1, i {2,, N 1} e y E, z {1,, Z} O s C, i {1,, N}, m {1,, M} T y + t x T, m {1,, M} Equation (1) expresses the objective function in solving the MCTOPTW problem. Start of each tour at point 1 and its end at point N is ensured by (2). Equation (3) makes sure that each visit to a point is followed with another visit to a next point. Equation (4) allows no waiting times between consecutive visits, which slightly differentiates the original problem defined in [10] and [15], where a waiting time before starting a visit at a certain point could occur. Equation (5) allows maximum one visit to any visited point, while (6) limits the number of selected points of certain category to an upper bound. Equation (7) bounds the start of the visit to a point to its time window, while (8) constraints the tour duration to its specified limit. IV. SOLVING MCTOPTW WITH TABU SEARCH We solve the MCTOPTW problem by using Tabu Search metaheuristic, which is known with its ability to escape from local optima and find near to optimal solutions. This method is primarily introduced by Glover et al. [18] and then it is further advanced by Glover [19, 20, 21]. It uses the so called tabu memory that keeps record of the moves that cannot be performed (are tabu) for a certain number of iterations, which facilitates the diversification of search process into unexplored parts of search space. Three basic operators, namely Insert, Replace and Swap are used to generate neighbour candidates. The Insert operator tries to insert a new point, from the non-included ones, into one of the tours, while the Replace operator replaces a point from the trip with a point out of the trip. The Swap operator is applied between any two points inside the trip. Since the MCTOPTW is highly constrained, a fast constraint check technique is used. For each hard constraint (ex. tour duration, budget limitation, multiple constraints MC, etc.), an efficient deviation/incremental function is used to check the feasibility of a move. The Time Window Constraint (TW) feasibility check is the most time consuming action. Vansteenwegen et al. [9] record a Wait and MaxShift value to speed up the time window feasibility check process. The Wait value indicates how much time a person has to wait before starting a visit, while the MaxShift value shows how much time a certain visit could be delayed. In our approach we do not utilize a Waiting time value, since we do not allow any waiting time prior to starting a visit. Instead, a pair of two values, namely Max Forward Shift MFS i and Max Backward Shift MBS i, is saved for each point inside the trip itinerary. These variables show how much the point at position i in tour m could be shifted forward or backward. Suppose we have point x that either replaces/swaps point i or it is inserted before point i of tour m. The following

equation about the shifting value, applicable for Replace, Swap and Insert operators, is formulated. shift = t () + T + t () t () T t (), t () + T + t t (), Replace, Swap Insert MBS shift MFS (9) Equation (9) bounds the shifting value in the boundary values MBS i+1 and MFS i+1. Whenever a new point is inserted, replaced or swapped, in tour m the corresponding MBS i and MFS i values need to be updated. This approach eliminates the need to check the time window feasibility of points after point i+1 thus reducing the computational effort to a great extent. A trivial heuristic function that maximises the total collected score, as prescribed in (1), is used to evaluate the candidate solutions. The algorithm is provided with six basic parameters that enable the fine tuning of its performance. The parameters are presented in table 1, where first column presents parameter abbreviation, the second one its whole name, while the third one presents a short description for the parameter. After creating a random solution, the algorithm enters into a loop that runs MI iterations. In every second iteration, the algorithm uses the Replace operator and then in between, in turn, it uses Insert and Swap operators. In each iteration, a best tabu and non-tabu solution is searched. The best non tabu solution is considered first for adaption as current solution. If the non-tabu solution is not better than the current solution, then the best tabu solution is tested whether it fulfils the aspiration criteria. In this implementation, a tabu solution is considered to be fulfilling the aspiration criteria only if it is better than the best found solution so far. Normally, the adaption of a better solution is done whenever a new, better one, is found, otherwise the number of iterations without improvement is recorded. The search diversification process is done by using four different additional operators, namely Delete, Perturbate, Restart and Penalise, which are explained in the following. The Delete operator removes two points from a tour that is the most constrained by the TW constraint. The most constrained position in the tour is found by considering the TABLE 1 PARAMETERS OF THE ALGORITHM Abbreviation Name Description TLS Tabu List Size Specifies the number of iterations a certain move cannot be used. MI Maximum Defines the number of iterations Iterations the algorithm shall run. DOF Delete Operator Determines how often the delete Frequency operator needs to be applied. PF Perturbation Sets the frequency of perturbation Frequency from actual best found solution. RIF Random Initialization Frequency Indicates the frequency of reinitialization from random solution. PEF Penalization Frequency Defines the frequency of penalization of frequently used moves. MFS i and MBS i values. In case of a tie between most constrained tours, a random selection of one of the tours is made. Perturbation is made by applying the Delete operator in the actual best solution and then continuing the search from the perturbed solution. At times, as specified by the RIF parameter, the search process is re-initiated from a random solution. The algorithm consists of two usual tabu lists, namely recency and frequency memories. The recency memory is used to record the iteration number when a certain move (Insert, Replace or Swap) between two points is applied. The TLS parameter determines how many iterations the applied move will remain tabu. The frequency memory keeps track of the number of iterations a certain move is applied. In every PEF iterations, all moves that have been used more than 10 times until the running iteration are penalised by making their tabu status twice as longer as the original tabu list size. The number of consecutive iterations without any improvement is tracked continual and when it reaches 30% of the maximum iterations allowed (as specified by MI parameter), the algorithm quits and returns the best found solution. If the number of iterations without improvement never surpasses 30% of MI parameter value then the algorithm completes its full course of iterations. V. EXPERIMENTAL RESULTS A set of 148 test instances for Multi Constrained Team Orienteering Problem with Multiple Time Windows (MCTOPMTW) created by Souffriau et al. [15] are used to Algorithm (TLS, MI, DOF, PF, RIF, PEF) { Operator List = {Replace, Insert, Swap}; S c = Create initial solution; S b = S c ; IterationCounter=0; IterationWithoutImprovement=0; While (MI not reached) do { Select Operator from Operator List; Apply Operator in Sc; if ( Sc better then Sb) Sb=Sc; else IterationWithoutImprovement +1; if ( IterationWithoutImprovement equals DOF) Apply delete operator in Sc; if ( IterationWithoutImprovement equals PF) Perturbate Sb; if ( IterationWithoutImprovement equals RIF) Reset Sc to a random initial solution; if ( IterationWithoutImprovement equals PEF) Penalize frequently used moves; if ( IterationWithoutImprovement equals 0.3*MI) Quit search; IterationCounter +1; } return Sb; }

test the performance of the algorithm. Based on their origin, the test instances are divided into two subsets, namely Solomon [22] and Cordeau [23] based. The Solomon-based subset consists of 116 instances, while the Cordeau-based part consists of 32 instances. The number of tours varies from one to four. Note that even though the test instances allow modeling of multiple time windows, in our implementation we only utilize single time windows by considering the opening time of first time window and closing time of last time window. The algorithm is coded by using Java 1.7. All experiments are done by using an Intel i3 2.2 GHz processor with 2 GB of RAM memory. The experiments for fine tuning of algorithm parameters use 10 runs for each instance, while the experiment for testing the overall algorithm performance uses 30 runs for each instance. The best, average and worst scores are presented for each instance and parameter value. In the following we present a summary of experiments, while the complete results could be found online through https://sites.google.com/site/ushtrimet/tourist-trip-planning. A. Parameter tuning The range of values used for parameter tuning is based on preliminary experiments that included all test instances. Further, based on the same preliminary experimental results, we fixed the value of MI parameter to 46000 iterations. Increasing further the number of iterations only leads longer execution time. In tables 2 to 6, we present a range of values that are close to the optimal values of the parameters. In the first column the different parameter values are shown, while the next three columns represent the best, average and the worst score gaps from benchmark solution, respectively, averaged over all instances. In the last column, we represent the average execution time. In our first experiment, we investigated the impact of the tabu list length. Table 2 shows that keeping a used move tabu for 10 iterations yields to lower score gap while it causes a slight increase in execution time compared to other considered values. It can be noticed that if the tabu list size is 5, the algorithm degrades its performance, both in terms of solution quality and computational time. For the other values, the average performance of the algorithm might differ only up to 0.1%. Next, we experimented with a range of preselected values for DOF parameter. Table 3 indicates that the delete operator should be applied once in 30 iterations. Further, if changing the values of DOF between 20 up to 90, the average solution TLS TABLE 2 TABU LIST SIZE 5 5.48 10.01 16.46 6.54 10 5.10 9.27 13.80 6.09 15 5.28 9.33 14.18 5.93 20 5.14 9.31 13.98 5.88 25 5.22 9.36 13.47 5.72 quality changes for only 0.47% and the average computation time changes only for 0.3 seconds. Experiments regarding the perturbation and random initialisation frequency are given in tables 4 and 5. It is indicated that these two operators should not be both applied in the same iteration, as in that case the solution quality worsens for about 3%. The best values for the PF and RIF pair are 190 and 160, respectively. In terms of value change, the PF parameter is less sensitive than RIF parameter, as the change of their respective values in the range from 120 to 200, deviates the solution quality for 0.32% in the earlier case and for 0.97% in the later one. We also experimented with a range of selected values for the penalisation frequency of frequently used moves. In table 6, it can be noticed that the best frequency of penalisation is 240. The sensitivity of the algorithm in changing the value of PEF inside its pre-defined domain, stands at a low rate of 0.33%, except for value 150 that has a difference of 1.82% compared to the best value of the parameter. Analysing the experiments for fine tuning of the parameters, we notice that in general the algorithm is not very sensitive to changes in the parameter values inside their defined domains. However, as claimed in [15], over fitting the parameter values to the current test set might cause the algorithm no to perform well in other test sets or any DOF TABLE 3 DELETE OPERATOR FREQUENCY 20 5.31 9.13 13.59 5.78 30 5.11 9.11 13.59 5.93 40 5.22 9.36 13.83 5.93 50 5.48 9.51 14.41 6.02 60 5.34 9.57 14.35 5.93 70 5.37 9.37 13.64 6.04 80 5.39 9.57 14.62 6.03 90 5.30 9.42 14.42 6.08 100 5.59 9.70 14.49 5.97 PF TABLE 4 PERTURBATION FREQUENCY 120 5.49 9.36 14.05 6.35 130 5.17 9.39 14.20 5.91 140 5.29 9.33 13.91 6.10 150 4.98 9.18 13.44 6.00 160 5.31 9.15 13.43 5.99 170 8.21 11.51 14.91 3.52 180 5.23 9.25 13.83 5.88 190 5.13 9.07 13.47 5.87 200 5.67 9.25 13.68 5.83

RIF TABLE 5 RANDOM INITIALIZATION FREQUENCY practical implementation. 120 5.92 10.01 14.61 5.13 130 5.80 9.56 13.63 5.64 140 5.56 9.55 14.26 5.73 150 8.31 11.79 15.11 3.49 160 5.17 9.06 13.67 6.08 170 5.23 9.27 13.94 5.91 180 5.14 9.11 13.69 5.93 190 5.22 9.04 13.78 6.08 200 5.32 9.19 13.75 5.73 PEF TABLE 6 PENALIZATION FREQUENCY 150 6.12 11.18 16.60 4.68 180 5.32 9.69 14.58 5.92 210 5.47 9.49 14.23 6.09 240 5.27 9.36 14.30 6.01 270 5.38 9.43 14.33 6.06 300 5.48 9.62 14.36 5.64 B. Algorithm performance In order to analyse the algorithm performance for the MCTOPMTW instances, we use the obtained optimal values for the parameters, which are as follows: TLS=10, MI=46000, DOF=30, PF=190, RIF=160 and PEF=240. The experiments are conducted by executing the algorithm 30 times for each instance. The comparison of the algorithm performance with the state of the art results and with the approach from [15] is presented in table 7. To the best of our knowledge, [15] obtains the best results for the MCTOPTW and MCTOPMTW. Since, we use the set of test instances for MCTOPMTW problem, we compare our algorithm with results obtained by [15] for MCTOPMTW. The results are averaged over specified subsets of test instances. First column shows the number of tours used, while the second column specifies whether Solomon-based or Cordeau-based instances were utilised. The gap from the state of the art results is presented in the next three columns, by showing the best, average and worst performance, respectively. Further, in the next three columns the gap from [15] is given. The second last column shows the execution time of approach in [15], whereas the last column shows the average computation time of our algorithm. Authors in [15] compare their approach with the state of the art results that were obtained by various algorithms in the literature for the relaxed problems of OP, TOP and TOPTW [5]. Although the best existing results could not be reached by [15], according to the authors their results are very good because the problem at hand is more constrained as it is extended to multiple time windows and it has an extra budget constraint and ten type constraints. Comparing our results with those in [15], we can conclude that our algorithm is still outperformed by [15] regarding the average performance in the set of instances. However, our algorithm finds better solutions then [15] in 70 instances. Since we use different machines (the approach in [15] uses an Intel Xeon 2.5 GHz with 4 GB of RAM memory), we cannot give an accurate comparison regarding the computation time. However, also our algorithm gives good solutions within few seconds. The results show that the algorithm performs well, especially with the Solomon-based instances. The average score gap from the best known solutions is 9.19% and it is only 4.00% from the results obtained by [15] that is tested TABLE 7 PERFORMANCE RESULTS Gap from [15] (%) M Test set Ten runs [15] One run 1 Solomon 4.07 6.57 13.82 3.82 6.04 12.98 2.68 1.74 1 Cordeau 6.42 14.97 25.84 2.89 9.06 18.04 6.83 5.49 2 Solomon 2.59 6.35 11.80 0.69 2.14 5.82 7.69 3.34 2 Cordeau 5.41 14.50 23.51-0.80 5.74 12.83 17.85 10.18 3 Solomon 3.30 7.85 13.09-0.66 1.96 5.53 14.30 5.03 3 Cordeau 6.84 14.18 23.67 0.77 5.35 13.19 32.32 15.28 4 Solomon 3.06 7.85 12.56-2.20 0.79 4.00 22.99 6.71 4 Cordeau 6.28 13.88 20.59-0.62 5.51 10.86 52.13 18.32 1-4 Solomon 3.15 7.38 12.71 0.31 2.96 6.97 11.91 4.20 1-4 Cordeau 6.27 14.25 22.82 0.59 6.28 13.15 27.28 12.32 All 3.97 9.19 15.38 0.51 4.00 8.79 15.24 5.96

for the same instance set. For 7% of test instances new best solutions were found, while 18% of best known solutions ware found. VI. CONCLUSIONS In this paper, we presented a solution approach for the MCTOPTW problem. The existing test instances were used to analyse the algorithm performance. The Tabu search metaheuristic was applied to solve the problem in conjunction with three basic operators Insert, Replace and Swap. Four additional operators (Delete, Perturbate, Restart and Penalise) were applied to escape from local optimum. Additionally, we proposed an efficient technique to check the time window constraint, which is very time consuming. In a test set of 148 instances the algorithm average performance has a gap of 4% from the state of the art approach [15] for MCTOPTW. It is evident that the Solomon-based instances are solved considerably better than the Cordeau-based instances with 2.96% and 6.48% average gap respectively. In 57.43% of test instances, the best solutions of [15] were either found or improved. In 70 instances, our algorithm obtains better best solutions than [15]. Note that in [15] also the waiting times between consecutive visits are allowed. Therefore it s a question if the results of our algorithm eventually could be still improved if we would not enforce such a constraint as given in (4). The average time of execution of 6 seconds, makes this algorithm suitable for use in tourism domain for planning personalised tourist trips, where real time response is expected. We can conclude that our proposed Tabu Search based algorithm can be used successfully for solving challenging instances from the literature. Although in average it shows worse performance compared to the state of the art solution, the current results of our algorithm are promising. In the future work, it will be interesting to investigate the hybridisation of Tabu Search with Constraint Programming based techniques, and to consider more efficient exploration of neighbourhood by including specific knowledge about the problem. Moreover, the existing model of MCTOPMTW test set allows only for consideration of single tourist preferences. Possible extensions of the problem is incorporation of multiple tourist preferences, where tourist in general would go for a joint trip, but at times retain the option to get separated for some parts of the trip so that they could visit some points of their own specific interest. ACKNOWLEDGMENT The work in this paper is supported by the Ministry of Education, Science and Technology of the Republic of Kosova under research grant awarded for the project Tourist Tour Planning and Social Network Analysis. REFERENCES [1] P. Vansteenwegen, W. Souffriau, G. Vanden Berghe, and D. Van Oudheusden, The City Trip Planner: an Expert System for Tourists. Expert Systems with Applications: An International Journal, 38 Issue 6, 6540 6546, 2011. [2] Y. Kurata: CT-Planner2: More Flexible and Interactive Assistance for Day Tour Planning, ENTER 2011, Information and Communication Technologies in Tourism, 2011. [3] R. Schaller, Planning and Navigational Assistance for Distributed Events, Proceedings of the 2nd Workshop on Context Aware Intelligent Assistance, Berlin, Germany, October 4, 2011. [4] P. Vansteenwegen, Planning in tourism and public transportation, Ph.D. thesis, Centre for Industrial Management, Katholieke Universiteit Leuven, Belgium, 2008. [5] W. Souffriau, and P. Vansteenwegen: Tourist trip planning functionalities: state-of-theart and future, ICWE'10, 2010. [6] W. Souffriau, P. Vansteenwegen, J. Vertommen, G. Vanden Berghe, and D. Van Oudheusden, A Personalized Tourist Trip Design Algorithm for Mobile Tourist Guides, Appl. Artificial Intelligence 22 (10), 964 985, 2008. [7] T. Tsiligirides, Heuristic methods applied to orienteering, J. Oper. Res. Soc. 35 (9),797 809, 1984. [8] I. Chao, B. Golden, E. Wasil, Theory and methodology the team orienteering problem. European Journal of Operational Research 88, 464 474, 1996. [9] P. Vansteenwegen, W. Souffriau, G. Vanden Berghe, and D. Van Oudheusden, Iterated local search for the team orienteering problem with time windows. Computers & Operations Research, 36, 3281 3290, 2009. [10] A.Garcia, P. Vansteenwegen, W. Souffriau, M. Liniza and O. Arbelaitz, Solving multi-constrained team orienteering problems to generate tourist routes, working paper, Centre for Industrial Management, Katholieke Universiteit Leuven,Leuven, Belgium. [11] P. Vansteenwegen, W. Souffriau and D. Van Oudheusden, The orienteering problem: a survey. European Journal of Operational Research 209 (1), 1-10, 2011. [12] G. Righini, M. Salani, 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, 2009. [13] R. Montemanni, L. Gambardella, Ant Colony System for Team Orienteering Problems with TimeWindows, Found.Comput. Decision Sci. 34 (4), 2009. [14] F. Tricoire, M. Romauch, K. Doerner, R. Hartl, Heuristics for the multi-period orienteering problem with multiple time windows, Comput. Oper. Res. 37 (2), 351 367, 2010. [15] W. Souffriau, P. Vansteenwegen, G. Vanden Berghe, and D. Van Oudheusden, The Multi-Constraint Team Orienteering Problem with Multiple time Windows, Transportation Science, Articles in Advance, 1-11, 2011. [16] Sh. W. Lin, F. V. Yu, A simulated annealing heuristic for the team orienteering problem with time windows, European Journal of Operational Research 217 94 107, 2012. [17] A. Divsalar, P. Vansteenwegen, and D. Cattrysse, The Orienteering Problem with Hotel selection: A Variable Neighborhood Search, 25 th Annual Conference of the Belgian Operations Research Society pages:85-86, 2011. [18] F. Glover, C. McMilan, and B. Novick, Interactive Decision Software and Computer Graphics for Architectural and Space Planning, Annals of Operational Research, 5, 557-573, 1985. [19] F. Glover, Future Path for f Artificial Intelligence, Computers and Operations Research, 13, 5, 533-549, 1986. [20] Tabu Search Part I, ORSA J. Computing, 1, 3, 190-206, 1989. [21] Tabu Search Part II, ORSA J. Computing, 2, 1, 4 32, 1990. [22] M. M. Solomon, Algorithms for the vehicle routing and scheduling problems with time window constraints, Oper. Res. 35 (2), 254 265, 1987. [23] J. Cordeau, M. Gendreau, G. Laporte, A tabu search heuristic for periodic and multi-depot vehicle routing problems, Networks 30 (2), 105 119, 1997.