You are on page 1of 6


Liviu Adrian COTFAS Bucharest Academy of Economic Studies,

Abstract. In this paper we present a novel itinerary recommender system that combines advanced recommendations and hybrid multi-objective genetic algorithms in order to build personalized itineraries. While the recommendation algorithm allows users to easily find interesting tourist attractions, the multi-objective genetic algorithm offers the possibility of choosing between several Pareto-optimal itinerary solutions. A crowd sourcing approach is used in order to better predict the transport and visiting times. The user interface relies on the latest web technologies in order to support a wide array of mobile devices and to provide a rich user experience. Keywords: tourist itineraries, recommender systems, genetic algorithms, collaborative filtering, mobile web application JEL Classification: M00 REL Classification: 5I 1. Introduction Designing flexible, efficient and user-friendly mobile tour guide applications is of a great interest both from a commercial and research point of view. Such systems are useful for tourists visiting a location in a limited period of time. Without any support from a system, a user manually building an itinerary, should spend a lot of time prior to the trip, searching for information regarding the tourist attractions, reading facts about them and designing possible itineraries by taking into account factors such as opening hours, visiting durations, distances and available means of public transport. Conversely, itinerary recommender systems not only assist users to schedule the initial itinerary, but can also easily revise it during the trip. Several reviews of existing solutions can be found in (Garcia, Linaza, et al. 2009: pp. 185-197) and (Kramer, Modsching, et al. 2007: pp. 109118). In the majority of the proposed approaches, the process of generating itineraries can be divided in two distinct steps: Creating the list of tourist attractions - In the simpler approaches like the one presented in P-Tour (Maruyama, Shibata, et al. 2004: pp. 18-21), the user is requested to select the desired attractions from a list without receiving any recommendations from the system. On the opposite side, other systems opt for a completely automatic approach in which the user has no control over the selected Points of Interest - POI. Building the itinerary - Building tourist itineraries is an extension of the Traveling Salesmen Problem. Existing approaches either try to maximize the sum of scores associated to the visited POIs (Vansteenwegen, Souffriau, et al. 2011: pp. 1-10), or, if multiple criteria are taken into consideration, they are combined using a simple weighted sum like shown in (Maruyama, Shibata, et al. 2004: pp. 18-21). In this paper we propose a novel itinerary recommender system that uses advanced recommendation techniques and multi-objective genetic algorithm. Compared with existing approaches, the proposed system focuses on offering a high degree of personalization for the generated itineraries. The recommendations (Ricci, Rokach, et al. 2011: pp. 1-35) are generated using hybrid recommender algorithm that combines with the help of Artificial

Neural Networks, content-based recommendations with collaborative-filtering and temporary preferences. The collaborative filtering recommender algorithm that takes into consideration the users previous ratings, the ratings of other people with similar profiles as well as the specific context of the user request, has been implemented in order to allow the users to easily find interesting locations as shown in (Baltrunas, et al. 2011: pp. 287-290). The content based recommender algorithm relies on the similarities between the tourist attractions that can be recommended, and the tourist attractions that the user has liked in the past. The temporary preferences are expressed as ratings between 1 and 5 for the following tourist attractions categories: castles, museums, churches, nature. In order to offer a high degree of flexibility, the proposed system combines the manual and automatic approaches for building the list of POI, by both allowing the user to manually select locations and using an algorithm to choose the best locations for the remaining time. The algorithm used for building itineraries, which is based on genetic algorithms, incorporates an advanced heuristic proposed by (Vansteenwegen, Souffriau, et al. 2011: pp. 1-10) in order to generate in near-real time tours that take into consideration the opening and closing hours for the tourist attractions. Moreover, the algorithm proposes several non-dominated solutions, allowing the user to choose the itinerary that best matches his preferences. The rest of the paper is organized as follows: in the section 2 we present the multi-objective genetic algorithm. Section 3 illustrates upon the distributed architecture and presents the mobile client application developed using the latest web technologies. The last section concludes the article and presents some future research activities. 2. Evolutionary Algorithm for Itinerary Building We frame the problem of building tourist itineraries as an extension of the classic Orienteering Problem - OP, also known as the Time Dependent Orienteering Problem with Time Windows - TDOPTW. As the Orienteering Problem is known to be NP-hard, finding an exact solution for the TDOPTW in near real-time is considered to require a high computational power (Kenteris, Gavalas, et al. 2010: pp. 862-864). The proposed system uses a hybrid multi-objective genetic algorithm in order to generate itineraries in a short amount of time. Genetic algorithms are a particular class of evolutionary algorithms that use techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover. They offer the advantage of offering multiple candidate solutions as well as the ability to provide approximate solutions at any point during their execution. The main steps of the algorithm are presented in Figure 1. In order to decrease the execution time, we use the heuristic proposed by (Vansteenwegen, Souffriau, et al. 2011: pp. 1-10) for evaluating the feasibility of adding a new tourist attraction to an existing itinerary. The heuristic relies on calculating the maximum delay time for each POI in the itinerary that will not render any of the following visits unfeasible due to the opening hours restriction.
Generate the new population

