Generating Travel Itinerary Using Ant Collony Optimization

Travelling is one of the activities needed by everyone to overcome weariness. The number of information about the tourism destination on the internet sometimes does not provide easiness for oncoming tourists. This paper proposes a system capable of making travel itinerary, for tourists who want to visit an area within a few days. For generating itinerary, the system considers several criterias (Multi criteria-based), which include the popularity level of tourist attractions to visit, tourist visits that minimize budgets or tourist visits with as many destinations as possib le. To handle multi criteria-based itinerary, we use the concept of multi attribute utility theory (MAUT). The running time of multi criteria -based itinerary is not significantly different from time-based itinerary. In addition, the number of tourist attractions in the itinerary is more than time-based itinerary, because the combination of solutions from each ant becomes more diverse.


Introduction
Tourism is an important sector in Indonesia because it is able to introduce Indonesia in the international arena and generate a lot of foreign exchange.Indonesia has many tourism potentials, and Bali is the first tourist destination in Indonesia.Vihikan et al [1] has developed a method for predicting the number of tourists coming to Bali by using the recurrent neural network, to assist the government in determining the tourism strategy.Besides Bali, Bandung is also one of the leading tourist destination in Indonesia, so we take Bandung as the domain of the our system.In recent years, more and more tourists decide that Bandung city as a t ourist attraction because Bandung has interesting and varied sites than other cities around.Not only offers the beauty of nature, the potential of local wisdom is able to attract the attention of tourists.Bandung tourism development also continues to be done not only physical improvements, but also the ease of information systems that can facilitate the tourists to look for everythings related to tourist destination so that information on the internet about tourist attractions in Bandung is increasingly found and continues to grow.
Lee et al [2], has created a system that can recommend tourist attractions in Taiwan and make a route from recommended tourist attractions, T. Q. Le and D. Pishva [ 3], make a recommendation of a tourist route in Tokyo, Osaka, Ky oto based on weather prediction, ongoing events and tourist"s budget.Ardissono, Liliana, et al [ 4], make a recommendation of tourist attractions based on user"s age.Pieter Vansteenwegen et al [ 5], made a route recommendation with regard to Point of Interest such as museums, churches, parks as reference in recommending tourist routes at Belgium for a few days.Meanwhile, B Rodríguez et al [ 6] uses Multi-Objective Metaheuristic using an Adaptative Memory Procedure (MOAMP) as the basis for selecting a tourist attraction.However, from the researchs mentioned above, there has no development of the system of tourism itinerary generation by considering some criteria of user need.Furthermore, this paper proposes a model for generating a travel itinerary, for a few days visit.The criterias (multi criteria) are: 1).Number of tourist attraction as much as possible, 2).

1209
Popular tourist attractions (high rating), 3).Itinerary that minimizes budget.Currently, many models have been developed to build the travel itinerary by referring to the problem of finding the solution of the traveling salesman problem (TSP).The ant colony algorithm proved to be reliable in solving combinatorial problems [7][8], especially TSP [9].Liu, Xiao-jun et al [10], also uses ant-colony for planning-process optimization of a machine so that less cost is needed.We use ant colony algorithm for generating this itinerary, by considering some constraints, such as open and closing hours of each tourist sites and the average of visiting time of t ravelers at each destination.The three criterias of user need are considered as user preferences, and the itinerary is generated according to these three criterias by utilizing multi attribute utility theory (MAUT) concept.

The Multi Criteria Case for Generating Itinerary
In our proposed model, itinerary is generated based on user preferences, in the form of three criteria as discussed in section 1.We use the Multi-Attribute Utility Theory (MAUT) concept to accommodate this multi-criteria case.According to Schaafer and Ralph [11], MAUT is a way of finding the value of a product by considering each attribute of the product and the priority scale of the attribute.Bichler et al [12] use MAUT to predict the winner in an auction.Meanwhile, Torrance et al [13] use MAUT to measure one"s health status based on his daily life.Suppose an object will be evaluated using MAUT, so the evaluation can be formulated by, is an evaluation (utility value) of a tourist object, i w is a coefficient used as a priority measure or Degree of Interest (DOI) of an attribute is the actual value of the attribute i of a object (For example: rating value or travel time).For example: the rating of x object is 0.8 (normalized), budget is 1.0 (normalized) and its travel time is 0.2 (normalized), with DOI of the rating is 0.6, the DOI of budget is 0.2 and the DOI of travel time is 0.2.Hence, then the utility value of In calculating utility values, it is necessary to normalize the value of each atribute, in order to equalize the value range of an attribute, as formulated below, The notation X represents the value of an attribute, min X is the minimum value of attribute X in the data, max X is the maximum value of attribute X in the data

