An Adaptive Genetic Algorithm for Personalized Itinerary Planning

,


I. INTRODUCTION
Research in the field of tourism recommendation systems has been studied for a long time [1]. Web technologies have become an effective resource for tourists. In addition, an increasing number of travel platforms are eager to build and share experiences and reviews of places, restaurants, and hotels. These contents and services prove useful for planning trips. However, common resources do not exhaustively cover a wide range of aspects. Users who seek various information thus need to search different kinds of sites and identify the most relevant information, which time-consuming and tedious.
At the same time, the rise of smartphone photography has resulted in plenty of photos being shared on the Web.
The associate editor coordinating the review of this manuscript and approving it for publication was Haiquan Zhao .
Users often upload photos and share the location, emotion, status, etc. during their trips to others. These photos reflect their travel, activities, movements, and trajectories such as the visited place and the spent time there. Consequently, it is an outstanding way to understand itineraries about how to study the photo streams of tourists in the tourism area. Generally speaking, itinerary is a planned route or journey which consists of a tour with one or more travel destination choices. Most users have multiple choice for travel destinations, then choose Points-of-Interest (POIs), which suits their desires and budgets. The next step is to plan an itinerary by sorting POIs and a route as well as timetable arrangement. The goal of recommending an itinerary is to provide a sequence of visiting POIs, which must be finished during a limited time and covering the total cost of a trip.
Recent works have shown the effectiveness of geotagged photos in improving the itinerary recommendation VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ performance [2]- [5]. In particular, the main idea of these approaches is to learn a sequence of POIs and consider many factors such as user interest [6], POI popularity [8], POI category [9], and trip constraints like time [7] and cost [15] for constructing the itinerary planning models. However, most of these works are proposed based on the Orienteering Problem (OP) or traveling salesman problem (TSP) variants. Besides, they usually indicate the attraction of a single POI and consider user interest based on the review rating or the number of times a user has visited a place. The itinerary planning problems have been proved to be NP-hard and challenging. This is why the evolution approaches such as Genetic Algorithms (GA) have received increasing attention in this area recently [16]- [20]. The previous works on the itinerary recommendations use GA to solve such search and optimization problems. The robustness of GA is due to its capacity to locate the optimum in a multimodal landscape. Even GA is a powerful stochastic optimizer specialized in planning. Nevertheless, it still exhibits the shortcomings of the fixed crossover and mutation probabilities.
To address gaps in existing works, we formulate our personalized itinerary recommendation problem as a Multi-Objective Optimization (MOO) problem. An itinerary is defined as a path, which connected by specified starting POI and ending POI, and at least one other POI is contained. A good personalized itinerary planning is to recommend a tour that contains as many mandatory POIs and other POIs as possible, makes user's visit duration maximized within a time budget, makes overall popularity and overall rating maximized, and keeps user's cost on POI entrance as less as possible. Hence, mandatory POIs are the term of the most popular and special POIs that a tourist must be visited for a successful tour. We also determine the measure of the popularity of a POI from the average photo frequency at each POI and the measures of the user interest and the visit duration of all POIs from the average photo frequency of the user by leveraging the large collection of geotagged photos available online.
We propose a novel approach named AGAM, which is based on an adaptive genetic algorithm with the crossover and mutation probabilities, for solving our personalized itinerary recommendation problem. The factors for consideration should be given not only to the cost budget, time limitations, and starting/ending POIs, but also regards all the factors that tourists are interested in. All the above factors including mandatory POIs, the distance between POIs, and the length of the tour are considered to support tourists' demands. Especially, the popularity of POIs and user interest by the user's photo average photo frequencies from the Flickr photos, the rating of POIs in the sight reviews from the TripAdvisor, the time/distance between POIs from the Google Maps, and POIs list from the Wikipedia, these factors convey useful information regarding users' interests and habits. We try to make realistic itineraries and satisfy the tourists' demands as much as possible.
The main contributions of this paper can be summarized as the following: • Firstly, we formulate the personalized itinerary recommendation task as the MOO problem and propose the AGAM approach to solve this problem using multi-consideration. We consider the mandatary POIs, the popularity of POIs, the rating of POIs, the starting/ending POIs, the distance between POIs, the cost budget, the time limitations, and the length of the tour to construct the itinerary planning, which suites to tourists demands. We also allocate different weights to every factor to generate a personalized itinerary recommendation for better meet many kinds of preferences of tourists.
• Secondly, we use the advantage of the large collection of geotagged photos to determine the travel history. Thus, the POI popularity, user interest, visit duration are measured by the users' photo average photo frequencies.
Besides, we collect the rating of POI from the travelogue website, which can better reflect the popularity of POIs in the actual situation.
• Thirdly, we use real-world datasets on the Yahoo Flickr Creative Commons 100 Million Dataset (YFCC100M), Wikipedia.com, TripAdvisor.com, and Google Maps for six touristic cities. The results show that the AGAM outperforms better than baseline methods in terms of the mandatory POIs, total POI visits, overall POI popularity, total travel time (including travel time and visit duration), overall cost, and overall rating.
The remainder of this paper is organized as follows. Section II describes related work about travel itinerary recommendation systems. The overall framework is presented in Section III. Section IV introduces the preliminaries and problem definition. An adaptive genetic algorithm for itinerary recommendation is presented in Section V. Section VI analyzes the experimental results. The conclusion is provided in Section VII.

