=Paper=
{{Paper
|id=Vol-3219/paper3
|storemode=property
|title=Maximal Likelihood Itinerary Planning with User Interaction Data
|pdfUrl=https://ceur-ws.org/Vol-3219/paper3.pdf
|volume=Vol-3219
|authors=Keisuke Otaki,Yukino Baba
|dblpUrl=https://dblp.org/rec/conf/recsys/OtakiB22
}}
==Maximal Likelihood Itinerary Planning with User Interaction Data==
Maximal Likelihood Itinerary Planning with User Interaction Data Keisuke Otaki1 , Yukino Baba2 1 Toyota Central R&D Labs., Inc., Koraku Mori Building 10F, 1-4-14 Koraku, Bunkyo-ku, Tokyo, 1120004, Japan 2 The University of Tokyo, 3-8-1 Komaba, Meguro-ku, Tokyo, 1538902, Japan Abstract Planning itineraries is a complex task for tourists. While some tourists have their favorite events and plans (e.g., places to visit, ways to travel) precisely in mind, others would like to explore multiple choices of possible events. To improve the user experiences of tourism, we develop a novel itinerary planning framework in which users directly interact with our system by editing displayed itineraries. Our idea is to collect edition-based feedback via editions by users, to estimate user preferences from the editions, and to utilize this data when generating personalized itineraries. To implement this framework, we generalize the maximum likelihood planning framework by introducing a new optimization problem to estimate transition probabilities between POIs with both historical and interaction data. To explain how the maximum likelihood itinerary planning-based method works, we report our proof-of-concept experiments aiming to provide a new perspective for interactive itinerary planning with user interaction. Keywords itinerary recommendation, orienteering problem, maximal likelihood planning, optimization 1. Introduction Background Planning an itinerary (also called a travel plan or trajectory) is a complex task when a tourist plans a trip. Planning often involves places to visit (e.g., points-of-interests, POIs), places to stay (i.e., accommodations), how to travel between places (e.g., transportation and its mode), booking, and payments (if needed). While some tourists have their favorite places and/or plans exactly in mind, others would like to explore several choices to visit. In the literature, optimization-based methods have been studied as an important component for generating itineraries [1, 2, 3, 4]. A well-known optimization problem called the orienteering problem or its variants are often employed [5, 6]. The orienteering problem is the problem of constructing a trajectory (i.e., sequences of POIs) to maximize the benefits from the visited places under travel distances/time constraints. An important process behind the orienteering problem is how to evaluate the benefits of POIs for users. Using some objective values (e.g., an average rate or staying time of the POI) we can build traditional and common itineraries, while we can build personalized itineraries with some subjective values (e.g, a rate or staying time by a specific user). RecSys Workshop on Recommenders in Tourism (RecTour 2022), September 22th, 2022, co-located with the 16th ACM Conference on Recommender Systems, Seattle, WA, USA $ otaki@mosk.tytlabs.co.jp (K. Otaki); yukino-baba@g.ecc.u-tokyo.ac.jp (Y. Baba) 0000-0001-9431-0867 (K. Otaki) Β© 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) Figure 1: System overview. Our method generates a ranked list of itineraries. Our key component is a transition probability matrix among POIs. We try to update such a matrix using interaction data; we assume that users interact with our interface (e.g., Web/App), and operations like Swap, Ins, and Del are allowed to edit itineraries (see also Sec. 3.1 for editions). Related Work Integrating user preferences for places and/or itineraries with optimization when generating personalized itineraries is promising to improving the user experiences. In previous work, Choudhury et al. [2] constructed a sequence of photographic spots using mean staying times of places to reflect user preferences, and they showed that generated trajectories are comparable with those generated by professionals. Lim et al. [3] utilized estimated staying times per user as user preferences in defining an objective function of the orienteering problem, but feedback is not considered. Roy et al. studied the task of interactively planning itineraries with feedback on POIs [7]. They proposed how to model such feedback and utilize them, but a type of supported feedback is limited. Chen et al. [4] adopted a similar strategy by [7], but formally discussed how historical data of itineraries are taken into account in optimization (this framework is referred as maximum likelihood planning in the literature [8, 9]). Contributions We develop a new framework using both historical data and data collected by interaction with users. A systematic overview of our method is illustrated in Figure 1. We expect that using interaction data is promising to improve the user experience, and then generalize a type of feedback to collect richer data from users to estimate their preferences. Our method generates itineraries based on collected itineraries (Historical data in Fig. 1) and learned transition probabilities (Transition matrix in Fig.1) among point-of-interests (POIs). Further, in order to incorporate with these richer data, we try to update the learned probabilities. Note that we assume that interaction is implemented by some Web interface, and in this paper three types of operations for itineraries, Swap, Ins, and Del of POIs (illustrated in Interaction of Fig. 1), are considered. Our proposed method is a follower of both [7] and [4], but our estimation strategy using user interactions is quite new in the sense that such probabilities can be learned with collected interaction data. In our proof-of-concept experiments, we evaluate how collected interaction data affect the resulted ranked lists of itineraries under our assumption that the diversity on the resulted list is important to design itinerary planning service. We confirm that our framework generates diverse itineraries based on collected data. 2. Preliminary Throughout this paper, [π ] = {1, 2, . . . , π } for some natural number π β Z. Any sequence is 1-origin. On a finite set πΌ of symbols representing POIs, a length πΏ-sequence consisting of elements from πΌ is denoted by X = β¨π1 , π2 , . . . , ππΏ β©, where ππ β πΌ for any π β [πΏ], and πΏ = |X|. A sequence represents an itinerary, where a user visits π1 first, π2 second, and ππΏ in last. A direct travel from π to π in X is written as π β π β X. In other words, for some π‘ β [|X| β 1], it holds that ππ‘ = π and ππ‘+1 = π. Further, we write π β X if and only if there exists π‘ β [|X|] such that ππ‘ = π. In this paper, we naturally generalize this relation β for sets π = {X1 , . . . , X|π| } of sequences. Our framework generates a ranked list of itineraries, and a length-π list β = β¨X(1) , X(2) , . . . , X(π) β© represents a ranked list of itineraries. 2.1. Orienteering problem for itinerary planning The orienteering problem is a well-studied combinatorial optimization problem [5], and it is applied to generate itineraries in the literature [2, 3, 6]. Without loss of generality, we assume that 1 β π is the start POI and π β π is the goal POI when planning itineraries. The naive orienteering problem is defined on a complete graph πΊ = (π, πΈ); the vertex set π represents a set of POIs, and the edge set πΈ represents travels among POIs in π , and the problem involves finding a tour on πΊ with some objectives and constraints. We assume that π‘π,π and ππ,π represent the travel time and distance from π to π, respectively. πmax is the total travel time, and the score Score(π) for each POI π β π is given. We prepare decision variables {π₯π,π β {0, 1} | (π, π) β πΈ} and {π’π β Z | π β π } as π₯π,π = 1 if and only if π is visited after π, and π’π represents the order when π is visited. Then, the orienteering problem is formally described below. π βοΈβ1 βοΈ π max Score(π) Β· π₯π,π (1a) π₯,π’ π=2 π=2 π βοΈ π βοΈβ1 π βοΈβ1 π βοΈ π₯1,π = π₯π,π = 1, π₯π,π = π₯π,π (βπ = 2, . . . , π β 1) (1b) π=2 π=1 π=1 π=2 π βοΈβ1 βοΈ π π‘π,π π₯π,π β€ πmax (1c) π=1 π=2 π’1 = 1, π’π = πΏ, 2 β€ π’π β€ π (βπ = [π ] β {1}) (1d) π’π β π’π + 1 β€ (π β 1)(1 β π₯π,π ) (βπ, π β [π ] β {1}) (1e) π₯π,π β {0, 1}, π’π β Z (βπ, π β [π ]) (1f) Note that Eq. (1a) requires us to travel popular POIs in π . Constraints Eq. (1b) ensure the resulted tour is valid. Constraints Eq. (1c) are for bounding the total travel time with respect to πmax . Constraints Eq. (1d) and Eq. (1e) are from the well-known MTZ-constraint to avoid sub-tours [10]. Constraints Eq. (1f) define variables. To consider the distance among POIs, a multi-objective function based on Eq. (1a) can be adopted with πΌ, π½ β R: β β β β π βοΈ βοΈ π π β1 βοΈ βοΈ π max βπΌ Γ β ππ,π Β· π₯π,π β + π½ Γ β Score(π) Β· π₯π,π β (2) π₯,π’ π=1 π=1 π=2 π=2 In our implementation, to βοΈgenerate length πΏ-sequences from 1 to π , we replace Eq. (1c) with the following constraint π π¦π β€ πΏ with π¦π β {0, 1} for all π β [π ], where π¦π = 1 means that POI π is visited. In addition, by replacing Eq. (1a) with Eq. (2), we can build our baseline itinerary generation method using the orienteering problem. 2.2. Maximum likelihood planning Let X be a (feasible) itinerary and π³ be the set of all feasible itineraries. In the following, we focus on the case of |X| = πΏ for any X β π³ . The goal of maximum likelihood planning is to solve maxXβπ³ Pr(X). This problem setting has been attracted much attention in the literature [4, 8, 9]. Under a first order Markov chain approximation, Pr(X) for X = β¨π1 , π2 , . . . , ππΏ β© can be approximated as Pr(X) β Pr(π1 )Pr(π2 | π1 ) . . . Pr(ππΏ | ππΏβ1 ). An implicit constraint Pr(π1 = 1) = 1 on our itinerary planning indicates the following: βοΈ arg max Pr(X) β arg min β log Pr(ππ‘+1 = π | ππ‘ = π) Β· π₯ππ (3) π₯,π’ π₯,π’ (π,π)βπΈ Equation (3) indicates that existing solvers for the orienteering problem are directly applicable to the maximum likelihood planning of Eq. (3) [8, 9]. That is, using a solver with the cost value ^πππ := β log Pr(ππ‘+1 = π | ππ‘ = π), we can obtain a maximal likelihood route Xβ . In the following, we write ππ,π := Pr(ππ‘+1 = π | ππ‘ = π) for the sake of simplicity. 2.3. Generating lists of solutions Typical optimization problems and their solvers just output an optimal solution. However, displaying multiple solutions is preferred (e.g., on a Web) in applications. We now need to compute (possibly) top-π solutions with existing solvers, and some known methods are already proposed [11], where we need to fix an order among decision variables and to iteratively solve sub-problems. Instead of this procedure that requires some algorithmic design, we use the following implementation to obtain πΎ solutions. Let β(π) be the ordered set of π solutions and β(0) = β . To generate a next solution (i.e., π-th solution), we solve the optimization problem under additional constraints of X ΜΈ= X(π) for X(π) β β(πβ1) . Finally, we have an ordered set β(π) = {X(1) , X(2) , . . . , X(π) } consisting of π itineraries. 3. Proposed Framework We propose a new framework in which users directly interact with our system by editing displayed itineraries. Our motivation to design this framework is collecting edition-based feedback via editions by users, estimating user preferences from the editions, and using such data when generating personalized itineraries. To implement this framework, we generalize maximum likelihood planning by defining a new optimization problem to estimate transition probabilities among POIs with interaction data. 3.1. User Editions A user interacts with service interfaces (e.g., Web/mobile app). We collect edition-based feedback from the user representing his/her preference among itineraries. In our system, the following three types of editions are considered. Swap For X = β¨π1 , π2 , . . . , π|X| β©, a swap of the two adjacent POIs generates a new itinerary β² β©, where there exists π β [|X|β1] such that π β² = π Xβ² = β¨π1β² , π2β² , . . . , π|X| β² π π+1 , ππ+1 = ππ and ππ = ππ for all π β [|X|] β {π, π + 1}. β² β² Insertion For X = β¨π1 , π2 , . . . , π|X| β©, an insertion of a new location π β² generates a new Xβ² = β¨π1β² , π2β² , . . . , π|X β² | β© such that |X| + 1 = |X | and for some π β |X| β {1, π } it β² β² holds that ππβ² ΜΈβ X, Xπ = Xβ²π for π β€ π β 1, π > π. Deletion For X = β¨π1 , π2 , . . . , π|X| β©, a deletion of some location π β² β X generates a new Xβ² = β¨π1β² , π2β² , . . . , π|X β² | β© such that |X| β 1 = |X | and for some π β |X| β {1, π } it β² β² holds that Xπ = Xβ²π for π β€ π β 1, π > π. Note that these are different from existing work (e.g., [7]) that uses feedback only for POIs. 3.2. Maximum likelihood planning with user editions by optimization We propose a new itinerary planning method using feedback from user editions defined in Sec. 3.1. Our idea consists of the following three steps. 1. converting the estimation task of {ππ,π }π,πβ[π ] as an optimization problem, 2. optimizing our generalized optimization problem from (1) by penalty functions and collected feedback data, and computes a modified {π Λ π,π }π,πβ[π ] , and 3. adopting modified probabilities by (2) when generating maximum likelihood itineraries. 3.2.1. Step 1: Learning-based interpretation Existing methods estimated ππ,π by counting historical data π (e.g., historical trajectories or routes) [4, 8]. A simple method to estimate ππ,π is counting data in π as ππ,π = |{πβπβπ}| |{πβπ}| . We cast this estimation problem as the following optimization problem: β β2 βππ,π β |{π β π β π}| β subject to βοΈ β βοΈ ^ := arg min (4) β π ππ,π = 1(βπ β [π ]) π β |{π β π}| β π,π π Here Eq. (4) can be solved by closed formula and a solution of Eq. (4) is denoted by π ^ below. Note that other variants have been discussed [8, 9]; For example, the Laplace smoothing with πΌ > 0 is possible to estimate π^ π,π , and this can also included in Eq. (4). In the following, we βοΈ ββ β2 |{πβπβπ}| β write the term π,π βππ,π β |{πβπ}| β with a loss function πΏdata (π, π). 3.2.2. Step 2: Generalization Our key idea in this paper is generalizing Eq. (4) to consider user feedback data using penalty functions. Intuitively, we define a new objective functions like πΏdata (π, π) + πΏ(π, π, πint ), where πΏ(π, π, πint ) is the penalty term related to all of the estimated probabilities π , historical itinerary π, and feedback data πint collected from users. In practice, we propose the following methods for the three types of editions. Swap Let us explain using examples of length-4 sequences X = β¨π1 , π2 , π3 , π4 β© and Xβ² = β¨π1 , π3 , π2 , π4 β©. For X and Xβ² , we encode the relation X βΊ Xβ² by Pr(π) < Pr(π β² ). With our approximation, we have ππ1 ,π2 ππ2 ,π3 ππ3 ,π4 < ππ1 ,π3 ππ3 ,π2 ππ2 ,π4 . Then, we adopt a loss term πΏswap (ππ1 ,π2 ππ2 ,π3 ππ3 ,π4 β ππ1 ,π3 ππ3 ,π2 ππ2 ,π4 ) for each 4- tuple (π1 , π2 , π3 , π4 ), and add this term to our learning problem in Eq. (4) (see also Swap in Fig. 1). Insertion For two example length-3 and 4 itineraries X = β¨π1 , π2 , π3 β© and Xβ² = β¨π1 , π2 , π4 , π3 β©, the insertion is encoded by Pr(X) β€ Pr(π β² ). Similarly, we should have ππ2 ,π3 β€ ππ2 ,π4 ππ4 ,π3 , and a loss function πΏins is adopted as a penalty term (see also Ins in Fig. 1). Deletion In contrast, for two example length-4 and 3 itineraries X = β¨π1 , π2 , π3 , π4 β© and Xβ² = β¨π1 , π3 , π4 β©, we can use a loss function πΏdel as well (see also Del in Fig. 1). In summary, we can collect datasets πint by designing interfaces, and data like the above example (π1 , π2 , π3 , π4 ) for Swap are stored to modify the transition probability ππ,π . Here we define a new objective function to estimate ππ,π using both π and πint := πswap βπins βπdel as follows. βοΈ π :=πΎ Γ πΏdata (π, π) + πΏ1 Γ πΏswap (π1 , π2 , π3 , π4 ) (π1 ,π2 ,π3 ,π4 )βπswap βοΈ βοΈ (5) +πΏ2 Γ πΏins (π2 , π3 , π4 ) + πΏ3 Γ πΏdel (π1 , π2 , π3 ). (π2 ,π3 ,π4 )βπins (π1 ,π2 ,π3 )βπdel We write π Λ := arg minπ π (π ; πΎ, πΏ1 , πΏ2 , πΏ3 ) subject to βοΈ ππ,π = 1 for all π β [π ]. π 3.2.3. Step 3: Planning with modified probabilities After computing Eq. (5), we obtain π Λ instead of π ^ from Eq. (4), where we expect that πΛ can reflect all interaction information from πint by soft constraints. We then could obtain different itineraries (e.g., top-π itineraries) by using π Λ rather than those obtained by π ^. 3.3. How our new optimization problem modifies transition matrices We explain our framework using toy examples. Let us prepare π = 10 synthetic locations and generate ππ,π for π, π β [π ] randomly with ππ,π = 0. For our loss function, we adopt the Λ π βπ neg (2,518) pos (2,522) neg (2,349) 1,988 361 pos (2,691) 530 2,161 (a) Random (b) Modified (c) Differences (d) Results and transformation of all 4-tuples πππ ,ππ Λ π ,π π π βπ Λ π π Figure 2: How our problem in Eq. (5) modifies π as π Λ with 10 interaction Swap pairs and πΎ = 0.25, πΏ1 = 16, πΏ2 = πΏ3 = 0. Frobenius norm for πΏdata and the tanh function for πΏswap in Eq. (5), and explain our proposed method works as we expected for Swap operation as an example. We first prepare a random transition matrix as shown in Fig. 2a. We randomly select 10 tuples (π1 , π2 , π3 , π4 ) that violates the Swap condition to build πswap . Here, (π1 , π2 , π3 , π4 ) is neg if ππ1 ,π2 ππ2 ,π3 ππ3 ,π4 < ππ1 ,π3 ππ3 ,π2 ππ2 ,π4 , and pos otherwise. We assume that a user says β¨π1 , π2 , π3 , π4 β© βΊ β¨π1 , π3 , π2 , π4 β©. Using parameters πΎ = 0.25, πΏ1 = 16, πΏ2 = πΏ3 = 0.0, we compute a modified matrix π Λ (as illustrated in Fig. 2b. π β πΛ is also shown in Fig. 2c). In results, we have 2, 349 neg and 2, 691 pos tuples by π (i.e., total 10 P4 = 5, 040 tuples), and 2, 518 neg and 2, 522 pos tuples in π Λ , respectively. Out of 2, 349 neg tuples by π , 1, 988 tuples remain neg, and 361 tuples become pos. Similarly, out of 2, 691 pos tuples by π , 530 tuples become neg, while 2, 161 tuples are pos as well, as summarized in Fig. 2d. For πswap , π Λ satisfies the condition for 7 tuples out of 10. We then confirm that 10 interaction samples in πswap softly affect a subset of 4-tuples by π Λ . Note that other loss functions for both πΏdata and πΏswap are applicable. 4. Proof-of-concept experiments We demonstrate how our proposed framework works with crawled real data. In the following experiments, we keep the two functions (the Frobenius norm for πΏdata and tanh for πΏswap ) for our method, and focus on Swap only in Eq. (5). In this paper, we only evaluate how collected interaction data πswap affect the computed ranked list of itineraries. To evaluate this, we compare resulted lists with multiple settings, and quantitatively compare them. Setup We extracted user-generated itineraries from TripHobo and rating data from TripAdvi- sor1 . We found itineraries tagged with Tokyo, and collected individual itineraries. An itinerary consists of several days (i.e., on day 1, on day 2, etc.). We then divided the multi-day itinerary into a set of one-day ones to focus on planning within a day. We collected such one-day itineraries to make a whole set as historical data. From the whole dataset, we only sampled a selected area of Tokyo, named Asakusa2 , and we finally have 245 itineraries in our π. With 1 https://www.triphobo.com/ and https://www.tripadvisor.jp/ (access confirmed at June, 2022.) 2 By selecting POIs whose locations are included in the area of latitude [35.443674, 35.825408] and longitude [139, 514896, 139.927981]. (a) π ^ (b) 1st (π1 ) (c) 2nd (π2 ) (d) 3rd (π3 ) (e) 4th (π4 ) (f) 5th (π5 ) (g) 1st (π2 ) (h) 2nd (π1 ) (i) 3rd (π6 ) (j) 4th (π7 ) (k) 5th (π8 ) (l) π Λ (m) 1st (π9 ) (n) 2nd (π10 ) (o) 3rd (π11 ) (p) 4th (π12 ) (q) 5th (π13 ) Figure 3: Two matrices π ^ in Fig. 3a and π Λ in Fig. 3l. Resulted itineraries with π ^ and π½ = 0 (above, ^ and π½ = 1 (middle, from Fig. 3gβFig. 3k), and with π from Fig. 3bβFig. 3f), π Λ and π½ = 0 (bottom, from Fig. 3mβFig. 3q). extracted itineraries, we also collected a set [π ] of all POIs in the data (π = 29). For each poi π β [π ], we obtained Score(π) from stars recorded in TripAdvisor. We implemented our top-π itinerary planning algorithm (as in Sec. 2.3), set π = 5, and tested πΌ = 1 and π½ β {0, 1}. To evaluate our method, we compared obtained lists of top-5 itineraries by π ^ and π Λ . To learn π Λ , we just randomly sampled 300 pairs as πswap from neg 4-tuples as an simulation data. Parameter settings were the same to those in Sec. 3.3. Visualization of generated itineraries For random start and goal POIs out of 29 POIs, with π^ for both π½ = 0 and π½ = 1 cases, the baseline method generated 10 itineraries in total, as illustrated in Fig. 3, where we had 8 unique itineraries. Using identifiers depicted in Fig. 3, we had β1 = β¨π1 , π2 , π3 , π4 , π5 β© when π^ and π½ = 0, and β2 = β¨π2 , π1 , π6 , π7 , π8 β© when π ^ and π½ = 1. With π for both π½ = 0, Fig. 3 illustrates a new itineraries generated through our Λ framework, where we have a new list β3 = β¨π9 , π10 , π11 , π12 , π13 β© when π Λ and π½ = 0. For π Λ and π½ = 1, we have another list β4 = β¨π10 , π9 , π11 , π13 , π2 β©. Note that β4 is not illustrated in Fig. 3 as itineraries in β4 are already illustrated. βοΈ β1 βοΈπ Evaluations To evaluate itineraries in terms of scores ( π π=2 π=2 Score(π)π₯π,π ) and ranking (i.e., β1 , β2 , and β3 ), we first measure total scores and travel costs of each itinerary. Figure 4a shows a scatter plot of the two terms of Eq. (2); π₯-axis shows total travel distances of itineraries and π¦-axis represent obtained values by itineraries. Next, we evaluate β3 with different sizes of πswap . Figure 4b shows how top-5 lists vary when numbers of neg samples increases (corresponding to π₯-axis, from 0 to 500.), where π¦-axis represents top-π ranking with black (a) Scatter plot (Score and Cost) (b) Ranking different score and sample size Figure 4: Comparisons of itineraries and ranking. Fig. 4a shows a scatter plot among scores and travel costs. Fig. 4b shows how ranking lists vary when the number of training data in πswap increases. circles, and a line between two circles indicates the two itineraries are the same. In results, Fig. 3, Fig. 4a, and Fig. 4b indicate that we could generate a variety of itineraries by our approach. In other words, our proposed method diversified the ranking results based on interaction data. 5. Conclusion We proposed a new framework in which users directly interact with our system by editing displayed itineraries. Our idea is collecting rich feedback via editions by users, and utilizing such data when generating personalized itineraries. Throughout our proof-of-concept experiments, we confirm that our method could diversify ranking generated by top-π itinerary generation via the orienteering problem. In our future work, we will investigate more deeply learning-based methods via interaction data, and plan a quantitative user study to develop interaction and optimization-based itinerary planning method like [2]. References [1] A. A. da Silva, R. Morabito, V. Pureza, Optimization approaches to support the planning and analysis of travel itineraries, Expert Systems with Applications 112 (2018) 321β330. URL: https://www.sciencedirect.com/science/article/pii/S0957417418303920. doi:https: //doi.org/10.1016/j.eswa.2018.06.045. [2] M. De Choudhury, M. Feldman, S. Amer-Yahia, N. Golbandi, R. Lempel, C. Yu, Automatic construction of travel itineraries using social breadcrumbs, in: Proceedings of the 21st ACM Conference on Hypertext and Hypermedia, HT β10, Association for Computing Machinery, New York, NY, USA, 2010, pp. 35β44. [3] K. H. Lim, J. Chan, C. Leckie, S. Karunasekera, Personalized tour recommendation based on user interests and points of interest visit durations, in: Proceedings of the 24th International Conference on Artificial Intelligence, IJCAIβ15, AAAI Press, Buenos Aires, 2015, pp. 1778β1784. [4] D. Chen, C. S. Ong, L. Xie, Learning points and routes to recommend trajectories, in: Proceedings of the 25th ACM International on Conference on Information and Knowledge Management, CIKM β16, Association for Computing Machinery, New York, NY, USA, 2016, pp. 2227β2232. [5] P. Vansteenwegen, W. Souffriau, D. Van Oudheusden, The orienteering problem: A survey, European Journal of Operational Research 209 (2011) 1β10. [6] Z. Friggstad, S. Gollapudi, K. Kollias, T. Sarlos, C. Swamy, A. Tomkins, Orienteering algo- rithms for generating travel itineraries, in: Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining, WSDM β18, Association for Computing Machinery, New York, NY, USA, 2018, pp. 180β188. [7] S. Basu Roy, G. Das, S. Amer-Yahia, C. Yu, Interactive itinerary planning, in: 2011 IEEE 27th International Conference on Data Engineering, ICDE β11, IEEE Computer Society, USA, 2011, pp. 15β26. doi:10.1109/ICDE.2011.5767920. [8] R. Canoy, T. Guns, Vehicle routing by learning from historical solutions, in: Proc. of CP2019, 2019, pp. 54β70. [9] J. Mandi, R. Canoy, V. Bucarey, T. Guns, Data driven vrp: A neural network model to learn hidden preferences for vrp, in: Proc. of CP2021, 2021. [10] C. E. Miller, A. W. Tucker, R. A. Zemlin, Integer programming formulation of traveling salesman problems, Journal of the ACM (JACM) 7 (1960) 326β329. [11] E. L. Lawler, A procedure for computing the k best solutions to discrete optimization problems and its application to the shortest path problem, Management science 18 (1972) 401β405.