## 1 Introduction

Routing problem has seen a rapid growth in recent years due to its importance in various domains and applications, such as in planning tour itineraries for tourism purposes. Route optimization in small-scale attractions are complex and challenging where it involves multiple points of interest (POIs). For instance, tourists may plan itineraries that include shopping centres, nature reserves, theme parks, museums, restaurants, etc; while visiting a theme park, the visitor’s routes can include POIs such as roller coasters, water rides, and other attractions or events.

Many algorithms developed in academia have been implemented and made available to the public over the internet [brilhante-ecir14, refanidis-setn14, castillo-esa08, worndl-ictt16]. However, many of these algorithms aim to recommend itineraries for individual travellers, whereas a real-life itinerary is also affected by the actions of other travellers.

The itinerary recommendation problem can be modelled as an utility optimization problem that maximizes the number of facilities visited while minimizing the queuing time and travel time from one facility to the other. Facilities in a theme park come with different properties such as popularity, duration, location and seemingly unexpected queuing time. Visitors are often constrained by a time budget that limits the number of facilities one could visit in a single trip. Furthermore, the popularity of each facility contributes to the overall utility, making an assumption that the more interesting the place is, the higher popularity it has.

To strategize for a route, one can obtain data of past visit history of the attraction from a publicly available repository, such as Flickr, Wikipedia and Google Review, to analyze the popularity and expected queuing time for different facilities, and distance among them. The strategy can be further personalized by taking into consideration the user interest in each facility to form a personalized itinerary route [lim2017personalized]. However, for real-life dynamic environments, visitors face difficulties in identifying an optimal path with no knowledge of other visitors’ information. Similarly, a static recommendation algorithm based on historical data can hardly achieve optimal social welfare without taking into consideration the current state of the environment at the point of recommendation. For example, two intuitive strategies that visitors frequently exercise are to minimize distance by going to the next nearest facility, or maximize facility’s popularity by going to the next most popular location within a certain radius. Our work shows that neither of these strategies is able to maximize the agent’s utility when they are in a dynamic system where other agents in the system also affect the state of the system.

Many works focus on constructing a single optimal path, with different approaches, solely based on historical data. We believe that such a methodology is fundamentally sub-optimal because for the best case scenario from the algorithm designer’s perspective where all visitors follow the same strategy, the expected queuing time would grow for each new arrival, as illustrated in Figure 1. In other words, the later an agent arrives to the system, the longer her expected queuing time will be. As a result, the social welfare or the collective utility of all agents has failed to be optimized.

Let us take a helicopter view on this itinerary recommendation task. It is extremely difficult for an agent to gain knowledge of the system state, i.e., the people who are visiting the park and their respective paths. As a result, letting the agent find an optimal strategy that maximizes her expected utility is unrealistic without the ability to gather enough information.

The solution to address this problem, which our work proposes, is by having the system, leveraging on its internal information, to make routing recommendations to its arriving agents. In other words, we take a game-theoretic Mechanism Design approach to tackle the problem and formulate a crowd-aware itinerary recommendation algorithm having in mind the Selfish Routing problem. To model the itinerary recommendation problem into a strategic game, the system acts as a game master with a set of allocation mechanisms to allocate path to each player in the game, instead of leaving the agents a high degree of freedom to choose their own path. Our approach turns out to be effective in optimizing social welfare, with promising results shown in our simulations.

Our main contributions in this paper are, firstly, we address the complex and challenging itinerary recommendation problem by modelling it in a social welfare optimization problem, and propose a simplified and effective solution to address the NP-hardness of the problem. Secondly, we construct a strategic and crowd-aware itinerary recommendation algorithm that is able to maximize visitor’s utility, while solving the intrinsic Selfish Routing problem embedded in all itinerary recommendation tasks. Lastly, our proposed method addresses a social welfare optimization problem in the itinerary recommendation context, which is different from prior works which are commonly using a single-person perspective. Based on the result of our simulations on real-world data, the effectiveness of our proposed algorithm in terms of optimizing queuing time out-performed benchmarks with intuitive strategies and recent works.

