Next Article in Journal
MHD Time-Periodic Plane Poiseuille Flow of Generalized Burgers Fluids through a Porous Medium
Previous Article in Journal
Practical Prescribed Tracking Control of n-DOF Robotic Manipulator with Uncertainties via Friction Compensation Approach
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

POI Route Recommendation Model Based on Symmetrical Naive Bayes Classification Spatial Accessibility and Improved Cockroach Swarm Optimization Algorithm

1
Institute of Culture and Tourism, Leshan Vocational and Technical College, Leshan 614000, China
2
Institute of Geospatial Information, Information Engineering University, Zhengzhou 450001, China
3
Center for Southeast Asian Economic and Culture Studies, Chengdu Normal University, Chengdu 611130, China
*
Authors to whom correspondence should be addressed.
Symmetry 2024, 16(4), 424; https://doi.org/10.3390/sym16040424
Submission received: 16 March 2024 / Revised: 28 March 2024 / Accepted: 1 April 2024 / Published: 3 April 2024
(This article belongs to the Special Issue Information Technologies and Electronics: Volume 3)

Abstract

:
The commonly used POI route recommendation methods usually ignore the effects of tourists’ interests and transportation geographical conditions, and so may not output the optimal results. To solve the problems, we propose a POI route recommendation model based on symmetrical Naive Bayes classification spatial accessibility (NBCSA) and an improved cockroach swarm optimization algorithm (ICSOA), aiming to recommend POI routes that satisfy tourists’ interests and have the lowest travel costs under tourism transportation geographical conditions. Using the historical POIs visited by tourists as the training set, we construct an improved symmetrical Naive Bayes classification algorithm (NBCA), and the POIs in the destination city are divided into categories by tourists’ preferences. Then we propose an improved NBCSA model to calculate the spatial accessibility field strength (SAFS) for each category’s POIs. Based on the recommended POIs, we propose the ICSOA to recommend optimal POI routes. The experiment verifies that the proposed algorithm can effectively classify the POIs and recommend POIs that best match the tourists’ interests and produce the lowest travel costs. Compared with the TCA and GDA method, the proposed algorithm can output the POI routes with lower travel costs and has higher algorithm execution efficiency. Among the output optimal routes, the proposed algorithm can reduce costs by 5.62% at the lowest and 52.25% at the highest.

1. Introduction

1.1. Research Background

POI route recommendation methods include collaborative filtering, association rule, knowledge-based, etc., which focus on the operation efficiency and accuracy of the algorithms. For POI route recommendation, the commonly used methods include extracting route information through the locations of the travel photos, tracing tourists’ GPS spatial trajectories, and recommending via travel logs and guides. The historical POI route information is directly recommended for tourists with similar interests. These methods have the following problems. First, the goal of recommending is not merely to improve the efficiency and accuracy of the algorithm, but also to satisfy tourists’ interests; the commonly used methods lack studies on user interests, resulting in poor matching between the recommendation results and the tourists’ interests. Second, the commonly used methods usually use evaluation scores as the criterion. It subjectively evaluates the feature attributes of POIs. Tourism activities are performed in a geospatial environment and are constrained by geospatial conditions; therefore, the spatial accessibility and distribution of POIs should also be considered. Third, POI route recommendation cannot only be considered as the mining of historical information. It does not consider POIs that conform to the tourists’ interests and the constraints of the geospatial environment, which causes deviations in route recommendations. Thus, POI route recommendation should combine the factors of tourists’ interests, POI feature attributes and tourism geospatial constraints.

1.2. Related Works

Scholars’ research on tourism and POI route recommendation mainly includes the following aspects.
(1)
Optimizing the recommendation algorithm. Chen et al. [1] studied the influence of power law distribution of long-tailed data on tourism recommendation results from a mathematical perspective. Zheng et al. [2] built a tourism recommendation model by using the neural network and matrix decomposition method to solve the information overload problem. Chen et al. [3] constructed a tourism recommendation model using the graph representation learning method and sequence mining, solving the problem of complex sequence semantics in tourism mining. Zheng et al. [4] proposed a recommendation algorithm based on user similarity, POI popularity and time context, which solved the problem of decreased user decision-making efficiency. Lin et al. [5] proposed a tourism recommendation method based on the constrained association rule algorithm. It obtained higher algorithm efficiency and made mining results more consistent with user needs. Cheng et al. [6] proposed a POI recommendation algorithm based on multidimensional feature clustering and user scoring. It solved the data sparsity problem.
(2)
Mining user interests based on historical data, browsing data and evaluation data, etc. Ahn Jinhyun et al. [7] proposed a tourism recommendation by users’ behavior of refreshing and browsing tourism websites. Hong et al. [8] used a multi-scale tensor model to construct a tourism recommendation model based on spatiotemporal data. They analyzed the travel data with spatiotemporal changes and used spatiotemporal trajectories as the basis for recommendation. Abbasi Moud Zahra et al. [9] constructed a tourism recommendation model based on semantic clustering and sentiment analysis, and tourist social networks were used to extract tourists’ interests. Jeong Chi Seo et al. [10] conducted data analysis based on tourist social networks, and used deep learning to mine data and set up a tourism recommendation system. Cui et al. [11] used sentiment intensity analysis and the TOPSIS sorting method to construct a recommendation algorithm based on user online comments. Cui et al. [12] proposed a tourism recommendation method based on user profiles. It obtained basic data and behavioral information of users and generated user profiles. On the aspect of big data application and optimization, Ahmed H. Almulihi et al. [13] used intelligent computing technology to mine and analyze big data, which obtained the factors and problems that cause data security risks and improved the data security. By evaluating the correctness of the dataset, a dynamic digital healthcare data breach environment using a fuzzy based computational technique was established. This study helps to provide a new method for utilizing tourism big data and protecting the security of tourism big data, which can guarantee the safety for tourists’ information.
(3)
Integrating tourism scene features such as POIs and geographic information for recommendation. Han Shanshan et al. [14] extracted spatiotemporal data from photos labeled with geographic information and recommended POIs based on geographic labels. Filipe Santos et al. [15] analyzed the functionality and accessibility of POIs, combining these with the physical and mental conditions of tourists, then constructed an individualized tourism recommendation system. Zhang et al. [16] set up a rural tourism recommendation model based on seasonal features and the geographic information extraction model. They analyzed the seasonal features of rural tourism and integrated geographic information factors.

1.3. Research Objectives and Algorithm Mechanism

1.3.1. Research Objectives

We propose a POI route recommendation model based on the symmetrical NBCSA and ICSOA. The aim is to recommend POIs and routes that not only satisfy tourists’ interests but also achieve optimal spatial distribution and minimize the travel costs. It solves three problems. (1) Feature attribute mining is conducted on the POIs that the tourists have once visited to obtain interest data. Based on the data criterion, the symmetrical Naive Bayes classification algorithm (NBCA) is set up for the classification on the POIs in the destination city. Thus, the classification on the POIs is completely based on tourists’ interests. (2) Under the geospatial constraints of the tourism destination, the model obtains the POIs with optimal spatial distributions and the lowest travel costs, and realizes a POI recommendation with the best-matched feature attributes and the lowest spatial costs. (3) Based on the recommended POIs, under the travel conditions and geospatial constraints, the improved cockroach swarm optimization algorithm (ICSOA) is designed to achieve the optimal solution, providing tourists with the lowest travel costs and the optimal routes.

1.3.2. Algorithm Mechanism

Figure 1 shows the modeling process of the proposed recommendation algorithm. The algorithm mechanism is as follows. Tourists firstly input the POIs they have visited before and classify their preferences. As to the classification of POIs and preferences, a training set X based on the historical POIs is established, which is used to construct a Naive Bayes classification algorithm (NBCA). In step ①, the text mining method is used to determine the feature vector L of the training set X , which stores the classification features of the NBCA. In step ②, in order to avoid the situation that a conditional probability gets to the value 0 when constructing the NBCA, a disturbance factor is introduced for the conditional probability, then an improved NBCA is established. The improved NBCA is used to classify the POIs in the destination city, and the classification results will match the interests and needs of tourists. In step ③, based on the classification results, a spatial accessibility field strength (SAFS) model is constructed to calculate the SAFS for each classified POI. Based on the calculation results, a classification POI recommendation algorithm based on the SAFS model is constructed to recommend the optimal POIs. In step ④, an improved cockroach swarm optimization algorithm (ICSOA) is constructed based on the recommended POIs and the urban geospatial environment. Finally, a POI route recommendation model based on the ICSOA is constructed.
The proposed POI route recommendation model can accurately recommend POIs and POI routes for different cultural contexts and user groups. The algorithm mechanism that is adapted to the users from different cultural contexts is as follows.
Firstly, as to the process of the tourism recommendation model in Figure 1, the goal of this algorithm is to recommend POIs and POI routes for a single user. After inputting interest needs from any cultural contexts and user groups, this algorithm can accurately match POIs based on user interests, and search for the optimal POI route based on the recommended POIs and geospatial conditions. When the tourists’ cultural contexts, the once-visited POIs and the preferences to the POIs change, the algorithm can still recommend relative POIs according to the dynamic input interest data, and then search for different optimal routes accordingly. That is, the recommendation results are always generated based on the tourists’ interests, which can fully match the tourists’ needs.
Secondly, the constructed NBCA in the recommendation model is a “filter” for different cultural contexts and user groups’ interest needs. Its “filtering” function is mainly manifested in the following aspects: (1) User groups with different cultural contexts have different perceptions and interests in the once-visited POIs and the POIs in the destination city. Therefore, when collecting the training set, users will initially categorize the POIs they have once visited based on their own perceptions and preferences. This step is a raw collection of user interests. (2) Based on different user interests, the feature labels are designed to establish quantitative feature labels and label data ranges for the NBCA. The trained classification algorithm is based on the users’ cultural contexts and interests, and thus, the classification on the POIs in the destination city is also based on the users’ cultural contexts and interests. The classification results are highly accurate.
Thirdly, tourists with different cultural contexts have different preferences for the starting points of POI routes, the types of POIs they expect to visit and the specific quantities of POIs to be visited. They also have different preferences for the spatial accessibilities and feature attributes of POIs. Therefore, the recommended POIs output by the classification results and the SAFS model are also different. The filtering mechanism of the SAFS model can adapt to the needs of users from different cultural contexts and recommend precise POIs based on their interests. In terms of POI route recommendation, tourists from different cultural contexts have different choices of transportation tools, perceptions of geospatial environments, scheduled travel times, and planned travel costs. The recommendation algorithm ultimately searches for the optimal POI route based on these constraints, and the results are also different. Therefore, in terms of the POI route recommendation mechanism, this algorithm can adapt to the interests of tourists from different cultural contexts, and search and recommend POI routes based on the individualized interests.

2. POI Recommendation Algorithm Based on the Symmetrical NBCSA

Previous experiences are the best source of interests, and historical interests have a symmetrical relationship with the current preferences of tourists. Tourists who have visited certain POIs will exhibit certain degrees of preferences. Obtaining and classifying the once-visited POIs by preferences can clarify the tourists’ interests, and then obtain the original training data set for constructing the classification model. The Naive Bayes algorithm has the advantages of high efficiency, accurate classification ability and suitability for small-scale data, making it suitable for POI classification [17,18]. Combined with POI feature attributes, the acquisition of classifier training data is improved. A classification algorithm incorporating a disturbance factor is proposed by using the preference classification and quantitative attributes of POIs as training data, which is used for the classification on the POIs in the destination city. Based on the classification results and geospatial constraints, the SAFS model is set up to search for the optimal POIs.

2.1. The Symmetrical NBCA Based on Tourists’ Interests

The symmetrical NBCA includes two aspects: the acquisition of the training data set and the foundation of the model. The training data set X is composed of the N number of once-visited POIs with preference classifications provided by tourists. Each sample POI x ( i ) has feature attributes. The training data set X is grouped into C ( i ) : { C ( 1 ) : favorite; C ( 2 ) : like; C ( 3 ) : dislike}. The feature attributes are obtained by text mining in the tourism encyclopedia big data [19].

2.1.1. The Foundation of the Feature Vector on Sample POI

The feature vector L of the sample POI x ( i ) contains the feature attributes of the POI, which is the symbol to distinguish it from other POIs. The feature vector L is composed of k number of feature labels l ( i ) , 0 < i k , i , k N , in which the number of text feature label to express feature attribute is k ( 1 ) , while the number of value labels to express tourism feature is k ( 2 ) . Based on the k ( 1 ) number of text feature labels, the text feature label matrix L ( i , j ) is set up as Formula (1). In the formula, l ( i , j ) is the No. j sub-label of the text label l ( i ) . Each sub-label l ( i , j ) represents a kind of text note for the text label group l ( i ) . By calculating the weight value for the text label group l ( i ) , the constraint ranges for the k ( 1 ) number of text feature labels in the vector L are confirmed.
L ( i , j ) = [ l ( 1 , 1 ) l ( 1 , 2 ) l ( 1 , p ) l ( 2 , 1 ) l ( 2 , 2 ) l ( 2 , p ) l ( k ( 1 ) , 2 ) l ( k ( 1 ) , p ) ]
Search for the | D | number of text documents of POI x ( i ) from the corpus in the encyclopedia and tourism service platform. Based on the feature label l ( i ) , count the occurrence number of each sub-label l ( i , j ) of l ( i ) in the | D | number of documents and get the initial value for the word frequency of TF l ( i ) . Calculate the weight values for all the labels l ( i ) by the TF–IDF. The process is shown as follows.
Step 1. Search and count the occurrence number of label l ( 1 ) in the matrix L ( i , j ) . Search and count the occurrence number of sub-label l ( 1 , j ) in the | D | number of documents, noted as n l ( 1 , j ) . Iterate until j = p + 1 and stop searching. Output n l ( 1 ) as Formula (2) shows.
n l ( 1 ) = j = 1 p n l ( 1 , j )
Step 2. Search and count the occurrence number of label l ( 2 ) in the matrix L ( i , j ) . Search and count the occurrence number of sub-label l ( 2 , j ) in the | D | number of documents, noted as n l ( 2 , j ) . Iterate until j = p + 1 and stop searching. Output n l ( 2 ) .
Step 3. In line with the Step 1–Step 2, search and count the occurrence number n l ( i ) of label l ( i ) in the matrix L ( i , j ) . Iterate until i = k ( i ) + 1 and stop searching. Output n l ( k ( 1 ) ) , 0 < i k ( 1 ) , i , k ( 1 ) Ν .
Step 4. Calculate the word frequency TF l ( i ) of label l ( i ) in the | D | number of documents as Formula (3).
TF l ( i ) = j = 1 p n l ( i , j ) i = 1 k ( 1 ) j = 1 p n l ( 1 , j )
Step 5. Calculate the inverse document frequency IDF l ( i ) and feature label weight TFIDF l ( i ) of label l ( i ) in the | D | number of documents, shown as Formulas (4) and (5). | { s : l ( i ) d s } | represents the occurrence number of documents with the label l ( i ) : { i , j ( 0 , p ] | l ( i , j ) } in the | D | number of documents.
IDF l ( i ) = log | D | | { s : l ( i ) d s } | + 1
TFIDF l ( i ) = TF l ( i ) × IDF l ( i )
The weight value TFIDF l ( i ) of l ( i ) is the quantization for the k ( 1 ) number of text labels of x ( i ) . Through the weight value TFIDF l ( i ) , the constraint ranges of k ( 1 ) number of text labels are confirmed. The quantization values for the other k ( 2 ) number of tourism attributes of x ( i ) are searched out or calculated from the tourism big data to confirm the constraint ranges. The 1 × k dimension vector which is composed of the weight values TFIDF l ( i ) of k ( 1 ) number of text labels and the quantization values of the k ( 2 ) number of tourism attributes is defined as the feature vector L of the POI x ( i ) . According to the modeling conditions of NBCA and the quantization values of feature vector L labels, convert each value into a value range and store them into the training data set.

