Multi-objective Trip Planning with Solution Ranking Based on User Preference and Restaurant Selection

The tourist trip design problem (TTDP) helps the trip planners, such as tourists, tour companies, and government agencies, automate their trip planning. TTDP solver chooses and sequences an optimal subset of point of interest (POIs), which adhere to the POIs attributes and tourist preferences, and then generates a travel itinerary that maximizes their pleasure. However, the traditional TTDP does not include the lunch period at a local restaurant, which causes the rest of the itinerary in the afternoon to shift, nor compulsory POIs that the trip planners must be included in the itinerary. Moreover, as tourism contributes to high greenhouse gas emissions, especially from its transportation, minimizing the itinerary’s total distance is also considered. Unfortunately, this objective conflicts with the profit scores; no single itinerary can optimize both objectives simultaneously. Hence, the multi-objective technique and the results of non-dominated itineraries can be organized as a Pareto front. The trip planners can choose one suitable itinerary from the Pareto front based on their preferences. To address these real-world issues, we formulate a new variant of the well-known orienteering problem with time windows (OPTW) called the multi-objective orienteering problem with Time Windows, Restaurant Selection, and Compulsory POIs (MOPTW-RSCP). The proposed problem is provided with a mathematical formulation and two exact algorithms for solving them, i.e., greedy and branch-and-cut Pareto-based techniques. The algorithms’ performance is tested against the Rattanakosin island (the old city of Bangkok) dataset. We conduct 24 test cases, and the computational results confirm the algorithms’ efficiency.


I. INTRODUCTION
Tourists visit points of interest (POIs) in a limited time, and it is virtually impossible to stop by all attractions in a destination. Therefore, they need an itinerary that comprises a proper subset of POIs based on their preferences and constraints. Thus, travel itineraries benefit tourists and the entire tourism industry, such as tour guides, companies, and government agencies.
The tourist trip design problem (TTDP) is proposed to describe the issue. It takes a POI list, a POI-to-POI distance table, and a tour period as the inputs. Each POI has a satisfying level called profit score and amount of visiting period. Therefore, the solution of a TTDP is an itinerary that routes a subset of POIs together with the highest total profit that obeys the tour period. Many TTDPs also consider the operational hours of each POI (time window) as a constraint to reflect the real world.
However, making a travel itinerary is a complex, tedious, and time-consuming process. Moreover, it is an NP-hard problem that has gathered momentum for the last two decades. Many researchers recently proposed efficient techniques to solve the problem by inventing techniques to generate optimal travel itineraries automatically.
TTDP is a very complex problem, and the requirements may be varying. Several modified models of TTDP have been proposed in the past decade to promote real-world needs. We found variants of TTDP models that attempted to capture the real world from the literature review, but there were some limitations. Firstly, only a few of them are aware of the lunch period. The ignorance of this issue may cause the whole POIs to visit in the afternoon to be forced to shift. In addition, the user preference of restaurant selection is not considered. Moreover, Some POIs are usually put in the itinerary by the tourists' preferences themselves or the recommendation from some sources. Unfortunately, most of the existing TTDP models do not support these compulsory POIs.
Lastly, but most importantly, the tourism industry contributes very high carbon emissions at roughly 8% of all sources worldwide. About one half (4%) came from transportation [1]; it is a global issue. In November 2021, the UK hosted the 26 th UN climate change conference of the parties (COP26), and the world tourism organization (UNWTO) declared, in the forum, to cut their emissions in half by 2030 and down to zero no later than 2050 [2]. Hence, the tourism industry will intensely focus on lower carbon emission and aims to archive carbon neutral tourism. Then, the international transportation workers' federation (ITF) responded by stating in November 2021 that transportation currently produces a quarter of CO2 emissions. Instead of cars, they insist on the global shift to public transit, walking, and cycling [3]. Hence, we support the issue by removing the transportation needed from the tour as much as possible. A walking tour fits the purpose because it requires only public transit and mostly only at the beginning and the end of the tour time. Moreover, the trip planners can adapt some days in the existing multi-day itinerary to be walking tours, and carbon emission can be significantly reduced.
A walking tour has its characteristic that the long total distance in a walking tour may cause the tourists to be tired. Therefore, a trade-off between the total profit and distance is needed. However, the suitable amount of distance is hard to determine, and it varies from person to person and from time to time. In other words, there is no single suitable total distance that suits a tourist in every situation. Hence, the total distance should be explicitly considered as important as the total profit. Therefore, the multi-objective optimization model is embraced to capture both aspects equally.
The solution from a multi-objective optimization model is not a single best itinerary but a set of non-dominated itineraries that let the trip planners choose the most appropriate one. However, when the preferences are not available, a solution ranking technique can support the decision.
This paper proposes a multi-objective orienteering problem with time windows, restaurant selection, and compulsory POIs (MO-OPTW-RSCP) based on user preferences to solve the issues above. The main contributions of this paper are as follows.
1. A real-world MO-OPTW-RSCP model is formulated and introduced for the first time. 2. Compulsory POIs based on user preference are provided. 3. Restaurant selection for lunch based on user preference. 4. A multi-objective branch-and-cut algorithm is proposed. 5. A multi-objective greedy-based algorithm is proposed. 6. A solution ranking technique to help trip planners choose outstanding itineraries from the Pareto front containing a set of Pareto-optimal solutions.
The rest of the paper is organized as follows. Background and related works are reviewed in Section II. Next, the mathematical model of MO-OPTW-RSCP along with the dataset is described in Section III. Then, the multi-objective branch-and-cut and greedy algorithms are proposed in Section IV. Then, Section V describes the benchmark instances, parameter settings, and evaluation metrics. The results obtained by both algorithms are compared using performance metrics, and the solutions are ranked. Finally, Section VI covers the conclusions and future work.