## 2 Related Works

### 2.1 Approaches and Motivations

Prior works propose different approaches for implementation to solve the itinerary recommendation problem. Such works include heuristic approximation

[zhang-cikm15, zhang-tois16], a modified Ant Colony System [wang-cikm16], integer programming [lim-ijcai15, lim-kais17], a variant of the Travelling Salesman Problem [miller-jacm60], and tree-based algorithm [zhang-tois16]. In the Information Retrieval community, the itinerary recommendation problem has also shown a high level of interest. Many works use matrix factorization or collaborative filtering approaches to find a ranked list of top locations, which is known as top-k POIs recommendation [ye-sigir11, yuan-sigir13, li-sigir15, yao-sigir15, leung-sigir11]. The references come from various social data such as social links [yao-sigir15] and user activities [leung-sigir11].One of the widely discussed motivations for itinerary recommendation is the Orienteering problem. Such itinerary recommendation are common for tourist cities [choudhury-ht10, choudhury-www10, hsieh-www12, li-geocrowd13] and theme parks [lau-uai12, varakantham-adt13, gunawan-patat14]. Other research works have taken into consideration various user interests or preferences [lim2017personalized, vansteenwegen-esa11, gionis-wsdm14, castillo-esa08, lim-sigmod15]. In an Orienteering problem, the recommendation aims to optimize social welfare with a global reward such as popularity, with respect to budget constraints such as travel time or distance among attractions in an itinerary. This approach typically does not take into consideration the trade-off between the duration in a facility and its popularity, which may contribute substantially to the global profit.

### 2.2 Limitations

These earlier works face a major limitation where the recommendation algorithms are constructed based on a single person’s perspective. Despite some recent works exploring the effects of group or crowd behavior [wang-cikm16, garcia-esa11, lim-icaps16], the algorithms treat the system as a static environment where properties such as queuing time and interests only depend on historical data. Simulating an optimal path in such a static environment has a natural disadvantage where self-interested agents prioritize personal objective functions which may result in ineffective social welfare. For instance, in real-life circumstances, while everyone who enters the theme park following the same recommended path, the queuing time will increase exponentially, and the optimality of such recommendation algorithms will then collapse. Roughgarden’s work [roughgarden2005selfish] discusses this problem extensively, defined as Selfish Routing problem, where giving agents freedom to act according to their own interests results in a sub-optimal social welfare.

The Selfish Routing problem was studied in the area of Game Theory and Mechanism Design

[roughgarden2005selfish, koutsoupias1999worst, papadimitriou2001algorithms]. The inefficiency of achieving the optimize natural objective is quantitatively measured by Price of Anarchy, which was first defined as the ratio between the worst-case Nash equilibrium and the optimum sum of payoffs in game-theoretic environments [koutsoupias1999worst, papadimitriou2001algorithms]. Braess’s Paradox for traffic flow [braess1968uber] describe the phenomenon where adding a new link to a transportation network might not improve the operation of the system, in the sense of reducing the total vehicle-minutes of travel in the system [eric1997braess]. To break out from this phenomenon, a system operator can manually interfere with or change agents’ actions to provide policies or economic incentives with well designed strategies. Our proposed game-theoretic, dynamic itinerary recommendation algorithm in this paper is an instance of such strategy.### 2.3 Proposed Method

In this work, we propose a Strategic and Crowd-Aware Itinerary Recommendation (SCAIR) algorithm to address the ineffectiveness of welfare optimization due to the lack of centralized control [Piliouras:2016:RSP:3007189.2930956]. The proposed recommendation algorithm takes into consideration all visits in a theme park, or other equivalent itinerary planning scenarios, and makes recommendations to the next visitor with the knowledge of all other existing visitors’ paths in the park. Furthermore, the queuing time at all facilities at a certain hour becomes dynamic according to the expected number of visitors in the same place at the same hour. Finally, we evaluate SCAIR with three benchmark algorithms, and analyze and discuss the results of our simulations with real-life data.

## 3 Problem Formulation

### 3.1 Approach