2.1.2. The Symmetrical NBCA Based on Tourists’ Interests

As to arbitrary x ( i ) in the N number of POIs, it must relate to the label vector: { TFIDF l ( i ) , TEXT l ( i ) , C ( i ) }, in which TFIDF l ( i ) stands for the k ( 1 ) number of text feature label quantization ranges, TEXT l ( i ) stands for the k ( 2 ) number of tourism attribute label quantization ranges and C ( i ) stands for the preference categories of x ( i ) . The k number of feature labels in vector L are mutually independent, which conforms to the modeling conditions for the NBCA.
Set y ( i ) as the POI to be classified in the destination city. The classifying is to match the y ( i ) with the once-visited POIs x ( i ) as well as classifications C ( i ) . Through the classification algorithm, y ( i ) will be absorbed into C ( i ) with the highest calculation conditional probability. In this process, the tourists’ interests are set as the criterion to measure whether y ( i ) should be an interested POI. Suppose H is the assumption that the sample y ( i ) belongs to the category C ( i ) . Then the basic idea of the Bayes theorem is to calculate the conditional probability P ( C ( i ) | y ( i ) ) which makes the assumption H be true. Formula (6) is the Bayes posterior classification model.
P ( C ( i ) | y ( i ) ) = P ( y ( i ) | C ( i ) ) P ( C ( i ) ) P ( y ( i ) )
As to the interest preference category C ( i ) confirmed by tourists, 0 < i t , i , t N , the Naive Bayes classifier will predict that the sample y ( i ) belongs to the category with the highest posterior probability. Namely, as to the t number of categories C ( i ) in the sample space, the condition that the sample y ( i ) belongs to the category C ( i ) is when and only when P ( C ( i ) | y ( i ) ) > P ( C ( j ) | y ( i ) ) , 0 < i , j t , i j . At this time, the category C ( i ) with the highest posterior probability P ( C ( i ) | y ( i ) ) is the maximum posterior assumption. The improved NBCA to classify the sample y ( i ) in the destination city is designed as follows.
Step 1. As to the Bayes posterior classification model, the probability P ( y ( i ) ) of the sample y ( i ) is a constant value to each category C ( i ) . Convert the issue of calculating P ( C ( i ) | y ( i ) ) in the Bayes posterior classification model to calculating the P ( y ( i ) | C ( i ) ) P ( C ( i ) ) , which is defined as the conversion value δ ( y ( i ) ) .
Step 2. Based on the N number of x ( i ) and categories set by the tourists, the feature label vector for each sample x ( i ) is obtained as L : { TFIDF l ( i ) , TEXT l ( i ) , C ( i ) }. The quantity of sample POI x ( i ) for each category C ( i ) is s ( i ) and the total quantity of the sample x ( i ) is S . The probability for each sample’s classification is different, calculated by Formula (7).
P ( C ( i ) ) = s ( i ) s
Step 3. Continue to calculate P ( y ( i ) | C ( i ) ) . Since the attributes in the vector L are mutually independent, the calculation method of P ( y ( i ) | C ( i ) ) is designed as Formula (8). The P ( l ( k ) | C ( i ) ) is evaluated by the training samples. Since the sample’s feature attributes l ( k ) are all discrete values, the calculation method of P ( l ( i ) | C ( i ) ) is designed as Formula (9), in which s ( i , k ) is the quantity of the training samples that contains l ( k ) in category C ( i ) and s ( i ) is the quantity of samples in category C ( i ) . According to the attribute labels and actual tourism conditions, the situation of s ( i , k ) = 0 may occur on the label l ( k ) . Introduce the disturbance factor ε as the adjustment for the label l ( k ) when its quantity is 0, designed as Formula (10).
P ( y ( i ) | C ( i ) ) = k = 1 n P ( l ( k ) | C ( i ) )
P ( l ( k ) | C ( i ) ) = s ( i , k ) s ( i )
P ( y ( i ) | C ( i ) ) ε Δ = k = 1 n ( s ( i , k ) s ( i ) + ε )
Step 4. Calculate the conversion value δ ( y ( i ) ) of the Bayes posterior classification model. The C ( i ) with the maximum value max δ ( y ( i ) ) is the category that the sample y ( i ) belongs to. Store the probability value.

2.2. POI Recommendation Algorithm Based on NBCSA

As to the m number of POIs in the destination city, set the quantity of POIs that are grouped into C ( i ) as m ( i ) . POIs are distributed in the geospatial environment, and not all the POIs are optimal in spatial distribution; thus, the spatial feature is the key to determining travel costs [20,21,22]. The SAFS model is constructed to calculate spatial accessibility and recommend the POIs with the best-matched attributes and the optimal spatial distribution.

2.2.1. SAFS Model of the Naive Bayes Classification

Tourists start trips at certain initial points S . POIs have spatial attributes such as latitude, longitude, spatial distance, etc. Confined by geospatial conditions, the process of traveling from the initial point S to the POI y ( i ) will be hindered by the space and the time. The weaker the hindrance is, the higher the spatial accessibility of y ( i ) will be, and the lower the travel costs will be. Constructing SAFS is the key to quantifying the spatial distributions for the POIs.
Definition 1. 
Research domain spatial grid  G . As to the research scope, design a spatial range  ϕ with length   L and width   W to cover the whole domain. Divide the   ϕ into   u × v number of unit grids   g ( x , y ) and each grid represents the internal micro-region of the destination city.  x and  y represent the coordinates of the grid  g ( x , y ) . The spatial location for  y ( i ) is the spatial coordinate  L y ( i ) = ( x ( y ( i ) ) , y ( y ( i ) ) ) .
Definition 2. 
SAFS of  A ( y ( i ) , S ) and  A ( y ( i ) , S ) based on the spatial grid  G . The absolute SAFS of  A ( y ( i ) , S ) represents the space and time hindrance between the initial point  S and the POI  y ( i ) . Set the  S coordinate as  L S = ( x ( S ) , y ( S ) ) . A ( y ( i ) , S ) is constructed as Formula (11), and  ζ ( 0 ) is the normalization coefficient. Introduce the relative SAFS of  A ( y ( i ) , S ) , namely, the ratio between the absolute SAFS of  y ( i ) and  S to the sum of the absolute SAFS of other samples  y ( i ) and  S , shown as Formula (12).
A ( y ( i ) , S ) = ζ ( 0 ) × 1 | x ( y ( i ) ) x ( S ) | 2 + | y ( y ( i ) ) y ( S ) | 2
A ( y ( i ) , S ) = A ( y ( i ) , S ) i = 1 m A ( y ( i ) , S )
Definition 3. 
POI SAFS matrix  A ( x , y ) . Based on the  u × v number of unit grids  g ( x , y ) contained in the grid  G of the spatial range  ϕ , set a  u × v -dimension matrix with the initial element of the unit grid  g ( x , y ) at the origin point of the coordinates  X Y G . The matrix is used to store  A ( y ( i ) , S ) of  y ( i ) and is defined as the POI SAFS matrix  A ( x , y ) . According to the definition, the matrix element meets the condition of Formula (13).
A ( x , y ) = { 0 , y ( i ) g ( x , y ) A ( y ( i ) , S ) , y ( i ) g ( x , y ) )
Definition 4. 
POI SAFS of  Φ . Take the POI SAFS matrix  A ( x , y ) as the base and build a three-dimensional spatial field visualization model; this model is defined as the POI SAFS of  Φ . Figure 2 is the modeling process of the POI SAFS. Figure 2a shows the research domain, Figure 2b shows the spatial range, Figure 2c shows the spatial grid, Figure 2d shows the spatial coordinates, Figure 2e shows the spatial accessibility coordinates and Figure 2f shows the spatial accessibility field strength.

2.2.2. POI Recommendation Algorithm Based on the SAFS Model

The recommendation of POI in real-world tourism scenarios should comprehensively consider the tourists’ interests and the spatial optimality of POIs, so that the POIs not only meet tourists’ interests, but also minimize the travel costs. The POI recommendation algorithm based on the SAFS model is established as follows, and Figure 3 shows the modeling process.
Step 1. Set up the recommendation matrix R ( C ( i ) ) for the category C ( i ) .
In this step, the matrix R ( C ( i ) ) meets the following conditions:
(1)
The dimension of R ( C ( i ) ) is r × max m ( i ) .
(2)
The symbol r represents the number of the category C ( i ) .
(3)
The symbol m ( i ) represents the quantity of POIs in the category C ( i ) after classifying.
(4)
The No. i row stores POIs of C ( i ) . The No. j column stores the No. j POI in C ( i ) .
(5)
If the element in the matrix does not store POI, it is set as element number 0.
(6)
In the matrix, the arbitrary rows i and i , and the arbitrary columns j and j , are all nonlinear correlated.
(7)
The row rank meets the condition r a n k ( R ( C ( i ) ) ) r o = r .
(8)
The column rank meets the condition r a n k ( R ( C ( i ) ) ) c o = max m ( i ) .
Step 2. Set up the spatial grid G of the research domain ϕ .
(1)
Form the u × v dimension unit grids for the grid G .
(2)
Confirm the coordinates L y ( i ) = ( x ( y ( i ) ) , y ( y ( i ) ) ) for each POI y ( i ) in category C ( i ) in the grid G , 0 < i m , i , m Ν .
(3)
The coordinates of all the POIs in r number of categories are confirmed.
Step 3. Calculate the spatial accessibility field strength (SAFS) for POIs.
(1)
Confirm the initial point S , and set its coordinate L S = ( x ( S ) , y ( S ) ) in the grid G .
(2)
Calculate the SAFS A ( y ( i ) , S ) for all the POIs y ( i ) in categories C ( i ) .
(3)
Generate the SAFS matrix A ( x , y ) and SAFS model Φ .
Step 4. Set up the recommendation vector r ( C ( i ) ) for category C ( i ) . The dimension of the vector is 1 × m ( i ) and it contains m ( i ) number of elements.
Step 5. Make a judgement on the attribute and SAFS for C ( i ) . δ ( y ( i ) ) is the Naive Bayes conversion value; A ( y ( i ) , S ) is the SAFS.
Step 6. Introduce the tourist need weight ε ( x ) and recommendation index σ ( y ( i ) ) .
(1)
Define ε ( 1 ) as the factor to confine δ ( y ( i ) ) , which measures the preferences of the tourists on the POI attributes.
(2)
Define ε ( 2 ) as the factor to confine A ( y ( i ) , S ) , which measures the preferences of the tourists on the POI spatial accessibilities.
(3)
For the two factors ε ( 1 ) and ε ( 2 ) , the higher the value is, the more likely the tourists prefer the factor.
(4)
The constraint is set as ε ( 1 ) + ε ( 2 ) = 1 .
(5)
The recommendation index model is designed as Formula (14).
σ ( y ( i ) ) = ε ( 1 ) δ ( y ( i ) ) + ε ( 2 ) A ( y ( i ) , S )
Step 7. Tourists provide ε ( x ) . Calculate σ ( y ( i ) ) of POIs in categories C ( i ) , and form full-ranked r ( C ( i ) ) .
(1)
Extract from the No.1 row C ( 1 ) the No.1 element C ( 1 , 1 ) and No.2 element C ( 1 , 2 ) . Make a judgement.
(i)
If σ ( C ( 1 , 1 ) ) > σ ( C ( 1 , 2 ) ) :
The σ ( y ( i ) ) of C ( 1 , 1 ) is higher than C ( 1 , 2 ) . Store C ( 1 , 1 ) and C ( 1 , 2 ) into the No.1 and No.2 elements r ( 1 ) and r ( 2 ) in r ( C ( i ) ) .
(ii)
If σ ( C ( 1 , 1 ) ) σ ( C ( 1 , 2 ) ) :
The σ ( y ( i ) ) of C ( 1 , 2 ) is higher than C ( 1 , 1 ) . Store C ( 1 , 2 ) and C ( 1 , 1 ) into the No.1 and No.2 elements r ( 1 ) and r ( 2 ) in r ( C ( i ) ) .
(2)
Extract the No.3 element C ( 1 , 3 ) and make a judgement.
(i)
If σ ( C ( 1 , 1 ) ) > σ ( C ( 1 , 2 ) ) :
① If σ ( C ( 1 , 1 ) ) > σ ( C ( 1 , 2 ) ) σ ( C ( 1 , 3 ) ) , keep C ( 1 , 1 ) and C ( 1 , 2 ) ; store C ( 1 , 3 ) into r ( 3 ) .
② If σ ( C ( 1 , 1 ) ) σ ( C ( 1 , 3 ) ) > σ ( C ( 1 , 2 ) ) , store C ( 1 , 2 ) into r ( 3 ) ; store C ( 1 , 3 ) into r ( 2 ) .
③ If σ ( C ( 1 , 3 ) ) > σ ( C ( 1 , 1 ) ) > σ ( C ( 1 , 2 ) ) , store C ( 1 , 3 ) , C ( 1 , 1 ) and C ( 1 , 2 ) into r ( 1 ) , r ( 2 ) and r ( 3 ) .
(ii)
If σ ( C ( 1 , 1 ) ) σ ( C ( 1 , 2 ) ) :
① If σ ( C ( 1 , 3 ) ) < σ ( C ( 1 , 1 ) ) σ ( C ( 1 , 2 ) ) , keep C ( 1 , 1 ) and C ( 1 , 2 ) ; store C ( 1 , 3 ) into element r ( 3 ) .
② If σ ( C ( 1 , 1 ) ) σ ( C ( 1 , 3 ) ) σ ( C ( 1 , 2 ) ) , store C ( 1 , 1 ) into r ( 3 ) ; store C ( 1 , 3 ) into r ( 2 ) .
③ If σ ( C ( 1 , 1 ) ) σ ( C ( 1 , 2 ) ) < σ ( C ( 1 , 3 ) ) , store C ( 1 , 3 ) , C ( 1 , 2 ) and C ( 1 , 1 ) into r ( 1 ) , r ( 2 ) and r ( 3 ) .
(3)
In line with Step (1)–Step (2), continue searching the No. j element ( C ( 1 , j ) ) .
(i)
Calculate the σ ( C ( 1 , j ) ) .
(ii)
Descend to store the index σ ( C ( 1 , j ) ) into vector r ( C ( 1 ) ) .
(iii)
The stop searching condition is j = m ( i ) + 1 .
(iv)
When the searching stops, output the full-ranked vector r ( C ( 1 ) ) .
(4)
Continue searching the other category rows C ( i ) . Output the full-ranked vector r ( C ( i ) ) . Traverse i ~ ( 0 , r ] , i , r N .
Step 8. Output all vectors r ( C ( i ) ) for categories C ( i ) .
(1)
In vector r ( C ( i ) ) , the front-end elements have the higher recommendation index σ ( y ( i ) ) , and will be preferentially recommended.
(2)
According to the actual needs of tourists, w number of optimal POIs in categories C ( i ) will be taken as the tour route nodes to be visited.

