VacAItionary: AI Travel Itinerary Planning Based On Ant .

2y ago
60 Views
2 Downloads
4.79 MB
9 Pages
Last View : 1d ago
Last Download : 3m ago
Upload by : Randy Pettway
Transcription

VacAItionary: AI Travel Itinerary Planning Basedon Ant Colony Optimization*Peggy (Yuchun) WangLauren ZhuDepartment of Computer ScienceStanford ent of Computer ScienceStanford ary planning is a huge headache for travelers,especially with budget and time constraints. Existing commercialtravel planners offer flight planning separately from lodgingplanning, so users have to manually search and book lodgingsafter deciding on a flight itinerary. Instead of consideringplanning for flights and lodgings separately, we generate a travelitinerary based on the best utilities of both. We take into accounta combination of flights, cities, and lodgings while adheringto traveler constraints. We show that our approach, based onthe Ant Colony Optimization (ACO) algorithm, generates highquality travel itineraries both quantitatively and qualitatively.Specifically, we maximize utility as well as the variety of citiestraveled, comparing our results with a Greedy Search baseline.In the future, we plan to expand this project into a product withday-to-day city-level itinerary planning and true booking abilityfor flights and lodgings.I. I NTRODUCTIONOften times, a group of travelers has a brainstorming list ofdesired destinations, where some subset of those destinationswill become the final itinerary. The problem is that especiallywith a large initial set of potential destinations, the processof creating the final itinerary can be very time consumingand tedious. To alleviate this burden, VacAItionary is a travelplanning optimizer that takes in a set of user inputs fortravel plans and outputs several optimal traveling scheduleitineraries.*Github Link to Code: https://github.com/PeggyYuchunWang/vacAItionaryAs an example of a use case for our product, considerthe following story as told by Lauren: My senior projectteam was tasked with presenting a software demo in Munich.With a two week available time window of travel, we wantedto travel to as many cities and places as possible that wasfeasible and reasonable according to the following constraints:time, convenience, price, and personal preference. After manyweeks of discussion and quarrel as busy students, we finallyscheduled locations, flights, and lodging. However, with accessto VacAItionary we could input a list of all our potential destinations and specify that we needed to start from Munich. Wewould receive a list of itineraries that would meet our time anddestination constraints as well as optimize for the parameterswe specified. This would have saved us an incredible hassleof narrowing down from the infinite choices that we had, andprovide us with an optimal set of itineraries to choose from.We formulate the travel itinerary problem as an optimizationproblem that maximizes total utility of an itinerary giventraveler constraints of budget, time, and provided start andend cities. This problem can be formulated as an OrienteeringProblem, a variant of the Traveling Salesman Problem. Wemodeled the problem as a graph search problem, where citiesare the nodes of the graph, and flights and lodgings are directededges of the graph. Each edge has a utility based on a weightedcombination of price and other attractiveness factors. Theoutput is at most ten top itineraries returned by the algorithm,