A. ORIENTEERING PROBLEM
The tourist trip design problem (TTDP) can be viewed as an application of the orienteering problem (OP) [4]. The OP was originated from a sport that competitors can choose to visit the places with various profit scores in the forest. The winner is the one who can collect the highest total profit from a subset of locations within a limited period. In 1984, Tsiligirides [5] formalized the problem by mathematically formulating the problem. The problem is an NP-hard problem. Several wellknown variants of the problem have been modeled, including team OP (TOP), OP with time window (OPTW), team OPTW (TOPTW), time-dependent OP (TDOP), TDOP with time window (TDOPTW), and team TDOPTW (TD-TOPTW). The models have been comprehensively reviewed by Vansteenwegen and Gunawan in 2019 [6].

B. OP FOR TTDP
TTDP can be mapped to the OP by replacing visiting places and competitors with POIs and tourists. Furthermore, to make the itineraries more practical, time windows are often considered as each POI has its own open and close time. Hence, the most popular models of TTDP are based on OPTW for one-day itineraries and TOPTW or multi-day itineraries. In this paper, we will focus only on the OPTW for a single-day trip.
TTDP itself has several specified models which have been proposed to capture some unique real-world aspects. For example, Divsalar, et al. [7] presented OP with hotel selection (OPHS) to choose the hotel that makes the cost of traveling lowest [8][9][10].
Having lunch for tourists is also vital for many trip planners to specify a restaurant in the itinerary explicitly for reasons such as the preferences of the tourists, beliefs and religions, and limitations such as food allergy. The original paper of TTDP by Vansteenwagen and Oudheusden [4] has also considered having lunch in a restaurant. Then, Vansteenwegen et al. [11] formalized the concept by designing the lunch period by enabling virtual POIs without locations. Tenemaza et al. [12] assigned the lunch period at the current POI, assumed that every POI has a place to eat, and allowed the late lunch period if the current POI is finished, then optimized for the shortest time of late lunch. Finally, Expósito et al. [13] proposed the model TTDP with clustered POIs (TTDP-clu) that separate POIs into several categories, including a restaurant. The model supports restaurant selection and lunch period by specifying the constraints of the restaurant category.
Some POIs are preferable compared to the rest. For example, some POIs highlight that everyone should visit firsttime tourists, or some POIs match the trip planners' preferences. Consequently, some POIs become compulsory POIs, so they must be included in the itineraries. The concept was introduced into OP by Gendreau et al. [14]. Palomo-Martínez et al. [15] model the OP with mandatory visits and conflict (OPMVC). The model supports both compulsory and conflicted POIs. The conflicted POIs are those POIs that can be selected only one. For example, only one temple can be added to the itinerary. In the same year, Palomo-Martínez et, al. [16] solved the OP problem by using VNS and GRASP techniques. Li and Hu [17] merged OPTW with compulsory POIs and modeled it as the OP with compulsory nodes and time windows (OPCNTW). Lin and Yu [18] brought the compulsory POIs to the TOPTW model and named it TOPTW with mandatory visits (TOPTW-MV).