In this work, we formulate the itinerary recommendation problem from the system’s perspective and formulate it as a strategic game where the system designs and distributes the optimal path to every agent on arrival, based on the existing agents in the system and their respective paths. We propose a Strategic and Crowd-Aware Itinerary Recommendation (SCAIR) algorithm that dynamically recommends routes taking into consideration all existing agents in the system.

The strategic itinerary recommendation problem is a social welfare optimization problem that aims to maximize the sum of all agents’ utility in the system. This problem turns out to be NP-hard. Furthermore, taking into consideration the entire history of existing visitors results in exponential space-complexity with respect to the number of agents, and exponential time-complexity with respect to the number of facilities in a path. This is empirically challenging to simulate.

To overcome the challenges, we propose a simplified version which models the recommendation problem as a finite Markov Decision Process (MDP) and is known to be in NC [papadimitriou1987complexity] and decidable in poly-logarithmic time [arora2009computational]. The simplified model makes an assumption that each decision embeds information of the immediate last decision and the MDP as a result is able to provide a snapshot of the entire history. Next we will discuss the formulation of the problem.

### 3.2 Formulation

We formulate the strategic itinerary recommendation problem to be an MDP and impose constraints such as (1) fixing the starting point, (2) setting a time budget for the path, and (3) limiting the distance between two stations. These constraints reflect real-life considerations closely, such as fixed starting point near the entrance; visitors having limited time to tour; and dissatisfaction arising with long walking distance among facilities.

Concretely, we model the system of a tourist attraction as a fully connected graph , where is the collection of facilities in the system, and is the set of connections from to . Each facility is associated with a set of properties including coordinates , duration of visit in minutes, capacity and popularity . Each connection is associated with properties including distance and travel time in minutes.

To formulate the agents’ visits, we represent the Markov Decision Process (MDP) as states , where each state is associated with a feasible path with facilities . The total time of path for is defined as:

(1) |

We model the utility of the agents with respect to the popularity of each facility visit and the expected waiting time at each facility, with an assumption that higher popularity of a facility infers greater attractiveness to visitors. Concretely, we define the utility function for path with nodes as follows:

(2) |

where is the expected queuing time at path given , and is the sum of popularity of all facilities in the path. The path’s expected queuing time is calculated by summing up the queuing time at all facilities:

(3) |

where if the facility appears to overlap between paths and within the same hour . Capacity is set to be a constant for simplicity. Finally, the transition matrix of state machines is defined as:

(4) |

The transition matrix is then normalized by:

(5) |

The problem of finding search space is modelled as a search problem that finds the set of feasible paths by an optimization problem as follows:

maximize | (6) | |||||

subject to | ||||||

for facilities in the path, with a constant time budget .

Finally, we define the strategic itinerary recommendation problem to be a social welfare optimization problem as follows:

maximize | (7) | |||||

subject to |

for visitors and a constant time budget .

## 4 Experiment

In this section, we discuss the simulation and assessment on the effectiveness of the proposed Markov recommendation algorithm against benchmarks.

### 4.1 Dataset

A theme parks dataset, obtained from Lim et al. [lim2017personalized] which was processed from over 655 thousands of geo-tagged photos from Flickr, fits well with our our experiments. The dataset is the first that includes the queuing time distribution at each attraction based on these geo-tagged photos which comes with five theme parks, namely Disneyland, Epcot Theme Park, California Adventure, Disney Hollywood Studio and Magic Kindgom. For this work, we utilize the data of Epcot and Hollywood to investigate the SCAIR algorithm. In our work, we simulate the algorithm with the data of Epcot Theme Park and Disney Hollywood Studio.

### 4.2 Experiment setup

We denote the arrival’s interval of a crowd as which indicates the time between the arrival of two agents, measured in minute. In this work, is set to be a constant for simplicity. We set the two hyper-parameters, namely arrival interval , and simulation time between 60 minutes and 360 minutes in 30 minutes intervals (i.e. ). The outputs of the simulation are average popularity, expected queuing time per visitor and expected utility, denoted as , and respectively.