3. POI Route Recommendation Model Based on the ICSOA

3.1. Modeling Principle

The POI route algorithm should be constructed on the recommended POIs. Tourists start from the points S and visit the w number of POIs. The tour will be influenced by several factors: transportation mode, travel distance, travel time, travel fee. It is necessary to find out the POI routes with the lowest costs. Thus, the modeling problem converts to the searching for an optimal route conforming to the geospatial conditions and passing through all POIs [23,24,25]. The cockroach swarm optimization algorithm (CSOA) is an excellent algorithm that can search for the global optimal solution [26,27]. We analyze the need and necessity of using the CSOA to construct a POI route recommendation model and the idea of optimizing the tourism recommendation model from the aspects of the algorithm characteristics, the algorithm execution principles and the route searching scenarios based on geospatial environment.
(1)
The need and necessity of the algorithm
Firstly, the route searching algorithm is divided into two parts: interval local searching and global searching. Local searching is to find out the optimal route between two POIs, passing through road nodes. Global searching is to find out the optimal route through all POIs based on the local searching. There are many road nodes and POIs in urban geographic space, so it is necessary to choose a certain intelligent algorithm with fast computation speed, rapid convergence speed, and the ability to search for the global optimal solutions. The CSOA can meet this requirement.
Secondly, as to the interval local searching, the CSOA achieves the step size transformation through a 2-opt approach, forming new cockroach individuals. The calculation process for the generation cost of each cockroach individual is a linear superposition on the spatial cost between two road nodes, and the calculation speed is fast. The process of searching for the optimal cockroach individual involves traversing a certain number of steps and combining them with the sorting algorithm. The maximum amount of its computation is the factorial calculation, with low time complexity and fast convergence. Therefore, the CSOA is very suitable for the interval shortest distance calculation involving multiple road nodes and is suitable for the interval local searching.
Thirdly, as to the global searching, when traversing all the POIs, the CSOA achieves step size transformation through a 2-opt approach, forming new cockroach individuals. The calculation process for the generation cost of each cockroach individual is a linear superposition on the spatial cost between two POIs, and the computational speed is fast. The process of searching for the optimal cockroach individual is still a combination of the factorial operation and sorting algorithm, with low time complexity and fast convergence. Therefore, the CSOA is suitable in searching for the global optimal solution that includes all POIs.
Fourthly, compared to the other optimization algorithms that are prone to falling into local optimal solutions, the CSOA has a homing strategy that can jump out of the local optimal solution and ultimately search for the global optimal solution. Therefore, it is very suitable in searching for the global optimal route passing through all POIs.
(2)
The application to optimize POI route recommendation model
Firstly, traditional POI route recommendation methods use historical big data, and directly recommend routes previously visited by tourists with similar interests to current tourists, or determine tourists’ preferences and recommend similar routes based on the GPS trajectories on POIs visited by tourists. These methods are not based on the interests of current tourists, and they directly recommend routes visited by historical tourists, which does not conform to the current tourism scenarios and tourists’ interests. The constructed CSOA can solve this problem. The algorithm is based on the current tourists’ tourism scenarios and geographic information conditions, aiming to match the tourist interests. Finally, all the POIs on the route meet the tourists’ interests, which improves the accuracy of the recommended routes.
Secondly, the goal of the ICSOA is to find out the optimal route between two POIs and the global optimal route passing through all POIs. The algorithm is based on the current geospatial data and the constraints on the travel costs. It performs the route-searching steps under the condition of the selected transportation mode. The final searched POI route is the route with the lowest costs, which can save travel costs and improve tourists’ satisfaction.
Thirdly, compared to the other POI route planning algorithms such as the Dijkstra algorithm and A* algorithm, the ICSOA has fast convergence speed and low time complexity. Its homing strategy can jump out of the local optimal solutions and ultimately find out the global optimal solution, relating to the optimal POI route.
Based on the above analysis, in this section, an ICSOA that fuses geospatial constraints is proposed. It can output POI routes that best match tourists’ interests and have the lowest travel costs under the selected transportation mode. Cockroach crawling is used to search for the shortest path in the sub-interval and confirm the pass hindrance factors. The factors are used to establish the sub-interval hindrance function, based on which the interval hindrance function is designed. Then the cockroach crawling is used to search for the optimal solution of the interval hindrance function to recommend the optimal route with the lowest travel costs.

3.2. Modeling Process

3.2.1. Related Definition

Definition 5. 
Cockroach crawling interval   C r ( S , t ( x ) ) and cockroach crawling sub-interval  C r ( t ( i ) , t ( j ) ) . Set the  w number of POIs as  t ( i ) ,  0 < i w ,  i , w N . The interval between the initial point  S and the terminal POI   t ( x ) forms a complete route, and this interval is defined as the cockroach crawling interval  C r ( S , t ( x ) ) ,  0 < x w ,  x , w N . Tourists traveling from point  t ( i ) to  t ( j ) will pass several road nodes. This traveling interval is defined as the cockroach crawling sub-interval  C r ( t ( i ) , t ( j ) ) . In  C r ( S , t ( x ) ) , the cockroach is noted as  Z ( a , h ) , which represents a POI route. In  C r ( t ( i ) , t ( j ) ) , the cockroach is noted as  Z ( b , s ) , which represents a path between the point  t ( i ) and  t ( j ) .
Definition 6. 
Control node  V ( i ) in  C r ( t ( i ) , t ( j ) ) . In  C r ( t ( i ) , t ( j ) ) , the road node that the tourists pass is defined as the control node  V ( i ) . The set  { V ( i ) } determines the path in  C r ( t ( i ) , t ( j ) ) . Under different transportation modes, the shortest path in the same  C r ( t ( i ) , t ( j ) ) may pass through different control nodes  V ( i ) .
Definition 7. 
Cockroach crawling sub-interval hindrance factor  ζ ( i ) . Tourists traveling in  C r ( t ( i ) , t ( j ) ) will be influenced by the transportation mode, travel distance, travel time and travel fee. A factor that will influence the travel costs is defined as the cockroach crawling sub-interval hindrance factor  ζ ( i ) . Set the travel fee in the sub-interval as  F ( t ( i ) , t ( j ) ) , the travel distance as  D ( t ( i ) , t ( j ) ) , the travel time as  T ( t ( i ) , t ( j ) ) ; the calculation method for the sub-interval hindrance factor  ζ ( i ) is designed as Formula (15).
ζ ( 1 ) = 1 F ( t ( i ) , t ( j ) ) ,   ζ ( 2 ) = 1 D ( t ( i ) , t ( j ) ) ,   ζ ( 3 ) = 1 T ( t ( i ) , t ( j ) )
Definition 8. 
Cockroach crawling sub-interval hindrance function  f ( t ( i ) , t ( j ) ) ( k ) and cockroach crawling interval hindrance function  f ( S , t ( x ) ) . The travel cost function generated in the process of tourists’ traveling from the point  t ( i ) to  t ( j ) in the sub-interval  C r ( t ( i ) , t ( j ) ) is defined as the cockroach crawling sub-interval hindrance function  f ( t ( i ) , t ( j ) ) ( k ) . k represents the code for the current sub-interval,  0 < k w ,  k , w N ;  w is the number of POIs. The travel cost function generated in the process of tourists’ traveling from the initial point  S to the terminal POI  t ( x ) in  C r ( S , t ( x ) ) is defined as the cockroach crawling interval hindrance function  f ( S , t ( x ) ) . The functions  f ( t ( i ) , t ( j ) ) and  f ( S , t ( x ) ) are constructed as Formulas (16) and (17).
f ( t ( i ) , t ( j ) ) ( k ) = i = 1 max i ζ ( i )
f ( S , t ( x ) ) = k = 1 w f ( t ( i ) , t ( j ) ) ( k )
Definition 9. 
Cockroach crawling interval step size   S t e p ( t ( i ) , t ( j ) ) and cockroach crawling sub-interval step size  S t e p ( V ( i ) , V ( j ) ) . In  C r ( S , t ( x ) ) , a cockroach crawling for one time is called the cockroach crawling interval step size  S t e p ( t ( i ) , t ( j ) ) . In  C r ( t ( i ) , t ( j ) ) , a cockroach crawling for one time is called cockroach crawling sub-interval step size  S t e p ( V ( i ) , V ( j ) ) . A step size performs a 2-opt operation.
Definition 10. 
Cockroach crawling interval path  P a t h ( S , t ( x ) ) and cockroach crawling sub-interval path  P a t h ( t ( i ) , t ( j ) ) . The path formed by a cockroach crawling for  p times of step size  S t e p ( t ( i ) , t ( j ) ) is defined as the cockroach crawling interval path  P a t h ( S , t ( x ) ) . The path formed by a cockroach crawling for  q times of step size  S t e p ( V ( i ) , V ( j ) ) is defined as the cockroach crawling sub-interval path  P a t h ( t ( i ) , t ( j ) ) . Formulas (18) and (19) are the calculation methods for  P a t h ( S , t ( x ) ) and  P a t h ( t ( i ) , t ( j ) ) .
P a t h ( S , t ( x ) ) = u = 1 p S t e p ( t ( i ) , t ( j ) ) ( u )
P a t h ( t ( i ) , t ( j ) ) = u = 1 q S t e p ( V ( i ) , V ( j ) ) ( u )

3.2.2. Modeling Process

The ICSOA is set up as follows.
Step 1. As to the initial point S and the w number of POIs t ( i ) , form w number of C r ( t ( i ) , t ( j ) ) .
Step 2. Confirm the g number of control nodes V ( i ) in the sub-interval C r ( t ( i ) , t ( j ) ) .
Step 3. Search for the optimal solution in the C r ( t ( i ) , t ( j ) ) and output optimal D ( t ( i ) , t ( j ) ) in each C r ( t ( i ) , t ( j ) ) .
(1)
Initialize the cockroach individuals Z ( a , h ) .
(i)
Initialize the node distances d = { V ( i ) , V ( j ) } , 0 < i , j g , i , j , g N .
(ii)
Search g ( i ) number of nodes V ( i ) from t ( i ) to t ( j ) in C r ( t ( i ) , t ( j ) ) , 0 < g ( i ) g .
(iii)
Initialize Z ( a , h ) , D ( t ( i ) , t ( j ) ) ( h ) ( h = 1 , 2 , 3 , , m ).
(iv)
Randomly select cockroach Rand ( Z ( a , h ) ) ~ Z ( a , h 1 ) as a target solution.
(2)
All the Z ( a , h ) crawl to Z ( a , h 1 ) by S t e p ( V ( i ) , V ( j ) ) .
(i)
The path is P a t h ( t ( i ) , t ( j ) ) ( h ) .
(ii)
When the m 1 number of cockroaches crawl to Z ( a , h 1 ) , if there exists a better D ( t ( i ) , t ( j ) ) ( h ) relating to Z ( a , h 2 ) , replace Z ( a , h 1 ) by Z ( a , h 2 ) .
(3)
All the cockroaches go back to nest, namely the initial status.
(i)
Set Z ( a , h 2 ) as a new target solution.
(ii)
All the Z ( a , h ) crawl to Z ( a , h 2 ) by S t e p ( V ( i ) , V ( j ) ) .
(iii)
The path is P a t h ( t ( i ) , t ( j ) ) ( h ) .
(iv)
When the m 1 number of cockroaches crawl to Z ( a , h 2 ) , if there exists a better D ( t ( i ) , t ( j ) ) ( h ) relating to Z ( a , h 3 ) , replace Z ( a , h 2 ) by Z ( a , h 3 ) .
(4)
Repeat Step 3(1)–Step 3(3) until reach the status when cockroaches crawl to and reach the current optimal Z ( a , h ) opt ; the searched optimal solution Z ( a , h ) opt is always unchanging. The searching ends.
(5)
Output the stable optimal Z ( a , h ) opt , and the related D ( t ( i ) , t ( j ) ) ( h ) is the travel distance for C r ( t ( i ) , t ( j ) ) .
Step 4. Based on the D ( t ( i ) , t ( j ) ) ( h ) , calculate the hindrance factor ζ ( i ) of C r ( t ( i ) , t ( j ) ) and hindrance function value f ( t ( i ) , t ( j ) ) ( k ) , k is the code for the current sub-interval.
Step 5. Search the hindrance function value f ( S , t ( x ) ) relating to the optimal solution for C r ( S , t ( x ) ) .
(1)
Initialize the cockroach individuals Z ( b , s ) .
(i)
Initialize the hindrance function value f ( t ( i ) , t ( j ) ) ( k ) for the sub-intervals, 0 < k w , k , w N .
(ii)
Initialize Z ( b , s ) ( s = 1 , 2 , 3 , , n ), f ( S , t ( x ) ) ( h ) ( h = 1 , 2 , 3 , , n ).
(iii)
Randomly select cockroach Rand ( Z ( b , s ) ) ~ Z ( b , s 1 ) as the target solution.
(2)
All the Z ( b , s ) crawl to Z ( b , s 1 ) by S t e p ( t ( i ) , t ( j ) ) .
(i)
The path is P a t h ( S , t ( x ) ) ( h ) .
(ii)
When the n 1 number of cockroaches crawl to Z ( b , s 1 ) , if there exists a better f ( S , t ( x ) ) ( h ) relating to Z ( b , s 2 ) , replace the Z ( b , s 1 ) by Z ( b , s 2 ) .
(3)
All the cockroaches go back to nest, namely the initial status.
(i)
Set Z ( b , s 2 ) as a new target solution.
(ii)
All the Z ( b , s ) crawl to Z ( b , s 2 ) by S t e p ( t ( i ) , t ( j ) ) .
(iii)
The path is P a t h ( S , t ( x ) ) ( h ) .
(iv)
When the n 1 number of cockroaches crawl to Z ( b , s 2 ) , if there exists a better f ( S , t ( x ) ) ( h ) relating to Z ( b , s 3 ) , replace the Z ( b , s 2 ) by Z ( b , s 3 ) .
(4)
Repeat Step 5(1)–Step 5(3) until get to the status when cockroaches crawl to and reach the current optimal Z ( b , s ) opt , the searched optimal solution Z ( b , s ) opt is always unchanging. The searching process ends.
(5)
Output the optimal Z ( b , s ) opt . The related f ( S , t ( x ) ) ( h ) stands for the lowest travel costs for C r ( S , t ( x ) ) .
Step 6. Output the route with the optimal hindrance function value f ( S , t ( x ) ) ( h ) as the optimal POI route for recommendation.
Figure 4 is the constructed POI route recommendation algorithm based on ICSOA. Figure 4A shows the specific algorithm steps for the sub-interval, Figure 4B shows the specific algorithm steps for the interval, Figure 4C shows the flow chart of the constructed algorithm.