The Ant Optimization for Solving Travelling Salesman Problem
In many works, travel itinerary determination is considered as a problem to find solutions for travelling salesman problem (TSP).We use ant colony algorithm to overcome this problem.This algorithm is introduced by Marco Dorigo [ 14], inspired by the behavior of ant colonies while feeding.Ants will move randomly to find food, when the ant s return they will give a trace by releasing a pheromone substance, the others will recognize the trace and follow the path with the strongest pheromone.Algorithm 1 is the flow for the whole simulation for TSP completion by using ant-collony optimization [13] as follows,

Initialization process
A number of ants are initialized to be assigned randomly to each node that has been created, ant colonies are initialized because is is used to find the best solution space.In the ant variable, there are maxcost, curentnode, tabu (array to hold visited nodes) and allowed (array to hold unvisited nodes).In addition, the cost table is defined as the weight of the edge between the nodes.Next is pheromone initialization.This pheromone is used so that ants have a tendency to choose city j after city i.In other words, with this pheromone, ants may prefer the path passed by ants before.Initialization of pheromone generally uses the equation: In addition to pheromone, trail table must be initialized.This trail is used as heuristic information, so that the ants can choose the shortest path between the options of the next nodes.Trail is initialized by using the equation as follows:

The Selection of Next Node
At the time of construction, an ant from ant colony will look for the next node by checking the list of nodes that are allowed to pass (has never been passed), from the nodes allowed to pass, it is collected the value of trail and pheromone from each node as divider probability, Trail Pheromone denom (6) This denominator is used to find the probability of a node to be selected, using the following equation After obtaining the probability value of each allowed node (allowed), then sistem selects the next node.System will generate a random value from 0 to 0.99.The probability value of each node will be compared to the generated random value.If the value Prob ij is greater than the random value, then j is selected as next node, meanwhile, current node is replaced by j, and j is removed from allowed table, then cost from i to j is stored in total cost and j is entered into tabu.if the probability value is less than the random value, then the random value will be subtracted with the node's probability value compared, then it is compared again with the probability value of the other node until the probability value is greater than the random value, and so on until the node has been selected all.After the ant has visited all the nodes, the total cost of the ants that have made the path will be stored.If the cost value is smaller than the best total cost, then the value of total cost is replaced by the total cost value of the ant.

Updating pheromone
Each iteration will generate a route of a certain amount of ant colony, and the route will be selected with the lowest cost value.Furthetmore, each node path of the route that has been raised by each ant will have an updated pheromon value.Hence, the node that is often passed by its pheromone will be thickened, and the possibility of the node to be re-selected will be higher.The pheromone will be updated by using the equation as follows, The nodes that has not passed by pheromone will be multiplied by evaporation rate.

Our Proposed Model
Generally, this system as shown in Figure 1 consists of two main processes, the first is the process of choosing the desired tourist attractions such as natural attraction tourism, traditional restaurants, shopping places, etc.The system recommends an optimal travel route schedule (travel itinerary) based on user needs, which is represented in degree of interest (DOI).There are 3 criteria of need given, 1) route with as many tourist attractions as possible, 2) routes with popular attractions, 3) routes that minimize the budget.The system will generate a solution for scheduling based on the user input, using ant-collony optimization, and then implement its results into google map. Figure 1 shows the implementation of our system.Degree of Interest (DOI) is very influential on the solution generated by the algorithm.The value of DOI is within the interval [0,1].(end of the day) b.The maximum limit of scheduling is 3 days c.There is no user limitation in choosing a tourist attraction Time is the principal constraint in the created system, because time affec ts the combination of a generated solution.In a tourist attraction, there is open and closing hours table, time travel table to other tourist attractions and the average time travelers visit the place (average time).Each ant has a variable currenttime.This variable is initialized with the start time.Once the ant visits nodes, the currenttime of each ant will be added as the amount of travel time to the node and added with the average value of the average time at the node.
This variable currenttime is used to check for a node, whether fulfill its constraint or not (open hours, closing hours and End of The Day).Variables allowed (the next nodes candidate) is being checked whether meet the constraint, when it is fulfilled, then it will be entered into the new variable tempallowed.This variable tempallowed is used to replace the allowable variable for probability.Algorithm 2 shows the steps for filtering allowed nodes.