consisting of the path, including cities, flights, and lodgings.To experiment with methods of solving this problem, weimplemented both a Greedy Search Algorithm and an AntColony Optimization (ACO) algorithm. We conclude thatACO produces better travel itineraries than Greedy, bothqualitatively and quantitatively—in terms of average utilityand average path length. Considering a case study of ACOand Greedy, we also see more diversity in cities and flightpaths with ACO, whereas Greedy tends to have similar flightpaths and optimizes for different lodgings. The downside toACO is that it runs exponentially longer than Greedy, whichis a concern if it will be deployed in real systems. However,we could run ACO in parallel, mitigating those concerns.and its variants are NP-hard [3]. However, several algorithmsgive very good approximations to the optimal solution.II. R ELATED W ORKSeveral existing commercial travel planners attempt to solvethe travel itinerary planning problem, specifically in regardsto multi-city flights. Google Trips1 offers the option to bookflights with multiple cities as well as lodging and vacationpackage recommendations. However, users have to manuallyspecify starting and ending cities as well as dates for eachleg of the multi-city flight, and then manually choose a flightout of all possible flights. Furthermore, users have to booklodgings separately from flights, specify additional constraints,and manually pick one lodging out of all possible listings. Thisprocess, although perhaps fair for a simple trip, is tedious,manual, and suboptimal when expanded to the task of multicity travel itinerary planning.Eighty Days2 and Kiwi’s Nomad Search3 search for multicity itineraries in Europe, and output several top itinerarieswith flight and train transportation between cities as well as thetotal price. This is almost exactly what we want in a multi-cityitinerary planner. However, there are two main limitations withthese service-travelers cannot input budget constraints, andneither service takes into consideration lodgings. Instead, thesesites link to Booking.com and Airbnb and require travelersto manually book their accommodations after booking theirflights. Although these services are an upgrade compared withGoogle Trips, not being able to search for lodgings whilesearching for flights and transportation results in suboptimaltotal costs and still requires manual booking from the traveler.VacAItionary outputs several optimal multi-city itinerarieswhile taking into account budget constraints as well as lodgingoptions, addressing both the limitations described previously.We note that the formulation of the multi-city travel itineraryproblem can be considered to be an Orienteering Problem (OP)[1], a special case of the Traveling Salesman Problem (TSP).OP is a routing problem where the goal is to find the best path(defined as having the maximum score) in a graph, where asubset of nodes are visited and the time limit is not exceeded.Recent variations and applications of the OP are explained in[2], including the Tourist Trip Design Problem. The TSP, OP,1 https://www.google.com/travel/2 https://app.eightydays.me/3 https://www.kiwi.com/en/nomad/An example interaction with Kiwi Nomad demonstrates limitationswith travel itinerary planning. Travelers cannot input budgetconstraints, and must consider lodgings separately and after flights.Previous work has been done on developing orienteeringalgorithms that optimize itineraries for multi-day trips basedon Google historical visit data and Foursquare data [4]. Theauthors formulated the problem as a graph search with startand end nodes, duration costs, and time costs. However, thisalgorithm was applied in the case of multiple day itinerarieswith points of interest (POI) and attractions within the samecity. Although our problem can be formulated similarly, ourapplication is inter-city travel rather than intra-city travel.An example paper that generates itineraries with multiplecities has been done in [5], where constraints such as timespent on each city and and travel cost are considered. Theauthors use a genetic algorithm called NSGA-II to find severalPareto optimal travel itineraries consisting of transportationand lodging stays in between cities.Although we initially considered using the NSGA-II geneticalgorithm to generate optimal travel itineraries, we foundthat ACO is more reliable and more effective than geneticalgorithms [6]. Additionally, several examples of ant colonyoptimization algorithms were used for variants of the TravelingSalesman Problem and Orienteering Problem [7]–[10].In particular, Yang et al. successfully implemented anACO algorithm for both inter-city travel and intra-city travelitineraries, where they considered transportation, lodging, andattractions inside cities [10]. Considering the successes ofACO in the previous experiments, and the similarity of problem formulation, we decided to implement ACO for this paper.III. A PPROACHThis is a unique task with a set of complex data types, so wecarefully designed our models, data, and algorithms. This section is split up into four parts. The first is the itinerary planningmodel, which outlines the different class types and utilities wecreate for flights, lodgings, and itineraries. The second sectiondiscusses why and how we generate data. We then discussour two algorithmic approaches to optimizing this problem -2