3.3. The Analysis on the Algorithm

The proposed POI route recommendation model based on ICSOA consists of the NBCA, the SAFS model and the CSOA model. Among them, the NBCA and the SAFS model are the foundation. Based on the modeling ideas, the key factors influencing algorithm accuracy and efficiency are analyzed as follows.
(1)
The improved NBCA aims to mine the tourists’ interests based on the POIs they have visited before and classify the POIs in the destination city based on their interests. Therefore, the accuracy of classification depends on the selection of feature labels in the training set and the quantified range values of the feature labels. The closer the feature labels are to the tourists’ interests, the more accurate the range values of feature labels calculated by text mining, and the more accurate the final classification results will be, which will better match the tourists’ interests. Meanwhile, the selected feature labels must be independent to ensure the stability of the algorithm. The NBCA has a very stable efficiency, simple execution mechanism and low time complexity, and is suitable for the small-scale data classification. In the process of algorithm modeling, the collected training sets and the POI sets to be classified are all small-scale datasets, so the algorithm has high computational efficiency.
(2)
The goal of the SAFS is to find out the optimal POIs from the already classified ones. The factors that determine the accuracy of the SAFS model are the coordinates of the starting points and the POIs. The spatial accessibility and feature attributes have a decisive impact on the accuracy of POI recommendation. We define weights ε ( 1 ) and ε ( 2 ) , representing tourists’ preferences for spatial accessibilities and feature attributes. The higher the weight is, the more emphasis the tourists will lay on certain conditions, which directly affects the final recommendation results.
(3)
The ICSOA generates new individuals by changing the step size. The algorithm searching for the optimal route includes two parts: interval searching and global searching. When searching between two POIs, the key factor affecting the optimal path is the distance between road nodes, which determines the travel time and cost, and ultimately determines the individual costs of cockroaches. The key factor affecting the optimal route in global searching is the travel costs between POIs. Therefore, determining road nodes and distances, as well as the cost of path between POIs, is the key to the algorithm accuracy. The ICSOA adopts the 2-opt idea when searching for individual costs of cockroaches. The time complexity of searching for the better solutions that replace previous cockroach individuals is not higher than that of factorial operation; thus, the computational speed is very fast. The algorithm constantly replaces cockroach individuals and searches for the global optimal solution; thus, it has a time complexity not higher than that of the sorting algorithm, and the computational speed is also very fast. Therefore, the key factors affecting algorithm efficiency are the quantity of road nodes and POIs. Since the set of road nodes between two POIs and the set of POIs to be visited are both small datasets, the algorithm convergence speed will be very fast. It can quickly output the global optimal solution and recommend the optimal POI route for tourists.

4. Experiment and Result Analysis

We designed an experiment to testify the proposed algorithm. The experimental area is the downtown of Chengdu. The experimental subjects are two visitors who come to Chengdu. The experiment studies the algorithm in five aspects: (1) Naive Bayes classification results; (2) SAFS; (3) POI recommendation results; (4) POI route recommendation results; (5) the comparison with the commonly used route plan methods.

4.1. Experimental Conditions and Materials

(1)
Tourist A and Tourist B both provide 10 once-visited POIs and make judgements on preferences, C ( i ) : { C ( 1 ) : favorite; C ( 2 ) : like; C ( 3 ) : dislike}.
(2)
Tourist A starts the trip from “Tianfu Square”; Tourist B starts the trip from “Chengdu Railway Station”.
(3)
Choose 20 POIs in Chengdu. The feature attributes are l ( 1 ) : natural view; l ( 2 ) : humanity and history; l ( 3 ) : consumption and shopping; l ( 4 ) : amusement and sports. From tourism big data, obtain sub-labels l ( i , j ) for each label l ( i ) .
(4)
Take 50 text documents to calculate weight TFIDF l ( i ) . The tourism attributes are l ( 5 ) : entrance ticket fee (¥ CNY); l ( 6 ) : visiting time (hour); l ( 7 ) : attraction index.
Table 1 shows the results of weights TFIDF l ( i ) and tourism attribute weights on the POIs provided by Tourists A and B. Table 2 shows the designed value ranges for NBCA. In the table, T A ( 1 ) : The Summer Palace, T A ( 2 ) : Disneyland, T A ( 3 ) : Hangzhou West Lake, T A ( 4 ) : The Palace Museum, T A ( 5 ) : Yellow Crane Tower, T A ( 6 ) : Juzizhou Island, T A ( 7 ) : Tang Paradise, T A ( 8 ) : Dianchi Lake, T A ( 9 ) : Pingyao Ancient City, T A ( 10 ) : Gulangyu Islet, T B ( 1 ) : Yuyan Garden, T B ( 2 ) : Wuhan East Lake, T B ( 3 ) : Yanta Square, T B ( 4 ) : Huangguoshu Waterfall, T B ( 5 ) : Shaanxi Museum, T B ( 6 ) : The Imperial Palace of Shenyang, T B ( 7 ) : Hangzhou West Lake, T B ( 8 ) : The Longmen Grottoes, T B ( 9 ) : Tengwang Pavilion, T B ( 10 ) : Leshan Grand Buddha.
Chengdu POIs are: T u ( 1 ) : Temple of Marquis, T u ( 2 ) : Kuanzhai Alley, T u ( 3 ) : The People’s Park T u ( 4 ) : Du Fu Thatched Cottage, T u ( 5 ) : Chunxi Road, T u ( 6 ) : Donghu Park, T u ( 7 ) : Chengdu Happy Valley, T u ( 8 ) : Panda Base, T u ( 9 ) : Eastern Suburb Memory, T u ( 10 ) : Qinglong Lake Wetland, T u ( 11 ) : Jincheng Lake, T u ( 12 ) : San Sheng Flower Town, T u ( 13 ) : Wenshu Temple, T u ( 14 ) : Qingyang Palace, T u ( 15 ) : Jinsha site, T u ( 16 ) : Jinli Street, T u ( 17 ) : Sichuan Museum, T u ( 18 ) : Tazishan Park, T u ( 19 ) : Fenghuang Mountain, T u ( 20 ) : Chengdu Zoo.

4.2. Experimental Results and Analysis

4.2.1. Classification Results and Analysis

(1)
POI attribute label weight and classification results
Calculated by the improved NBCA, Chengdu POIs are grouped into three categories by tourists’ interests. Table 3 shows the feature attribute weights TFIDF l ( i ) and tourism attribute weights. Table 4 shows the calculated Bayes conditional probability and classification results.
If the probability meets δ ( y ( i ) ) = P ( y ( i ) | C ( i ) ) P ( C ( i ) ) , the disturbance factor is taken as ε = 0.5 .
(2)
The analysis on the classification results
(i)
Analyze the Table 4 results.
For Tourist A, POIs are divided into:
① { C ( 1 ) : favorite}, including the Donghu Park, the Qingyang Palace, the Jinli Street, the Fenghuang Mountain and the Chengdu Zoo;
② { C ( 2 ) : like}, including the Wuhou Temple, the People’s Park, the Du Fu Thatched Cottage, the Chunxi Road, the Panda Base, the Eastern Suburb Memory, the Qinglong Lake Wetland, the Jincheng Lake, the Sansheng Flower Town, the Wenshu Temple site, the Sichuan Museum and the Tazishan Park;
③ { C ( 3 ) : dislike}, including the Kuanzhai Alley and the Chengdu Happy Valley.
For Tourist B, POIs are divided into:
① { C ( 1 ) : favorite}, including the Chengdu Happy Valley, the Jincheng Lake, the Sansheng Flower Town, the Jinsha Site and the Chengdu Zoo;
② { C ( 2 ) : like}, including the Wuhou Temple, the Kuanzhai Alley, the Du Fu Thatched Cottage, the East Lake Park, the Panda Base, the Eastern Suburb Memory, the Qinglong Lake Wetland, the Wenshu Temple, the Qingyang Palace, the Jinli Street, the Sichuan Museum, the Tazishan Park and the Fenghuang Mountain;
③ { C ( 3 ) : dislike}, including the People’s Park and the Chunxi Road.
It demonstrates that the proposed algorithm has good classification performance.
(ii)
For each POI to be classified, the category corresponding to the maximum Bayes conditional probability is taken as the category of the POI, which indicates that the feature attributes and tourism attributes of the POI are closest to the attributes of this category provided by the tourists. It proves that the proposed algorithm obtains the tourists’ interests and divides the POIs into the categories provided by the tourists based on individualized interests. It excludes the uninteresting POIs while recommend the interesting ones.
(iii)
When different tourists provide different interests, it will produce discrepant results. It proves that the proposed algorithm has the feature of universality, and the classification results are based on the individualized interests of tourists, which can recommend exclusive POIs for tourists.

4.2.2. Spatial Accessibility Calculation Results and Analysis

(1)
Spatial accessibility calculation results
The initial points for Tourists A and B are: S A : Tianfu Square; S B : Chengdu Railway Station. The categories are: C ( 1 ) “favorite”, C ( 2 ) “like” and C ( 3 ) “dislike”.
The absolute and relative SAFS of A ( T u ( i ) , S ) and A * ( T u ( i ) , S ) are shown in Table 5 and visualized in Figure 5. Figure 5a–c are the SAFS classified in C ( 1 ) , C ( 2 ) and C ( 3 ) for Tourist A. Figure 5d–f are the SAFS classified in C ( 1 ) , C ( 2 ) and C ( 3 ) for Tourist B. In the curves, the category C ( 1 ) , C ( 2 ) and C ( 3 ) are noted in red, orange and blue circles.
(2)
Analysis on the spatial accessibility
(i)
As to Table 5, different spatial attributes of POIs cause different travel costs: the weaker the SAFS is, the higher the travel costs will be for the tourists to reach the POI.
① For Tourist A, in the “favorite” category, Jinli Street has the highest spatial field strengths (SFS) of 0.4762 and 0.0726, and Fenghuang Mountain has the lowest SFSs of 0.1087 and 0.0166. Under the same conditions of interests, the travel costs to Jinli Street are the lowest; in the “like” category, The People’s Park has the highest SFSs of 1.2658 and 0.1930, the Qinglong Lake Wetland has the lowest SFS of 0.0806 and 0.0123. In the same interests, the travel costs to the People’s Park is the lowest.
② For Tourist B, in the “favorite” category, the Chengdu Zoo has the highest SFSs of 0.2941 and 0.0809, the Sansheng flower Town has the lowest SFSs of 0.0662 and 0.0182. In the same interests, the travel costs to Chengdu Zoo are the lowest; in the “like” category, the Wenshu Temple has the highest SFSs of 0.4348 and 0.1196, the Qinglong Lake Wetland has the lowest SFSs of 0.0741 and 0.0204. In the same interests, the travel costs to Wenshu Temple are the lowest. POIs in the “dislike” category are not recommended.
(ii)
Analyze Figure 5. According to the SAFS model, each POI is distributed in the unit grid g ( x , y ) of the spatial grid G formed by the urban geographical space. The position ( x , y ) in the grid G represents the coordinate position in the urban geographical space. The SFS distribution of POIs relative to the initial points of Tourist A and B, Tianfu Square and Chengdu Railway Station, are totally discrepant. The higher the peak value is, the stronger the spatial accessibility will be.
(iii)
The experimental results verify that the proposed algorithm can not only output POIs with attributes matching tourists’ interests, but also output POIs with the best spatial distribution and the lowest travel costs.

4.2.3. POI Recommendation Results and Analysis