S1: Initialization

S2: Evaluation

S3: Selection

S4: Mutation

S5: Crossover

Loop condition

Best itineraries

Figure 1. Itinerary building algorithm We have chosen an Elitist approach (Konak, Coit, et al. 2006: pp. 992-1007) in which we use two populations, the normal one, and the population of non-dominated solutions, where is the current generation. The algorithm is run until a maximum number of generations,

GMG is reached or until the best-found solution doesnt change for GCG consecutive generations. Depending on the purpose GMG can be adjusted either for accuracy or speed. Step 1: Initialization - For , we create the initial population , with a number of itineraries called chromosomes. . In order to limit the number of required algorithm iterations, all itineraries in the initial population are generated valid. The first POI in each itinerary is chosen in a random manner. All the next POIs will be inserted only if the arrival time Ai<Ci-Di where Ai=Ai-1+Di-1+ and if Ai+Di< TF. Step 2: Evaluation - We evaluate all itineraries based on the following three criteria. For itinerary j we compute - the useful visiting time, - the medium ranking of the POIs in the itinerary, - diversity considered as the number of POIs in the itinerary. We evaluate all the itineraries in order to find the non-dominated ones. Step 3: Selection - For the Selection step we have chosen an elitist approach in which we copy all non-dominated solutions from in . We remove all other solutions from and we automatically include all solutions from in . Using mutation and crossover we generate | |solutions that are added to in order to have | | . If | | we use a clustering approach to select solutions as different as possible. Step 4: Mutation - Adds random variation to the evolving population. We randomly choose 2 links in the itinerary and we remove all the locations between. We than complete the itinerary by randomly inserting new POIs. Step 5: Crossover - Combines the features of two parent chromosomes to form new children by swapping corresponding itinerary segments of the parents. We first randomly select a link offset. We than swap the resulting segments by removing the POIs with the lowest if necessary in order to keep the itineraries valid. 3. Itinerary Recommender System The proposed solution relies on a multi-tier paradigm for both the server and the client implementations as shown in Figure 2. Even though a client only architecture would offer several benefits, such as the possibility to work entirely offline, it is not a feasible option due to the amount of data processing needed by the recommendation algorithm. Moreover, other computations such as building the itineraries can be performed faster on the server. Therefore, a mixed approach has been chosen, where the resource intensive computations are performed on the server, and the simple ones are performed directly on the client. Client implementations rely on a local data persistence management solution in order to avoid unnecessary server requests. The server code is written in Java and uses Apache Tomcat as a web application server. The Interface Layer has the role of facilitating the communication with the client implementations using HTTP requests, Web Service Calls and Socket Connections. Thanks to the multiple communication methods supported by this layer, client side applications can be implemented using a wide array of technologies. The Business Layer includes the main functionalities of the system, implemented as semantically annotated web services (Cotfas, Dioteanu, et al. 2010: pp. 405-408). The itinerary web service implements the multi-objective genetic algorithm described in the previous section, the recommender web service implements a context-aware collaborative filtering algorithm and the route finding web service implements the public transport route finding algorithm presented by the author in (Cotfas, Croicu, et al. 2009: pp. 50-58) The Persistence Layer stores information regarding the available tourist attractions, the public transport network, as well as user information. The POI Data database stores for all the attractions: the name, a short and a long description, photos, the location and the opening hours. The User Data database stores the user information as well as the tourist attractions

ratings used by the recommender algorithm. A separate database is used to store the data required by the public transport route finding algorithm. Using External Data Providers, such as external web services, the system collects weather forecasts, retrieves the changes in the list of available tourist attractions and updates the data for the public transport network. An Intelligent Agents Module has the purpose of monitoring the users behavior as well as of notifying them of any context changes, like weather changes or changes in the opening hours of the attractions included in the itinerary.