C. MULTI-OBJECTIVE OPTW
Typically, the OP objective is to maximize total profit, but some models are concerned with more than one objective to be optimized. Then, they are classified as multi-objective optimization models with conflicting goals. Popular techniques to address with this problem are to merge multiple objectives into a single objective, hierarchical orders of the objectives, or using a Pareto-based method. The first two techniques result in a single best solution, whereas the last technique results in multiple non-dominated solutions. In this paper, we only consider the Pareto-based model.
The Pareto-based multi-objective optimization is based on Pareto dominance which states that if itinerary A has at least one objective superior to itinerary B with no worse objective, then we can say that itinerary A dominates itinerary B, and itinerary B is then eliminated. When we perform pairwise tournament comparisons, only the non-dominated itineraries are left. They are the solutions to the problem, which can be visualized as a Pareto front; the plot with the axes are objectives. Fig. 1 depicts the concept of Pareto front for a specific TTDP, which has two objectives: total profit (the higher, the better) and total distance (the lower, the better). The Pareto dominance's concept of an itinerary is demonstrated in the figure as the dominance area formed by an itinerary and the nadir point at the top-left corner of the graph. All itineraries within the region are eliminated. Hence, only two solutions, non-dominated itineraries, are left and formed a Pareto front. It is noted that the figure is one of our test cases with 13 POIs and three compulsory POIs, which contains 7,607 itineraries.
The concept of the Pareto front was emerged by Srinivas and Deb [19]. Since then, it has become a research focus. Nowadays, several state-of-the-art algorithms have been proposed including VEGA [20], MOEA/D [21], and NSGA-II [22].
Objectives for TTDP may be varied. One of the most wellknown objectives is multi-score for each POI, such as level of interest, relaxation, readiness, entrance fees, etc. Schilde et al. [23] proposed a generic bi-objective POI scores model for OP and the result as a Pareto front. The contributed papers on this type of problem are Martí et al. [24], Purevsuren et al. [25], Rezki and Aghezzaf [26], Aghezzaf, and Rezki [27], Martín-Moreno and Vega-Rodríguez [28], Rezki and Aghezzaf [29]. The [T]OPTW variant of this type of problem was proposed by Chen et al. [30] and Hu et al. [31].
Minimizing the total distance of the trip may be implicitly accomplished by using local search. However, bringing the trade-off itineraries with varying satisfaction total profit (maximizing) and total distance (minimizing) benefits the trip planner to balance. Unfortunately, there are only a few papers that address the problem. They are Karimi and Bashiri [32], Hapsari et al. [33], and Falco et al. [34] [35] applied TOPTW with five objectives: maximize profit score, number of preferred POIs of the tourists, number of recommended POIs, time of the tour, and minimize the total distance. On the other hand, Mirzaei et al. [36] attempted to balance the satisfaction level for each day. Hence the objectives are to maximize the score, minimize the difference between the highest and lowest scores for a TOP model. Table I presents the summary of the related works and the proposed model. We focus on four entities: lunch period, restaurant selection, compulsory POIs, and bi-objective of total profit and distances. The table reveals a research gap that none of the existing multi-objective models address the lunch period, restaurant selection, compulsory POIs, or solution ranking. Hence, the proposed model is proposed to fill in these gaps.

D. ITINERARY SELECTION FROM PARETO FRONT
The trip planners may select only one outstanding itinerary to implement from the given Pareto front, which depends on their preference. The two apparent preferences available in trip planning are the itinerary with maximum profit and minimum distance. The first one is the maximum total profit itinerary which is often selected when the tourists want to explore the highlighted POIs, as many as possible, in the target destination, especially for the first time visiting. Moreover, the travel agents also organize familiarization trips for their partners to see as many as possible of the highlighted POIs.
Selecting an outstanding itinerary from a Pareto front when no preference is available is not a trivial task as virtually all itineraries on the Pareto front dominate the inferior itineraries, i.e., they are non-dominated itineraries. A pruning technique by Petchrompo et al. [37] performed a clustering technique and discovered an outstanding solution for each cluster. However, many researchers agree on an outstanding, wellbalanced trade-offs and diversity solution called knee solution. The concept of knee solutions can be depicted for a convex shape of a Pareto front of both objectives: total profit and distance Fig. 2. The figure illustrates three knee itineraries on the Pareto front. The three most popular techniques for finding knee solutions are the maximum distance from the hyperplane focus, utility-based focus, and angle-based focus. The maximum distance from the hyperplane focus was firstly described by Das [38]. First, Das defined a hyperplane that connects the extreme solutions. Then, the solution with the most extended length from itself perpendicular to the hyperplane is the knee solution. Several knee searching algorithms are based on this technique, e.g., [39][40][41].
The utility-based focus was introduced by Branke et al. [42] based on the trade-off of objective functions. The knee solution has a small gain of an object that causes the highest loss of the other objective, e.g., [43][44][45].
The angle-based focus was also seeded by Branke et al. [46]. The typical Pareto dominance can be geographically viewed as the area of domination to be the shape of rectangular, so it is the right angle at the solution. However, if the angle is more expansive, the scope of domination is extended. Therefore, some non-dominated solutions are eliminated, and the rest are considered as knee solutions, e.g. [47][48][49].
The knee solution acts as decision support, not a mandatory itinerary to select in the real world. Choachaicharoenkul and Wattanapongsakorn [50] provide the angle-based focus solution ranking that will rank the solutions on a Pareto front to empower the trip planners.