(1)
POI recommendation results
(i)
Based on data in Table 4 and Table 5, the recommendation index σ ( T u ( i ) ) is calculated. Tourist A lays the same importance on POI attribute and spatial accessibility; set ε ( 1 ) = 0.5 , ε ( 2 ) = 0.5 . Tourist B lays more emphasis on the travel costs; set ε ( 1 ) = 0.3 , ε ( 2 ) = 0.7 .
Table 6 shows the calculation results of the recommendation index σ ( T u ( i ) ) .
Figure 6 shows the curves of the index σ ( T u ( i ) ) . Different colors represent different categories. The red points relate to C ( 1 ) “favorite”, the orange points relate to C ( 2 ) “like” and the blue points relate to C ( 3 ) “dislike”. Figure 6a,b are for Tourists A and B, respectively.
Figure 7 shows the index σ ( T u ( i ) ) distribution for each category, and Figure 7a–c relate to Tourist A and Figure 7d–f relate to Tourist B.
(ii)
From Table 6 and the Figure 6 and Figure 7 results, the four recommended POIs for Tourist A are:
T u ( 1 ) : Temple of Marquis;
T u ( 9 ) : Eastern Suburb Memory;
T u ( 10 ) : Qinglong Lake Wetland;
T u ( 13 ) : Wenshu Temple.
The four recommended POIs for the Tourist B are:
T u ( 1 ) : Temple of Marquis;
T u ( 3 ) : The People’s Park;
T u ( 4 ) : Du Fu Thatched Cottage;
T u ( 7 ) : Chengdu Happy Valley.
(2)
Analysis on the recommendation results
(i)
The demand weight ε ( x ) directly affects the recommendation results.
① When ε ( 1 ) > ε ( 2 ) , tourists lay more emphasis on the attributes;
② When ε ( 1 ) < ε ( 2 ) , tourists lay more emphasis on the spatial accessibility;
③ When ε ( 1 ) = ε ( 2 ) , tourists lay equal importance on the two constraint factors.
In this experiment, Tourist A lays equal emphasis on both constraint factors, while Tourist B lays more emphasis on the spatial accessibility. The recommendation results are completely different with different weights ε ( x ) . It proves that the proposed algorithm is greatly influenced by the subjective needs of individual tourists, and it can recommend POIs that match tourists’ interests with the lowest travel costs.
(ii)
Analyze Table 6 and Figure 6. The POIs with the highest index σ ( y ( i ) ) are classified into the category “favorite” or “like” and are preferentially recommended. The same POI has different recommendation indexes influenced by the weights ε ( x ) , and the recommendation degree shows a fluctuating trend.
① As to the weight ε ( x ) of Tourist A, the average recommendation index of POIs is 0.1178, with a variance of 0.0079.
② As to the weight ε ( x ) of Tourist B, the average recommendation index of POIs is 0.1222, with a variance of 0.0095.
This indicates that the average recommendation index for Tourist B is higher. For the fluctuating trend, the smaller variance of Tourist A makes the curve fluctuation closer to the average recommendation value. It indicates that under the given weight of Tourist A, the recommendation degree is more stable, and the recommendation probability for each POI is more balanced, but for Tourist B, the recommendation degree stability is lower, and the recommendation probability for each POI is more discrepant.
(iii)
Analyzing Figure 7, the POIs are grouped into different categories, the recommendation degree for each category is different.
① For Tourist A, the highest recommendation degree in the category “favorite” is 0.0859, while the highest recommendation degree in the category “like” is 0.3226, which is generally higher than that in the category “favorite”. Therefore, the POIs in the category “favorite” are recommended for Tourist A.
② For Tourist B, the highest recommendation degree in the category “favorite” is 0.0707, while the highest recommendation degree in the category “like” is 0.3520, which is also generally higher than that in the category “favorite”. Therefore, the POIs in the category “favorite” are recommended for Tourist B. The POIs in the category “dislike” will not be recommended.

4.2.4. POI Route Recommendation Results and Analysis

(1)
POI route recommendation results
(i)
Tourist A chooses electric bicycle; Tourist B chooses taxi. The average speed of the electric bicycle in the downtown area is set as 10 km/h, and the average speed of the taxi in the downtown area is set as 20 km/h. The charging rule for the electric bicycle is: starting price 2 CNY/15 min; exceeding 15 min, 1 CNY/10 min. The charging rule for taxi is: starting price 8 CNY/2 km, exceeding 2 km, 1.9 CNY/km. Initial points are S A : Tianfu Square and S B : Chengdu Railway Station.
(ii)
Based on the recommended POIs, combined with the geospatial and transportation conditions of Chengdu, the cockroach crawling sub-intervals, cockroach crawling intervals and control nodes within the sub-intervals are confirmed. The ICSOA is used to search for the shortest path within each sub-interval, by which the hindrance factor ζ ( i ) and hindrance function f ( t ( i ) , t ( j ) ) ( k ) of the cockroach crawling sub-interval are calculated.
The recommended POIs for Tourist A are noted as:
T u ( 1 ) : Temple of Marquis ( a 1 );
T u ( 9 ) : Eastern Suburb Memory ( a 2 );
T u ( 10 ) : Qinglong Lake Wetland ( a 3 );
T u ( 13 ) : Wenshu Temple ( a 4 ).
The recommended POIs for Tourist B are noted as:
T u ( 1 ) : Temple of Marquis ( b 1 );
T u ( 3 ) : The People’s Park ( b 2 );
T u ( 4 ) : Du Fu Thatched Cottage ( b 3 );
T u ( 7 ) : Chengdu Happy Valley ( b 4 ).
(iii)
Table 7 shows the sub-interval hindrance factors ζ ( i ) and hindrance function values f ( t ( i ) , t ( j ) ) ( k ) output by ICSOA. Table 8 shows the cockroach crawling intervals C r ( S , t ( x ) ) and hindrance function values f ( S , t ( x ) ) output by ICSOA. a 1234 represents the cockroach crawling interval formed by Tourist A starting from S A , followed by Temple of Marquis ( a 1 ), Eastern Suburb Memory ( a 2 ), Qinglong Lake Wetland ( a 3 ) and Wen Shu Temple ( a 4 ).
(iv)
Figure 8a,b show the fluctuating curves of hindrance function values in sub-intervals of Tourist A and B. Figure 8c,d show the fluctuating curves of hindrance function values in intervals searched by the ICSOA of Tourist A and B.
As to Tourist A, interval a 1423 relates to the minimum interval hindrance function value. Tourist A taking the route “ S A : Tianfu Square—Temple of Marquis ( a 1 )—Wen shu Temple ( a 4 )—Eastern Suburb Memory ( a 2 )—Qinglong Lake Wetland ( a 3 )” for traveling will bring the lowest costs.
As to Tourist B, interval b 2134 relates to the minimum interval hindrance function value. Tourist B taking the route “ S B : Chengdu railway station—the People’s park ( b 2 )-Temple of Marquis ( b 1 )—Du Fu Thatched Cottage ( b 3 )—Chengdu Happy Valley ( b 4 )” for traveling will bring the lowest costs.
(2)
Analysis on the POI route recommendation results
(i)
Analyze Table 7. The hindrance factor of the sub-interval is determined by the ICSOA within the sub-interval. It can find the shortest path within the sub-interval, resulting in the lowest travel distance, travel fee and travel time.
① The sub-interval hindrance factor is inversely proportional to the travel distance, travel fee and travel time.
② The sub-interval hindrance function value is also positively correlated with the sub-interval hindrance factor, and negatively correlated with the travel distance, travel fee and travel time.
③ The higher the values of the travel distance, travel fee and travel time are, the smaller the sub-interval hindrance factors will be, and the higher the sub-interval hindrance function values will be, the higher the travel costs will be in the sub-interval; tourists traveling through all sub-intervals will cause higher travel costs.
(ii)
Analyze Figure 8a,b. The hindrance function values generated by tourists in different sub-intervals all show fluctuating trends.
① As to Tourist A, the minimum sub-interval hindrance value is 0.8855, at C r ( a ( 1 ) , a ( 3 ) ) , indicating that the travel costs between Temple of Marquis and Qinglong Lake Wetland is the highest; The maximum sub-interval hindrance value is 5.5495, at C r ( S A , a ( 4 ) ) , indicating that the travel costs between Tianfu Square and Wenshu Temple are the lowest.
② As to Tourist B, the minimum sub-interval hindrance value is 1.8974, indicating that the travel costs between Temple of Marquis and Chengdu Happy Valley are the highest; the maximum sub-interval hindrance value is 6.8733, indicating that the travel costs between Temple of Marquis and the People’s Park are the lowest.
(iii)
Analyze Table 8. The interval hindrance function value is determined by the ICSOA within the interval. The algorithm can find out the shortest path within the interval, making the travel costs lowest.
The interval hindrance function value is negatively correlated with the sub-interval hindrance function value. The higher the sub-interval hindrance function value is, the smaller the interval hindrance function value will be and the lower travel costs will be; the route will be more likely recommended. Conversely, the smaller the sub-interval hindrance function value is, the larger the interval hindrance function value will be and higher travel costs will be produced; the route’s probability of being recommended will be lowered.
(iv)
Analyze Figure 8c,d. The hindrance function values corresponding to different intervals all show fluctuating trends.
① As to Tourist A, the minimum interval hindrance value is 1.5928 for route a 1423 ; the maximum interval hindrance value is 3.4112 for route a 2134 . This indicates that the travel costs of route a 1423 are the lowest, while those for the route a 2134 are the highest.
② As to Tourist B, the minimum interval hindrance value is 1.0476 for route b 2134 ; the maximum interval hindrance value is 1.5501 for route b 3142 . This indicates that the travel costs of route b 2134 are the lowest, while those for the route b 3142 are the highest.
(v)
Table 7 and Table 8 and Figure 8 prove that ICSOA can find out the global optimal solution. When cockroach swarm crawling towards the current optimal solution, each step can find out a feasible solution until all solutions are traversed. It traverses all control nodes within the sub-interval and all POIs within the interval, allowing the algorithm to jump out of the constraints of local optimal solutions and finally find out the global optimal solution.

4.2.5. Route Method Comparison and Analysis

(1)
Selection of comparative algorithms and design of comparative experiment
To verify the advantages of the proposed algorithm, a comparative experiment is designed in this section. Referring to the comparative experimental methods used in the literature figure [28,29], combined with the actual travel experiences of tourists, the algorithms commonly used for map route searching are selected as the control group in the experiment. The proposed algorithm is set as the experimental group.
The experiment compares the algorithms in the following aspects:
(i)
The comparison of the optimal output route and cost function of each algorithm;
(ii)
The advantages of the experimental group algorithm in reducing travel costs;
(iii)
The advantages of the experimental group algorithm in terms of computational complexity.
The principle and method for selecting control group algorithms in the comparative experiment are as follows.
(i)
In real tourism scenarios, tourists generally search for POI routes through electronic maps, which plan routes that meet travel requirements for tourists based on urban geographical and transportation conditions. Due to the tendency of map algorithms to overlook certain road nodes between two POIs, it is possible that the routes searched in sub-intervals C r ( t ( i ) , t ( j ) ) may not be the global optimal solutions. Therefore, the traditional map route searching methods have limitations. Our proposed algorithm is based on ICSOA. Each possible road node is a node included in the individual cockroach, and the searching objective is the global optimal solution. In terms of algorithm design and logic, our proposed algorithm has advantages over the control group algorithms.
(ii)
The commonly used algorithms for map route searching include the Dijkstra algorithm and A* algorithm, both of which are shortest-path-searching algorithms. They themselves have certain drawbacks. For example, Dijkstra is a local greedy searching algorithm that does not traverse all feasible solutions, resulting in low computational efficiency when there are too many nodes. The A* algorithm also does not traverse all feasible solutions, resulting in low computational efficiency when there are too many nodes. Our proposed algorithm essentially compares the cost functions of cockroach individuals. Firstly, the algorithm of searching for the quantity of cockroach individuals is the factorial calculation, while the process of calculating the cost of each cockroach individual is linear, with fast computational efficiency. The process of comparing individual costs of cockroaches uses the sorting algorithm, which has high computational efficiency. The comparative experiment sets Tencent Maps (TCA) and GaoDe Maps (GDA) as the control group, using Dijkstra Dijkstra algorithm and A* algorithm, respectively. The proposed algorithm ICSOA is the experimental group.
(iii)
The control group algorithms are used for map route searching and they are the most classical methods among route searching algorithms. Based on the conventional behaviors of tourists in tourism activities and the universality and convenience of the current electronic maps on planning routes, the map searching algorithm is determined as the control group algorithm. The comparison between the proposed algorithm and the classical map route searching algorithms not only has academic research value but also practical application value, which can provide new ideas for improving map route searching algorithms.
According to the principle and method in determining the control group algorithms, the specific content of the comparative experiment is designed as follows. The control group algorithms are TCA and GDA, while the experimental group algorithm is ICSOA.
(i)
Set the same POIs as the algorithm nodes.
Tourist A will visit: T u ( 1 ) : Wu hou Temple ( a 1 ), T u ( 9 ) : Eastern Suburb Memory ( a 2 ), T u ( 10 ) : Qinglong Lake Wetland ( a 3 ), T u ( 13 ) : Wenshu Academy ( a 4 );
Tourist B will visit: T u ( 1 ) : Wuhou Temple ( b 1 ), T u ( 3 ) : The People’s Park ( b 2 ), T u ( 4 ) : Du Fu Thatched Cottage ( b 3 ), and T u ( 7 ) : Happy Valley ( b 4 ).
(ii)
Set the same transportation mode. Tourist A chooses the electric bicycle, while Tourist B chooses the taxi. The average speed of a taxi in the urban area is set as 20 km/h. The charging rules for the electric bicycle are: the initial time range, 2 CNY/15 min; exceeding the initial time, 1 CNY/10 min. The charging rules for a taxi are: the initial time range, 8 CNY/2 km; exceeding the initial time, 1.9 CNY/km. Tourist A’s starting point is the Tianfu Square, Tourist B’s starting point is the Chengdu Railway Station.
(iii)
Take the travel conditions provided by Tourists A and B as the comparative experimental conditions, and each algorithm searches for the optimal route and two suboptimal routes that pass through the starting point and all POIs without repeating any node. Make comparisons on the output optimal routes and costs, route cost differences and algorithm time complexity on the three algorithms.
(2)
Comparison results on the route algorithms
(i)
Table 9 shows the three optimal routes and relative data searched by TCA, GDA and ICSOA under the same experimental conditions. The number 1 is the optimal route and the numbers 2 and 3 are the suboptimal routes.
(ii)
Figure 9 shows the comparison data curves between the optimal route 1 (Route 1), suboptimal route 2 (Route 2) and suboptimal route 3 (Route 3) of the experimental and control group. Figure 9a–c represent the 1–3 routes of Tourist A, red corresponding to ICSOA, green corresponding to TCA and blue corresponding to GDA. Figure 9d–f represent the 1–3 routes of Tourist B, red corresponding to ICSOA, green corresponding to TCA and blue corresponding to GDA.
(iii)
Based on the experimental results in Table 9, extract the total cost f ( S , t ( x ) ) of each route output by each algorithm. Taking a tourist as an example, for the optimal Route 1, calculate the difference in route cost between ICSOA and TCA, as well as between ICSOA and GDA, and calculate the ratio of cost reduction of ICSOA compared to TCA and ICSOA compared to GDA. Similarly, for Route 2 and Route 3, the same calculations are also performed and the experimental results in Table 10 are obtained. It proves that the proposed algorithm ICSOA has advantages over the control group algorithms and can effectively reduce travel costs.
(iv)
Table 10 shows the ratio of cost reduction for ICSOA compared to TCA and GDA. “ICSOA-TCA” in the table represents the ratio of cost reduction in the experimental group’s ICSOA compared to the control group’s TCA, and “ICSOA-GDA” represents the ratio of cost reduction in the experimental group’s ICSOA compared to the control group’s GDA. T-A represents Tourist A, T-B represents Tourist B.
(v)
Analyze the time complexity on the experimental group algorithm and the control group algorithms. In the route map graph composed by POIs, the number of nodes is n , which is the number of POIs.
① The time complexity of the Dijkstra algorithm used in the control group TCA is determined by the number of nodes, and it is a kind of single-source shortest path searching method.
② The time complexity of the A* algorithm used by the control group GDA is also determined by the number of nodes, and it is a kind of heuristic searching algorithm and has a faster computational efficiency than the Dijkstra algorithm.
③ The proposed algorithm uses factorials to calculate the cost function of individual cockroach. When searching for the optimal individual cockroach, the maximum searching algorithm is used, and its convergence speed is very fast. According to the analysis, the time complexities of the three algorithms are shown in Table 11.
(3)
Analysis on the route comparison results
(i)
Analyze the Table 9 and Figure 9. For each route, the sub-interval hindrance function values of the three algorithms all show fluctuating trends.
① For Tourist A, the TCA, GDA and ICSOA curves of route 1 are close, but overall, the hindrance function values of the ICSOA sub-intervals are relatively higher. For route 3, the TCA and ICSOA curves are relatively close, while the GDA and ICSOA curves are significantly different. Overall, the hindrance function values of the ICSOA sub-intervals are higher. Therefore, the overall performance of ICSOA is the best, and its output interval hindrance function values are the lowest in routes 1, 2 and 3; the travel costs are also the lowest. TCA performance is close to ICSOA, while the interval hindrance function value of GDA is the highest, so its route costs are also the highest.
② For Tourist B, the TCA and GDA curves of route 1 are relatively close, and the sub-interval hindrance function values of ICSOA are higher than those of TCA and GDA. The sub-interval hindrance function values of ICSOA in routes 2 and 3 are generally higher than those of TCA and GDA. Therefore, ICSOA has the lowest hindrance function values in the interval of routes 1, 2 and 3, and its optimal and suboptimal routes all have lower costs than TCA and GDA.
(ii)
Analyze Table 10, under the conditions of the two tourist samples:
① For the optimal route 1, the lowest cost reduction of ICSOA is 5.62% compared to the control group methods, and the highest cost reduction is 52.25%;
② For the suboptimal route 2, the lowest cost reduction of ICSOA is 1.68% compared to the control group methods, and the highest cost reduction is 53.75%;
③ For the suboptimal route 3, the lowest cost reduction of ICSOA is 1.07% compared to the control group methods, and the highest cost reduction is 52.83%.
The ICSOA generates lower travel costs on both optimal and suboptimal routes compared to TCA and GDA, which can help tourists effectively save travel expenses.
(iii)
Analyze the time complexity of each algorithm in Table 11.
① The control group uses the Dijkstra algorithm and A* algorithm to search for the shortest route, with the time complexities of O ( n 2 ) and O ( n log n ) . As to the time complexity O ( n ) of the experimental group algorithm, when the number n reaches a certain level, the time complexity of the experimental group algorithm is always lower than that of the control group algorithms. The higher the value of n is, the higher efficiency of the experimental algorithm will be, and the lower time complexity will be, compared to the control group algorithms.
② In actual tourism scenarios, the value of n is usually n 3 , that is, a complete POI route is composed of at least three POIs. Therefore, when the number of POIs to be visited is larger than 3, the proposed algorithm has the advantage of higher computational efficiency. When the number of POIs to be visited is less than 3, the computational efficiency of the three algorithms is equivalent, but the route planning algorithm has no practical significance.
Based on the above analysis, the time complexity of the proposed algorithm is lower than that of the control group algorithms, and it converges the fastest and has the highest efficiency when searching for the optimal route.
(iv)
This proves that the proposed ICSOA can realize the optimal POI route recommendation based on the selected optimal POIs under the constraints of tourists’ traveling conditions and geospatial conditions. It can provide tourists with POI routes that best match their interests and have the lowest costs. Compared with the commonly used TCA and GDA methods, ICSOA has better performance in the aspect of reducing travel costs.

