A Hybrid Method for Recommendation Systems based on Tourism with an Evolutionary Algorithm and Topsis Model

Recommender systems have been pervasively applied as a technique of suggesting travel recommendations to tourists. Actually, recommendation systems significantly contribute to the decision-making process of tourists. A new approach of recommendation systems in the tourism industry by a combination of the Artificial Bee Colony (ABC) algorithm and Fuzzy TOPSIS is proposed in the present paper. A multi-criteria decision-making method called the Techniques for Order of Preference by Similarity to Ideal Solution (TOPSIS) has been applied for the purpose of optimizing the system. Data were gathered through a 1015 online questionnaire on the Facebook social media site. In the first stage, the TOPSIS model defines a positive ideal solution in the form of a matrix with four columns, which indicates factors that get involved in this study. In the second stage, the ABC algorithm starts to search amongst destinations and recommends the best tourist spot to users.


Introduction
One of the inevitable aspects of human life is decision making. Faced with many options, lack of proper expertise, and time constraints resulted in hectic human judgments. Recommendation systems are therefore provided to resolve these issues [1][2][3]. The knowledge discovery methods and statistical techniques are applied by recommendation systems for suggesting suitable items to clients [4][5][6]. These systems operate on the basis of the preferences and behavior of the user to recommend an option that is strongly adapted to the preferences of the client to make a proper decision [7][8][9]. In several different domains, recommendation systems are utilized and recently implemented in the tourism industry to suggest a suitable destination for visitors [10,11]. The objective of travel recommendation systems is to match consumer requirements with the characteristics of tourism and leisure resources or attractions [2]. For recommending the best place, this system needs some information about tourist attractions and destinations, tourists visiting schedules, rating score by other users for each destination, priorities, and preferences of travelers, the length of travel days, starting and the ending time of visiting tourist attractions etc. Through this type of information, the itinerary is offered to customers. Therefore, in suggesting the best travel to users, different criteria should be taken into account. The TOPSIS model can cover various criteria in providing recommendations to users, and it is used in this research to solve the problem. In order to cover users' multi-criteria decisions, the authors use the TOPSIS model, and their preferred criteria are allocated impact factors depending on their preferences. Afterward, according to client priorities, the ABC algorithm is applied to search for qualified tourist places. The objective of applying the ABC algorithm is to discover different places in the selected range of the user, following their preferences with high ratings according to their criteria. Applying the ABC algorithm does the search for tourist places for users in three stages, and also the search for places is based on defined criteria in the TOPSIS model.
In essence, the recommendation system offers personalized information for users regarding the trip plan [12,13]. Also, a couple of factors play an important role in the itinerary, including time managing and selecting the best option based on tourist preferences [14,15]. There are plenty of tourist destinations, activities, and transportations in every tourist spot, and there are various types of travel plans as well. Since travelers have different preferences and flavors, the uniform travel plan would not be proper for all tourists. Therefore, a flexible and customized system is required to input some parameters by the user, then an excellent choice is offered to tourists to provide them a marvelous time during their vacation [16]. In this regard, the significant role of social media can be drawn concerning tourism development. For instance, social media users have a chance to check the travel experiences of their friends [17]. Moreover, mobile phones significantly contribute to the recommendation for tourists through discovering a current location of users, recommending a particular near destination through the use of recommendation techniques [14]. Due to the growing number of options for users to find a tourist destination, Fuzzy logic systems were produced in this field. All possible choices were categorized by a multicriteria decision-making system, providing a situation for users to select an appropriate solution [18,19]. The objective of the present research is to apply the TOPSIS model and ABC algorithm for optimizing tourist destinations according to specific principles and finally recommend these options to visitors.
The article is structured as follows. Section 2 provides a literature review on recommendation systems and methods in the tourism, Section 3 addresses the multi-criteria decision method, and Section 4 outlines the ABC algorithm. Section 5 discusses the methodology of the research, Section 6 includes analysis and results, and the conclusion is presented in Section 7.