a Greedy Search algorithm for a baseline comparison and animproved Ant Colony Optimization Algorithm [11].We first generated a random set of data points includingflight information and lodgings for several destinations inEurope. Then, we ran our algorithms on this data to generateseveral optimal itineraries, which would ideally resemble aPareto frontier. Since our utility function is modeled as aweighted average of multiple discrete objectives, an utopiapoint is often not attainable and optimizing one componenttypically requires a trade-off in another component. Therefore,our output itineraries will approximate different points alongthe Pareto frontier. From there the user can choose theirfavorite itinerary.A. Itinerary Planning Model DesignWe modeled the itinerary object as having its own class.Each itinerary in our implementation is built with severaldifferent components: cities, transportation between cities, andlodgings at each city (besides the start and end cities).Listing 1: Itinerary Classclass Itinerary:def init (self, transportation [],cities [], lodgings [], price 0,utility 0):self.dates # dates of travelself.transportation #list of flightsself.lodgings #list of lodgingsself.cities #list of citiesself.price #total priceself.utility #total utilityWe built classes for each of these three components aswell. Note that in our preliminary implementation, flights arethe only form of transportation, although this could be easilyexpanded to other forms of transportation in the future (trains,buses, etc). A complete itinerary as a search result will havethe populated dates of travel, the list of flights taken, the listof lodgings at each destination city, the list of cities visited,the total price of flights and lodging, and the total utility ofthe trip.Pseudocode for our itinerary class can be found in Listing1. Pseudocode for our city, lodging, and flight components canbe found in Listing 2.Listing 2: City, Lodging, and Flight (Transportation) Classesclass City:def init (self, name, score,medianStay):class Lodging:def init (self, name, address, city,prices, datesAvailable, roomType,numOccupancy, type, tier):class Transportation:def init (self, departDatetime,departLoc, arriveDatetime, arriveLoc,price):class Flight(Transportation):def init (self, departDatetime,departLoc, arriveDatetime, arriveLoc,price, airline, flightNumber):Because this is a path planning problem, we design what apath looks like within an itinerary. We define a complete pathas a repeated sequence of alternating flights and lodgings. Tovisualize this as a graph traversal, we define the following: Cities are nodes Flights are directed edges from city X to city Y Lodgings are self-loops from city X to city X After taking a flight, we must take exactly one self-loopLodging edge We do not visit the same city twice, unless it is the samestart and endEach edge must have some utility, and for consistency wekeep all of these values positive. Each edge type (flight orlodging) has a utility function, described below.1) Flight Utility: In order to design the flight utility function, we take into consideration the features of a flight thatwould make it a better choice and thus give it a higher utility.Given three factors of a flight—price, destination, and duration—we can intuitively come to the following conclusions: Lower price has higher utility More desirable arrival destination has higher utility Shorter duration has higher utilityWe weigh each of these features and sum them to calculateutility U (f ) of a flight f . Thus, given price p, destinationdesirability score s, duration d, and respective flight weights,our utility function is as follows:U (f ) ωdωp ωs s(f ) .p(f )d(f )We used ωp 2000, ωs 4, and ωd 2000. Noticethat we divide by p(f ) and d(f ) because those features areinversely correlated with utility. The values of ω are chosenin a way that modifies each component to be of a fair fractionof the actual utility. In our case, we assume in this utilityfunction that destination score s is the main driver of a highflight utility, so ωs s(f ) makes up a larger part of U (f ) thanthe other two (people tend to book trips by destination, notwherever flights are cheapest).2) Lodging Utility: Similarly to the flight utility function,we must understand which features are directly or inverselycorrelated with utility. We simplify the problem to ignorethe room type, so given the remaining three factors of alodging—price, tier, and occupancy—we conclude: Lower price has higher utility Higher tier has higher utility Higher occupancy has higher utilityWe weigh each of these features and sum them to calculateutility U (l) of a lodging l. Thus, given price p, lodging tier3