5. Conclusions and Prospects

5.1. The Conclusions on the Research

On the basis of analyzing the existing problems in the current tourism recommendation research, this paper proposes a tourism recommendation model based on improved Naive Bayes classification space accessibility (NBCSA) and an improved cockroach swarm optimization algorithm (ICSOA). It mainly solves three problems. First, an improved Naive Bayes classification algorithm (NBCA) fused with a disturbance factor is constructed by using historical POIs provided by tourists as training data set. It realizes the POIs’ classification in the destination city under the constraints of tourists’ requirements, which makes the POIs match tourists’ interests. Second, based on the geographical and transportation constraints, a spatial accessibility field strength (SAFS) model based on Naive Bayes classification is established. The tourist demand weights are introduced into the model. It obtains the POIs with the best spatial distribution and the lowest travel costs from the categories. It realizes that the recommended POIs simultaneously satisfy interests and produce lowest spatial costs. Third, based on the recommended POIs, the geographical constraint factors are introduced to propose the ICSOA to realize the optimal POI route recommendation. An experiment is performed to compare the TCA and GDA methods with the ICSOA. The experimental results show that the ICSOA can effectively classify POIs based on tourists’ interests, and visually output SAFS of the POIs. The ICSOA can output POI routes with lower travel costs. In the optimal routes, compared with the control group algorithms, the ICSOA can reduce costs by 5.62% at the lowest and 52.25% at the highest, and effectively reduce the travel expenses.

5.2. The Potential Applications of the Recommendation Model

The proposed tourism recommendation model can provide new methods for smart tourism research. It plays a positive role in promoting the development of tourism informatization and intelligence. The improved NBCA, SAFS model and the ICSOA in the model have broad application prospects.
Firstly, the improved NBCA could be used to develop an intelligent system for tourist classification, which can classify tourists with different cultural contexts, interest conditions and tourism requirements, providing reference for tourism decision-making, marketing and planning. An intelligent system for POI classification could also be developed, which can classify POIs in the destination city based on user interests, and can also manage, plan and recommend POIs. In addition, the text mining algorithm constructed in the classification algorithm could be used to develop the tourism text analysis and mining system, which can mine and analyze the tourism encyclopedia big data, tourism evaluation data, etc., and provide decision-making support for tourism official departments.
Secondly, the SAFS model could be used to construct a spatial accessibility distribution model for the urban, municipal and provincial POIs. A dynamic distribution map could be established from multiple dimensions such as spatial distances, functional attributes, popularity levels and travel costs, providing tourists with visualized three-dimensional maps and decision-making support for planning their itineraries. In addition, the SAFS model could be used for decision-making in tourism transportation deployment, and in the planning of tourism transportation projects based on the spatial field strength of different POIs, determining the locations of tourism service centers, and conducting buffer zone analysis of tourism service centers, which will provide convenient services for tourists’ traveling.
Thirdly, based on the ICSOA, the functions of existing electronic maps could be optimized to improve the accuracy and efficiency of searching for the optimal routes. The algorithm could be used to develop a POI route planning system, providing decision support for tourists to make POI route schedules. Combining with the intelligent connected vehicle technology, it could be used to develop a tourism intelligent connected vehicle route guidance system, which includes buffer zone POI searching, POI recommendation and intelligent vehicle route guidance as the system functions, providing convenient services for future tourists’ traveling. Combined with tourism emergency management, the algorithm could be used to construct the spatial distribution relationship between emergency shelters and POIs in tourism cities, plan emergency escape routes and provide decision-making solutions for urban emergencies.

5.3. Future Research Directions and Challenges

Based on this study, the following future research directions and challenges are proposed. Firstly, we introduce the concept of tourist demand weight when constructing the POI recommendation algorithm based on Naive Bayes classification space accessibility, representing the importance evaluation on the two factors of attribute matching and spatial accessibility by tourists. In future studies, further quantitative research on the tourist demand weight is needed to study the differences in recommendation results under different tourist demand conditions on the relationship between attribute demand and spatial accessibility weight. Secondly, the establishment of the SAFS model requires further in-depth research on the multidimensional attributes of POIs. Based on attribute characteristics, a multidimensional field strength distribution model could be established, and the SAFS model could be established from multiple dimensions such as cultural attributes, service attributes, popularity levels and tourism costs to further improve the accuracy of recommended POIs matching tourists’ interests. Thirdly, the constraints introduced to the construction of the ICSOA are the key factors that affect the travel costs. In future studies, other factors that affect the recommendation results of the ICSOA could be studied based on real-world tourism scenarios. On the above research directions, some challenges might be concluded. Since more factors could be merged into the modeling process, a more complicated algorithm design will be developed. The accuracy and efficiency are the two factors that must be considered. A more complicated design might cause higher time complexity. Thus, how to create an algorithm with suitable computational complexity is a challenge. Furthermore, the demand on the large quantity of big data is also a challenge. Data collection, data processing and data mining should conform to the high-dimensional algorithm modeling to guarantee accurate recommendation results. In future research, the challenges will be the motivation to improve the work.

Author Contributions

Conceptualization, X.Z., Z.Z., X.L. and M.S.; methodology, X.Z. and Z.Z.; formal analysis, X.Z., X.L. and M.S.; writing—original draft preparation, X.Z. and Z.Z.; writing—review and editing, X.Z., Z.Z., X.L. and M.S.; funding acquisition, X.Z., Z.Z. and X.L. All authors have read and agreed to the published version of the manuscript.

Funding

This study was supported by the Project of Henan Provincial Natural Science Foundation Project (No. 242300420624), the project of the Key Research Base of Region and Country of Sichuan Province, Center for Southeast Asian Economic and Culture Studies (No. DNY2301), the National 13th Five-Year Plan Key R&D Projects (No. 2016YFB0502300) and the National 14th Five-Year Plan Key R&D Projects (No. SQ2021YFB3900025).

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Chen, X.; Pan, Y.; Luo, B. Research on power-law distribution of long-tail data and its application to tourism recommendation. Ind. Manag. Data Syst. 2020, 121, 1268–1286. [Google Scholar] [CrossRef]
  2. Zheng, Y.; Wang, H.; Cheng, T.; Chen, J. Tourism attraction recommendation algorithm based on deep neural network matrix factorization. J. Hubei Univ. Technol. 2021, 36, 29–33. [Google Scholar]
  3. Chen, Y.; Gu, T.; Bin, C.; Liang, C.; Wang, W.; Li, Y. Attractions recommendation method incorporating graph representation learning with sequence mining. Comput. Eng. Des. 2020, 41, 3563–3569. [Google Scholar]
  4. Zheng, S.; Tan, G.; Shi, Z. Recommending Tourism Attractions Based on Segmented User Groups and Time Contexts. Data Anal. Knowl. Discov. 2020, 4, 92–104. [Google Scholar]
  5. Lin, J.; Gao, M.; Chen, C. Constrained association rules mining and its application on personalized tourist spots recommendation. J. Fuzhou Univ. 2019, 47, 320–326. [Google Scholar]
  6. Cheng, P.; Liu, L.; Liu, X.; Xu, C.; Guo, H. Scenic spots recommendation algorithm based on multi-dimensional feature clustering and user score. Comput. Eng. Des. 2019, 40, 1322–1327. [Google Scholar]
  7. Ahn, J.; Kim, E.; Kim, H. Big Data based POIs Recommendation—Focus on Korean Tourism Organization Linked Open Data. Manag. Inf. Syst. Rev. 2017, 36, 129–148. [Google Scholar]
  8. Hong, M.; Jung, J. Multi-criteria tensor model consolidating spatial and temporal information for tourism recommendation. J. Ambient. Intell. Smart Environ. 2021, 13, 5–19. [Google Scholar] [CrossRef]
  9. Abbasi-Moud, Z.; Vahdat-Nejad, H.; Sadri, J. Tourism recommendation system based on semantic clustering and sentiment analysis. Expert Syst. Appl. 2021, 167, 114324. [Google Scholar] [CrossRef]
  10. Jeong, C.-S.; Ryu, K.-H.; Lee, J.-Y.; Jung, K.-D. Deep Learning-based Tourism Recommendation System using Social Network Analysis. Int. J. Internet Broadcast. Commun. 2020, 12, 113–119. [Google Scholar]
  11. Cui, C.; Wang, X.; Li, W. Research on the Algorithm of POI Recommendation Based on User’s Online Comments. J. Syst. Sci. Math. Sci. 2020, 40, 1103–1116. [Google Scholar]
  12. Cui, C.; Wang, X.; Li, W. Research on the Recommendation Algorithm of Tourism Products Based on User Portrait in Situational Environment. J. Math. Pract. Theory 2019, 49, 122–131. [Google Scholar]
  13. Almulihi, A.; Alassery, F.; Khan, A.; Shukla, S.; Gupta, B.K.; Kumar, R. Analyzing the Implications of Healthcare Data Breaches through Computational Technique. Intell. Autom. Soft Comput. 2022, 32, 1763–1779. [Google Scholar] [CrossRef]
  14. Han, S.; Liu, C.; Chen, K.; Gui, D.; Du, Q. A POI Recommendation Model Fusing Spatial, Temporal, and Visual Embeddings for Flickr-Geotagged Photos. ISPRS Int. J. Geo-Inf. 2021, 10, 20. [Google Scholar] [CrossRef]
  15. Filipe, S.; Almeida, A.; Martins, C.; Gonçalves, R.; Martins, J. Using POI functionality and accessibility levels for delivering personalized tourism recommendations. Comput. Environ. Urban Syst. 2019, 77, 101173. [Google Scholar]
  16. Zhang, X.; Yu, L.; Wang, M.; Gao, W. FM-based: Algorithm research on rural tourism recommendation combining seasonal and distribution features. Pattern Recognit. Lett. 2018, 150, 297–305. [Google Scholar] [CrossRef]
  17. Ou, G.; He, Y.; Fournier Viger, P.; Huang, J.Z. A Novel Mixed-Attribute Fusion-Based Naive Bayesian Classifier. Appl. Sci. 2022, 12, 10443. [Google Scholar] [CrossRef]
  18. Yu, S. A Study on Recommendation Method for Real Estate Using Naive Bayes Classification. J. Korean Inst. Inf. Technol. 2019, 17, 115–120. [Google Scholar]
  19. Lee, J.-Y.; Choi, J.-W.; Choi, J.-H.; Lee, B.-H. Text-mining analysis using national R&D project data of South Korea to investigate innovation in graphene environment technology. Int. J. Innov. Stud. 2023, 7, 87–99. [Google Scholar]
  20. Ayesha, S.; Sadia, I. A GIS Based Measurement of Accessibility of Urban Parks in Faisalabad City, Pakistan. Acad. Res. Int. 2014, 5, 94–99. [Google Scholar]
  21. Kiran, K.C.; Corcoran, J.; Chhetri, P. Measuring the spatial accessibility to fire stations using enhanced floating catchment method. Socio-Econ. Plan. Sci. 2020, 69, 100673. [Google Scholar]
  22. Wu, X.; Chen, C. Spatial distribution and accessibility of high level scenic spots in inner Mongolia. Sustainability 2022, 14, 7329. [Google Scholar] [CrossRef]
  23. Ding, M. Research on Tourism Route Planning Based on Artificial Intelligence Technology. Wirel. Commun. Mob. Comput. 2021, 2021, 2227798. [Google Scholar] [CrossRef]
  24. Gao, Y.; Wang, J.; Wu, W.; Sangaiah, A.K.; Lim, S.-J. Travel Route Planning with Optimal Coverage in Difficult Wireless Sensor Network Environment. Sensors 2019, 19, 1838. [Google Scholar] [CrossRef] [PubMed]
  25. Du, P.; Hu, H. Optimization of tourism route planning algorithm for forest wetland based on GIS. J. Discret. Math. Sci. Cryptogr. 2018, 21, 283–288. [Google Scholar] [CrossRef]
  26. Cheng, L.; Song, Y.; Bian, Y. Cockroach Swarm Optimization Using A Neighborhood-Based Strategy. Int. Arab J. Inf. Technol. 2019, 16, 784–790. [Google Scholar]
  27. Joanna, K.; Marek, P. Cockroach Swarm Optimization Algorithm for Travel Planning. Entropy 2017, 19, 213. [Google Scholar] [CrossRef]
  28. Akash, S. Optimized fractional overhead power term polynomial grey model (OFOPGM) for market clearing price prediction. Electr. Power Syst. Res. 2023, 214, 108800. [Google Scholar]
  29. Kavita, J.; Akash, S. Simulation on supplier side bidding strategy at day-ahead electricity market using ant lion optimizer. J. Comput. Cogn. Eng. 2023, 2, 17–27. [Google Scholar]