The Experiments 5.1 Evaluation of Running Time
We did a series of tests to get the best parameters for the ant algorithm.The parameters obtained are, ɑ=0.7, β=4, ρ=0.8, q=25.Parameter ɑ is pheromone factor, which is used to control pheromone values.Parameter β is the heuristic factor of a parameter used to adjust the heuristic value that affects the chance of a node with the smallest cost selected to be the solution.Parameter ρ is the evaporation rate.If the ant does not pass through a node then the pheromone will vaporize amounted ρ.Parameter q or quality is a regulating value for the number of pheromones released when the ant passes through the node.After obtaining the best parameters, a test is performed to obtain a comparison of the number of selected nodes with the number of user-entered nodes, the ratio of running time to the number of nodes and the ratio of the total time totals to the user-entered nodes.1213 ant-collony using multi-criteria-based takes more time about less than 1 second.This is because when we use multi criteria, the processes will be more complex due to normalizing and calculating the value of cost that apply MAUT.

The evaluation of the number of selected nodes
The number of selected nodes is the total nodes that becomes the solution of the scheduling for 3 days of scheduling.Figure 3 shows that, if the user enters 2 to 8 nodes, the number of nodes that become TSP solution will be equal to the number of nodes the user enters.After exceeding 8 nodes, the solution node will not be equal to the number of nodes we input, because there is a limitation in the number of days.If we use multi-criteria-based, it can be seen the number of nodes that become solutions within the range of 11 nodes to 17 nodes, it is greater than the results obtained by using time-based.This is because when we apply MAUT, the opportunity of ants to generate different solutions will be high, thus leading to the generation of more diverse solutions.Figure 3.The test result of the number of selected nodes versus the number of nodes entered

Evaluation of the total days required
In this case, each algorithm is tested to determine how many days it takes to make a schedule of the number of different nodes.Here are the results of the tests performed.Based on Figure 5, we can notice that, if the user enters between 4 to 7 nodes, the algorithm will generate the solution for a total of two days.The differences occur when the number of nodes entered between 7 to 9 nodes between ant-collons using multi-criteria-based requires less timebased than time-based.It happens because when using multi constraint the combination of scheduling solutions is more diverse so results are better.

. The Overview of Interaction
The first interaction is choosing the tourist attractions provided by sistem.Every tourist place has attributes such as tourist attraction name, address, telephone number and rating .User is free to select some places of interest, with no maximum limit as shown in Figure 6.Then, user is welcome to choose one of several hotels provided.Users can only choose one hotel only once in generating scheduling as shown in Figure 7. Furthermore, users are allowed to set the degree of Interest (DOI) as needed, for example, when the user wants to get the results of scheduling with cheap places, the user can set DOI "cheapest tour priority" and reduce other DOI as shown in Figure 8.The result of this scheduling is a sequence to visit tourist attractions for a maximum of three days (travel Itinerary), as shown by Figure 9.For each day, tour starts from selected hotels, and it can not be different hotels for each day.This visit sequence ends with an estimation of user when they arrive at the hotel.

Conclusion and Future Work
Based on experiments, we notice that ant-collony is suitable for the generation of tourist route itinerary, because the ant colony checks every node whether fulfills the constraint or not.The running time of multi-criteria-based itinerary is not significantly different from time-based itinerary.In addition, the number of tourist attractions in the itinerary is more than time-based itinerary, as the combination of solutions from each ant becomes more diverse.In addition, the results obtained to get a schedule with a total time of 2 days, the user is suggested to enter the number of nodes around 8-11, for three days of scheduling, the user is suggested to enter about 16-20 nodes.Although it takes longer running time for about seconds, the multi -criteria approach makes the selected node test results and the total time required is better than timebased approach.
This research is a part of a tourism recommender system that we will develop.The system will provide recommendations on tourist destinations based on their needs, and users are given the opportunity to choose some of the recommended tourist destinations.Then the system will recommend a tour route based on the selected tourist destinations.The interaction of the recommender system, adopted from the interaction model introduced by Baizal et al. [15].

Figure 2 .
Figure 2. Running time test results versus the number of nodes entered by user

Figure 4 .
Figure 4. Total time test results towards the number of user-entered nodes6.The Overview of InteractionThe first interaction is choosing the tourist attractions provided by sistem.Every tourist place has attributes such as tourist attraction name, address, telephone number and rating .User is free to select some places of interest, with no maximum limit as shown in Figure6.Then, user is welcome to choose one of several hotels provided.Users can only choose one hotel only once in generating scheduling as shown in Figure7.