We benchmark SCAIR (denoted as ), with two intuitive strategies commonly used by visitors, namely (1) Distance Optimization (denoted as ) where agents always choose the nearest facility, and (2) Popularity Optimization (denoted as ) where agents always choose the next most popular facility within the distance constraint. Furthermore, we also implement a recently published algorithm [zhang-tois16], denoted as , which models utility as the ratings of the POI divided by the distance from the current one.

### 4.3 Implementation of Algorithms

#### 4.3.1 Feasible Paths

The path finding algorithms uses a breadth-first strategy. It takes in inputs of graph that represent a theme park with the set of facilities and connections , time budget , and distance limit between two facilities . It returns a collection of feasible paths, , with respect to the input parameters.

#### 4.3.2 Transition Matrix

The Transition Matrix is constructed by calculating as the costs of taking path given path . The output of function varies based on the arrival interval because it affects the expected time of arrival for each facilities at , which leads to different occurrence of overlapping facilities between and .

#### 4.3.3 Simulation

Algorithm 1 shows an overview of the simulation procedure. It constructed loops to iterate through the data of theme parks , a list of time budgets , and an array of arrival intervals .

## 5 Results and Discussion

Figure 2 shows the simulation results with data of two theme parks (Disney Hollywood and Epcot Theme Park) for the SCAIR algorithm with respect to three benchmark algorithms. The x-axis indicates the time budget of visits and the y-axis indicates the queuing time, popularity and utility. The simulation runs with different arrival intervals , i.e., from 0.01 to 0.1 with a step size of 0.01, and from 0.1 to 1.0 with a step size of 0.1. The values in the graph are averaged across all .

DisHolly | Epcot | |
---|---|---|

DisOp | ||

PopOp | ||

PodOp | ||

SCAIR |

Queuing Time. In relative terms, we observe that SCAIR outperforms benchmark for both the queuing time and utility in both theme parks. SCAIR is able to maintain a low queuing time with different time budgets, while the benchmark’s queuing time increases with the growth of time budget. The observation is consistent for both theme parks. Table 1 shows the ratio of queuing time and time budget of visitors. SCAIR shows a much lower queuing time ratio than the benchmark, for both DisHolly and Epcot theme parks.

Popularity. All four algorithms perform similarly in DisHolly, while PopOp, PodOp and SCAIR remain similar but outperform DisOp in Epcot. We observe that PodOp achieves a relatively high Popularity when time budget is equal to 180 and 210. After investigation, we identify that this phenomena is due to the special geographic distribution of the POIs in DisHolly, where the optimal path according to the algorithm includes two POIs that are remote from other POIs but yield very high popularity.

Utility. In terms of Utility, SCAIR outperforms all benchmark consistently across all time budgets for both theme parks, thanks to the the promising queuing time performance that SCAIR is able to achieve.

## 6 Conclusion

Prior works on itinerary recommendation commonly face difficulty in addressing the Selfish Routing problem where all self-interested agents aim to maximize their own utility which result in sub-optimal social welfare. In this paper, we propose the novel strategic and crowd-aware itinerary recommendation (SCAIR) algorithm to optimize the visitor’s expected utility with respect to POI’s popularity and queuing time.

Our game-theoretic approach takes into consideration crowd behavior and demonstrates a significant improvement as compared to the three benchmark strategies that reflect how people construct itineraries in real-life. Simulation result shows that our proposed algorithm outperforms benchmark in optimizing social welfare for all simulated scenarios.

We also propose a novel approach to address the NP-hard Social Welfare Optimization problem with an infinite Markov Decision Process, which is in NC and can be solved in poly-logarithmic time. Simulation results with real-life data validate our hypothesis where Markov Decision Process is able to represent features of the entire history.

Finally, we intend to adopt the Design Innovation (DI) framework [camburn2017design, foo2019design, sng2017design, fu2016design, telenko2016designettes, ottoproduct] with contemporary process and methods to effectively develop itinerary planning solutions for society. This extension of SCAIR aims to design, develop and deploy applications to actual facilities and businesses, such as Singapore Zoo and Universal Studios Singapore.