Figure 2. mTripAssistent multi-layer architecture The reference client implementation for mobile devices, shown in Figure 3, relies on the latest web technologies such as WebSQL (W3C, 2011) and WebStorage (W3C, 2011) to offer portability across different platforms as well as a rich user experience. W3C GeoLocation API (W3C, 2011) was used to determine and monitor the position of the user. The application can either be used directly from the browser, or can be installed using a thin native wrapper that provides the required translation from JavaScript method calls to native method calls. The application works on all devices that comply with the HTML5 standard specifications including both smartphones and feature phones.

Figure 3. Mobile application developed using HTML5 The main menu of the mobile application is shown in left part of Figure 3, while the right part shows the suggestions generated using the recommender algorithm. The suggested tourist attractions can be added either directly to the itinerary or to the favorites list.

4. Conclusion This paper presents an itinerary recommender system that uses collaborative filtering to provide personalized recommendations. A multi-objective genetic algorithm using advanced heuristics has been implemented for building itineraries. Future work includes evaluating the algorithm for a larger number of tourist attractions as well as expanding the current approach for planning itineraries for several days. Moreover, using crowd-sourcing, we want to analyze the behavior of the tourists in order to better suggest future itineraries. Acknowledgements The author is grateful to Professor Ricci for the very useful suggestions and to the Free University of Bozen-Bolzano for kind hospitality during the time this work was carried out. This article is a result of the project Doctoral Program and PhD Students in the education research and innovation triangle. This project is co funded by European Social Fund through The Sectorial Operational Program for Human Resources Development 2007-2013, coordinated by The Bucharest Academy of Economic Studies. References Baltrunas, L., Ludwig, B., and Ricci, F. (2011). Context relevance assessment for recommender systems. Proceedings of the 16th international conference on Intelligent user interfaces - IUI 11 (pp. 287-290). New York, USA: ACM Press. Cotfas, L.A., Croicu, M. C., and Cotfas, D. (2009). A Collaborative GIS Solution for Public Transport. Informatica Economic, 13(2), 50-58. Cotfas, L.A., Dioteanu, A., and Smeureanu, I. (2010). Fractal web service composition framework. 8th International Conference on Communications (pp. 405-408). Bucharest: IEEE. Garcia, A., Linaza, M. T., Arbelaitz, O., and Vansteenwegen, P. (2009). Intelligent routing system for a personalised electronic tourist guide. Information and Communication Technologies in Tourism 2009, 185197. Springer. Kenteris, M., Gavalas, D., Pantziou, G., and Konstantopoulos, C. (2010). Near-optimal personalized daily itineraries for a mobile tourist guide. IEEE Symposium on Computers and Communications (p. 862864). Konak, A., Coit, D., and Smith, A. (2006). Multi-objective optimization using genetic algorithms: A tutorial. Reliability Engineering & System Safety, 91(9), 992-1007. Kramer, R., Modsching, M., Hagen, K., and Gretzel, U. (2007). Behavioural impacts of mobile tour guides. Information and Communication Technologies in Tourism 2007, 109118. Springer. Maruyama, A., Shibata, N., Murata, Y., Yasumoto, K., and Ito, M. (2004). P-tour: A personal navigation system for tourism. Proc. of 11th World Congress on ITS (Vol. 2, p. 1821). Ricci, F., Rokach, L., and Shapira, B. (2011). Introduction to recommender systems handbook. In Recommender Systems Handbook, 135. Springer Verlag. Vansteenwegen, P., Souffriau, W., and Oudheusden, D. V. (2011). The orienteering problem: A survey. European Journal of Operational Research, 209(1), 1-10. W3C, "Web SQL Database," 2011. [Online]. Available: [Accessed: January. 15, 2010]. W3C, "Web Storage," 2011. [Online]. Available: [Accessed: January. 15, 2010]. W3C, "Geolocation API," 2011. [Online]. Available: [Accessed: January. 15, 2010].

Liviu Adrian COTFAS is a Ph.D. student and a graduate of the Faculty of Cybernetics, Statistics and Economic Informatics. He is currently conducting research in Economic Informatics at Bucharest Academy of Economic Studies and he is also a Pre-Assistant Lecturer within the Department of Economic Informatics. Amongst his fields of interest are location based services, recommender systems, geographic information systems, genetic algorithms and web technologies.