II. RELATED WORK
In recent years, the travel itinerary recommendation system is a highly topic in relevant specialized fields as computer science, operations research, and graph theory. It has attracted many researchers to design and plan a great travel itinerary and improve the accuracy of recommendations. An optimization model is a solution to solve the itinerary recommendation problems for getting the best itinerary planning. Many itinerary recommendation works are based on the Orienteering problem. For instance, Lim et al. [2] studied itinerary recommendation problems based on the Orienteering problem, where suggesting POIs according to user preferences and POI popularity. While the distance and travel time between POIs are minimized. Bolzoni et al. [32] utilized POI categories for solving the Orienteering problem with maximal category constraints and generating an optimal itinerary. Padia et al. [10] maximized the total profit from visiting POIs while the itinerary planning can be completed within a time budget.
Similarly, the optimization objective in [5] is for recommending itineraries including must-see POIs by maximizing the total score from visiting POIs under a fixed travel time budget. Lim et al. [7] considered time limitation in terms of queuing time. The Orienteering problem used to maximize both POI popularity and user interests and minimize queuing times.
In contrast to works based on the Orienteering problem, there are several optimization models like Heuristic optimization, Mathematical model, and other combinatorial optimization for solving multi-objective optimization problems. In [19], the objective function was minimized by an optimized GA during the search process while the high scores were reorganized in cross mutation phase. Based on user interests and trip constraints, Liu et al. [18] applied GA to the real-time route recommendation system by reducing the traffic jams and queuing time in POIs. Other like [20], the objective was to maximize the total scores in each POIs while maintaining the total travel time under constraints by GA. Wang et al. [11] extend the Ant Colony Optimization algorithm by merging user interests with POI popularity and using crowd data to recommend trips. Chang et al. [34] used a Greedy algorithm to minimize the process of trip planning and maximize user satisfaction with the best entertainment places while traveling to the destination.
Bolzoni et al. [9] applied a probabilistic algorithm to reduce the size of the input and get faster execution time for solving orienteering problems with category constraints. While Gaonkar et al. [4] used a reinforcement learning method to fit data by a probability distribution for the itinerary recommendation. A mathematical model was studied in [13] to maximize the risk-hedging ability and minimize the time budget. Jiaoman et al. [12] designed the itinerary arrangement with a mathematical model and solved the minimizing the total travel time under the total cost restriction. Mancinia and Steccab [36] developed a travel itinerary planning application by using a mathematical model to query data in a short computational time and using a mixed integer programming model to minimize operational costs under trip constraints.
The objective in [37] was minimizing the total cost on a trip in case of the entrance ticket of POIs, the cost for hotels, and the driving cost. Liu et al. [15] solved the problems of the popular route by considering the optimal route concatenation with the minimal travel cost. Cai et al. [33] presented itineraries in the short length while the popularity of POIs is optimized large in the travel time. Yu et al. [3] optimized the shortest path by finding a minimum spanning tree using the Prim algorithm. Rani et al. [35] determined the order of POI visits on a daily while the total travel distance was minimum. To optimized the minimum trip duration of each itinerary, Hsueh et al. [40] calculated the distances from the beginning location to the destination. Fogli and Sansonetti [6] exploited feedback from the user to maximize the user's satisfaction for the itinerary recommendation. Nurbakova et al. [14] merged the activities by maximizing the sum of the user's satisfaction scores within the itinerary under spatio-temporal constraints.
In the meantime, user preferences are a common factor in optimization objectives to obtain realistic travel trajectories in the model [21], [22], [31]. The maximize of the number of visited POIs and maximize the popular path were optimization in [23] by counting the frequent sequential patterns in the user's spatial and temporal behavior. Besides, Volkova et al. [25] added the category of POI to find user interest and Wörndl et al. [24] calculated the total score of the level of interest of POI by using a number of POIs per category. The user check-in behavior and visiting sequence were studied to construct transition time [26], [27]. The objectives were how to use the time for visiting POIs by maximizing the total time used on tour and minimizing the total distance traveled. They calculated the distance between POIs, visiting time, and travel time from both check-in data and geotagged photos. The task of public transportation was also considered as one factor of the environment. The optimization model with maximize travel comfort and convenience was established in [28]- [30]. Chen et al. [29] collected data from GPS device to predict route by the strategy of different modes of transportation.