Figure 1. The modeling process of the proposed recommendation algorithm.
Figure 1. The modeling process of the proposed recommendation algorithm.
Symmetry 16 00424 g001
Figure 2. The modeling process of the POI SAFS. In (ac), the blue dots represent the POIs, the brown range represents a spatial grid. In (e,f), the blue peak value represents the spatial accessibility field strength. The value 1.0 represents the measurement value of the spatial accessibility field strength.
Figure 2. The modeling process of the POI SAFS. In (ac), the blue dots represent the POIs, the brown range represents a spatial grid. In (e,f), the blue peak value represents the spatial accessibility field strength. The value 1.0 represents the measurement value of the spatial accessibility field strength.
Symmetry 16 00424 g002
Figure 3. The modeling process of classification of POI recommendations. The different colors in POI matrix R ( C ( i ) ) mean the different rows of the matrix for different categories, and each color represents one category. The blue color in model Φ represents the spatial accessibility field strength.
Figure 3. The modeling process of classification of POI recommendations. The different colors in POI matrix R ( C ( i ) ) mean the different rows of the matrix for different categories, and each color represents one category. The blue color in model Φ represents the spatial accessibility field strength.
Symmetry 16 00424 g003
Figure 4. The constructed POI route recommendation algorithm based on ICSOA. (A) shows the specific algorithm steps for the sub-interval, (B) shows the specific algorithm steps for the interval, (C) shows the flow chart of the constructed algorithm. In (A,B), the different colors in sub-interval and interval mean the cockroaches, and one color means one cockroach. The blue color in V ( i ) and t ( i ) means the control node of the sub-interval and interval.
Figure 4. The constructed POI route recommendation algorithm based on ICSOA. (A) shows the specific algorithm steps for the sub-interval, (B) shows the specific algorithm steps for the interval, (C) shows the flow chart of the constructed algorithm. In (A,B), the different colors in sub-interval and interval mean the cockroaches, and one color means one cockroach. The blue color in V ( i ) and t ( i ) means the control node of the sub-interval and interval.
Symmetry 16 00424 g004aSymmetry 16 00424 g004b
Figure 5. The visualized SAFS for the three categories. In the figure, different colors mean different categories. Red represents the category C(1), Orange represents the category C(2), Blue represents the category C(3).
Figure 5. The visualized SAFS for the three categories. In the figure, different colors mean different categories. Red represents the category C(1), Orange represents the category C(2), Blue represents the category C(3).
Symmetry 16 00424 g005
Figure 6. The tendency curve of the recommendation indexes for POIs. (a,b) are Tourists A and B, respectively. Different colors represent different categories. The red points relate to C ( 1 ) “favorite”, the orange points relate to C ( 2 ) “like” and the blue points relate to C ( 3 ) “dislike”.
Figure 6. The tendency curve of the recommendation indexes for POIs. (a,b) are Tourists A and B, respectively. Different colors represent different categories. The red points relate to C ( 1 ) “favorite”, the orange points relate to C ( 2 ) “like” and the blue points relate to C ( 3 ) “dislike”.
Symmetry 16 00424 g006
Figure 7. The recommendation index distributions for each category. (ac) relate to Tourist A and (df) relate to Tourist B.
Figure 7. The recommendation index distributions for each category. (ac) relate to Tourist A and (df) relate to Tourist B.
Symmetry 16 00424 g007
Figure 8. Trends of the hindrance function values in sub-intervals and the hindrance function values in intervals. (a,b) show the fluctuating curves of hindrance function values in sub-intervals of TouristS A and B. (c,d) show the fluctuating curves of hindrance function values in intervals searched by the ICSOA of TouristS A and B.
Figure 8. Trends of the hindrance function values in sub-intervals and the hindrance function values in intervals. (a,b) show the fluctuating curves of hindrance function values in sub-intervals of TouristS A and B. (c,d) show the fluctuating curves of hindrance function values in intervals searched by the ICSOA of TouristS A and B.
Symmetry 16 00424 g008
Figure 9. The comparison curves between the Route 1~3 by the three methods ICSOA, TCA and GDA. (ac) represent the 1–3 routes of Tourist A, red corresponding to ICSOA, green corresponding to TCA and blue corresponding to GDA. (df) represent the 1–3 routes of Tourist B, red corresponding to ICSOA, green corresponding to TCA and blue corresponding to GDA.
Figure 9. The comparison curves between the Route 1~3 by the three methods ICSOA, TCA and GDA. (ac) represent the 1–3 routes of Tourist A, red corresponding to ICSOA, green corresponding to TCA and blue corresponding to GDA. (df) represent the 1–3 routes of Tourist B, red corresponding to ICSOA, green corresponding to TCA and blue corresponding to GDA.
Symmetry 16 00424 g009
Table 1. The calculation results of TFIDF l ( i ) and tourism attribute weights on the POIs.
Table 1. The calculation results of TFIDF l ( i ) and tourism attribute weights on the POIs.
T-A T A ( 1 ) T A ( 2 ) T A ( 3 ) T A ( 4 ) T A ( 5 ) T A ( 6 ) T A ( 7 ) T A ( 8 ) T A ( 9 ) T A ( 10 )
l ( 1 ) 0.0130.0470.0110.0280.0380.0260.0750.0090.0710.013
l ( 2 ) 0.0300.0690.0140.0180.0500.0590.1030.0990.0250.075
l ( 3 ) 0.0790.0480.0560.0760.0560.0520.0560.0670.0390.070
l ( 4 ) 0.0400.0200.0370.0330.0480.0410.0500.0310.0290.047
l ( 5 ) 30.00475.00060.0080.000120.000130.0090.00
l ( 6 ) 3.008.005.004.003.003.003.002.003.003.00
l ( 7 ) 0.940.940.940.960.920.920.880.920.900.88
C ( i ) C ( 1 ) C ( 3 ) C ( 2 ) C ( 1 ) C ( 2 ) C ( 3 ) C ( 1 ) C ( 2 ) C ( 1 ) C ( 2 )
T-B T B ( 1 ) T B ( 2 ) T B ( 3 ) T B ( 4 ) T B ( 5 ) T B ( 6 ) T B ( 7 ) T B ( 8 ) T B ( 9 ) T B ( 10 )
l ( 1 ) 0.0330.0260.0300.0180.0430.0580.0110.0300.0360.021
l ( 2 ) 0.0420.0460.0260.0780.0130.0240.0140.0210.0230.013
l ( 3 ) 0.1380.0650.0630.0540.0640.0680.0560.0370.0360.051
l ( 4 ) 0.0420.0860.0370.0300.0210.0510.0370.0330.0390.032
l ( 5 ) 40.0000160.00050.000120.0050.0080.00
l ( 6 ) 2.004.002.004.003.002.005.004.002.003.00
l ( 7 ) 0.940.940.900.900.920.920.940.940.920.90
C ( i ) C ( 2 ) C ( 1 ) C ( 2 ) C ( 1 ) C ( 3 ) C ( 3 ) C ( 1 ) C ( 2 ) C ( 2 ) C ( 1 )
Table 2. The designed value ranges for the proposed classification algorithm.
Table 2. The designed value ranges for the proposed classification algorithm.
Value Range 1Value Range 2Value Range 3Value Range 4Value Range 5
l ( 1 ) ~ l ( 4 ) 0 < l ( i ) 0.025 0.025 < l ( i ) 0.05 0.05 < l ( 1 ) 0.075 0.075 < l ( 1 ) 0.100 l ( 1 ) > 0.100
l ( 5 ) 0 l ( 1 ) 50 50 < l ( 1 ) 100 100 < l ( 1 ) 150 150 < l ( 1 ) 200 l ( 1 ) > 200
l ( 6 ) 0 < l ( 1 ) 1 1 < l ( 1 ) 3 3 < l ( 1 ) 5 l ( 1 ) > 5
l ( 7 ) l ( 1 ) 0.90 0.90 < l ( 1 ) 0.92 0.92 < l ( 1 ) 0.94 0.94 < l ( 1 ) 0.96 l ( 1 ) > 0.96
Table 3. The calculated TFIDF l ( i ) and tourism attribute weights of the experimental POIs.
Table 3. The calculated TFIDF l ( i ) and tourism attribute weights of the experimental POIs.
T u ( 1 ) T u ( 2 ) T u ( 3 ) T u ( 4 ) T u ( 5 ) T u ( 6 ) T u ( 7 ) T u ( 8 ) T u ( 9 ) T u ( 10 )
l ( 1 ) 0.0360.0260.0480.0300.0110.0500.0630.1730.0410.036
l ( 2 ) 0.0340.0540.0800.0250.0560.1150.0680.1500.0690.083
l ( 3 ) 0.0730.1010.0710.0490.0410.0980.0550.1430.0750.052
l ( 4 ) 0.0360.0640.0610.0430.0690.0530.0320.0950.0490.050
l ( 5 ) 50.000050.0000230.0055.0000
l ( 6 ) 3.003.003.003.002.001.008.003.002.002.00
l ( 7 ) 0.900.900.920.920.920.940.920.920.900.92
T u ( 11 ) T u ( 12 ) T u ( 13 ) T u ( 14 ) T u ( 15 ) T u ( 16 ) T u ( 17 ) T u ( 18 ) T u ( 19 ) T u ( 20 )
l ( 1 ) 0.0510.0290.0710.0930.0790.0530.0340.0360.0530.121
l ( 2 ) 0.0580.0890.0490.0410.0510.0390.0320.0350.0540.088
l ( 3 ) 0.0570.0740.0580.0410.0660.0360.0360.0640.0480.089
l ( 4 ) 0.0800.0750.0270.0370.0230.0590.0340.0890.0640.101
l ( 5 ) 00010.0070.00000020.00
l ( 6 ) 3.006.002.002.002.003.002.003.003.004.00
l ( 7 ) 0.900.860.920.900.940.900.920.900.900.94
Table 4. Bayes conditional probability and classification results of the experimental POIs.
Table 4. Bayes conditional probability and classification results of the experimental POIs.
T-A T u ( 1 ) T u ( 2 ) T u ( 3 ) T u ( 4 ) T u ( 5 ) T u ( 6 ) T u ( 7 ) T u ( 8 ) T u ( 9 ) T u ( 10 )
δ ( C ( 1 ) ) 0.23730.03520.02640.10550.01760.03960.02810.01760.15820.0791
δ ( C ( 2 ) ) 0.47460.05270.21090.21090.11720.01410.08440.03130.47460.6328
δ ( C ( 3 ) ) 0.07500.05630.07500.15000.07500.01880.15000.00630.22500.1500
C ( i ) C ( 2 ) C ( 3 ) C ( 2 ) C ( 2 ) C ( 2 ) C ( 1 ) C ( 3 ) C ( 2 ) C ( 2 ) C ( 2 )
T-A T u ( 11 ) T u ( 12 ) T u ( 13 ) T u ( 14 ) T u ( 15 ) T u ( 16 ) T u ( 17 ) T u ( 18 ) T u ( 19 ) T u ( 20 )
δ ( C ( 1 ) ) 0.07030.02110.15820.10550.02640.07030.07910.07910.04690.0264
δ ( C ( 2 ) ) 0.10550.06330.42190.10550.10550.03520.21090.15820.03520.0211
δ ( C ( 3 ) ) 0.03750.03750.05000.02500.07500.01250.15000.03750.03750.0063
C ( i ) C ( 2 ) C ( 2 ) C ( 2 ) C ( 1 ) C ( 2 ) C ( 1 ) C ( 2 ) C ( 2 ) C ( 1 ) C ( 1 )
T-B T u ( 1 ) T u ( 2 ) T u ( 3 ) T u ( 4 ) T u ( 5 ) T u ( 6 ) T u ( 7 ) T u ( 8 ) T u ( 9 ) T u ( 10 )
δ ( C ( 1 ) ) 0.31640.02810.06330.07030.02340.01880.02340.01050.21090.1582
δ ( C ( 2 ) ) 0.79100.13180.13181.05470.05860.04690.02110.01780.39550.3955
δ ( C ( 3 ) ) 0.08440.05630.50630.25310.08440.01880.01080.01410.09700.2531
C ( i ) C ( 2 ) C ( 2 ) C ( 3 ) C ( 2 ) C ( 3 ) C ( 2 ) C ( 1 ) C ( 2 ) C ( 2 ) C ( 2 )
T-B T u ( 11 ) T u ( 12 ) T u ( 13 ) T u ( 14 ) T u ( 15 ) T u ( 16 ) T u ( 17 ) T u ( 18 ) T u ( 19 ) T u ( 20 )
δ ( C ( 1 ) ) 0.08440.08440.10550.07030.04220.02810.05270.18980.01880.0469
δ ( C ( 2 ) ) 0.04390.05270.26370.35160.02340.11721.05470.26370.05860.0234
δ ( C ( 3 ) ) 0.08440.06470.25310.01410.03230.06470.08440.09700.05630.0054
C ( i ) C ( 1 ) C ( 1 ) C ( 2 ) C ( 2 ) C ( 1 ) C ( 2 ) C ( 2 ) C ( 2 ) C ( 2 ) C ( 1 )
Table 5. The calculated A ( T u ( i ) , S ) and A * ( T u ( i ) , S ) for each category POI.
Table 5. The calculated A ( T u ( i ) , S ) and A * ( T u ( i ) , S ) for each category POI.
T-A T u ( 1 ) T u ( 2 ) T u ( 3 ) T u ( 4 ) T u ( 5 ) T u ( 6 ) T u ( 7 ) T u ( 8 ) T u ( 9 ) T u ( 10 )
A ( T u ( i ) , S A ) 0.47620.71431.26580.27780.66670.19610.12980.08620.17860.0806
A * ( T u ( i ) , S A ) 0.07260.10890.19300.04240.10160.02990.01980.01310.02720.0123
T-A T u ( 11 ) T u ( 12 ) T u ( 13 ) T u ( 14 ) T u ( 15 ) T u ( 16 ) T u ( 17 ) T u ( 18 ) T u ( 19 ) T u ( 20 )
A ( T u ( i ) , S A ) 0.10310.08620.47620.43480.17240.47620.32260.16390.10870.1429
A * ( T u ( i ) , S A ) 0.01570.01310.07260.06630.02630.07260.04920.02500.01660.0218
T-B T u ( 1 ) T u ( 2 ) T u ( 3 ) T u ( 4 ) T u ( 5 ) T u ( 6 ) T u ( 7 ) T u ( 8 ) T u ( 9 ) T u ( 10 )
A ( T u ( i ) , S B ) 0.16670.24390.22220.16950.21280.11240.21280.12350.17860.0741
A * ( T u ( i ) , S B ) 0.04590.06710.06110.04660.05850.03090.05850.03400.04910.0204
T-B T u ( 11 ) T u ( 12 ) T u ( 13 ) T u ( 14 ) T u ( 15 ) T u ( 16 ) T u ( 17 ) T u ( 18 ) T u ( 19 ) T u ( 20 )
A ( T u ( i ) , S B ) 0.07140.06620.43480.20830.16670.16670.18520.11740.20830.2941
A * ( T u ( i ) , S B ) 0.01960.01820.11960.05730.04590.04590.05090.03230.05730.0809
Table 6. Recommendation index calculation results for the POIs.
Table 6. Recommendation index calculation results for the POIs.
T-A T u ( 1 ) T u ( 2 ) T u ( 3 ) T u ( 4 ) T u ( 5 ) T u ( 6 ) T u ( 7 ) T u ( 8 ) T u ( 9 ) T u ( 10 )
σ ( T u ( i ) ) 0.27360.08260.20200.12670.10940.03480.08490.02220.25090.3226
T-A T u ( 11 ) T u ( 12 ) T u ( 13 ) T u ( 14 ) T u ( 15 ) T u ( 16 ) T u ( 17 ) T u ( 18 ) T u ( 19 ) T u ( 20 )
σ ( T u ( i ) ) 0.06060.03820.24730.08590.06590.07150.13010.09160.03180.0241
T-B T u ( 1 ) T u ( 2 ) T u ( 3 ) T u ( 4 ) T u ( 5 ) T u ( 6 ) T u ( 7 ) T u ( 8 ) T u ( 9 ) T u ( 10 )
σ ( T u ( i ) ) 0.26940.08650.19470.34900.06630.03570.04800.02910.15300.1329
T-B T u ( 11 ) T u ( 12 ) T u ( 13 ) T u ( 14 ) T u ( 15 ) T u ( 16 ) T u ( 17 ) T u ( 18 ) T u ( 19 ) T u ( 20 )
σ ( T u ( i ) ) 0.03900.03810.16280.14560.04480.06730.35200.10170.05770.0707
Table 7. Sub-interval hindrance factors ζ ( i ) and hindrance function values f ( t ( i ) , t ( j ) ) ( k ) output by ICSOA.
Table 7. Sub-interval hindrance factors ζ ( i ) and hindrance function values f ( t ( i ) , t ( j ) ) ( k ) output by ICSOA.
T-A C r ( S A , a ( 1 ) ) C r ( S A , a ( 2 ) ) C r ( S A , a ( 3 ) ) C r ( S A , a ( 4 ) )
ζ ( 1 ) 0.53190.22730.13190.5495
ζ ( 2 ) 0.43480.15380.08470.4545
ζ ( 3 ) 4.34781.53850.84754.5455
f ( t ( i ) , t ( j ) ) ( k ) 5.31451.91961.06415.5495
T-A C r ( a ( 1 ) , a ( 2 ) ) C r ( a ( 1 ) , a ( 3 ) ) C r ( a ( 1 ) , a ( 4 ) ) C r ( a ( 2 ) , a ( 3 ) ) C r ( a ( 2 ) , a ( 4 ) ) C r ( a ( 3 ) , a ( 4 ) )
ζ ( 1 ) 0.17120.11090.30120.20750.25910.1188
ζ ( 2 ) 0.11240.07040.21280.13890.17860.0758
ζ ( 3 ) 1.12360.70422.12771.38891.78570.7576
f ( t ( i ) , t ( j ) ) ( k ) 1.40720.88552.64161.73522.22340.9521
T-B C r ( S B , b ( 1 ) ) C r ( S B , b ( 2 ) ) C r ( S B , b ( 3 ) ) C r ( S B , b ( 4 ) )
ζ ( 1 ) 0.04820.06740.05100.0571
ζ ( 2 ) 0.11490.17860.12350.1429
ζ ( 3 ) 2.29893.57142.46912.8571
f ( t ( i ) , t ( j ) ) ( k ) 2.46203.81742.64363.0571
T-B C r ( b ( 1 ) , b ( 2 ) ) C r ( b ( 1 ) , b ( 3 ) ) C r ( b ( 1 ) , b ( 4 ) ) C r ( b ( 2 ) , b ( 3 ) ) C r ( b ( 2 ) , b ( 4 ) ) C r ( b ( 3 ) , b ( 4 ) )
ζ ( 1 ) 0.09910.08080.03900.09380.04490.0453
ζ ( 2 ) 0.32260.23260.08850.29410.10530.1064
ζ ( 3 ) 6.45164.65121.76995.88242.10532.1277
f ( t ( i ) , t ( j ) ) ( k ) 6.87334.96461.89746.27032.25552.2794
Table 8. Function values f ( t ( i ) , t ( j ) ) and f ( S , t ( x ) ) output by ICSOA.
Table 8. Function values f ( t ( i ) , t ( j ) ) and f ( S , t ( x ) ) output by ICSOA.
T-A f ( t ( i ) , t ( j ) ) ( 1 ) f ( t ( i ) , t ( j ) ) ( 2 ) f ( t ( i ) , t ( j ) ) ( 3 ) f ( t ( i ) , t ( j ) ) ( 4 ) f ( S , t ( x ) ) T-B f ( t ( i ) , t ( j ) ) ( 1 ) f ( t ( i ) , t ( j ) ) ( 2 ) f ( t ( i ) , t ( j ) ) ( 3 ) f ( t ( i ) , t ( j ) ) ( 4 ) f ( S , t ( x ) )
a 1234 5.31451.40721.73520.95212.5254 b 1234 2.46206.87336.27032.27941.1499
a 1243 5.31451.40722.22340.95212.3989 b 1243 2.46206.87332.25552.27941.4337
a 1324 5.31450.88551.73522.22342.3435 b 1324 2.46204.96466.27032.25551.2104
a 1342 5.31450.88550.95212.22342.8175 b 1342 2.46204.96462.27942.25551.4897
a 1423 5.31452.64162.22341.73521.5928 b 1423 2.46201.89742.25556.27031.5361
a 1432 5.31452.64160.95211.73522.1933 b 1432 2.46201.89742.27946.27031.5314
a 2134 1.91961.40720.88550.95213.4112 b 2134 3.81746.87334.96462.27941.0476
a 2143 1.91961.40722.64160.95212.6604 b 2143 3.81746.87331.89742.27941.3732
a 2314 1.91961.73520.88552.64162.6051 b 2314 3.81746.27034.96461.89741.1499
a 2341 1.91961.73520.95212.64162.5261 b 2341 3.81746.27032.27941.89741.3872
a 2413 1.91962.22342.64160.88552.4786 b 2413 3.81742.25551.89744.96461.4338
a 2431 1.91962.22340.95210.88553.1503 b 2431 3.81742.25552.27944.96461.3455
a 3124 1.06410.88551.40722.22343.2295 b 3124 2.64364.96466.87332.25551.1685
a 3142 1.06410.88552.64162.22342.8974 b 3142 2.64364.96461.89742.25551.5501
a 3214 1.06411.73521.40722.64162.6053 b 3214 2.64366.27036.87331.89741.2103
a 3241 1.06411.73522.22342.64162.3444 b 3241 2.64366.27032.25551.89741.5082
a 3412 1.06410.95212.64161.40723.0793 b 3412 2.64362.27941.89746.87331.4895
a 3421 1.06410.95212.22341.40723.1505 b 3421 3.05712.27942.25556.87331.3547
a 4123 5.54952.64161.40721.73521.8457 b 4123 3.05711.89746.87336.27031.1591
a 4132 5.54952.64160.88551.73522.2644 b 4132 3.05711.89744.96466.27031.2151
a 4213 5.54952.22341.40720.88552.4699 b 4213 3.05712.25556.87334.96461.1174
a 4231 5.54952.22341.73520.88552.3356 b 4231 3.05712.25556.27034.96461.1314
a 4312 5.54950.95210.88551.40723.0704 b 4312 3.05712.27944.96466.87331.1127
a 4321 5.54950.95211.73521.40722.5174 b 4321 3.05712.27946.27036.87331.0708
Table 9. The three optimal POI routes and route data searched by ICSOA, TCA and GDA.
Table 9. The three optimal POI routes and route data searched by ICSOA, TCA and GDA.
T-A C r ( S , t ( x ) ) f ( t ( i ) , t ( j ) ) ( 1 ) f ( t ( i ) , t ( j ) ) ( 2 ) f ( t ( i ) , t ( j ) ) ( 3 ) f ( t ( i ) , t ( j ) ) ( 4 ) f ( S , t ( x ) )
ICSOARoute-1 a 1423 5.31452.64162.22341.73521.5928
Route-2 a 4123 5.54952.64161.40721.73521.8457
Route-3 a 1432 5.31452.64160.95211.73522.1933
TCARoute-1 a 1423 5.31452.64161.86301.71181.6877
Route-2 a 4123 5.31452.64161.37661.71181.8773
Route-3 a 1432 5.31452.64160.93801.71182.2170
GDARoute-1 a 1423 4.54582.48572.11191.16181.9565
Route-2 a 4123 4.71622.48571.34731.16182.2173
Route-3 a 1243 4.54581.34732.11190.82232.6519
T-B C r ( S , t ( x ) ) f ( t ( i ) , t ( j ) ) ( 1 ) f ( t ( i ) , t ( j ) ) ( 2 ) f ( t ( i ) , t ( j ) ) ( 3 ) f ( t ( i ) , t ( j ) ) ( 4 ) f ( S , t ( x ) )
ICSOARoute-1 b 2134 3.81746.87334.96462.27941.0476
Route-2 b 4321 3.05712.27946.27036.87331.0708
Route-3 b 4312 3.05712.27944.96466.87331.1127
TCARoute-1 b 2134 1.96233.64752.57960.97802.1939
Route-2 b 4321 1.39200.97803.32913.64752.3154
Route-3 b 1234 1.31263.64753.32910.97802.3589
GDARoute-1 b 2134 1.89743.14612.57961.13192.1160
Route-2 b 2314 1.89743.32912.57961.01242.2028
Route-3 b 4321 1.39201.13193.32913.14612.2201
Table 10. The reduced ratio on the travel costs for ICSOA comparing to TCA and GDA.
Table 10. The reduced ratio on the travel costs for ICSOA comparing to TCA and GDA.
Route 1 (Optimal)Route 2 (Sub-Optimal)Route 3 (Sub-Optimal)
T-AICSOA-TCA5.62%1.68%1.07%
ICSOA-GDA18.60%16.76%17.29%
T-BICSOA-TCA52.25%53.75%52.83%
ICSOA-GDA50.49%51.39%49.88%
Table 11. The comparison on time complexities of ICSOA, TCA and GDA.
Table 11. The comparison on time complexities of ICSOA, TCA and GDA.
TCAGDAICSOA
Time Complexity O ( n 2 ) O ( n log n ) O ( n )
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhou, X.; Zhang, Z.; Liang, X.; Su, M. POI Route Recommendation Model Based on Symmetrical Naive Bayes Classification Spatial Accessibility and Improved Cockroach Swarm Optimization Algorithm. Symmetry 2024, 16, 424. https://doi.org/10.3390/sym16040424

AMA Style

Zhou X, Zhang Z, Liang X, Su M. POI Route Recommendation Model Based on Symmetrical Naive Bayes Classification Spatial Accessibility and Improved Cockroach Swarm Optimization Algorithm. Symmetry. 2024; 16(4):424. https://doi.org/10.3390/sym16040424

Chicago/Turabian Style

Zhou, Xiao, Zheng Zhang, Xinjian Liang, and Mingzhan Su. 2024. "POI Route Recommendation Model Based on Symmetrical Naive Bayes Classification Spatial Accessibility and Improved Cockroach Swarm Optimization Algorithm" Symmetry 16, no. 4: 424. https://doi.org/10.3390/sym16040424

APA Style

Zhou, X., Zhang, Z., Liang, X., & Su, M. (2024). POI Route Recommendation Model Based on Symmetrical Naive Bayes Classification Spatial Accessibility and Improved Cockroach Swarm Optimization Algorithm. Symmetry, 16(4), 424. https://doi.org/10.3390/sym16040424

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop