Indoor Traveling Salesman Problem (ITSP) Path Planning

: With the growing complexity of indoor living environments, people have an increasing demand for indoor navigation. Currently, navigation path options in indoor are monotonous as existing navigation systems commonly offer single-source shortest-distance or fastest paths. Such path options might be not always attractive. For instance, pedestrians in a shopping mall may be interested in a path that navigates through multiple places starting from and ending at the same location. Here, we name it as the indoor traveling salesman problem (ITSP) path. As its name implies, this path type is similar to the classical outdoor traveling salesman problem (TSP), namely, the shortest path that visits a number of places exactly once and returns to the original departure place. This paper presents a general solution to the ITSP path based on Dijkstra and branch and bound (B&B) algorithm. We demonstrate and validate the method by applying it to path planning in a large shopping mall with six ﬂoors, in which the QR (Quick Response) codes are assumed to be utilized as the indoor positioning approach. The results show that the presented solution can successfully compute the ITSP paths and their potentials to apply to other indoor navigation applications at museums or hospitals.


Introduction
Navigation is a process or activity of accurately ascertaining locations of users, planning a path, and leading the users to follow the route to the goal location [1][2][3]. Indoor navigation has been studied by researchers and practitioners for many years, but indoor navigation services in most cases are unavailable in practice just yet. This dilemma reflects the fact that people have urgent needs for this service, but effective, robust, and practical indoor navigation solution is challenging. This could have been attributed by increasingly complex indoor environments, such as the growing large-scale offices, shopping malls, and other public buildings with complex, irregular interior arrangements, and people with diverse navigation requirements for living, studying, shopping, or working in indoor spaces.
A smart path planning needs to consider users' requirements and customize the path accordingly [4]. However, path planning of current navigation systems primarily take the (shortest) travel distance or (fastest) time as the main criteria for optimal path computation [5,6]. Path with the shortest distance or fastest travel time could be a habitual choice for humans [7], but it does not mean this kind of path is always the desired choice under all circumstances. For example, pedestrians may be interested in the shortest path that can navigate them from the departure and come back to the original point after visiting specific places. In this paper, such kind of shortest path is named the indoor traveling salesman problem (ITSP) path in acknowledging that it is a variation of the conventional Traveling Salesman Problem (TSP). The conventional TSP is a well-known algorithmic problem in the fields of computer science and operations research, which was defined as the challenge of finding the shortest yet most efficient route for a person to take given a list of specific destinations [8]. In short, in the TSP a traveler must visit each destination once and return to the origin.
At first glance, the ITSP is the same as the conventional TSP. On a closer inspection however, it is not identical. In the conventional TSP, all the nodes are destinations and all of them will be included in the navigation path, while the navigation path of ITSP may only include a part of all possible nodes. In other words, if there are n nodes in the conventional TSP graph, the navigation path for this issue will include all the nodes. Yet, if there are n nodes in navigation network for ITSP, the navigation path will include m (m ≤ n) nodes. This is to say, the conventional TSP should be applied at a different set of nodes each time a navigation is requested.
We illustrate the difference between conventional TSP and ITSP with an indoor example. Figure 1 shows an indoor map and corresponding indoor navigation network. There are seven rooms (R1-R7), one Point of Interest (POI)-Automated Teller Machine (ATM) (the black dots in the navigation network), and one obstacle/atrium. The rooms and POI could be desired destinations. The other twenty-three nodes (N0-N22) marked by hollow circles are other indoor locations; here, we name them as dummy nodes. If a person desires to start from R7 and wants to come back after visiting ATM, R1, R2, and R5, the conventional TSP will fail to compute the shortest path, because it generally would include all thirty nodes. Such path is not reasonable for this indoor application, as one shortest path that contains the above five desired nodes (R7, ATM, R1, R2, and R5) at once and forms a ring-like path is what the pedestrian needs. Therefore, we argue that it is necessary to adapt the conventional TSP for indoor applications. This paper proposes a solution to ITSP path planning by combining the Dijkstra algorithm [9] and branch and bound (B&B) algorithm [10,11]. The remaining sections are organized as follows. Section 2 reviews the current personalized/agent-tailored navigation paths. Section 3 presents the concepts, modeling, procedures, as well as the illustration of the ITSP. Section 4 demonstrates the ITSP with case studies. Section 5 concludes with next steps related to future work, refinements, and tests.
The conventional TSP has attracted much attention from mathematicians, and computer scientists specifically, as it was first formulated in 1930 because it is so easy to describe and so difficult to solve. It belongs to the class of such problems known as non-deterministic polynomial-time complete (NP-complete) [8,30,31]. As the real situation becomes more complicated, new variants of the existing basic TSP developed, such as there is a time limit for delivery (Traveling Salesman Problem with Time Window (TSPTW) [32,33]), one-way road (Asymmetric Traveling Salesman Problem (ATSP) [34]), more than one salesman (Multiple Traveling Salesman Problem (MTSP) [35,36]), one TSP with constrains (Precedence Constrained Generalized Traveling Salesman Problem [37], Partially Ordered Traveling Salesman Problem [38]), etc. However, although the path finding and planning have been widely studied in the literature, to the best knowledge of the authors, no study has been done on ITSP because of its special characteristics. Furthermore, all the algorithms or suggested approaches in the literature for path planning are not directly applicable to this problem.