III. OVERVIEW FRAMEWORK
In this section, we describe our overall itinerary recommendation framework as shown in Fig. 1. This framework composes of 4 steps: data collection, construction user travel history, calculation average photo frequency, and adaptive genetic algorithm for an itinerary recommendation.
Step 1: Data Collection First, we crawl a set of geotagged photos from Flickr and POIs list from Wikipedia. Second, we determine the POI visits in each city by date-time taken. Next, we map a photo to a POI by the latitude and the longitude coordinates. Besides, we retrieve additional detail like the rating of each POI from TripAdvisor and time/distance between POIs from Google Maps to meet various aspects of tourists.
Step 2: Construction User Travel History The next step after getting the POI visits is to construct the user travel history by sorting POI visits in ascending temporal order. Using the user travel history, we define each travel sequence by setting consecutive POI visits, in terms of the consecutive POI visits differ by 10 hours based on the ground truth of reallife user trajectories. Furthermore, we can measure the visit duration of POI based on the time between the first and last photo taken at each POI for each user.
Step 3: Calculation Average Photo Frequency From a set of the travel history of each user in Step 2, we can calculate the photo frequency. We calculate the average photo frequency at each POI to determine a measure of the popularity of a POI. Also, we calculate the average photo frequency of the user to determine a measure of the user interest and visit duration of all POIs.
Step 4: Adaptive Genetic Algorithm for Itinerary Recommendation We recommend a travel itinerary to the user based on an adaptive genetic algorithm. Our itinerary planning comprises a series of POIs and including mandatory POIs. We consider several factors such as the popularity of POIs, the rating of POIs, starting/ending POIs, the distance between POIs, the cost budget, time limitations, and the length of the tour to construct the itinerary planning.

IV. PRELIMINARIES AND PROBLEM DEFINITION
In this section, we first give some preliminaries used in our work, before formulating our itinerary recommendation problem.

A. PRELIMINARIES
We define preliminaries required to describe our approach as follows: Definition 1 (Travel Trajectory): A user's travel trajectory is an ordered sequence, Traj = ((q 1 , a q 1 , d q 1 ), . . . , (q k , a q k , d q k )), where each triple (q i , a q i , d q i ) is comprised by a visited POI q i , and the arrival time a q i and the departure time d q i at POI q i . In addition, each POI q i has two attributes lat q i and lng q i , which are its GPS coordinates.

Definition 2 (Travel Record):
A user's travel record is the set Reco(u i ) = ((q 1 , fp q 1 , r q 1 ), . . . , (q x , fp q x , r q x )), where each triple (q j , fp q j , r q j ) is comprised by the visited POI q j , the number of photos fp q j taken by user u i , and the rating score r q j given by user u i .

Definition 3 (Distance):
We define the geospatial distance between two POIs as Dist(q i , q j ) which is obtained from Google Maps by using their GPS coordinates lat q i , lng q i , lat q j , and lng q j . Note that we only take the absolute value, therefore, Dist(q i , q j ) equals Dist(q j , q i ).