Table I: Flight Data ExampleAirlineFlight NumberDeparture TimeArrival TimeDeparture LocArrival LocPriceTravel TimeFlight 1UDUD486901-17 20:2601-17 21:03FlorenceEdinburgh47.560:37Flight 2FAFA859101-05 23:0401-06 03:51BudapestZurich314.424:47Flight 3EMEM795401-30 15:3301-30 19:20AmsterdamBudapest82.593:46Each flight has randomly generated strings for the airline and flight number. Random cities are chosen from a set fordeparture and arrival locations, and a date and random but reasonable duration are chosen for the flight given a time frame.Table II: Lodging Data ExampleNameAddressCityLodging TypeRoom TypeOccupancyTierLodging 1The Respectful9235 Zebra PlazaParisHotelSuite64Lodging 2The Stable8613 Rain BendBarcelonaHostelNormal Room42Lodging 3The Festive207 Table LandingLondonAirbnbApartment63Each lodging has randomly generated strings for the name and address. The location is a random city. The room type,availability, occupancy, type, and tiers are also randomly chosen. Each lodging has a set of available dates, each with adifferent price (not shown).t, occupancy o, and respective lodging weights, our utilityfunction is as follows:U (l) µp µt t(l) µo o(l).p(l)We used µp 20000, µt 15, and µo 2.5. Notice againthat we divide by p(l) because price is inversely correlatedwith utility, whereas tier and occupancy are not. The weightsµ are chosen to give equal weight to the price and tier, whereasthe occupancy or size of the room matters less.B. Data GenerationBecause our focus of the project is to implement Ant ColonyOptimization and compare it to our Greedy Baseline algorithm,it made sense to focus our implementation on the algorithmsinstead of on the data. Using real data entails web scrapingfor flights and lodgings across many different platforms, sowe decided to generate our own data. We do, however, wantour simulated data to be as realistic as possible. We take thatinto consideration during the generation process.1) Flight Data: We generated 1000 flights, which havea departure and arrival location randomly drawn withoutreplacement from a set of 16 European cities. In our graph,a flight is formulated as a directed edge from one city nodeto another. The flight object contains an airline, flight number,departure and arrival time, departure and arrival city, price,and travel time. Three sample flights are shown in Table I.2) Lodging Data: We also generated 200 lodging options intotal across the 16 cities. A lodging is formulated in the graphas a self-loop edge at a city node. The lodging object containsa name, address, city, lodging type, room type, occupancy,and tier. It is available on a certain set of dates, each datewith a different price associated with it. Three sample lodgingoptions are shown in Table II.C. Greedy AlgorithmOur Greedy Search algorithm is an original implementation that resembles a greedy version of Dijkstra’s algorithm.Specifically, it is an adaptation of breadth-first search that usesa priority queue and greedily builds and sorts itineraries basedon utility.As shown in Algorithm 1, we begin with an empty priorityqueue and populate it with itineraries that solely consist of allflights leaving from the start city. Those are then appended tothe priority queue, giving priority to the flights with higherutility. Until we have the maximum number of itineraries wewish to keep, we continue to greedily prioritize flights andlodgings with higher utility until we have created a full list ofcomplete paths.D. Ant Colony Optimization AlgorithmWe implemented the Ant Colony Optimization algorithm,using the formulation in Algorithms for Optimization as aguide [11]. Adaptations were made to generic ACO for thespecific problem, including:4

Algorithm 1 Greedy Algorithm Pseudocodedef greedyBaseline(num its keep 10):queue PriorityQueue()complete its []for f in start flights:it Itinerary()queue.put((-f.utility, it)) #higher utility higher prioritywhile not queue.empty() and len(complete its) num its keep:if it.lastcity endcity:complete.append(it)next flights filterFlights(nextstart, enddate, currcity, it)sort(next flights) #decreasing order sort by utilityfor f in next flights:flight it copy(it)flight it.append(f) #add flight to itnext lodgings filterLodgings(currcity, starttime, f.departtime)sort(next lodgings) #decerasing order sort by utilityfor l in nextLodgings:lodging it copy(flight it)lodging it.lodgings.append(l) #add lodging to itif lodging it.price budget:queue.put((-lodging it.utility, lodging it))return sort(complete) #sort final list by utility and returnAdapting pheromones and priors to fit both flights andlodgings Using utility instead of inverse path length Ranking top paths Traversing a lodging edge after a flight edge, and viceversa (except at the end city) Tuning hyperparametersThe full ACO pseudocode is listed in Algorithm 2. Thehelper functions — edge attractiveness() and run ant() — arelisted in the Appendix in Algorithms 3 and 4, respectively. IV. E XPERIMENTSWe ran experiments to compare Greedy and ACO bothquantitatively and qualitatively. Our ACO Hyperparametersare shown in Table III. Our algorithm inputs include the startcity, end city, start time, end time, and budget. We ran bothalgorithms on all possible pairwise combination of the 16European cities for the start and end cities, leading to a totalof 256 different input combinations. We set our start time toJanuary 03, 2020 and our end time to January 17, 2020, witha budget of 3000.00. We allowed both algorithms to return amaximum of 10 optimal itineraries.For each of the 16 starting cities, we recorded the averageprice, utility, path length, and runtime across the 16 endingcity combinations in Tables VII and VIII in the Appendix.For clarity, we also averaged these results across all 256 runsfor each algorithm.Table III: ACO 01V. R ESULTS AND D ISCUSSIONWith a total of 16 different starting cities, ACO is ableto find better average itineraries (defined as having a higherutility) for 15 of them compared with Greedy. The itineraryprices of ACO are also higher for 15 of the starting cities, andthe path lengths of ACO itineraries are consistently longer,meaning that the itineraries visited more cities within thesame budget. One drawback of ACO is the runtime, which issignificantly slower than our greedy implementation, althoughruntime may be significantly sped up with running ants inACO in parallel. These numbers can be found in Tables VIIand VIII in the Appendix, and they are further summarizedbelow in Table IV.Table IV shows our global experimental run across bothalgorithms. ACO produces itineraries that are, on average, ofhigher utility and higher quality. That is, it is better optimizedfor cheaper and shorter flights to desirable cities, as well as5