Literature Review
One of the purposes of recommendation systems is detecting the user preferences and suggesting items or services for meeting users' requirements and favors [20][21][22]. These systems are being developed as an efficient research area and possess applications in various fields, including medical science, business, education, e-commerce, etc. [23][24][25][26][27][28]. The primary objective of recommendation systems is proposing a considerable suggestion of goods or services to users [28][29][30]. There are several types of research in this area that are carried out in the tourism industry. For instance, Wang and Lee studied a methodological technique for assessing smart tourist attraction (STA) tourist preference; afterward, a fuzzy comprehensive calculation strategy and analytical hierarchy procedure were introduced to the Zoo's STA assessment, which is one of China's tourist attractions. After evaluating the data and conducting the fuzzy assessment, they distributed 680 questionnaires to collect information from zoo visitors, and findings derived primary STA evaluation factors, including intelligent tourism management, smart information systems, smart forecasting, etc. [31].
Some researchers have provided new technologies, including Augmented Reality (AR), to satisfy visitors with smart recommendations. They created an AR tourist application for smartphones. In order to evaluate the results, 26 in-depth interviews with 26 international and local tourism and thematic study were used. The results revealed that the knowledge generated by social networks containing feedback, attractions, and destinations was common with travelers and should be taken into consideration in AR applications to encourage visitors to use this modern technology and recommend tourist attractions and urban heritage to them [32]. Some considerations could play an essential role in tourist choices. For example, one research suggested a recommendation framework focused on the users' flavor, the destinations they have visited previously, and also their demographic categorization. The authors presented a recommendation framework that could be provided to a single user or a group of users. The questionnaires were distributed among 60 people, asking about overall preferences, demographic information, and the places they visited. The findings revealed that the combination of three basic recommendation approaches: demographic, content-based, and general like filtering, was conclusive in recommending the alternative for a single or group of users [33]. A recommender system was developed to recommend hotels to consumers in another study performed by Nilashi and Ibrahim. In order to fulfill the needs of a consumer on data originating from a similar user, this system used recommendation techniques. Through dimensional reduction and estimation techniques, they suggested a novel hybrid approach. In order to estimate tourist preferences, the proposed model was focused on data mining techniques, EM algorithms, clustering techniques, and ranking items in user profiles, recommending a suitable option for them [34].
Another research used opinion mining techniques to recommend a particular hotel based on information from clients. Opinion mining methods were applied to data by harvesting and then classifying hotel reviews from the Internet. The collection of data consists of 3000 reviews posted on tripadvisor.com by users. The findings of this analysis showed that both visitors looking for accommodation and hotels are seeking to develop their services by utilizing these strategies [35]. In the research study conducted by Braunhofer and Lamche, a prototype of a recommender system for a mobile point of interest (POI) was presented. This system operated on the basis of text mining and user location and five factors that might touch a user-perceived, including travel time accessible to the user, visit time, weather, and the POI visit history of the user. The findings of this analysis indicate that user's preferences and various forms of heuristics were derived by the proposed model to estimate the total usefulness of the POI recommendation to the target user in the current contextual position [36].
Multi-criteria TOPSIS decision model and fuzzy logic were applied in recent years to evaluate the quality of travel websites from the consumer's viewpoint [37]. The decision matrix has been created in this method, and certain parameters are regarded in terms of the purpose. In this technique, the ranking procedure is centered on the shortest distance to the best positive answer and the farthest distance from the negative answer [38]. A study indicates a TOPSIS-based combination of genetic and fuzzy for a real-time route recommendation system for tourists in tourist hot spots in this regard. This analysis carried out three phases: data collection, TOPSIS-based data phase regarding route optimization, and the generation of new routes on the genetic algorithm to choose the best route. The data was gathered through questionnaires provided to selfdriven travelers. The results of this study showed that this personalized route recommendation system in real-time could enable the self-drive tourists to finish their trip more effectively, leading to reduce the congestion of traffic in the tourist hotspot. In addition, this proposed model saves average visiting time and satisfies visitors' specific preferences [39].
Another analysis applied a fuzzy number and a TOPSIS model to quantify service quality and rank each hotel's service performance, respectively. The authors distributed a survey to hotel visitors to gather data on the level of service at three Grand Canaria Island hotels. After implementing the fuzzy set theory on data, they concluded that fuzzy numbers act as an appropriate method to resolve the vagueness of views relevant to the subjective judgments of human beings. Also, detecting the customer perception and preferences about service quality in the hotel are two key points to boost marketing effort and improve the performance of the recommendation systems [40]. In hotel location selection for visitors, fuzzy logic is also applied. Fuzzy multi-criteria decision making (FMCDM) has been performed in research conducted by Clou to help travelers in selecting the appropriate hotel. Twentyone criteria that play an important role in consumer satisfaction in hotel selection were derived by the authors. The results of this study indicate that FMCDM would enable tourists to choose a suitable hotel location [41].
The Artificial Bee Colony algorithm is another feature used in the recommendation system (ABC). The paper offered a modern recommendation system centered on a collaborative filtering recommendation system on the basis of the ABC algorithm and the K-means clustering algorithm. It actually contributes to better clustering accuracy. The ABC algorithm is often used for the purpose of solving this clustering technique's local optimal problem. The results revealed that this collaborative filtering system focused on the algorithm of tourist clustering showed better performance than several other approaches of recommendation [42]. A recommendation system based on the ABC algorithm on Facebook, which is the most prominent social network worldwide, was proposed by researchers in another study. The data gathered by questionnaires, the exploration of popular topics, and the difficulty of materials were valued. In the next level, a system optimized its performance using the ABC algorithm. The results showed that this approach enhanced the implementation time and made the recommendation system suggestions accurate in an effective way [43]. Furthermore, the ABC algorithm can boost the effectiveness of the recommendation system. Arup Roy, in a research study, developed a recommender system using the ABC algorithm and the Simulated Annealing (SA) technique. Arup Roy applied the Irish TripAdvisor datasets, including 29,799 reviews of Irish hotels by 21,851 users. Results argued that it might be useful to use the ABC algorithm to identify an optimal or near-optimal choice for user recommendation advice [44].

Multi-Criteria Decision Method
Multi-criteria decision analysis is a method in decision-making that estimates multiincompatible criteria. There are two key aspects of this method; multi-criteria optimization and multi-criteria decision analysis. Although multi-criteria decision-making concentrates on multi-condition disciplines with few solutions and in an uncertain situation, multicriteria optimization covers more than one goal [45]. It is necessary to compare all options comprehensively in the multi-criteria decision process and take into consideration all criteria. All responses and ideal solutions have been described in the numeric format in this approach [46]. The TOPSIS model was offered in 1981 [47], which is one of the best multicriteria decision-making models. This model is on the basis of selecting the farthest negative ideal solution and the nearest positive ideal solution between the alternatives that is the best solution [41,48]. TOPSIS model includes the m * n matrix in which 'm' implies the solutions and 'n' refers to criteria [41,48]. All qualitative measures should be converted into quantitative criteria for calculating mathematic techniques, as presented in Table 1.
TOPSIS consists of several steps, which are expressed as follows: In the first step, a decision matrix is formed according to the desired indicators and criteria that the weight of each of these indicators may differ from each other. The decision matrix is m × n, in which m is equal to the desired indicators and criteria and is equal to m = 4 in the present research because four criteria are considered to evaluate tourist locations. n is also equal to the number of tourist places in each city; the amount of which depends on the considered city. Matrix (1) is formed based on m×n matrix as follows (decision matrix): unscaled matrix is one of the most important steps in multi-criteria decision-making and is used to unscaling the decision matrix. In the present research, the Euclidean method is used to unscale the decision matrix. For normalization and creating the standard matrix, Equation (2) is defined as follows [49,50]: In Equation (3), positive and negative ideal values are specified so that the distance of other points from these positive and negative ideal points can be determined. Where ω i is the weight of the j-th criterion; The criteria and measures do not possess the same prioritized index, and the index criteria table solves this impediment. In this regard, a high indexed value has a high weight. The matrix, presented in the following, illustrates the value of the standard index for each criterion: Determining a value for S * i and S − i calculated based on (5) and (6) formula. S * i represents a distance of solution from ideal positive criteria and S − i represents a distance from negative solution criteria.
There are two methods for calculating the distance of other points from the positive and negative ideal points: The euclidean method and the block method. The Euclidean method is used in the present research, Equation (5) calculates the distance of option i from the positive ideal, and Equation (6) calculates the distance of option i from the negative ideal.
.n], respectively. The relative closeness of i-th alternative S i with respect to S * i described as follows: It is evident that the rating of options was calculated by C i * . Equation (7) is used to calculate the relative closeness of options to the ideal solution. Finally, the options are ranked based on their closeness to the ideal solution. Accordingly, the TOPSIS model consists of six steps, as shown in Figure 1: Algorithm 1 TOPSIS Method in the 6 steps as below: Algorithm 1: TOPSIS method Step 1: Calculate the normalized decision matrix (nij) as: Step 2: Calculate the weighted normalized fuzzy decision matrix (r ij ) as: Step 3: Obtain the positive (PIS) and negative (NIS) ideal solutions as: Step 4: Calculate the distances of each alternative i in relation to the ideal solutions as: Step 5: Calculate the closeness coefficient of the alternatives (CCi) as: Step 6: Sort the alternatives in descending order. The highest CC i the value indicates the best performance in relation to the evaluation criteria.

ABC Algorithm
The artificial Bee Colony (ABC) algorithm is an optimization method to simulate the foraging behavior of honey bees. Karaboga introduced this algorithm in 2005 [51][52][53]. Honey bees can spread far from their hive, searching for food. The colony of artificial bees is classified into three groups [54]: employed bees, onlooker bees, and scout bees. The search mechanism for food begins with the bees, which are employed. In their memory, the employed bees investigate food sources inside the neighborhood; in the meantime, they share the information from these sources of food to the onlooker bees. Onlookers choose a source of food from the food sources selected by them within the neighborhood. An employed bee from which the source has been discarded becomes a scout and begins spontaneously to look for a new food source. The fulfillment of initializing a value in the ABC algorithm is done as the following [54][55][56].
1. Employed bees: in this level, artificial bee X i forms a new candidate solution V i in the neighborhood of its current location. Selecting a location of new food source is carried out as follows: Here Here U j and L j are the upper bond and the lower bond of the X i , respectively, and rand () denotes a random number within [0,1]. Subsequent to selecting the location of a new food source, the optimization value should be measured by the following formula: In this study, on the basis of increasing repetition of employed bees, their search range is increased, and each time they search for 3 points for a similar purpose improves the likelihood that they can reach the optimal points. Therefore, at each output, the most appropriate point is optimized compared to the other two points and closer to the aim of the user (Max Points). 2. Onlooker bees: employer bees share the food source knowledge with onlooker bees via waggle dance after the search phase is completed by them. At this level, the information collected from the bees employed is estimated by each onlooker bee, selecting a food source with a likelihood correlated with food resources. The following formulas present this probability: Where fit i implies the fitness value of the i th solution in the swarm. It is clear that the higher probability of i th is obtained by the better solution i. After picking all food sources by onlooker bees, the location of the neighbors' food source is measured by Equation (9) and this cycle will be continued until getting the required goal. In Equation (11), the enhancement of the function of the onlooker bees is relevant to the location of their movement, and their search for food commences from the location where the employer bees were in that position (the newest) last time . The onlooker bees are then around the locations where the employer bees seek and the neighborhood between reviewed points and this local search for improvement, and in this way, further points can be found.

Scout bees:
In the ABC algorithm, some bees give up their solution method, becoming scout bees to search randomly in the domain if the target cannot be reached after repetitive default processes. Applying this type of method will increase search efficiency.
Equation (12) represents that the Sb discover the points that the employed bees and onlooker bees (Vij and Di) have not visited previously. Accordingly, the ABC algorithm performs the search in three steps according to Figure 2: The optimized ABC algorithm is as the Algorithm 2 [57]:

Methodology
The following study tries to present a recommender system for recommending an attractive tourist zone for travelers. For this purpose, the multi-criteria decision analysis TOPSIS model has been applied that works based on fuzzy logic as well as a tourist destination ABC algorithm has been utilized for searching. The method of this research consists of two main parts. In the first part, the TOPSIS model has been used to define and model the problem, and in the second part, the ABC algorithm has been applied to find tourist spots to suggest to the target user. The procedure is as follows: studying the number of five cities that have many tourist places, using the experience of users in traveling to the desired tourist destinations through a questionnaire and four criteria are set to assess the quality of each of them and users are asked to rate each of the criteria in the form of a questionnaire, and qualitative criteria have been used to make the questionnaire simple for users. Subsequently, the proposed method is presented  15 {The scouts phase} 20. If max(trial i ) > limit and X i -(V ij and D i ) by then 21. Replace X i with a new randomly produced solution by Equations 8,12 22. end if 23. Memorize the best solution found so far 24. cycle = cycle+1 25. until (cycle = Maximum Cycle Number) using the TOPSIS model. Since there are several tourist places to suggest to the user, several ideal points (places with the highest score) should be defined as the best options to offer to the target user, and finally, a search should be done (using the ABC algorithm) for places that have the shortest distance to these ideal locations. For this purpose, the TOPSIS model is used; the procedure is first to convert qualitative values into quantitative values and then create a decision matrix numerically and based on the desired criteria.
The TOPSIS method is one of the Multiple Attribute Decision Making (MADM) methods that rank options. In this method, two concepts of 'ideal solution' and 'similarity to ideal solution' are used. The ideal solution is the solution that is the best choice in every way that we trying to approach it. In order to measure the similarity of a design (or option) to an ideal (places with the highest score) and anti-ideal (places with the lowest score) solution, the distance of that points (places) from the ideal and anti-ideal solution is measured. The points are then evaluated and ranked based on the distance them from the ideal solution and anti-ideal solution. Accordingly, in this research, tourist places ranked and in the ideal case, each feature has 10 scores and in the worst case, it has 1 score. Ideally, each place has a maximum score of 40 and we are looking for places that have the least distance with the number 40. The method is based on the concept that the found place should have the shortest distance from the positive-ideal solution and the longest distance from the negative ideal solution. TOPSIS defines an indicator called similarity with the ideal positive solution and distance from the ideal negative solution. The ABC Algorithm then searches for places with maximum similarity to the ideal positive solution. To measure the similarity of a place with an ideal and non-ideal state, we consider the distance of that point from the ideal and non-ideal solution. In this research, we also use the ranking matrix and the distance of each place from the ideal state.
Given that multiple tourist destinations may be offered to the user, multi-criteria decision-making is used, which is made possible by TOPSIS. Hence, in each of the studied cities, tourist locations are ranked based on the TOPSIS model in the form of decision matrices and by converting quality criteria into quantitative values (based on users' comments), and then places with the highest points are considered as ideal points. Accordingly, the ranking of each tourist place is determined according to Table 1. Afterward and in the second step, the points that have the shortest distance with ideal points in the decision matrix are searched using the ABC algorithm and according to the selection of the desired city by the user, and finally, in each searching process with ABC, three tourist places with higher points are found according to the desired criteria and then suggested to the user. The case study in the present study is about some tourist cities in Iran, and the research methodology steps are depicted in Figure 3.
Our research methodology is categorized into eight levels as follows: 1. Selecting some tourist cities: The methodology procedures begin with selecting some tourist cities that each city has a specific tourist attraction. The purpose of this level is that when travelers go to one of these cities, our system will recommend the best tourist destination in this city based on their preferences and experiences. Essentially, all responses and optimal solutions have been clarified in numeric format; thus, it is necessary to convert qualitative parameters to quantitative measures in the previous section and based on Table 1. According to the TOPSIS model, the qualitative variables were converted into a quantitative element rating based on Table 1 from 1 (the lowest point) to 10 (the highest point). The ideal matrix is a matrix that produces 10 for all parts, so the nearest rate to the 10-band score implies an ideal solution, which is one of the good options to recommend to the user. 4. Distributing questionnaires on Facebook: At this level, each tourist attraction is ranked by the user through an online questionnaire on the Facebook website. The users give the mark for each destination based on four criteria mentioned in the previous level. The questionnaire is divided into four sections: distance, road condition, traffic congestion, and tourist attraction. The authors arranged an online questionnaire uploading it on the Facebook social media website through several accounts and asked respondents to rate each item based on their travel experience to those cities. Finally, 1015 questionnaires were gathered from respondents. 5. Creating a matrix for each city on the basis of TOPSIS outcome: At this level, matrices are created for every single city according to questionnaire outcomes taken from users. Matrices are formed based on the following formula: Where 5 n=1 implies each city, and i = 1 means that a minimum of one city must be picked and the maximum number of cities is equal to five. 4 i=4 Indicates four filed for the quality of tourist attractions. The upper bond of 4 means that all 4 fields must be customized. An AND operator exists between C n cities and L i tourist destinations since our function is only true when both values are true. Furthermore, L i has four fields; A, B, C, D, presenting four criteria for destination quality, and every single field of the matrix can be customized by 1,3,5,7,10 values; the best quality is obtained by higher numbers.
As mentioned, in relation to the weights intended for tourist places, we used the quality criteria according to Table 1, then we convert them to have quantitative criteria. Weighing and scoring for each tourist place is based on the dataset and Tripadvisor site. Also, quality criteria have been selected in such a way that users can easily evaluate the quality of the tourist places. Then, a score is considered for each quality criterion, and through this, the weighing of each tourist place is done. 6. Selecting a specific city by the user: The user chooses one of the five cities in this level, and then the recommender system starts to suggest a tourist destination to the user. 7. Applying the ABC algorithm for a searching destination with minimum distance and an ideal matrix: After choosing a city by the user, the recommender system starts to search and analyze tourist destinations in the selected city. The ABC algorithm is used to fulfill the searching process for the purpose of discovering an optimized point. This searching process is carried out in two general levels. First, the user selects preference criteria, including traffic congestion, then the system finds a solution, which includes the lowest traffic jam via employed bees. Second, onlooker bees find the nearest ideal location to the user's preferences. 8. Recommendation to tourists: Finally, the recommender system finds three places based on the results obtained from level 7 and recommend these tourist destinations to the user.

Analysis and Findings
In this paper, five tourist cities like Tehran, Isfahan, Shiraz, Mashhad, and Orumieh were selected for conducting a pilot study. Hence, these cities with some tourist attractions were recommended for new arrivals. Each of these cities converted to a matrix with specific values on the basis of the rating system (Table 1) via the TOPSIS model. Table 2 demonstrates a matrix for each city: It is clear that every city has its specific matrix and each row of the matrix represents one tourist's spot in this city, and all fields are rated according to Table 1. The user selects the area he/she needs to travel; then, the system suggests the best place to visit according to the importance of each factor. Secondly, the ABC algorithm is carried out, looking by employed bees for the best ideal matrix, then onlooker bees searching for other nearest ideal two matrices, proposing all to the user. The outcome of this algorithm for cities is described in Table 3 as follows: As shown in Table 3, the ABC algorithm was implemented for five cities with the outcome of different values for each city's factors. Every city has three matrices that show three tourist destinations. At the top of the matrix, the cost of each matrix is specified, and the best matrix is defined in terms of the cost outlined in the figure. For example, with a cost of 37, the best matrix for Tehran is the second one, and it is the closest ideal matrix to the best positive ideal matrix. At this point, with 1000 repeats, the employed bee starts looking in the loop to find a first matrix based on the given value. Then, onlooker bees start searching and finding the other two matrices. Consequently, three matrices are found and recommend to the user.
The evaluation of a proposed model contains three sections. In the first section, the authors assumed and compared the accuracy of recommending items to a tourist based on the questionnaires. In the second section, the ABC algorithm's accuracy about finding an optimized matrix is assessed by a specific function. In the third section, the proposed method in the present research has been implemented on the Tripadvisor dataset and compared with other algorithms.
The next comparison is related to quality. As mentioned in the previous section, a matrix with a maximum value of 10 points was formed for each column. Hence, in the best situation, the sum of all columns in the ideal matrix would be 40 scores. Thus, an ideal option would be an option with the nearest distance to 40 scores in the ideal matrix. For exploring a similarity between recommender system results and users opinions, the following formula can be used [59][60][61][62]: By applying this method, the similarity between the user's judgment and recommendation system suggestions, which is represented by C and C , were examined by items such as sim (c,c ). Here, argmax picks a higher number between C and C , which means there is a comparison between the user's opinion and recommender system outcome for determining the nearest distance to the ideal purpose. Consequently, the outcome, which is near to 40, is selected as an ideal option. Figure 5 illustrates the results from this level. According to Figure 3, the blue color line presents users to review, and the red color line illustrates recommendation systems results. Besides, in some parts of the figure, there is a gap between the user's suggestion and recommender system suggestions; the authors analyzed these differences based on their score and found that all suggestions by the recommender system are outscored the user's recommendation. Hence, in terms of scoring criteria, this is acceptable that the places were recommended by recommendation systems that have a near distance to the ideal matrix.

Accuracy of the ABC Algorithm
In this section, the ABC algorithm's accuracy to find the best places to recommend to users is evaluated by the function, which produces random numbers in a specific domain. This function generates random numbers available in a matrix-domain, then compares these points with destinations offered by the recommender system. The random number generation function is defined as follows [42]: Rand (1,10) This formula includes four digits ranging from 1 to 10 (TOPSIS model domain). In each cycle of performing this function, one random number has been generated, then all generated numbers sum together and calculate the cost function. The results of comparing the ABC algorithm and Random number generation function is presented in Figure 6 as follows: Both algorithms were applied five times for five cities, and the best results outcome was selected in each cycle of performing algorithms. Hence, 25 destinations were explored. The precision of the ABC algorithm was higher than the Random number generation algorithm because the outcomes of ABC have a minor distance with an ideal solution. The results of  the ABC algorithm recommend appropriate options to users due to conclusive and highly valued outcomes.

Experimental Evaluation
The method presented in this analysis was applied on the Tripadvisor dataset that contains the recommended hotel to the user and involves a review of 235,793 hotels collected by Crawler in one month [63][64][65]. The ratings provided by users are between 1 and 5, and according to the type of dataset studied by TripAdvisor, the criteria and rating associated with TOPSIS have changed in the research, and the selection of criteria for scoring is based on qualitative criteria on the Tripadvisor site and is considered as Table 4 as follows: Also, in this dataset to select each hotel has been intended for some criteria, and the users' rating for hotels is according to Table 4 and these criteria. Hence, each hotel possesses an identification ID, and the criteria for hotels are as follows: 1. Business_Service 2. Service 3. Check in/front desk 4. Cleanliness 5. Location 6. Rooms 7. Value On the basis of these seven criteria, the algorithm is then applied and tries to identify hotels that are based on each of these criteria and have an appropriate ranking in each of them to recommend to users. The accuracy of the algorithm provided in this study is also compared with other recommended system algorithms, such as Content-Based (CB) Systems, Collaborative Filtering (CF) Standard, and Collaborative (CL) Systems Algorithms. [66], that contains several algorithms (called Tourism Recommender Systems related algorithms). According to the following criteria, the accuracy of the recommender system in the present article was investigated by CF standard, CL, and CB algorithms on the Tripadvisor dataset.
Ultimately, the authors evaluate two approaches and used precision, recall, and F1 measurements as recommended by Herlocker et al. to illustrate the efficacy of the proposed approach in recommending with the ABC & TOPSIS method and CF Standard and CL and CB for recommendation hotels (2004). The authors have therefore separated the ratings of each user on ABC & TOPSIS hotels into two main sets, the training set and the test set as used by Billsus and Pazzani (1998). On the training set, the model was trained, and then the test set was used to predict the Top-N hotels. In addition, the hotels were divided into two groups, irrelevant and relevant, to measure the accuracy and recall. The precision metric provides the probability that the hotel selected is relevant (Equation 18), and the recall metric provides the probability that the hotel selected would be selected (Equation 19). It is important to evaluate these two metrics together. The F1 measure that combines these two metrics can also be used as a single metric to evaluate the quality of recommendations, as suggested by Sarwar et al. [67].
In order to assess the accuracy of the recommender system for the provision of hotels to users on the basis of the above criteria, a cost matrix has been established, and the minimum number of points associated with the created user matrix has been specified. For this purpose, it should be regarded that if all fields get an outstanding ranking, the cost of the matrix is equivalent to (7 * 5 = 35), and this is the highest rating that can be earned by each matrix. The next high-quality criterion in the second of the maximum score is Very Good, with a score of 4, and the matrix cost is equal to (7 * 4 = 28) if all the metrics have a Very Good rating. The recommendations presented in this research are therefore based on two appropriate parameters for users, and on this basis, there are appropriate matrices that achieve the lowest score (28), and the score achieved in the matrix must be at least equal to 4 for both of the criteria. Correspondingly, the following rules in Table 5 give an acceptable matrix:

Rules for Relevant Hotel
As shown in Table 5, for providing recommendations hotels to users, there are acceptable matrices possessing all the features of that hotel or rated ('Very good' or 'Excellent')  or at least possess 4 points (every user chooses a feature as a search priority among hotels). Therefore, seven times the algorithm is executed according to the seven priorities in selecting each hotel, and the archived matrices are determined by applying the desired approaches, and then the accuracy of each of them is achieved in different runs. Accordingly, the findings are presented in Figures 7-9. It is obvious that the diagram created in the vertical column includes Generate Matrix, and in the horizontal column involves Precision, Recall, and F1 and each of which was according to user priorities and the created rule (Every Priority > = Very Good or points 4). The number of matrix production has been made for every single diagram in ranges of 100, 200, 400, 600, 800, and 1000, which means that in the first stage, 100 matrices and the second stage 200 and finally 1000 matrices produced and specified the number of generated matrices (based on percentage) with a bet (Every Priority > = Very Good or 4) and the precision of the matrices produced to provide the hotel to the users is measured and illustrated according to the users' priorities. The important point regarding the increase of the production of matrices was that with the increase in their product ranges, the accuracy of the matrices also increased, which shows the usefulness of the algorithm in offering recommendations to users in a large number.

Conclusion
Choosing a tourist destination to travel to is one of the hectic activities due to the numerous options travelers usually come across. There are various sorts of factors that should be considered to travel, ranging from activities to transportations, etc. Each traveler has special favors and preferences and usually faces many options. Thus, the uniform trip plan is not suitable for all kinds of tourists. A productive and customized system is essential to get some parameters via the user and offer an excellent choice for tourists to provide them a memorable trip. The present study provides a recommendation system to suggest an appropriate tourist destination for each type of visitors based on their preferences. This system works based on TOPSIS fuzzy model and the ABC algorithm. First of all, the TOPSIS model defines a positive ideal solution in the form of a matrix with four columns, which indicates a factor that includes in this study. By distributing online questionnaires on the Facebook website, the respondent was asked to put a value of each factor out of 10 scores. Therefore, the desired indicators and criteria are evaluated using the TOPSIS model and decision matrix, and the ideal points are detected and by converting qualitative values into quantitative to solve the problem, then the distance of other points or the same tourist places in each city to the ideal points is calculated.
After creating a matrix for every tourist's destination, the ABC algorithm started to search amongst destinations and recommend the best tourist spot to users. Conclusive results of the present investigation indicate a high performance of these algorithms. The proposed recommendation system would help travelers select the best tourist attraction in the cities based on their preferences.

Limitation and Future Work
In the present article, due to extensive tourist zones in Iran, the authors only selected the five most touristic cities; the number of cities can be increased in future research work since there are plenty of tourist cities and urban heritages in Iran that can be taken into account in future work. Another limitation of this research was about distributing the questionnaires. This task was done through online questionnaires within the Facebook website via several accounts for gathering data from users. Future works can be expanded through the survey method by an in-depth interview with travelers and make face-to-face questionnaires. Besides, future studies can focus on the relationship between touristic cities and recommend other tourist attractions between these cities; when travelers want to travel between two cities, the recommender system can suggest some tourist destinations around these cities based on user location and routing system. Actually, through making location graphs and neighborhood matrix, and the related algorithms, more tourist hot spots can be recommended to travelers, particularly in far distances. Hence, future works can boost our novel recommender system to enhance the results.

Disclosure statement
No potential conflict of interest was reported by the author(s).