Concepts and Modeling
The ITSP can be best described as the following scenario: a pedestrian plans to visit an indoor scene with several (n ∈ Z + ) indoor nodes (they could be rooms, indoor POIs, specific functional areas, etc.), in which the distance between every two nodes (d(s i , s j )) may be the same or different. The pedestrian starts from a space and returns to the same space after visiting all the desired indoor nodes. The solution to this problem is to seek the optimal order of visiting all desired indoor nodes that makes the path to be the shortest.
The mathematical model of ITSP is as follows.
All indoor spaces are represented as nodes: The ITSP is symmetric [30], the distances between any two nodes are where i and j mean the ith and jth of the indoor nodes.
The goal is to find the optimal order of visiting all desired indoor nodes to minimize the cost: where s k i denotes the k i th indoor node.

Procedures of ITSP Path Planning
The path planning of ITSP is based on an indoor navigation network, which is modeled as a graph (G original (V, E)). In the graph, vertices (V) are abstracted from indoor spaces s i and edges (E) from the relationships between spaces (the theoretical basis is Poincaré duality [39] Step 2: Compute navigation paths between every two selected nodes. This step takes the departure location and specified intermediate places as nodes to compute navigation paths between any two nodes based on Dijkstra. The lengths of the navigation paths are used as the distances between two nodes. In this paper, we set the d(s i , s j ) = d(s j , s i ), i.e., the paths in this example are symmetric and we simply assume the route between the two intermediate destinations is bi-directional. In reality, d(s i , s j ) may be not equal to d(s j , s i ), e.g., one-way corridors such as escalators. In all cases, d(s i , s i ) = d(s j , s j ) = 0. Continue the example in Step 1, this step can get six paths: s 1 s 4 , s 1 s 7 , s 1 s 9 , s 4 s 7 , s 4 s 9 , s 7 s 9 , and corresponding reverse paths. The symbol ( ) means there are zero to several navigation nodes between two nodes. The travel distances are d(s 1 , Step 3: Set up graph of desired intermediate destinations. Setting up a graph of all desired intermediate destinations is to take the travel distances of every two specified places as weights and all these places as nodes to make an undirected graph. For the example in Step 1, the undirected graph can be organized as a table (Table 1). • Step 4: Select and sort the navigation paths based on B&B algorithm. Taking the undirected graph as the input, the orders of departure and desired intermediate destinations can be computed based on the B&B algorithm. Then, the orders are further used to select and sort navigation paths. For instance, the order could be <s 1 , s 7 , s 9 , s 4 , s 1 >, which means the following navigation paths will selected and sorted as s 1 s 7 , s 7 s 9 , s 9 s 4 , and s 4 s 1 . • Step 5: Combine the navigation results of Dijkstra as the ITSP path. The last step is to combine the navigation results as the ITSP path. For instance, the ITSP path of the example is s 1 s 7 s 9 s 4 s 1 . Then, the final navigation path becomes s 1 → . . . → s 7 → . . . → s 9 → . . . → s 4 → . . . → s 1 . The symbol (→) means there is no other navigation node between the two nodes.
By following the second step in the procedures, the navigation paths of every two desired destinations can be computed based on Dijkstra. Utilizing each pair of nodes as the temporary departure and destination, we can get all the navigation paths and travel distances (Table 2). Then, the distances are utilized to make up an undirected graph ( Figure 2 and Table 3).   With the undirected graph, the optimal orders of the nodes can be computed by using B&B algorithm: <'R7', 'R5', 'R2', 'R1', 'ATM', 'R7'>. It means that, having 'R7' as the departure and 'R1', 'R2', 'R5', 'ATM' as the specified intermediate places during the traveling, the sorted navigation path is: R7 R5 R2 R1 ATM R7 (Figure 3). The last step is to combine the results of Dijkstra to the sorted path as the ITSP path. For the case, the optimal path is R7 (Figure 3). The cost of this path is 59.27.

Case Description and Data Preparation
In this section, we modeled one of the largest shopping centers in Sydney, Australia, for testing the ITSP path planning. Two software packages were employed in this implementation: Quantum GIS (QGIS) and Rhinoceros (with Grasshopper). In the whole process, QGIS is used to edit the indoor maps, including editing footprints and attributes of indoor elements, and setting the coordinate system. Rhinoceros (with Grasshopper) is used to process the entire procedures of ITSP path planning, and the whole data process is developed in Python script. We edited the floor plan into four shapefile layers, including rooms, corridors, atriums, and POIs (Figure 4), in which except for the POIs, all other spaces are polygons. The shops, toilets, escalators, stairs, and lifts are included in the layer named Rooms, while the ATM and Bench are edited in POIs layer. Atriums and corridors are edited in two separated layers named Atriums and Corridor. Each element in each layer has three attributes: {ID, name, category}. ID records the id of each element, name keeps the semantic of the element (e.g., "Coles", "EscalatorL5_L4", "ToiletA_L5", "ATM_A_L5"), and category records the supplement information. For instance, the category of the shop named "Kidstuff", is "Books, stationary and gifts, Entertainment and activities, Sporting goods stores, Toys and hobbies stores".

Navigation Network Derivation
Navigation paths are computed based on navigation network. In this paper, we follow a space-based approach for constructing a network [40]. The indoor spaces are polygons, and the theory that is used for automatically generating navigation networks is the Poincaré duality [39].
The indoor localization technique this implementation uses is Quick Response (QR) codes. Compared to QR codes, other techniques (e.g., Bluetooth beacons, Wi-Fi) suffer from some limitations, such as extra installation, maintenance cost, or infrastructure cost. QR codes are matrix codes, which are similar to two-dimensional bar codes, but more efficient than the barcodes with their capacity of encoding, faster reading speed, and readability from any direction from 360 degrees [41]. During the navigation, pedestrians can scan the nearest QR codes to have their current locations. In this case study, QR codes are placed on the ground in front of the doors (the left figure of Figure 5). Then, locations of QR codes and the vertices of the corridor and atrium polygons are utilized as the generators of Voronoi Tessellation with envelope [42] to subdivide the corridor spaces. This approach can make sure each subspace only contains one QR code, and consequently, the subdivided spaces can indicate the topological relationship between QR codes, see the middle figure of Figure 5. Finally, on the basis of Poincaré duality, the topological relationships are automatically derived as indoor navigation networks (the right figure of Figures 5 and 6). In Figure 6, the distances between two floors are enlarged to 50 m to make the spaces and navigation network more visible. In the navigation path planning, we reduced this distance to 3 m. It is necessary to explain that there are two reasons why the QR codes are placed on the ground: (i) QR codes should be placed to the places where pedestrians can walk, and (ii) we consider it is easier for users to find and scan them, especially the indoor open spaces.

ITSP Path Planning
Two navigation cases in the shopping mall are utilized to demonstrate the ITSP path planning. The first case is a pedestrian who plans to search for some items for kids on the fifth floor. From his/her current place ('LiftC_L5' or 'EscalatorB_L5'), he/she would like to have a shortest navigation path that can help him/her to visit all the shops selling kids and babies products and then come back to the original place. This navigation can be translated as an ITSP path planning case, in which the shops with products for babies or kids are desired destinations.
We first search the shops that have products for babies/kids as the desired destinations. Considering the name or category of shops can give the clues that they are selling goods for kids or babies, we conduct this process in the Query Builder of QGIS, in which we set a specific filter expression: "name" LIKE '%baby%' or "name" LIKE '%kid%' or "category" LIKE '%Baby%' or "category" LIKE '%kid%'. The search results are twelve shops (Table 4). Thus, the desired destinations are the twelve shops. Meanwhile, we suppose the costumer starts from LiftC_L5 and EscalatorB_L5 (Figure 7).  Having the twelve desired destinations and the navigation network, the two procedures that (i) compute navigation paths between every two destinations based on Dijkstra algorithm and (ii) set up a graph of destinations are conducted automatically. Then, taking the undirected graph as the input, the orders of departure and specified intermediate places are computed based on the B&B algorithm (Table 5).  Table  EscalatorB_L5 The final step is combining the results as a navigation path (Figure 8). The length of the path starts from 'LiftC_L5' is 1002.41 m and that of the path from 'EscalatorB_L5' is 1050.34 m. These two navigation paths truly simulate the process of a customer coming out of the elevator or stairs to go shopping in stores that have products for kids or babies. Therefore, we believe ITSP path is useful for such kinds of people.
The second navigation case is to show that the presented solution also can support ITSP path planning in multi-floors. The scenario is a pedestrian who wants to visit several shops in the shopping mall ( Figure 9). He/she starts from the supermarket named "Coles" on the first floor, which is the departure and final destination location of this indoor travel. The other desired destinations are a shop named "Bondi Hair" that also on the first floor, "MacDonald's" on the third floor, and two shops ("Target" and "Myer L5") on the fifth floor.  In the path planning, we added a condition on the traveling ways of between different floors, i.e., lifts only, or all the ways (stairs, lifts, and escalators). The navigation paths computed by presented approach can be seen in Figure 10, in which the orders of the shops that will be visited in the two navigation paths are coincidentally the same: "Coles" "Bondi Hair" "Target" "Myer L5" "McDonald's" "Coles". But, the two paths have different travel distance, 1202.06 m for the using lifts ( Figure 10 The two navigation paths show that the multi-floor ITSP path planning based on the presented approach is feasible. During the navigation, pedestrians can have desired destinations that are distributed on the same or different floors. Meanwhile, the ways (stairs, lifts, or escalators) that the people using for transferring from one floor to another can be considered in ITSP path planning.

Discussion
The use cases above demonstrate that the presented approach can solve the ITSP path planning. However, several aspects are still worth mentioning.
The performance of navigation paths. The navigation paths can help pedestrians to have shopping plans, but due to the incalculable walking distance and residence time of pedestrians in each store, there will be a deviation in estimated journey time of the entire itinerary. Moreover, distance is the only factor that is considered when determining the optimal path between two desired destinations. Other than the distance, there are other factors that may be also important, such as the pedestrian number, the crowd congestion, and the traffic time on the road. These factors are not considered in this paper. Moreover, the navigation paths are a little angular, which is the common results of path planned based on the navigation network. Therefore, the navigation path should be further refined to avoid refractions.
Selection of desired destinations. Theoretically, the proposed approach can compute a navigation path for the ITPS no matter how many desired destinations are included. However, the more desired destinations are involved and the more complex the navigation network is, a longer processing time will be required for computing navigation paths. Thus, on one hand, it is necessary to improve the performance of Dijkstra [43] and B&B algorithm [11] or use other algorithms, and on the other hand, set up some rules on the selection of destinations should be investigated to reduce their number, such as setting up a scoring system to rank all the desired destinations and chose the top five in the path planning.
Navigation should be performed based on 3D spaces [2,40,44]. This navigation implementation is based on 2D floor plans; therefore, the vertical information of this floor is missing from the data source. Although it is very unlikely in the shopping center case, some indoor spaces may have hazardous areas due to a low height constraint. Therefore, extending the floor plan to 3D and possible hazardous areas would be beneficial for such places where the height limit presents [2].
Other combinations of navigation path planning algorithms. The implementations show that combining Dijkstra and B&B algorithm is a feasible solution to ITSP path planning. Note that this combination is only one optional option. Using other algorithms also may achieve the same effect but more efficient, such as using A* [45] or Ant colony to replace Dijkstra while replacing B&B algorithm other algorithms, such as stochastic algorithms [46], approximation algorithms [47,48], other heuristics algorithms [49,50], or even brute force algorithm.

Conclusions and Future Work
The motivation of this study is that pedestrians may be interested in the shortest path that can navigate them from a departure and come back to the original location after visiting specific places once. This research calls such an indoor navigation path type as Indoor Traveling Salesman Problem (ITSP) and presents a solution to this path type on the basis of the Dijkstra and branch and bound (B&B) algorithm. The implementation was demonstrated on a large, multi-level shopping mall, which shows that the presented approach can compute a shortest path for pedestrians in indoor spaces successfully.
This path type can be used for other indoor scenarios where visitors knows what kind of indoor locations he/she is going to visit or deliver and needs the shortest path that can connect all the locations. For example, visitors to an hospital may need to visit multiple locations for examinations. Museum is another type of indoor environment where the ITSP path can assist visitors, for example, top twenty exhibits or that in specific themes to help such kind of visitors rather than wandering around the whole museum for more enjoyable visit.
In future work, we will concentrate on further elaboration and testing of the current work as follows: (i) Investigate the rules of selecting desired destinations. (ii) Employ the presented approach to outdoor and test ITSP in seamless indoor and outdoor navigation. (iii) Build a more refined navigation network or certain strategies for path smoothing. (iv) Conduct ITSP tests based on indoor 3D spaces. (v) Test and compare other combinations of path planning algorithms for ITSP path planning and give selection suggestions by comparing the results. (vi) Consider more factors into the ITSP planning, such as the pedestrian number, the crowd congestion, and the traffic time on the road. (vii) Take dynamic POIs as the destinations for ITSP path planning.