Algorithm 2 Ant Colony Optimization Pseudocodedef ant colony optimization(num its keep 10, num ants 1000, iters 500, alpha 1.0, beta 1.1,rho 0.01):start flights filterFlights(startdate, enddate, startcity)prior {} #etapheromones {} #tauvisited []#initialize prior and pheromonesfor flight in flights:pheromones[flight] 1, prior[flight] flight.utilityfor lodging in lodgings:pheromones[lodging] 1, prior[lodging] lodging.aveUtility #ave util over avail daystop paths []for i in range(iters):A edge attractiveness(pheromones, prior, alpha, beta)for key, p val in pheromones: # key is flight/lodgingpheromones[key] (1-rho)*p valfor ant in range(num ants):it, pheromones run ant(pheromones, A)if it: # if ant found full pathif len(top paths) num its keep and it.utility top paths[-1].utility:top paths.pop()if len(top paths) num its keep and it not in visited:sort(top paths.append(it)) #sort by utilityvisited.append(it)return top pathsTable IV: Comparison of Greedy Baseline and ACOGreedyACOPrice2190.642444.43Utility12441457Path Length (cities)4.735.30Runtime (s)0.4384.06Values above are averages across 16 start cities, equivalentto averaging across 256 combinations of start and end city.Note that path length includes the start and end cities.cheaper, larger, and more luxurious lodgings all while stayingwithin the budget and time constraints. Regardless of whetherthe data is real or simulated, it is very unlikely that there is anachievable utopia point. However, ACO is much more likelyto find itineraries that lie closer to the Pareto frontier. This isimplied from the nature of the utility function designs.A. Case StudyBecause our algorithms optimize numerical metrics, wemust manually inspect the itineraries to ensure they are providing better flight and lodging features that are associated withhigher quality trips. Our case study will take a closer look atsample algorithmic runs for Greedy and ACO for itinerariesfrom Edinburgh to Venice, with a budget of 4000.00.We requested the five best itineraries from both Greedyand ACO. The two tables in V clearly illustrate how ACOoutperforms Greedy from a utility perspective, especially inthis case where a higher budget of 4000 gives ACO morefreedom to explore more potential paths (ACO uses the samehyperparameters from the experiments, with a change to 500iterations). We can see how the Greedy algorithm lacks diversity in its paths because it terminates once it finds a sufficientnumber of itineraries. ACO, however, runs a specified numberof ants for a specified number of iterations.We now analyze the flights of the best itinerary of Greedyand of ACO in Table VI. Greedy fails to explore the manypotential paths that could lead to a diverse itinerary within thegiven budget. It chooses the highest utility flight as the first leg,and eventually finds a complete path. This eliminates manyother paths that would potentially increase utility via laterlegs or undiscovered lodgings (not shown). This juxtapositiondisplays how ACO is superior as a direct method that searchesacross a very large space of paths and still finds high utilityitineraries under the budget constraints.These tables show the flight utility function at play, and6