III. PROBLEM DESCRIPTION AND FORMULATION
This section proposes the Multi-objective Orienteering Problem with Time Windows, Restaurant Selection, and Compulsory Pois (MOPTW-RSCP), which extends the Orienteering Problem with Time Windows (OPTW). We focus OPTW on the Tourist Trip Design Problem application (TTDP) for a one-day trip with time windows. MOPTW-RSCP extends the OPTW in several aspects, which are described below. Firstly, the model has two objectives: maximizing the total profit and minimizing the total distance of the selected POIs in the itineraries. So, the model becomes a multi-objective model. However, as the typical characteristic of the multiobjective model, the objectives conflict. In this case, the total distance conflicts with the total profit; therefore, no single itinerary typically can satisfy both objectives simultaneously. The solution to this problem will be a set of trade-offs between non-dominated itineraries. If a tourist focuses on the high total profit, the distance tends to be longer and vice versa. The solution set can be visualized as a Pareto front, which is each axis representing an objective. Typically, the trip planners need only an itinerary from the solution set to fit their requirements. Secondly, the model includes an explicit lunchtime and a small set of lunchtime restaurants. The list of restaurants may be from various options, e.g., tourists' preferences or tour companies' contracts. Thirdly, compulsory POIs are supported in the model.
Finally, most TTDP models allow to wait at the POI before its open time for relaxing the restrictions, and more variety of itineraries can be obtained. Our model also supports this concept by adding the maximum waiting time constraint independently for each POI, which can serve two purposes. Firstly, it will help the tourists to not wait too long for each POI. Secondly, it will help trip planners to not end the itinerary too early by setting the open time of the end depot to the tour end time. Therefore, the itinerary will span near the tour end time. Then, the tourists can utilize their allocated tour period efficiently.

A. MATHEMATICAL MODEL
Assuming that attractions are in the destination, the attractions are separated into three types: point of interest (POI), restaurant, and start and end depots. Then, the attractions are encoded into an array that can be depicted in Fig. 4. and , and , and ℎ and ℎ keep track of the start and stop indexes of POIs, restaurants, and depots, respectively. Then, you can browse the meaning of symbols quickly using TABLE II for the list of parameters and  TABLE III for the list of decision variables   TABLE II   One if attraction from attraction b to attraction e is included in the itinerary or zero otherwise , … , Arrival time at each attraction MOPTW-RSCP has two objectives, one for maximizing total profit and the other for minimizing the total distance, that can be represented as follows: Constraint (3) ensures that the itinerary starts at the start depot and ends at the end depot. Each place is visited a maximum of once. Constraint (4) forces the chance to include a POI into the itinerary at most once. Constraint (5) states that the arrival time to each POI must be within its time window or within 1 minutes before the open time. Constraints (6) sets the tour start time at . Constraint (7) ensures that the path between two attractions is valid if the path is included in the itinerary. Constraint (8) provides that the itinerary agrees with the time budget. Constraint (9) and (10) ensure that the itinerary must include exactly one restaurant. Constraint (11) provides that all compulsory POIs will be included in the itinerary. Finally, constraint (12) ensures that no POI is connected to itself.

B. CASE STUDY AREA AND DATASET
The research is intended to match the real-world problem as much as possible. So, the actual destination of Rattanakosin Island, the old city of Bangkok, Thailand, is selected. The area is 4.1 square kilometers in size, founded in 1782 as Siam's center of power. Now, the site is one of the most magnificent places in the world.
We collected 50 tourist attraction POIs along with their geographic locations and operational hours from Google Map. Then, we asked a tour company to fill up the times used in minutes and profit scores in the range of 1 to 100 based on popularity for each POI. Finally, we also asked for three recommended POIs and restaurants, and we obtained: the Grand Palace, Wat Pho (Pho temple), and flower market, along with five restaurants that we will use as the compulsory POIs and the lunchtime restaurants, respectively. As a result, the map of the island is shown in Fig. 3. From the figure, a circle denotes a POI, where the bigger size means more profit, the unfilled circles represent the compulsory POIs from top to bottom: Grand palace (C1), Wat Pho (C2), and flower market (C3), respectively. A square denotes a restaurant, and the triangle indicates the Sanamchai subway station, which is the start and the end of the tour.
The area is ideally suited for a walking tour. So, we set the start and end depots to Sanamchai Station, the just-operated subway station. The tourists can board the mass transit to visit the area from other parts of Bangkok and its suburb. We calculated the distance matrix of the walking routes using Openrouteservice and converted it to minutes-used at the leisure pace of 2.2 km/hour. Hence, the POIs can be visualized as Fig. 4. Triangles, circles, and squares denote the depot, POIs, and restaurants, respectively. The three unfilled circles (rings) indicated the compulsory POIs, from top to bottom: Grand Palace, Wat Pho, and the flower market, respectively. It is noted that the size of the circles for each POI denotes its profit score; the bigger, the higher the profit score.  To analyze the performance of the proposed algorithms, we separated the dataset into smaller sets of 13,15,20,30,40, and 50 POIs. We need every dataset to contain all compulsory POIs. So we shuffle all POIs randomly until the first 13 POIs contains all three compulsory POIs. Then, the bigger datasets are also filled up with the three compulsory POIs and the rest of shuffled POIs. The technique can guarantee that every sub-dataset contains all three compulsory POIs.
The example of an itinerary is depicted as the walking route in Fig. 5 and the detailed itinerary in Table IV. The figure and the table demonstrate solution A from section IIC. The route from Sanamchai station starts at 8:00, then visits several places, including compulsory POIs and a restaurant for lunch, and returns to Sanamchai Station before 17:00. The figure reveals the order of sight-seeing, from zero at Sanamchai Station and then one at drum tower and so on, then back to Sanamchai as the final POI. From the table, we can conclude that the routes' total profit and distances are 370 and 6,665 meters, respectively.

IV. PROPOSED ALGORITHMS
The section describes two proposed algorithms: a branchand-cut and a greedy algorithm. The branch-and-cut algorithm guarantees the optimal itineraries, but computational complexity is high. At the same time, the greedy algorithm can produce high-quality itineraries, not always the optimal solutions, though, but the computational complexity is much lower.

A. BRANCH-AND-CUT OPTIMIZATION ALGORITHM
The concept of the branch-and-cut algorithm is straightforward; it is a tree-based, recursive, and branch-andcut algorithm that enhances performance using increment searching and tree pruning. The increment searching starts at the start depot and then appends all possible attractions to fulfill the itineraries. Due to the characteristic of the incremental process, the need for re-calculation from the start depot is eliminated. The pruning technique will stop to traverse down the tree's deeper levels if any of the following conditions are met.  The lunch period is over, but no restaurant is included in the itinerary.  A POI with the closing time is overdue.  There is not enough time to append the compulsory POIs to the itinerary.  A restaurant if the lunch period is fulfilled. When a valid itinerary is found, the algorithm will perform the Pareto-dominance testing for the newly found itinerary against the current solution set of itineraries to guarantee that the solution set always keeps the non-dominated itineraries. Algorithm 1 implements the above concept by eliminating the itineraries in the current solution set; if the new itinerary dominates them, the new itinerary will be appended to the solution set. However, the algorithm will not insert the itinerary into the solution set if any itinerary in the solution set can dominate it. The eliminate formula is at line 4 which each relational operator results in one for true and zero for false. Thus, the new itinerary dominates in the solution set if r is positive and the reverse is negative, but both are nondominated solutions if r is zero. Algorithms 2 and 3 depict the main and the core recursive algorithm of the branch-and-cut algorithm, respectively. The main algorithm prepares an empty solution set and initializes an itinerary to have only the start depot in the path. The itinerary structure is presented in Table V. The core recursive algorithm, Algorithm 3, is a recursive branch-and-cut algorithm that attempts to trial all possibilities of the sequence of POIs to search for all valid itineraries. Lines 1-4 check for a valid itinerary; if the algorithm can append the end depot, the itinerary is a valid itinerary. The Pareto dominance algorithm is performed to include the itinerary to the solution set. Line 5 is the tree pruning that executes when lunchtime is overdue, but no restaurant is included, or the time left for the tour is less than the time to visit the rest compulsory POIs. Lines 6-17 append each of the candidate POIs into the current itinerary if the current time plus the time cost to the candidate POI is between the operational time of the POI. If the candidate POI can be appended, then create a new itinerary with the POI and the new candidate POIs excluding the POI and all restaurants, if the POI is a restaurant. Finally, the algorithm will call itself in line 16 to traverse down the whole tree.

B. GREEDY ALGORITHM
The greedy algorithm builds up the itineraries by filling them with higher profit POIs into all starter paths segments made from each restaurant's permutation and compulsory POIs. The recursive technique is employed to fill up a POI per level of calling, and the algorithm will stop traversing down if a valid itinerary is found. Thus, the algorithm is fast and can obtain high-quality itineraries; it cannot guarantee optimal itineraries.
The main algorithm is shown in Algorithm 4. It builds the permuted itineraries that contain only essential POIs: a restaurant and compulsory POIs. The process is done in lines 3-5. Consequently, for each sequence of POIs ( ), the corresponding unassigned POIs ( ) are assigned and sorted by high-to-low profits for being injected into . Line 7, Evaluate function converts into an itinerary and then feed to the core recursive algorithm.

Input:
Output: Algorithm 5 depicts the core recursive algorithm that injects each POI from into the given itinerary. Line 1, if the current itinerary is completed, no deeper level is traversed, the ParetoDominance function is called to attempt to insert it into the solution set. After that, the position of the restaurant ( ) is determined in line 3, and attempts to find the best orders to be inserted and traversed down for the before noon period (Lines 4 and 5) and afternoon period (Lines 6 and 7). Line 8 and 9, The algorithm also ignores the current best unassigned POI for giving the chance to produce the itineraries without that POI.

Input:
, ( , ) Algorithm 6 computes the variables from the structure of an itinerary (Table V) from a given POI list. The algorithm also determines the POI list that is valid, semi-valid, or invalid. A valid itinerary is a usable itinerary, whereas the invalid itinerary violates the constraints: reach a POI after its close time (line 6), more than one restaurant (line 10). Moreover, the number of compulsory POIs is not fulfilled (line 15), but no semi-valid POI is found, also considered an invalid itinerary. The semi-valid is when the constraint of the open time of a POI is not satisfied; the POI is reached too early. For this case, it is possible to insert another POI before this one (line 7). The main loop in lines 5-14 considers each POI in the POI list and gathers nc the number of compulsory POIs, nr the number of restaurants, and the variables in the itinerary structure.

Algorithm 6 Evaluate
Input: a Output: . , . , ., .̂ ← , ,,̂ 17 Algorithm 7 converts a sequence of POIs into an itinerary. Loop in lines 5-14 will try to insert the current highest profit ( ) into each segment and the valid itinerary with the shortest total distance will be returned to the caller.

Input:
, ℎ , ℎ Output: an itinerary it The local search is presented in Algorithm 8. It attempts to replace a POI in each itinerary of the solution set with a POI in the unassigned POIs that minimizes the total distance. Lines 1-3 are for looping all POIs in each itinerary in the solution set. The POIs must not be the compulsory POIs nor the restaurant; the checking is performed in line 4. Then, the algorithm will try to replace the POIs with the POIs with equal profits from the unassigned POIs list; A POI that makes the lowest total distance will be replaced with the original one. Finally, the algorithm will return the local search solution set in line 15.

C. SOLUTION RANKING
A Pareto front comprises several itineraries that enable the trip planners to have more choices to choose. They can choose the most suitable itinerary based on their preferences. For example, if they want to enjoy the trip as much as possible, they may select the itinerary with the highest total profit or choose the lowest total distance if they do not want to spend much time walking. Unfortunately, choosing the most suitable itinerary might not be a trivial task, primarily when they do not provide a preference.
To solve this problem, we embrace the concept of knee solutions, the widely accepted technique when no preference is provided. Moreover, knee-based solution ranking is employed to highlight outstanding itineraries and offer trip planners more choices. For this reason, we used RADA [50], an angle-dominance knee-based solution ranking algorithm, to rank the itineraries from the Pareto fronts that both previous sub-sections have generated. However, we have post-processed the result from RADA not to index the extreme solutions as they are always good choices for the trip planners to be considered.

A. BENCHMARK INSTANCES AND PARAMETER SETTING
In the experiments, we produce six subsets from Rattanakosin island, as mentioned in Section III.B, for 13, 15, 20, 30, 40, and 50 POIs and four sets of the compulsory POIs:  None (C0)  The Grand Palace (C1)  The Grand Palace (C1) and Pho Temple (C2)  The Grand Palace (C1), Pho Temple (C2), and Flower market (C3) Therefore, 24 benchmark instances for each algorithm are prepared. The objectives for each itinerary are maximizing the total profit and minimizing the total distance.
The parameters of the environments are described in Table  VI. It is noted that the open and close time at the end depot is set to tour end time. So, each itinerary is forced to be completed no earlier than minutes from the tour end time.

B. EVALUATION METRICS
This research chooses the top three indicators to evaluate the greedy algorithm against the benchmarked branch-and-cut algorithm from the standard indicators for multi-objective optimization [51]. These indicators are probably the most accepted indicators for Pareto-based multi-objective optimization. First, we pre-processed the results by negating the total profit to minimize both objectives. Then the two objectives were normalized to the values between zero and one. The G and E denote the set of greedy and branch-andcut solution sets, respectively.

1) Hypervolume indicator (HV)
Hypervolume [52], in this research work, measures the area of the dominated portion of the objective space from the nadir point; it is the point (0, 0) for this case. It is also called S-metric. The higher values, the better the Pareto front. It is the most famous indicator, with 82% used in related multiobjective optimization papers [51]. The definition of HV is shown as Eq. (13). S can be G or E and and denotes the total profit and total distance of the solution i, respectively.
2) Generational Distance (GD.) Generational distance is defined as the average of the distance of each itinerary in the greedy solution set to its closest itinerary in the branch-and-cut solution set. Zero is the ideal solution that implies that two Pareto fronts are precisely the same. The definition of GD is shown as Eq. (14).
3) IGD The inverted generational distance (IGD) is the inverse version of GD, defined as the average of the total distance of each itinerary in the branch-and-cut solution set to its closest itinerary in the Greedy solution set. The concept of the values is the same as GD; Zero is the ideal value. The definition of IGD is shown as Eq. (15).

C. NUMERICAL TESTS
Greedy and branch-and-cut, the two proposed algorithms were implemented using Julia 1.6 programming language on a desktop computer running on a Windows 11 with AMD Ryzen7 5700G 3.8MHz CPU and 16GB RAM. The time limit is set to 48 hours for each test case. If a test case cannot finish within the time limit, the time used record will be designated as "time out." The Pareto fronts of each test case are shown in Fig. 6 for 13, 15, and 20 POIs, and Fig. 7 for 30, 40, and 50 POIs. In each sub-figure of Fig. 6 shows the Pareto fronts of the greedy and branch-and-cut algorithms. While Fig. 7 shows only the Pareto front for the greedy algorithm because the time complexity of the branch-and-cut algorithm was too high to compute. For both figures, the x-axis represents total profit while the y-axis represents the total distance; the cross and circle signs represent the itineraries of the greedy and branch-and-cut, respectively. The optimal point is at the bottom-right corner due to the maximization of the total profit and the minimization of the total distance.
The number of itineraries of each sub-figure decreases if the number of compulsory POIs rises. These POIs are the constraints to reduce the possibility of the itineraries. From these observations, the greedy algorithms tend to produce the number of itineraries for each experiment less than the branch-and-cut algorithm except for the compulsory POIs of [3,9,10]; both algorithms produce identical number itineraries. The sub-figures reveal that the greedy algorithm can obtain high-quality itineraries very close to the branchand-cut method's Pareto front.  The performance of the greedy algorithm can be evaluated by using performance metrics. Fig. 8 depicts the hypervolume values of both algorithms that separate the subplots for each number of POIs. The x-label and y-label of each subplot represent the compulsory POIs and hypervolume values, respectively. The subplots show that the greedy algorithm had performed almost perfectly on 13 POIs, perfect on 15 POIs, and very well on 20 POIs. However, at 30 POIs with the compulsory POI of [3], the HV. is lower than its no compulsory POI, which means that the front is not fully optimized. Fig. 9 separates the experiments by compulsory POIs. It also confirms the above statements that at 20 POIs, the greedy algorithm cannot find the fully optimal Pareto fronts compared with HVs of the branch-and-cut algorithm. Moreover, at 50 POIs with compulsory POIs of [3] and [3,9], the greedy algorithm cannot find optimal Pareto fronts, because the HVs are lower than their 40 POIs' HVs.
Table VII summarizes the GD and IGD metrics and time complexity of both algorithms. The GD ranges between 0 and 0.1494, whereas IGD ranges between 0 and 0.964. Zero means perfect optimal Pareto front at 15 POIs with compulsory POIs of [3,9,10]. The highest GD and IGD are quite low, which means they are close to the Pareto fronts of the branch-and-cut algorithm. Furthermore, the greedy algorithm is better than the branch-and-cut algorithm when comparing the time complexity in every experiment. The branch-and-cut algorithm can perform acceptably at 13 and 15 POIs, but at 20 POIs, it took 15:43 hours for [3,9,10] and more than 20 hours for None, [3], and [3,9] whereas the greedy algorithm took no more than one minute. The branchand-cut algorithm failed to achieve the results within 48 hours for 30 POIs or more, but the greedy algorithm could find the results within 1.11 minutes. It is worth noting that the time complexity is raised when the number of POIs is increased whereas the time complexity of the greedy algorithm is raised when the number of compulsory POIs is decreased.

D. SOLUTION RANKING
The itineraries ranking for each test case is shown in Fig. 10. The Pareto front of each test case is the input to RADA, and the ranking numbers are shown below each itinerary; the lower number, the better. If available, we choose the best Pareto front from the branch-and-cut algorithm, or the greedy one is selected for each test case. It is noted that the test cases with only two itineraries do not have a number because they belong to extreme solutions, and no itinerary is left to rank.
To illustrate the concept, we choose a test case of 50 POIs and a compulsory POI of C1 (Grand Palace) as an example. The solutions from the greedy algorithm comprise seven itineraries on the Pareto front. Table VII shows the total profit and distance of each itinerary. Fig. 12 depicts the Pareto front with ranking. The figure depicts two regions: left and right, which are denoted by rectangles. Each region has its knee itinerary. Rada ranked the 1 st itinerary at the left group and the 2 nd itinerary at the right group. Hence, the two solutions are good candidates to present to the trip planners in order. Moreover, the left region has the ranking of 1 st , 3 rd , and 5 th while the right region has the ranking of 2 nd and 4 th which reveals how well the RADA algorithm span ranking as the algorithm has taken the diversity of solutions into account. The details and the routes of the two itineraries are depicted in Table IX-X and Fig. 13-14, respectively. The 1 st rank itinerary focuses on lower total distance, while the 2 nd rank itinerary focuses on a higher total profit score.

VI. CONCLUSIONS AND FUTURE WORK
We introduced the new real-world tourist trip design problem called the multi-objective orienteering problem with restaurant selection and compulsory POIs (MOPTW-RSCP). The Ratanakosin dataset, the old town of Bangkok, is used as the benchmark for this work, with 24 test cases varying the number of compulsory and total POIs. Then, we proposed two exact multi-objective algorithms for solving the problem. The branch-and-cut algorithm, by theoretical basis, can search for all optimized solutions; however, the time complexity is exponentially high. Therefore, we enforced a time limit for each test case to be 48 hours. The branch-andcut algorithm can easily search for the optimal Pareto fronts for 13 and 15 POIs, but for 20 POIs, it took 15-23 hours runtime. Hence, it failed to find the solutions when the number of POIs is more than 20, which was half of all test cases. Conversely, the greedy algorithm could efficiently find solutions within the time limit; the worst test case took only 1.11 minutes. The results are impressive with two test cases that the algorithm can obtain the optimal Pareto fronts, and the rests are almost optimal.
We used RADA to rank the itineraries as a guideline for choosing the outstanding itineraries using the knee solution concept to support trip planners. However, we exclude the extreme itineraries as the trip planners commonly select them.
We will focus on the CO2 emissions issue in our future work and will extend the concept to a multi-day itinerary. However, it is less practical if every day in a tour comprises only public transportation and walking. Hence, we will focus on the low carbon tour with the carbon compensation that makes a carbon neutral tour. The dataset will be enhanced from a city to a region; hence the model will be naturally a multi-day trip of TOPTW. We also have a plan to research a multi-object evolutionary algorithm (MOEA) to solve this problem.