Definition 4 (POI Visit Duration):
The visit duration of a POI is the average visit duration of all users who visited it. Let U = u 1 , . . . , u x be the set of the users of POI q i , and the visit duration Vdur(q i ) can be defined as follows:

Definition 7 (POI Popularity):
Here we use the photo frequency represents the popularity of a POI. As the photo frequency can be very large or very small, so we use Popu(q i ) = 1/Fre(q i ) instead.

Definition 8 (POI Entrance Cost):
A POI entrance cost Cost(q i ) is the money you have to pay to enter the POI.
Definition 9 (POI Overall Rating): A POI overall rating is the average rating of all users', and it is represented as

B. PROBLEM DEFINITION
We now define our personalized itinerary recommendation problem as Multi-Objective Optimization (MOO) problem. In this paper, an itinerary is defined as a path, which connected by specified starting POI and ending POI, and at least one other POI is contained. In addition, all POIs in the itinerary can be visited only once.
Let C = {q 1 , . . . , q L } be the set of POIs, and M = {m 1 , . . . , m K } where K < L be the set of mandatory POIs, ideally an itinerary can be represented as I = {q s , . . . , m 1 , . . . , m K , . . . q d }, where q s is the starting POI and q d is the destination POI and q s , q d / ∈ M . The goal of personalized itinerary recommendation is to recommend a tour which contains as many mandatory POIs and other POIs as possible, makes user's visit duration maximized within a time budget, makes overall popularity and overall rating maximized, and keeps user's cost on POI entrance as less as possible.

V. ADAPTIVE GENETIC ALGORITHM FOR ITINERARY RECOMMENDATION
For solving the above problem, we present the AGAM with the crossover and mutation probabilities can be adjusted according to the fitness score during the iteration process. The following definitions introduce some symbols, so we can query the meaning of a symbol quickly using Table 1.
In our adaptive genetic algorithm, P = {p 1 , . . . , p N } is the set of population, where each individual p i = {q s , . . . , q d } is a sequence of POIs, in another word, each single POI is a gene. Note that the gene sequence of each individual may have different lengths. As it is hard to measure different factors such as the inclusion of mandatory POIs, itinerary popularity and so on. Therefore, we use the normalization method to restrict all values within 1 to define our fitness function, which is shown as follows: where w i is the weight of each factor, which can be adjusted to meet users' different preference, and Tm(p i ) is the number of mandatory POIs included in p i , Tn(p i ) is the total number of POIs, Tp(p i ) is the total popularity, Tv(p i ) is the total popularity, Tc(p i ) is the total entrance cost and Tr(p i ) is the total rating. They are represented as follows: where Totv(p i ) = Vdur(q s ) + . . . + Vdur(q d ) where Totc(p i ) = Cost(q s ) + . . . + Cost(q d ) where Totr(p i ) = Rati(q s ) + . . . + Rati(q d ) The crossover and mutation probabilities are dynamic in our AGAM, and this is helpful for finding the best solution and preventing the program falls into the local best solution. They are defined as follows: where pc 1 and pc 2 are parameters, f is the larger fitness score of two individuals, which are going to generate next generation, f max is the largest fitness score among a population, and f avg is the average fitness score of a population.
where pm 1 and pm 2 are parameters, and f is the fitness score of an individual which is going to mutate. We notice that some unvisited POIs are expected to be inserted to each individual of the next generation in order to improve the solution quality because extra time may be VOLUME 8, 2020 Algorithm 1 AGAM Algorithm Input: time budget MAXT , population size N , crossover rate pc 1 , pc 2 , mutation rate pm 1 , pm 2 , factors weight w 1 , w 2 , w 3 , w 4 , w 5 , w 6 , iteration number δ Output: best solution p opt 1: generate N individuals randomly as initially population set P, with each individual within the time budget constraint TotalTimeCost(p i ) ≤ MAXT for each p i ∈ P 2: for i = 1 to δ do 3: for j = 1 to N − 1 do 4: select two individuals p j and p j+1 from P 5: get PC by equation (8)   6: generate p a and p b of p j and p j+1 by one-point crossover and PC 7: if TotalTimeCost(p a ) > MAXT or TotalTimeCost(p b ) > MAXT then 8: regenerate p a and p b 9: end if 10: if TotalTimeCost(p a ) < MAXT then 11: try to insert unvisited POIs into p a 12: end if 13: if TotalTimeCost(p b ) < MAXT then 14: try to insert unvisited POIs into p b 15: end if 16: save p c and p d to P 1 17: end for 18: for j = 1 to N do 19: select an individual p j from P 1 20: get PM by equation (9) 21: randomly select a gene position from p j and mutate it to generate a new individual p a by PM 22: if TotalTimeCost(p a )> MAXT then 23: regerate p a 24: end if 25: if TotalTimeCost(p a ) < MAXT then 26: try to insert unvisited POIs into p a 27: end if 28: update p a with p a in P 1 29: end for 30: update P = P 1 31: end for 32: return the best solution p opt in P available after the operations of crossover and mutation. To this end, we try to insert some candidate POIs into every single individual of the next generation with the total travel time within the time budget.
It is worth to mention that, for each individual p i , the total time cost TotalTimeCost(p i ) = Tra(q s , q s+1 ) + . . . + Trav(q d−1 , q d ) + Tv(p i ) is no more than the time budget MAXT . In our AGAM, the parameters pc 1 = 0.9, pc 2 = 0.6, pm 1 = 0.1, pm 2 = 0.001 which are set based on the experience from common usage in dynamic crossover and mutation probabilities, and the factors weights used in the number of mandatory POIs, the number of POIs, overall popularity, overall visit duration, overall rating, overall cost are w 1 = 10, w 2 = 5, w 3 = 2, w 4 = 2, w 5 = 1, w 6 = 1 respectively. The larger weight values represent the more important factors. The whole process of our proposed AGAM is outlined in Algorithm 1 in detail.