Table V: Greedy vs. ACO Top 5 Itineraries from Edinburgh to VeniceRankRankRankRankRank12345PathE Ba A VE Ba A VE Ba A VE Ba A VE Ba A 821148114411331125(a) Top 5 itineraries of Greedy Baseline. Notice allthe paths are similar, and the utilities similarly low.RankRankRankRankRank12345PathE F Ba Bu A R VE F Ba A R VE Ba Bu A R VE Ba Bu A R VE Ba Bu A R 102050204920031981(b) Top 5 itineraries of ACO. The paths are longer and muchmore diverse, yet have significantly higher utility.Table VI: Greedy vs. ACO Best Itinerary from Edinburgh to VeniceLegE BaBa AA VF Price18.47288.9430.24F City Score554273F Duration1:16:001:41:002:06:00F Utility354195374(a) Flights from the best itinerary from Greedy Baseline.F refers to flight.LegE FF BaBa BuBu AA RR VF Price44.4873.05392.59153.8254.48104.20F City Score515565427573F F Utility299314273193346351(b) Flights from the best itinerary from ACO. F refers to flight.demonstrate how flight prices, destination score, and flightduration affect the overall desirability of the flight.VI. C ONCLUSIONAs seen from the results, Ant Colony Optimization producesbetter itineraries than Greedy Baseline when optimizing overflights and lodging in multiple cities. The itineraries generatedby ACO are realistic and diverse, and are a starting point for aone-step itinerary planner for flights and lodging. Additionally,our aim is to eventually deploy this project on the web andinclude intra-city planning with attractions and restaurants.A. Future WorkSince we eventually want to turn this project into a product,Peggy made a website mockup using HTML, CSS, andJavaScript (shown as an image in the first page of thispaper and also in the Appendix). Users are able to clickthe “Explore” button and receive a list of example outputitineraries.For the future, our goal is to also take into account travelerpreferences (such as their preferred city or type of lodging)as inputs and produce a custom utility function based onthose inputs and real-world data. Weights on utility could beformulated via a slider input UI on the importance of certainfactors to the traveler.In a real-world deployment setting, it is likely that runningtime would matter as much as itinerary quality. One way tospeed up ACO would be to implement parallel processing foreach ant, which would speed up the running time linearlywith the number of cores available. We can also run bothACO and Greedy and pick the best itineraries between bothalgorithms, or experiment with additional algorithms used forthe Traveling Salesman Problem or Orienteering Problem.To make the system run in real-time, we would also need toincorporate real-time web searching and web APIs of flightsand lodgings, which updates by the second. Additionally, wewill want to incorporate additional transportation options suchas trains and buses and also expand to intra-city planningwith day-to-day itineraries incorporating attractions and otherexperiences. We see a lot of potential in this project goingforward, and plan on continuing to work on this project afterthe end of the class.C ONTRIBUTIONSPeggy and Lauren both implemented class types and builtthe Greedy Baseline and ACO algorithms for flights andlodgings. This was the bulk of the project.On an individual level, Peggy ran full experiments forGreedy and ACO results, created the website mockup anddesign, and did an extensive literature review (the latter twoas the additional contribution for 4 units).Lauren performed the case study, comparing qualitativeGreedy and ACO results.ACKNOWLEDGMENTSThanks to Professor Mykel Kochenderfer for all his suggestions, help, and inspiration throughout the process, and forhis excellent class and teaching! Thanks also to the StanfordCS361/AA222 Course Staff and TAs for all their feedback andencouragement throughout the process.R EFERENCES[1] T. Tsiligirides, “Heuristic methods applied to orienteering,” Journal ofthe Operational Research Society, vol. 35, no. 9, pp. 797–809, 1984.[2] A. Gunawan, H. C. Lau, and P. Vansteenwegen, “Orienteering problem:A survey of recent variants, solution approaches and applications,”European Journal of Operational Research, vol. 255, no. 2, pp. 315–332,2016.[3] A. Blum, S. Chawla, D. R. Karger, T. Lane, A. Meyerson, andM. Minkoff, “Approximation algorithms for orienteering and discountedreward tsp,” SIAM Journal on Computing, vol. 37, no. 2, pp. 653–670,2007.7

[4] Z. Friggstad, S. Gollapudi, K. Kollias, T. Sarlos, C. Swamy, andA. Tomkins, “Orienteering algorithms for generating travel itineraries,”in Proceedings of the Eleventh ACM International Conference on WebSearch and Data Mining, ser. WSDM ’18. New York, NY, USA:Association for Computing Machinery, 2018, p. 180–188. [Online].Available: https://doi.org/10.1145/3159652.3159697[5] X. Li, J. Zhou, and X. Zhao, “Travel itinerary problem,” TransportationResearch Part B: Methodological, vol. 91, pp. 332 – 343,2016. [Online]. Available: 0191261515302125[6] R. Putha, L. Quadrifoglio, and E. Zechman, “Comparing ant colonyoptimization and genetic algorithm approaches for solving traffic signalcoordination under oversaturation conditions,” Computer-Aided Civiland Infrastructure Engineering, vol. 27, no. 1, pp. 14–28, 2012.[7] Y.-C. Liang and A. E. Smith, “An ant colony approach to theorienteering problem,” Journal of the Chinese Institute of IndustrialEngineers, vol. 23, no. 5, pp. 403–414, 2006. [Online]. 6[8] Z. C. S. S. Hlaing and M. A. Khine, “An ant colony optimization algorithm for solving traveling salesman problem.” Fifth Local Conferenceon Parallel and Soft Computing, 2010.[9] Y. Chen, W. Sun, and T. Chiang, “Multiobjective orienteering problemwith time windows: An ant colony optimization algorithm,” in 2015Conference on Technologies and Applications of Artificial Intelligence(TAAI), 2015, pp. 128–135.[10] L. Yang, R. Zhang, H. Sun, X. Guo, and J. Huai, “A tourist itineraryplanning approach based on ant colony algorithm,” in InternationalConference on Web-Age Information Management. Springer, 2012,pp. 399–404.[11] M. J. Kochenderfer and T. A. Wheeler, Algorithms for optimization.Mit

favorite itinerary. A. Itinerary Planning Model Design We modeled the itinerary object as having its own class. Each itinerary in our implementation is built with several different components: cities, transportation between cities, and lodgings at each city (besides the start and

Related Documents:

TOURISM MODULE 6A Itinerary Planning and Tour Packaging 26 Travel and Tour Operation Bussiness Notes z prepare Tour Brochure Designing; and z prepare about Tour Voucher, Docketing and Programming of tours. 22.1 MEANING AND TYPES OF ITINERARY 22.1.1 Meaning of Itinerary An itinerary is a plan of a journey showing the route and the places that the

interactive itinerary planning based on user feedback and itinerary expected scores. (2) We formally define the optimal itinerary construction problem, which is one of the two core problems in interactive itinerary planning. We prove NP-completeness of this prob-lem and design an efficient real-time heuristic algorithm for

The Travel Allowance Itinerary and the Expense Item will be removed from the Expense Report. ASSIGN . o To Assign an Unassigned Travel Allowance Itinerary to different Expense Report. Open a new or existing Expense Report to a ssign the existing Travel Allowance Itinerary to. In our example it is an existing Expense Report.

interface for itinerary management, for customer usage during travel or thin-client interface using travel agencies. View (3) shows a mobile phone-hosted WAP interface for customer itinerary modification and itinerary viewing during travel. A travel planning example application is often used by those describing web services technologies, but our

Travel Allowance Itinerary: This data object references the specific itinerary associated with the expense. Travel Allowance Itinerary (On Report): This data object references any itinerary attached to the report, and is not specific to what is linked to an expense. August 12 2011 Added information about:

The Travel Itinerary should be approved by the Individual’s manager. The itinerary serves as a planned, budgeted, listing of all business-related travel that the Individual is expected to complete in the fiscal year. The Travel Itinerary shall be then approved by the CFO and/or CEO prior to booking travel

This section will describe the Itinerary Data Web Service and the work flow for accessing itinerary detail data in a pseudo-batch mode. 1.1 F e a t u r e s / F u n c t i o n s The Itinerary Data Web Service will allow read-only access to itinerary data. The GetThere database is the source for the itinerary data. There will be two web services.

REKONSILIASI EKSTERNAL DATA SISTEM AKUNTANSI INSTANSI SATUAN KERJA Universitas Pendidikan Indonesia repository.upi.edu perpustakaan.upi.edu BAB I PENDAHULUAN 1.1 Latar Belakang Penelitian Masa reformasi menyadarkan masyarakat akan pentingnya pengelolaan keuangan pemerintah yang harus dilaksanakan dengan prinsip pemerintahan yang baik, terbuka dan akuntanbel sesuai dengan lingkungan .