VI. EXPERIMENTS
In this section, we describe our experiments, which include our datasets, baseline algorithms, evaluation metrics, and results and discussion.

A. DATASETS
For our experiment and analysis, we use real-world datasets from the Yahoo! Flickr Creative Commons 100M [41], which contains 100 million photos and videos. The list of POIs is collected from [42]- [47]. The rating of POIs in the sight reviews are crawled from the TripAdvisor. We count time/distance between POIs from the Google Maps. Table 2 lists statistics of these data sets. There are six cities: Budapest, Edinburgh, Toronto, Glasgow, Perth, and Osaka.
In our experiment, the starting and destination POIs, and mandatory POIs in each itinerary are generated randomly and recorded. In addition, we generate 300 these itineraries for each city.

B. BASELINE ALGORITHMS
We compare our proposed AGAM against different baseline algorithms to evaluate its recommendation performance.

1) AGAM (our proposed model) Firstly, generating N
itineraries as initial population P. For each individual p i = p i1 ∪ p i2 , where p i1 is generated first, and it includes the start POI, the destination POI and mandatory POIs, p i2 is generated after p i1 , and it includes other POIs. Secondly, the AGA algorithm is used to generate the best solution (the recommended itinerary) which contains the most mandatory POIs and other POIs, user's visit duration is maximized within a time budget, overall popularity and overall rating are maximized, and user's cost on POI entrance is low. The model considers a personalized itinerary which generally includes popular or special POIs where tourists often want to visit while other needs such as POI popularity and visit duration are also considered. 2) MaxN Generates an itinerary with the most POIs.
Mandatory POIs are added first according to their visit duration time by the greedy strategy, then the same way is utilized to the remaining POIs. This approach focuses on the number of POIs included in an itinerary only without considering any other factors, so an itinerary that has the most mandatory POs and the most POIs within the time budget is much preferred. It provides the baseline in the number of mandatory POIs and the number of POIs. 3) MaxP Generates an itinerary with a relatively large overall popularity. Mandatory POIs are added first according to their popularity value by the greedy strategy, then the same way is utilized to the other POIs. This approach focuses on the popularity factor only without considering any other factors, so an itinerary that has a large overall popularity value is much preferred. It provides the popularity factor baseline in our paper.
The algorithms used for this work were implemented using the C++ programming language.

C. EVALUATION METRICS
We evaluate the performance of our algorithm and the baselines, which involve recommending itinerary planning. Our algorithm is based on an adaptive genetic algorithm to recommend a tour which contains as many mandatory POIs and other POIs as possible, makes user's visit duration maximized within a time budget, makes overall popularity and overall rating maximized, and keeps user's cost on POI entrance as less as possible. Thus, our algorithm utilizes evaluation metrics for the itinerary recommendation as follows:

D. RESULTS AND DISCUSSION
We show and discuss the experimental results in terms of mandatory POIs, POI visited, travel time, visit duration, the popularity of POIs, cost, and ratings. Furthermore, we considered four mandatory POI sets including one POI, two POIs,  three POIs, and four POIs respectively, and they are randomly selected from the whole POI set of a city.

1) TOTAL MANDATORY POIs VISITED IN RECOMMENDED ITINERARIES
We name an itinerary which includes every element in a mandatory set as a successful itinerary. The result of the number of successful itineraries generated by the AGAM, MaxN, and MaxP, along with the different sizes of the mandatory POI sets is shown in Table 3. The success rate of each method is nearly the same, and it clearly shows that the success rate is going down with the increase in the number of mandatory POIs. We can see that MaxN and MaxP achieve better performance, this is because both MaxN and MaxP add the mandatory POIs first then add the other POIs by the greedy strategy with considering different factors to generate the recommended itinerary, but our AGAM adds every single POI randomly and it still achieves a relatively good result.  have short visit duration, the travel time between POIs is out of its control, so the results of MaxN are not always better than MaxP over all the cities.

3) TOTAL TRAVEL TIME AND VISIT DURATION IN RECOMMENDED ITINERARIES
As shown in Fig. 2, we can see that the total travel time for the itineraries generated by all methods was never exceeded the time budget. The AGAM uses the time budget efficiently in all six cities, in the meanwhile, the total visit duration is also better than MaxN and MaxP. In addition, for every method, we can see that the figures for all mandatory POI sets are similar to each other, this is because we have a hard constraint on travel time, which is time budget.

4) TOTAL POI POPULARITY IN RECOMMENDED ITINERARIES
The results of the total POI popularity of recommended tours are shown in Fig. 3. It is clear that the AGAM algorithm gets the highest values in every city, and the main reason is that we allocate a relatively high weight to the factor of POI popularity. Additionally, the MaxP archives better results than MaxN in most cities, and the reason is that MaxP generates its itineraries by priority adding POIs which have large popularity.

5) TOTAL COST IN RECOMMENDED ITINERARIES
As shown in Table 5, the MaxN and MaxP algorithms achieve better performance. This is reasonable because the AGAM includes more POIs than other algorithms as shown in Table 4. And in our experiments, we have not given a high weight to the factor of cost but a higher weight to the factor of the number of POI visited, so the total cost is relatively high. Table 6 presents the total rating score of all POIs in the recommended itinerary. The results show that the AGAM generally outperforms all two baselines over all the cities in terms of rating. This is because the AGAM is able to generate itineraries which include more POIs than MaxN and MaxP as shown in Table 3, therefore, although we do not give a high weight to the factor of rating, it still can achieve a better result. VOLUME 8, 2020

VII. CONCLUSION
In this paper, we proposed an adaptive genetic algorithm for personalized itinerary planning for travelers. Firstly, desired starting POIs and destination POIs were considered in our approach. Secondly, we also took some general factors into account that travelers would consider in their preferences of an itinerary, which are mandatory POIs, the total number of POIs, the overall POI popularity, the overall cost, and the overall rating. Thirdly, we viewed this kind of recommendation task as a Multi-Objective Optimization problem, and we proposed the AGAM for solving this problem, which is based on an adaptive genetic algorithm with the crossover and mutation probabilities to better find the best global solution. Fourthly, we allocated different weights to every factor for generating the personalized itinerary planning to better meet many kinds of preferences of tourists. Finally, we compared our approach against baselines on real-world datasets which include six touristic cities, and the experimental results showed that the AGAM outperforms better than baseline methods in terms of the mandatory POIs, total POI visits, overall POI popularity, total travel time (including travel time and visit duration), overall cost, and overall rating. We simply allocated a larger integer to each factor to represent the users' preference, a better weight allocation rule could be employed in the future. Also, we will consider the various modes of transport and sentiments such as opinions and reviews for user preferences and route planning. MANLI ZHU received the bachelor's degree in software engineering from Zhoukou Normal University, in 2013, and the M.S. degree in computer science and technology from the Guilin University of Electronic Technology, China. Her research interests include knowledge graphs, knowledge graph representation, and recommendation systems. VOLUME 8, 2020