Next Article in Journal
Factors Influencing Adoption Intention for Electric Vehicles under a Subsidy Deduction: From Different City-Level Perspectives
Previous Article in Journal
Public Awareness of Nanotechnology and Its Implications for Health in Jordan
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An IndoorGeoBML Model Based IORP Algorithm for Indoor Operation

1
Institute of Geospatial Information, PLA Strategic Support Force Information Engineering University, Zhengzhou 450001, China
2
Collaborative Innovation Center of Geo-Information Technology for Smart Central Plains, Zhengzhou 450001, China
*
Author to whom correspondence should be addressed.
Sustainability 2022, 14(10), 5760; https://doi.org/10.3390/su14105760
Submission received: 28 March 2022 / Revised: 7 May 2022 / Accepted: 8 May 2022 / Published: 10 May 2022

Abstract

:
Indoor military operations play a vital part in modern urban warfare. Decision making in indoor operations is quite complicated due to the complex of the indoor spatial environment. However, the study of the characteristics and features of indoor operations is scarce. To help commanders make decisions in indoor operations, a model to represent the information of the building and an algorithm to perform route planning is needed. There have been some studies in the field of search and rescue problems, but these did not study the enemy force, which has a lot of uncertainties and plays a vital role in indoor operations. To solve this problem, this paper first proposes an innovative IndoorGeoBML (Indoor Geospatial Battle Management Language) model to accurately describe the indoor environment. We define six categories of information in IndoorGeoBML model: geometry information, navigation information, semantic information, outdoor information, intelligence information, and event information, which accurately, dynamically, and comprehensively describe the environment in the building. Then based on the IndoorGeoBML model, this paper researches the route planning in indoor operations. There are two types of indoor route planning problems. One is single destination route planning, the other is a searching route planning, which needs to plan paths to search the whole building. To deal with these two kinds of route planning problems, based on IndoorGeoBML model, this paper introduces a new algorithm: the IORP (Indoor Operation Route Planning) algorithm. Finally, this paper implements some experiments on a building with IORP algorithm dealing with the two kinds of route planning problems. For single destination route planning, the result shows that the enemy capability, traversing time, and own casualties of our proposed algorithm are 779.2, 801, and 12.5, which is at least 9.9%, 9.2%, and 7.5% lower compared to other algorithms. For searching route planning, the result shows that the whole time for searching decreases from 3044 s to 2673 s, and the number of squads decreases from 8 to 5. The evaluation of the model and algorithm shows a significant improvement in time and casualties, which will help commanders make better decision in indoor operation.

1. Introduction

Battle Management Language (BML) is the unambiguous language used to command and control forces and equipment conducting military operations and to provide for situational awareness and a shared, common operational picture [1]. Geospatial Battle Management Language (GeoBML) is an expansion of BML in the field of geo-spatial information, From the perspective of geospatial information, it expands BML to mark the geographic environment data contained in the command and control information to the greatest extent, and then form the information and knowledge to understand the battlefield environment [2,3].
There are several works have been developed on the topic of BML and GeoBML. Ulrich Schade et al. [4,5], William P. Sudnikovich Schade et al. [6], and J. Mark Pullen et al. [7], did some research on BML, but they did not mention geospatial information in their works. Martin Kleiner et al. [8] used GeoBML in a real application, but they wrote little about the grammar of GeoBML and didn’t mention the in-door environment. Jie ZHU et al. [9] provide GeoBML to describe and construct modeling of combat missions and the battlefield environment simulation process. However, they did not address the indoor environment.
Other studies have been developed on the topic of indoor BIM (building information modeling) to study indoor operations (search and rescue problem). Shiau Yan Chyuan et al. [10] proposed a BIM web-based fire management system that detects fire events and collects information about the building’s victims; it enables rescuers to access online information about the fire conditions and fire-fighting equipment. Wang Bin et al. [11] developed a BIM-based virtual environment to im-prove the management of emergencies in buildings. They focused on event two-way information flow and victims’ evacuation. Cheng Min Yuan et al. [12] proposed an intelligent system for indoor fire prediction and disaster relief that uses BIM and Bluetooth sensors to collect data on the environment and determine the best evacuation routes. In addition, a mobile application was developed to help evacuees and fire-fighters during fire tragedies. Fu X et al. [13] forwarded a realistic cascading model based on a new load metric “MOB” and designed a memetic algorithm MA-MSP to improve network robustness by optimizing multi-sink placement. Yiquan Song et al. [14] provide a new spatial data model named the Combinatorial Spatial Data Model (CSDM), and present the Unified Modeling Language (UML) class diagram of the CSDM, based on Fire Dynamics Simulator (FDS).
Since the situation inside the building is continuously changing, in order to get real-time, dynamic information from it, we must integrate technology such as IoT (the internet of things) with indoor models. Fu X et al. [15], who did some research on cascading reliability of edge-assisted IoT, proposed a practical cascading model for edge-assisted IoTs.
Automated route planning will be a key element of almost any automated terrain analysis system that is a component of a military command and control system [16]. In addition, in indoor operations, route planning will be a key element in command and control systems.
Several studies have been conducted on the topic of indoor route planning algorithms. Kanika Singhal et al. [17] discuss the ant colony optimization algorithm (ACO) in detail, and they conclude that there are many optimization problems that may optimize using a modified ant colony algorithm in an efficient manner. Wu C H and Chen L C. (2012) [18] address indoor search and rescue problem as a traveling salesman problem (TSP). However, their solution is limited in how it can be used for 3D structures, and the GNM used in their work is not integrated with GIS. H. Tashakkori et al. [19] provide GNM which is built upon BML, which includes geometric and semantic information about the features inside the building that impact first responder navigation. Then, they do a case study with ACO; the results were encouraging. However, their model is static, lack the event information. Fu X et al. [20] proposed two cascade failure mechanisms for the global routing mode and the local routing mode.
Thus far, the research and study of IndoorGeoBML is quite new, and indoor operations are very different military battles. In this paper, based on BML and GeoBML, we propose a new model called Indoor Geospatial Battle Management Language (IndoorGeoBML) model. Then we use this model to introduce an IORP algorithm (based on ACO algorithm) for the two kinds of route planning problems. Finally, we discuss the performance of an experiment with the IORP algorithm and analyze the result. The experiment result shows that the enemy capability, traversing time, and own casualties and of our proposed algorithm are 779.2, 801, and 12.5, respectively, which is at least 9.9%, 9.2%, and 7.5% lower compared to other algorithms in single destination route planning. For searching route planning, the result shows that the whole time for searching decreases from 3044 s to 2673 s, and the number of squads decreases from 8 to 5. The evaluation of the model and algorithm shows a significant improvement in time and casualties which will help commanders make better decisions in indoor operations.
In the rest of the paper, Section 2 will discuss IndoorGeoBML model in detail. IORP algorithm will be formulated and presented in Section 3. Then, Section 4 will evaluate the proposed model and algorithm by experiment. Finally, Section 5 will conclude the paper and discuss future research and improvements.

2. The Design of IndoorGeoBML Model

To be able to help commanders and staffers make good decisions for indoor operations, we have to build an accurate and detailed IndoorGeoBML Model. Such a model will consist of indoor information (containing the geometry information and navigation information) and outdoor information (to plan a route to the building). Moreover, semantic information to help better describe properties of the indoor entities will also be added to IndoorGeoBML Model. Intelligence information is also a vital component of military operations, which uses information collection and analysis approaches to provide guidance and direction to assist commanders in their decisions. Finally, event information that dynamically facilitates situational awareness of the environments should also be considered.

2.1. Geometry Information

First, we need to add indoor geometry entities to our IndoorGeoBML, which can precisely reflect all the navigable nodes in the building when we want to find a path. These geometry entities can be regarded as “nodes” in route planning. The coordinate information of these geometry entities can be obtained from BIM.
Vector ( x , y , z ) = { v 1 , , v i , v m } , and i m define these entities’ coordinate information, where x , y , z represents the longitude, latitude, and elevation values (meter) respectively, and m represents total entities in vector V ( x , y , z ) .
Then we need to add the attributes of the nodes. Horizontal slabs, vertical access points like stairs and elevators, entrance and exit points (doors, windows etc.), rooms and corridors, hazard points, accessible and non-accessible areas, etc. should all be well represented in IndoorGeoBML. Moreover, 3D geometric information of the indoor elements such as door and window heights, corridor wideness, etc. type of doors (entrance or exit), type of windows (whether they can be used as exit points), hazard status in rooms, etc. play a crucial role in how the route graphs are defined [21].
Vector A G = { a G 1 , , a G i , ,   ,   a G m }   , and i m describe the attributes of the nodes. We can define the vector of geometry information as G ( V ,   A G ) = { g 1 , , g i ,   ,   g m } , which meets conditions in Equation (1):
{ g 1 g 2 g m = G ( V ,   A G ) g i g ¬ i = ,       s . t .     i , ¬ i ( 0 ,   m ] Z +   g i ,       g i G ( V ,   A N ) ,       s . t . i ( 0 ,   m ] Z +

2.2. Navigation Information

While an entity in geometry information can be regarded as a “node” in route planning, an entity in navigation information can be regard as an “edge‘’. Navigation information plays a very important role in route planning; it includes topology of floor layouts, accessibility between spaces, height of the floors, and specification of the stairs and doors. The coordinate information of these navigation entities can also be obtained from BIM.
Vector E ( x 1 , y 1 , z 1 , x 2 , y 2 , z 2 ) = { e 1 , , e j ,   ,   e p } , and j p contains the coordinates of the entities of navigation information. Where x 1 , y 1 , z 1 , x 2 , y 2 , z 2 , are the longitude, latitude, and elevation values of two end points in the edge, p represents total entities.
Just like geometry information entities, the IndoorGeoBML model should consider the attribute of the navigation information too. Vector A N = { a N 1 , , a N j ,   ,   a N p } , and j p describe the attributes of the edges. Then, we can define the vector of navigation information as N ( E ,   A N ) = { n 1 , , n j ,   ,   n p } , which meets conditions in Equation (2):
{ n 1 n 2 n p = N ( E ,   A N ) n j n ¬ j = ,       s . t .     j , ¬ j ( 0 ,   p ] Z +   n i ,       n i G ( V ,   A N ) ,       s . t . j ( 0 ,   p ] Z +
Now we can connect geometry and navigation information together, and formulate a network. The relationship of geometry and navigation information can be described as matrix U ( G , N ) in Equation (3):
U ( G , N ) = ( u ( G 1 , N 1 ) u ( G 1 , N p ) u ( G w , N j ) u ( G m , N 1 ) u ( G m , N p ) )
Where the matrix meets the conditions in Equation (4):
{ U ( G , N ) = ( u ( G w , N j ) ) s . t .     u ( G w , N j ) = 0     u ( G w , N j ) = 1

2.3. Semantic Information

At its basic level, semantic information describes some properties of the geometry and navigation information that would affect indoor operation. Vector S G = { s G 1 , , s G i , ,   ,   s G m } , and i m , defines the semantic information of geometry entities. Vector S N = { s N 1 , , s N j , ,   ,   s N p } , and j p define the semantic information of navigation entities. We need to draw the information of entities (the traversing speed, military difficulty etc.) from BIM.
As for semantic information of navigation entities, which plays a vital part in route planning, we will describe the 3 most common entities in detail: IGBMLSpace, IGBMLElevator, IGBMLStair.
  • IGBMLSpace is the entity used to represent a space as the area or volume of a functional region. It is often associated with entities with empty space (e.g., hall, room, bathroom). The speed s s p within those entities can be around 30 m per minute, and we can set the military difficulty factor ψ s p of those entities as a standard unit 1.
  • IGBMLElevator is a vertical entity, which merges or splits the space. Although the use of elevators is discouraged in operations with fire, some research still shows that they are a necessity and their usage is unavoidable, especially when we can monitor it with IoT technology. The speed s e l within those entities can be at an average of 6 m per second, the military difficulty factor ψ e l of those entities is higher, such as 15, in comparison with IGBMLSpace entities.
  • IGBMLStair also represents a vertical passage allowing for movement from one floor to the other. It can contain an intermediate landing. The speed s s t within those entities is considered at 15 m per minute, the military difficulty factor ψ s t of those entities is a little bit higher, at 5, compared to IGBMLSpace entities.
Thus, we can describe the total traversing time of all navigable entities as Equation (5).
i , j   V L i j s p d i j s s p · ψ s p + L i j e l d i j s e l · ψ e l + L i j s t d i j s s t · ψ s t
where:
L i j s p = { 1       i f   ( i , j )   i s   i n   r o u t e ,   a n d   t h e   t y p e   i s   s p a c e   o t h e r w i s e
L i j e l = { 1       i f   ( i , j )   i s   i n   r o u t e ,   a n d   t h e   t y p e   i s   e l e v a t o r   o t h e r w i s e
L i j s t = { 1       i f   ( i , j )   i s   i n   r o u t e ,   a n d   t h e   t y p e   i s   s t a i r   o t h e r w i s e
In this paper, we will use a building with 7 floors and a roof as an example. The Figure 1 demonstrates the building’s geometry, navigation and semantic information.
In Figure 1c, the gray points represent the indoor doors, the purple points represent the windows, and the cyan points represent the doors to enter the building. The indoor doors mean these are accessible in route planning. In addition to the doors, which can be used as entrances/exits in indoor operations, windows can also be regarded as entrances/exits.
Figure 1d shows the example building with vector S G and S N , where green lines represent the IGBMLSpace, red lines represent the IGBMLElevator, and orange lines represent the IGBMLStair.

2.4. Outdoor Information

In addition to information inside the building, outdoor information is also vital, because indoor operations begin from outside. It is necessary to add outdoor information to IndoorGeoBML model. The information on outdoor geolocation (longitude, latitude, and elevation) can be obtained from GPS.
Vector B ( x , y , z ) = { b , , b i ,   ,   b p } and i p define the outdoor information, where x , y , z represents the longitude, latitude, and elevation values (in meters), respectively, and p represents total entities in vector B ( x , y , z ) .
The speed s r o of entities in vector B ( x , y , z ) can be around 50 m per minute, and we can set the military difficulty factor ψ s p of those entities to 0.8.
Now, we can calculate the total traversing time of a route starting from outdoors, and redefine Equation (5) as Equation (9):
i , j   V ( L i j s p d i j s s p · ψ s p + L i j e l d i j s e l · ψ e l + L i j s t d i j s s t · ψ s t ) + i , j   V L i j r o d i j s r o ψ r o
where:
L i j r o = { 1       i f   ( i , j )   i s   i n   r o u t e ,   a n d   t h e   t y p e   i s   r o a d   o t h e r w i s e
Adding outdoor information to IndoorGeoBML is the process of blending the BML model into layers of the geospatial context. Thus, we can use outdoor information to obtain the most accurate and up-to-date information about the environment where the operation is to take place.

2.5. Intelligence Information

Intelligence information plays a vital role in commanders’ decision-making in indoor operations. Intelligence information provides staffers with information about the enemy, e.g., where they are, how many they are, what weapons they have, how many weapons they have, what they are going to do in the future, etc.
In IndoorGeoBML, we will introduce 3 intelligence information elements: IGBMLPeople, IGBMLLocation, IGBMLWeapon. Intelligence information can be obtained from intelligence departments.
  • IGBMLPeople is the detailed information about the enemy and victims (for some rescue operations). This includes the number of enemy and victims, the military ranks and positions of enemy, etc.
  • IGBMLWeapon describes the number and categories of the enemy’s weapons.
  • IGBMLLocation is the location of people and weapons.
With the intelligence information elements, we can define the capability as Equation (11):
C x y E = μ P   ( N x p + N y p 2 )   μ w   ( N x w + N y w 2 )   ( P x w + P y w 2 )
where μ p represents the coefficient of IGBMLPeople, N i p represents the number of IGBMLPeople, μ w represents the coefficient of IGBMLWeapon of the node, N i w represents the number of IGBMLWeapon of the node, and P i w represents the power of IGBMLWeapon of the node.
Figure 2 is an example with intelligence information, where a larger sphere represents a stronger strength of the enemy, which has a higher C x y E in Equation (11).
With intelligence information, we can define the cost time when traversing nodes as Equation (12):
t x y = d x y s x y · a x y · ψ · C x y E
where t x y represents the time when traversing the node, s x y represents a soldier’s speed on that route, C x y E represents the capability of enemy, and ψ represents the military difficulty factor; and:
d x y = ( i y i x ) 2 + ( j y j x ) 2 + ( k y k x ) 2
a x y = { 1       n o d e   x   a n d   n o d e   y   a r e   a c c e s s i b l e o t h e r w i s e
Then we can define the cost when traversing between those nodes as Equation (15):
θ x y = 1 t x y

2.6. Event Information

To make the IndoorGeoBML model dynamic, we add event information to the model. With internet of things (IoT) technology, we can get information such as temperature, flame, smoke, and carbon dioxide levels as well as the victims and soldiers’ location in the building. In addition, we can get event information from soldiers’ reports.
Tuple D = { ( s ,   e ,   i ,   l ,   t ,   r ) : s S E ,   e E E ,   i I E ,   l L E ,   t T E   ,   r R E } has six elements to describe the event information, where S E , E E represents soldiers and enemy participating in the event, I E describes the detail of the event, and L E , T E , and R E represent the location, time, and result of the event, respectively.
f : D t x y
Equation (16) demonstrates the function by which event information affects the t x y in Equation (12). This means that tuple D has an impact on G ( V ,   A G ) , N ( E ,   A N ) , S G , S N , B ( x , y , z ) and C x y E .
As Figure 3 demonstrates, since for some reason (such as a cut-off of electricity), the elevators in the building no longer work, the red lines in Figure 1d no longer exists.

3. IORP Algorithm for Indoor Operation Route Planning

After we have constructed the IndoorGeoBML model, we can apply it to the indoor operation route planning. Depending on different mission targets, there are two typical kinds of route planning when we launch indoor operations. One is single destination shortest route planning. The other one is different: instead of just finding one end-to-end path, we may have to search the whole building to accomplish our mission. In this section, we will first discuss the core concept of the IORP algorithm with the IndoorGeoBML model, then we will study how to use this algorithm to deal with single destination and whole building search route planning.

3.1. The Core Concept of IORP Algorithm

IORP (indoor operation route planning) algorithm is based on ant colony optimization (ACO). ACO is a powerful metaheuristic algorithm inspired by the behavior of real ants, and has been widely researched in indoor rescues [22].
With IndoorGeoBML, the IORP algorithm is initiated by locating some h squads on the start node. There are M points of entry to the building that can be either used for entrance or exit which we generally refer to as start node or target node. Each squad is deployed to take one of the available edges to the start node and relocate to a new node position in step one. Usually, the new node position is randomly generated. The underlying principle of IORP is to observe the movement of the squads from start nodes to target nodes in the shortest possible path P, which can be defined as Equation (17):
R m i n = m h i , j U , i j t i j E i j m
Which meets the below conditions as Equation (18):
{ i , j U , i j C i j E E i j m < C S O E i j m = 1 ,   s . t .     E i j m   P   E i j m = ,   s . t .   E i j m   P
where C S O is the maximum casualties that the squad can bear.

3.1.1. Route Selection

Each squad needs to construct a solution to move through the map. To choose a next node, we will consider the navigation information ( θ x y in Equation (15)) in IndoorGeoBML of each node from its current position, as well as the corresponding pheromone level. At each step of the algorithm, each squad moves from a node x to node y , corresponding to a more complete intermediate solution. Thus, each squad k computes a set of feasible expansions to their current state in each iteration, and moves to one of these, according to its probability. For squad k , the probability p moving from node x to node y depends on the combination of two values. The first one is the amount of pheromone on the route τ . The second one is of the cost θ x y , indicating how proficient it has been in the past to make that particular move. The calculation of probability P x y k can be described as Equation (19).
P x y k = { ( τ x y α ) ( θ x y β ) Σ ( τ x y α ) ( θ x y β ) ,   P x y k R ( P )   0 ,                 o t h e r w i s e
where α is a parameter to control the influence τ , and β is a parameter to control the influence of θ x y ; we will discuss set α and β in the next section. The squad selects the route with the highest value from the equation, this means a shorter path with higher levels of pheromone.

3.1.2. Parameters Setting

Due to the different pheromone concentration of each discrete node in the early iteration, the pheromone weight factor dominates the path selection. As the iteration continues, the pheromone concentration on the optimal path is gradually much higher than other paths. In order to prevent the algorithm from falling into the local optimum, we will gradually decrease the parameter α , and gradually increase the parameter β . This function can be described as Equation (20).
{ α = γ cos ( I   π 2 I m a x ) + δ β = σ sin ( I   π 2 I m a x ) + ξ
where I m a x is the total number of iterations; I is the current number of iterations; and γ , δ , σ , and ξ are coefficients with the enemy’s capability and our own side’s capability.
The traditional ACO has the same initial pheromone concentration in each path, and the convergence speed is too slow and the randomness is too strong, which greatly increases the complexity of the algorithm. The IORP algorithm stores pheromone in discrete nodes, and distributes pheromone unevenly to each discrete node during initialization. In order to reduce the complexity of the algorithm and improve the search efficiency, we can connect the start node and the target node with a line L , then take the intersection of L and each plane k ( k = 1 , 2 , 3 , , p ) as the center of the circle. We obtain the radius r m . The initial pheromone value of each discrete node can be described as Equation (21).
τ P x y k 0 = { τ 0 + λ · ( 1 l e n ( P x y k ,   L ) d H , m a x 2 + d V , m a x 2 )   τ 0 ,     o t h e r w i s e
which meets the below conditions as Equation (22):
l e n ( P x y k ,   L ) < d H , m a x 2 + d V , m a x 2
where τ 0 is the initial value; d H , m a x and d V , m a x are the maximum distance of horizontal and vertical; l e n ( P x y k , L ) is the distance from the node to the straight line L ; and λ is the map scale factor, which is determined according to the specific parameters of the map.

3.1.3. Pheromone Update

Pheromones are updated when all squads have completed their solution at one iteration. The level of pheromones increases or decreases in correspondence with moves that were part of “good” or “bad” solutions, respectively. This can be achieved in two ways: one is by decreasing all the pheromone values through pheromone evaporation, the other is by increasing the pheromone levels associated with a chosen set of good solutions. This formula is described as Equation (23).
{ τ x y ( 1 ρ ) τ x y + k m τ x y k ( i ) + ρ Δ τ x y Δ τ x y = Q l e n ( k ) ,   r a n k ( k ) ϑ · M
where l e n ( k ) is the path length of the kth squad; r a n k ( k ) is the rank of ant k ; ϑ · M is the number of squads to be updated; ρ is the pheromone volatility factor; and Q is a pheromone constant.
In order to better balance the global optimization and the local optimization ability, this paper adjusts ρ according to a decreasing adaptive method, and sets the initial value of ρ to 0.75. The calculation process of ρ can be described as Equation (24).
ρ ( K ) = { 0.75 · ρ · ( K 1 ) ,   s . t .     K < 3   a n d     ρ ( K ) > ρ m i n 0.75 · ρ · ( K 1 ) 2 · ( K 2 ) 3 ,     s . t .     K 3   a n d   ρ ( K ) > ρ m i n ρ m i n ,     ρ ( K )   ρ m i n
where ρ m i n is a preset value of pheromone volatilization rate, in order to prevent the convergence rate from being too slow.

3.2. IORP Algorithm for Single Destination Short Route Planning

The solution of the single destination short route planning problem based on the IORP algorithm, aims to find the most efficient path to some target nodes from outside the building. To achieve this goal, we need to construct the IndoorGeoBML model of the building first, and iterate the IORP algorithm several times until reach terminating condition. The detail steps can be described below:
Step 1: Construct IndoorGeoBML model:
Sub-step 1: Confirm geometry information vector G ( V ,   A G ) in Equation (1), navigation information vector N ( E ,   A N ) in Equation (2), and matrix U ( G ,   N ) in Equation (3) (meets the conditions in Equation (4)), construct the network of the target building.
Sub-step 2: Confirm semantic information. Confirm vector S G and vector S N , and set the indoor speed parameters ( S s p , S e l , S s t ) , and indoor accessible parameters ( L i j s p , L i j e l , L i j s t ) in Equation (5) (meets the conditions in Equations (6)–(8)).
Sub-step 3: Confirm outdoor speed parameters S r o and outdoor accessible parameter L i j r o in Equation (9), then confirm outdoor information vector B ( x , y , z ) .
Sub-step 4: Confirm intelligence information parameters: the coefficient of IGBMLPeople μ p , the number of IGBMLPeople N i p , the lethality factor of IGBMLWeapon of the node μ w , the number of IGBMLWeapon of the node N i w , and the damage ability of IGBMLWeapon of the node   P i w in Equation (11).
Sub-step 5: Coirm the military difficulty factor ψ s p , ψ e l , ψ s t , and ψ r o in Equation (5), Equation (9) (meets the conditions in Equation (10)), and Equation (12), respectively, as well as d x y in Equation (13) and a x y in Equation (14).
Sub-step 6: Confirm event information tuple D in Equation (16).
Step 2: Confirm the algorithm parameters:
(I) Confirm coefficients γ , δ , σ , ξ   with enemy’s capability and own side’s capability in Equation (20).
(II) Set the initial pheromone weight factors: the parameter to control the influence τ , α , the parameter to control the influence of θ x y , and β , which should dominate the path selection in Equation (20).
(III) Confirm the initial pheromone τ P x y k 0 value of each discrete node in Equation (21).
(IV) Confirm the initial value of pheromone volatilization rate ρ m i n and in Equation (24), in order to prevent the convergence rate from being too slow.
(V) Confirm the number of squads to be updated ϑ · M , and pheromone constant Q in Equation (23).
Step 3: Confirm the initial and terminating condition of the algorithm:
(I) From vector G ( V ,   A G ) , confirm the start nodes (entrances/exits) vector G ( S ) , and target nodes vector G ( T ) . Then confirm the number of squads N s .
(II) Confirm the algorithm terminating condition parameters: I m a x b e is the number of iterations beyond which the result can not be further optimized, I m a x is the total number of iterations in Equation (20).
Step 4: Choose next node:
(I) Calculate associate nodes: from the start nodes vector G ( S ) , with vector G ( V ,   A G ) , vector N ( E ,   A N ) , matrix U ( G ,   N ) , vector B ( x ,   y , z ) and tuple D ; calculate possible associate nodes.
(II) Calculate enemy capability: with Equation (11), based on μ p, N i p , μ w, N i w , and P i w (the parameters of coefficient and number of people); calculate the enemy capability C x y E of the possible associate nodes respectively.
(III) Calculate traversing time: with the speed S x y , the enemy capability C x y E , and the military difficulty factor ψ of every possible associate route; calculate the traversing time t x y respectively.
(IV) Calculate cost: with traversing time t x y and Equation (15), we can then calculate the cost θ x y of each route, respectively.
(V) Calculate probability: based on τ P x y k 0 in Equation (21), cost θ x y , γ , δ , σ , ξ , α , and β in Equation (20), with Equation (19), we can then calculate the probability P x y k , and choose the node with highest probability P x y k as the next node, and add the node to route vector R x y k = { r x y 1 ,   r x y ,   2 r x y ,   k } .
Step 5: Update pheromone and parameters:
(I) Get complete route vector R x y k : iterate the steps in step 4, until the target nodes vector G ( T ) is reached, then get the complete route vector R x y k .
(II) Update pheromone parameters: with the pheromone volatilization rate ρ m i n , calculate the pheromone volatility factor ρ ( K ) in Equation (24).
(III) Update pheromone: first calculate Δ τ x y in Equation (23), together with ρ ( K ) , then calculate a new τ x y in in Equation (23).
(IV) Update other parameters: first update coefficients γ , δ , σ , ξ with enemy’s capability and own side’s capability in Equation (20); then update the parameter to control the influence τ , α , the parameter to control the influence of θ x y , β that should dominate the path selection in Equation (20).
Step 6: Check the terminating condition:
(I) Calculate result: based on the route vector R x y k , calculate the total traversing time T i , total distance D i , and total casualties C A i of the current iteration i   ( i 2 ) .
(II) Check if terminating condition is met: first compare the current iteration i result with the last current iteration i 1 result. Then check if I m a x b e the number of iterations that the result can be no more optimized, I m a x the total number of iterations in Equation (20) is met; if not, go to step 4. If met, we get R m i n in Equation (17) (meets the condition in Equation (18)).
The simplified pseudo code of the single destination short route planning Algorithm 1 can be described as:
Algorithm 1. Pseudo code of IORP algorithm for the single destination route planning
1.initialization;
2.while not terminate condition do
3.  calculate fitness values associated with each squad;
4.  choose next node;
5.  if next node != target node then
6.    update pheromone;
7.    update parameters;
8.   end
9.end
The simplified algorithm flow chart of the single destination short route planning algorithm can be drawn as Figure 4.

3.3. IORP Algorithm for Whole Searching Route Planning

To solve the whole searching route planning problem, the IORP algorithm will aim at finding best routes that minimize the overall search time and own casualties in the target building. It will calculate the number of operation squads required and their individual routes to search all rooms and points of interest inside the building, to minimize the overall time spent and casualties suffered by all squads inside the building.

3.3.1. Implementation Steps of IORP Algorithm for Whole Searching Route Planning

Step 1: Construct IndoorGeoBML model:
Sub-step 1 Confirm geometry information vector G ( V ,   A G ) in Equation (1), navigation information vector N ( E ,   A N ) in Equation (2), and matrix U ( G ,   N ) in Equation (3) (meets the conditions in Equation (4)), construct the network of the target building.
Sub-step 2 Confirm semantic information. Confirm vector S G and vector S N , and set the indoor speed parameters ( S s p , S e l , S s t ) , and indoor accessible parameters ( L i j s p , L i j e l , L i j s t ) in Equation (5) (meets the conditions in Equations (6)–(8)).
Sub-step 3 Confirm outdoor speed parameters S r o and outdoor accessible parameter L i j r o in Equation (9), then confirm outdoor information vector B ( x , y , z ) .
Sub-step 4 Confirm intelligence information parameters: the coefficient of IGBMLPeople μ p , the number of IGBMLPeople N i p , the lethality factor of IGBMLWeapon of the node μ w, the number of IGBMLWeapon of the node N i w , and the damage ability of IGBMLWeapon of the node   P i w in Equation (11).
Sub-step 5 Confirm the military difficulty factor ψ s p , ψ e l , ψ s t , and ψ r o in Equation (5), Equation (9) (meets the conditions in Equation (10)), and Equation (12) respectively, as well as d x y in Equation (13), a x y in Equation (14).
Sub-step 6 Confirm event information tuple D in Equation (16).
Step 2: Confirm the algorithm parameters:
(I) Confirm coefficients γ , δ , σ , ξ with enemy’s capability and own side’s capability in Equation (20).
(II) Set the initial pheromone weight factors: the parameter to control the influence τ , α the parameter to control the influence of θ x y , and β , which should dominate the path selection in Equation (20).
(III) Confirm the initial pheromone τ P x y k 0 value of each discrete node in Equation (21).
(IV) Confirm the initial value of pheromone volatilization rate ρ m i n and in Equation (24), in order to prevent the convergence rate from being too slow.
(V) Confirm the number of squads to be updated ϑ · M , and pheromone constant Q in Equation (23).
Step 3: Confirm the initial and terminating condition of the algorithm:
(I) From vector G ( V ,   A G ) , confirm the start nodes (entrances/exits), vector G ( S ) , and the number of squads N s .
(II) Confirm the maximum casualties C A m a x that a squad can bear.
(III) Confirm the algorithm terminating condition parameters: I m a x b e is the number of iterations beyond which the result cannot be further optimized, Imax is the total number of iterations in Equation (20).
Step 4: Choose next node:
(I) Calculate associate nodes: from the start nodes vector G ( S ) , with vector G ( V ,   A G ) , vector N ( E ,   A N ) , matrix U ( G ,   N ) , vector B ( x ,   y , z ) , and tuple D , calculate possible associate nodes.
(III) Calculate traversing time: with the speed S x y , the enemy capability C x y E , and the military difficulty factor ψ of every possible associate route, calculate the traversing time t x y , respectively.
(IV) Calculate cost: with traversing time t x y and Equation (15), calculate the cost θ x y of each route, respectively.
(V) Calculate probability: based on τ P x y k 0 in Equation (21), cost θ x y , γ , δ , σ , ξ , α and β in Equation (20), with Equation (19), calculate the probability P x y k , and choose the node with highest probability P x y k as the next node, add the node to route vector R x y k = { r x y 1 ,   r x y ,   2 r x y ,   k } .
Step 5: Calculate casualties:
(I) Calculate the current casualties C A c u the enemy capability with C x y E .
(II) Compare the current casualties C A c u with the maximum casualties C A m a x , check if new path violates constrains, if not ( C A c u < C A m a x ), add the node to route vector R x y k = { r x y 1 ,   r x y ,   2 r x y ,   k } , go to step 6, else go to III).
(III) If the current casualties C A c u are higher than the maximum casualties C A m a x ( C A c u   C A m a x ) , which means new path violates constrains, then assign a new squad from start node, and go to step 4.
Step 6: Check if all nodes are visited:
(I) Check if vector R x y k = { r x y 1 ,   r x y ,   2 r x y ,   k } contains vector G ( V ,   A G ) and vector N ( E ,   A N ) , which can be described as Equation (25).
{ G ( V ,   A G ) N ( E ,   A N ) = T u p l e ( R x y m ) r x y k G ( V ,   A G )   r x y k N ( E ,   A N ) ,     r x y k R x y m    
(II) If the result of Equation (25) is false, then go to step 2, else go to step 7.
Step 7: Update pheromone and parameters:
(I) Get complete route vector R x y k : iterate the steps through step 4 to step 6, until the the complete route vector R x y k is obtained.
(II) Update pheromone parameters: with the pheromone volatilization rate ρ m i n , calculate the pheromone volatility factor ρ ( K ) in Equation (24).
(III) Update pheromone: first calculate Δ τ x y in Equation (23), together with ρ ( K ) , then calculate a new τ x y in Equation (23).
(IV) Update other parameters: first update coefficients γ , δ , σ , ξ with enemy’s capability and own side’s capability in Equation (20); then update the parameter to control the influence τ , α , the parameter to control the influence of θ x y , β that should dominate the path selection in Equation (20).
Step 8: Check terminating condition:
(I) Calculate result: based on the route vector R x y k , calculate the total traversing time T i , total distance D i , total casualties C A i of the current iteration i   ( i 2 ) .
(II) Check if terminating condition is met: first compare the current iteration i result with the last current iteration i 1 result. Then check if I m a x b e , the number of iterations beyond which the result cannot be further optimized and I m a x the total number of iterations in Equation (20) are met, if not, go to step 4. If met, we get R m i n in Equation (17) (meets the condition in Equation (18)).

3.3.2. Simplified Code of IORP Algorithm for Whole Searching Route Planning

The simplified code of the whole searching route planning Algorithm 2 can be described as:
Algorithm 2. Pseudo code of IORP algorithm for whole searching route planning
1.initialization;
2.while not terminate condition do
3.  calculate fitness values associated with each squad;
4.  if not all squads have completed tour then
5.    choose next node;
6.    if next node violates constrains then
7.      return to closest exit;
8.      assign a new squad from start node;
9.     else
10.      add a new node to current route;
11.      if not all nodes are visited then
12.        choose next node;
13.        continue while loop;
14.   else
15.    update pheromone;
16.    update parameters;
17.    solution and initialize squads;
18.   end
19.end

3.3.3. Flow Chart of IORP Algorithm for Whole Searching Route Planning

The simplified algorithm flow chart can be drawn for the whole searching route planning algorithm as Figure 5.

4. Experiment and Result Analysis

In this section, we implement two experiments to testify the IORP algorithm, and take one building as an example building. We construct the building’s IndoorGeoBML model and add some intelligence information. Via IORP algorithm, we first carry out the single destination route planning experiment, choose a target node locate somewhere in the center of the building, and compare the IORP algorithm with the Dijkstra algorithm. Then we carry out second experiment dealing with the whole searching route planning problem, which helps us to find minimum squads and their paths to search the whole building with minimum total time and total casualties.

4.1. Experimental Design

This paper takes the aforementioned building as an example building. The building has seven floors and a rooftop, and we have constructed the building with IndoorGeoBML model in chapter 2, as we can see from Figure 1 through Figure 3. The building has 4 ground doors, 2 roof top doors, 14 windows, 2 stairs, and 2 elevators. In addition, the vector G ( V ,   A G ) contains 175 elements, and vector N ( V ,   A N ) contains 254 elements in the building. The enemy capability is shown in Figure 2. To simplify the problem, this paper just takes the two ground doors (purple nodes in Figure 6) and two roof top doors (violet nodes in Figure 6) as entrances or exits. It is important to note that in real indoor operations, windows can also be regarded as entrances or exits.
The experimental aim is to evaluate IORP algorithm’s performance under different scenarios. First, for the single destination route planning experiment, this paper chooses a target node in the fourth floor (red node in Figure 6), located somewhere in the middle of the building; we implemented a scenario in which IORP reached the target node, and compared the results with other algorithms. The algorithms start from an entrance (two ground doors and two roof top doors) and go through possible geometry and navigation entities to find a minimum time to the target node.
Subsequently, for the whole searching route planning experiment, by setting a mission squad’s capability, this paper also implemented the IORP algorithm from two ground doors and two roof top doors for several iterations, until it met the terminating condition. We first analyzed the capability of the algorithm for finding the routes for a minimum number of squads in order to undertake the search at a minimum cost time. The algorithm pushes all squads to enter through an entrance door, go through their assigned routes, and exit through an exit door. All nodes of interest in the building should be visited by one of the squads, and the combined route paths should cover the entire building. To control the number of squads assigned to the search, and balance the time and distance each squad spends; each squad is limited to a maximum casualty number according to the enemy’s capability on that route.

4.2. The Single Destination Route Planning Result

To evaluate IORP algorithm for the single destination route planning, this paper compares the IORP algorithm with other algorithms. In route planning, common algorithms include the Dijkstra algorithm [23], particle swarm optimization (PSO) [24], gravitational search algorithm (GSA) [25], and backtracking search algorithm (BSA) [26]. In order to verify the rationality and feasibility of the algorithm constructed in this paper and its superiority in indoor operation single destination route planning, a comparative experiment was designed to verify the algorithm. The algorithm of the experimental group is the IORP algorithm of this paper, and the algorithms of the control group were Dijkstra, PSO, GSA, and BSA.
Figure 7 shows results of the five aforementioned algorithms applied to the building used for the experiment. This paper chooses a node in the fourth floor as the target node, and calculates four shortest paths from the entrances respectively.
With the Dijkstra algorithm, from the result plotting (Figure 7a) we can see the shortest path is starting from ground door 2 (bottom right in Figure 7a), the result vector R x y k contains 15 elements; the total distance D r , enemy capability C r , traversing time T r , and own casualties C A r are 75.8, 1049.0, 925, and 14.1 respectively.
With the PSO algorithm, from the result plotting (Figure 7b) we can see the shortest path is starting from roof door 1 (top left in Figure 7b), the result vector R x y k contains 21 elements; the total distance D r , enemy capability C r , traversing time T r , and own casualties C A r are 120.1, 1211.1, 1073, and 15.9 respectively.
With GSA, from the result plotting (Figure 7c) we can see the shortest path is starting from roof door 2 (top right in Figure 7c), the result vector R x y k contains 27 elements; the total distance D r , enemy capability C r , traversing time T r , and own casualties C A r are 125.7, 798.8, 823, and 12.8 respectively.
With BSA, from the result plotting (Figure 7d) we can see the shortest path is starting from roof door 1 (top left in Figure 7d), the result vector R x y k contains 31 elements; the total distance D r , enemy capability C r , traversing time T r , and own casualties C A r are 155.1, 887.3, 902, and 13.8 respectively.
With the IORP algorithm, from the result plotting (Figure 7e) we can see the shortest path is starting from ground door 1 (bottom left in Figure 7e), the result vector R x y k contains 27 elements; the total distance D r , enemy capability C r , traversing time T r , and own casualties C A r are 139.6, 779.2, 801, and 12.5 respectively.
The detailed comparisons are listed in Table 1.
As Table 1 shows the five algorithms’ results, we can see that the path distance of the Dijkstra algorithm is much shorter than the other algorithms, as Figure 8 demonstrates. However, the enemy capability of the Dijkstra algorithm is much higher, as shown in Figure 9, which then leads to a higher cost time and higher possible casualties.
As both Figure 8 and Figure 9 depict, the traversing time, own casualties, and enemy capability of IORP algorithm are lower than other algorithms.
For the single destination route planning problem, as the result shows, our proposed IORP algorithm has a relatively low time compared with other algorithms. Though the distance is relatively high, when we choose IORP algorithm paths, the squad may face a lower enemy resistance by as much as 25.7%, 35.7%, 9.9%, and 12.2% compared to Dijkstra, PSO, GSA, and BSA. The possible casualties are 11%, 21.3%, 7.5%, and 9.1% lower compared to Dijkstra, PSO, GSA, and BSA, respectively. The traversing time 13.4%, 25.3%, 9.2%, and 11.1% lower compared to Dijkstra, PSO, GSA, and BSA, respectively. This proved that the IORP algorithm performs better than other compared algorithms in indoor operations.
We can draw the conclusion that the enemy capability, traversing time, and own casualties of our proposed algorithm are 779.2, 801, and 12.5, which are at least 9.9%, 9.2%, and 7.5% lower compared to other algorithms.
We prove that the IORP algorithm we developed is superior to other algorithms in the single destination short route planning. By finding the best path for each squad, the IORP algorithm identifies the traversing time each squad will spend during the operation and thus presents the enemy capability and total own casualties. This would assist highly with decision making and management of resources and plans by commanders.

4.3. The Whole Searching Route Planning Result

By setting the maximum casualty that a squad can bear, this paper runs the IORP algorithm of the example building for the whole searching route planning. To simplify the problem, this paper does not consider the windows as entrance or exit nodes. Rather, it just uses the four entrance/exit nodes in the building. After 7 iterations, we get the following result, which is shown in Figure 10.
Figure 11 depicts the iterations of the IORP algorithm for the whole search route planning until it converges to the best solution. The whole time for searching spent decreases from 3044 s to 2673 s, and the number of squads decreases from eight to five.
As for the whole searching route planning problem, IORP algorithm finds the minimum number of squads with corresponding routes for each squad to search the building, considering the maximum casualties they can bear. The results can serve an important role for commanders dealing with indoor operations by improving their situational awareness of the environment. As every second counts in indoor operations, improvement from 3044 s to 2673 s is a huge difference and could lead to a more successful operation and earning tactical or even strategic advantage. Moreover, the reduction in the number of squads from eight to five can mean less exposure of own soldiers’ lives to danger. Finally, this 3D route planning algorithm will also help the squad members to better understand the mission.

5. Conclusions

In this paper, in order to efficiently solve the indoor operation problem, we provide the IndoorGeoBML model, which include six categories of information: geometry information, navigation information, outdoor information, semantic information, intelligence information, and event information. Based on the IndoorGeoBML model, we propose an ACO algorithm-based IORP algorithm, to solve the single destination and whole searching route planning problems. We implement two experiments, whose results showed that our introduced algorithm’s performance was encouraging.
Although our IndoorGeoBML model is very powerful, with the development of machine learning, we can better simulate the enemy action and environment (fire, smoke, etc.) in the future. In addition, another future project will study the specific grammar of the IndoorGeoBML model, which will make the command and control system information exchanging more efficient.

Author Contributions

Conceptualization, M.S., G.W. and L.C.; methodology, M.S., X.Z. and L.C.; software, M.S. and X.Z.; writing—original draft preparation, M.S.; writing—review and editing, M.S., X.Z. and L.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by National Natural Science Foundation of China (Project No.42171456), and Development Program of China (Project No.2017YFB0503500).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors would like to thank all the reviewers for their helpful comments and suggestions.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

MeaningMeaning of Subscript and Superscript
VGeometry entities vectorNone
viGeometry entity coordinatei: node number
AGGeometry entity attribute vectorG: geometry entity
a G i Geometry entity attribute nodei: node number
G: geometry entity
G(V,AG)Geometry information vectorV: geometry entity coordinate
AG: geometry entity attribute
giGeometry information nodei: node number
ENavigation entities vectorNone
ejNavigation entity coordinatej: node number
ANNavigation entity attribute vectorN: navigation entity
a N i Navigation entity attribute nodei: node number
N: navigation entity
N(E,AN)Navigation information vectorE: navigation entity coordinate
AN: navigation entity attribute
gjNavigation information nodej: node number
U(G,N)Matrix of relationship between geometry and navigation informationG: geometry information vector
N: navigation information vector
SGSemantic information of geometry entitiesG: geometry information
SNSemantic information of navigation entitiesN: navigation information
sxSpeed of entityx: type of entity, sp represents IGBMLSpace, el represents IGBMLElevator, st represents IGBMLStair, ro represents road
ψxMilitary difficulty factorx: type of entity, sp represents IGBMLSpace, el represents IGBMLElevator, st represents IGBMLStair, ro represents road
L i j x Judge if node in routex: type of entity, sp represents IGBMLSpace, el represents IGBMLElevator, st represents IGBMLStair, ro represents road
ij: node number
BOutdoor information vectorNone
bpOutdoor entity coordinatep: node number
μyCoefficient in intelligence informationy: type of coefficient, p represents IGBMLPeople, w represents IGBMLWeapon
N i p Number of IGBMLPeoplep: represents IGBMLPeople
i: node number
N i w Number of IGBMLWeaponw: represents IGBMLWeapon
i: node number
P i w Power of IGBMLWeaponw: represents IGBMLWeapon
i: node number
C x y E Enemy capabilityE: represents enemy
xy: node number
axyNodes can accessible or notxy: node number
txyTraversing time between nodesxy: node number
dxyDistance between nodesxy: node number
θxyCost between nodesxy: node number
DEvent information tupleNone
fFunction of event informationNone
C S O Own max casualty can bearO: represents own
s: represents casualty
P x y k Probability to choose next nodek: squad number
xy: node number
τ x y α Probability influence τα: parameter to control τ
xy: node number
θ x y β Probability influence θβ: parameter to control θ
xy: node number
ImaxTotal number of iterationsmax: total number
ICurrent number of iterationsNone
γ Coefficient with enemy’s capability and own side capabilityNone
δ Coefficient with enemy’s capability and own side capabilityNone
σ Coefficient with enemy’s capability and own side capabilityNone
ξ Coefficient with enemy’s capability and own side capabilityNone
τ P x y k 0 Initial pheromone value0: initial state
P x y k : Probability to choose next node
τ0Initial value0: initial state
dH,maxMaximum distance of horizontal H,max: horizontal maximum
dV,maxMaximum distance of verticalV,max: vertical maximum
l e n ( P x y k ,   L ) Distance from the node to the straight line L P x y k : Probability to choose next node
L: straight line
λMap scale factorNone
len(k)Path length of the kth squadk: the kth squad
rank(k)The rank of ant kk: the kth squad
ϑ · MNumber of squads to be updatedNone
ρPheromone volatility factorNone
QPheromone constantNone
ρ(k)The kth squad pheromone update k: the kth squad
ρ m i n Preset value of pheromone volatilization ratemin: preset value
R x y k Route vectork: the kth squad
xy: node number

References

  1. Carey, S.; Kleiner, M.; Hieb, M.R.; Brown, R. Standardizing Battle Management Language–A Vital Move Towards the Army Transformation. In Proceedings of the IEEE Fall Simulation Interoperability Workshop, Orlando, FL, USA, 9–14 September 2001. [Google Scholar]
  2. Hieb, M.R.; Pullen, M.; Kleiner, M.; Powers, M. A geospatial battle management language (geoBML) for terrain reasoning. In Proceedings of the 11th International Command and Control Research and Technology Symposium, Cambridge, MA, USA, 20–22 June 2006. [Google Scholar]
  3. Hieb, M.R.; Mackay, S.; Powers, M.W.; Yu, H.; Kleiner, M.; Pullen, J.M. Geospatial challenges in a net centric environment: Actionable information technology, design, and implementation. In Proceedings of the Defense and Security Symposium, Orlando, FL, USA, 9 April 2007; Defense Transformation and Net-Centric Systems. International Society for Optics and Photonics: Bellingham, DC, USA, 2007; Volume 6578. [Google Scholar]
  4. Ulrich, S.; Hieb, M.R. Battle management language: A grammar for specifying reports. In Proceedings of the IEEE Spring Simulation Interoperability Workshop, San Diego, CA, USA, 25–29 March 2007. [Google Scholar]
  5. Ulrich, S.; Hieb, M.R. Formalizing battle management language: A grammar for specifying orders. In Proceedings of the 2006 Spring Simulation Interoperability Workshop, Arlington, VA, USA, 18–23 April 2006. [Google Scholar]
  6. Sudnikovich, W.P.; Pullen, J.M.; Kleiner, M.S.; Carey, S.A. Extensible battle management language as a transformation enabler. Simulation 2004, 80, 669–680. [Google Scholar] [CrossRef]
  7. Pullen, J.M.; Tolk, A.; Blais, C. Joint Battle Management Language (JBML)-US Contribution to the C-BML PDG and NATO MSG-048 TA. 2014. Available online: https://netlab.gmu.edu/pubs/07E-SIW-029.pdf (accessed on 27 March 2022).
  8. Martin, K.; Carey, S.; Roberts, J.; Altenau, M.; Yu, H.; Gates, B.Q.; Nielsen, E. Geospatial battle management language: Bridging GIS, C2 and simulations. In Proceedings of the ESRI Users Conference, San Diego, CA, USA, 18–22 June 2007. [Google Scholar]
  9. Zhou, J.; You, X.; Xia, Q. Object-oriented Battlefield Environment Simulation Process Object Model Based on Task-driven. J. Geod. Geoinf. Sci. 2020, 2, 31–43. [Google Scholar]
  10. Shiau, Y.-C.; Tsai, Y.Y.; Hsiao, J.-Y.; Chang, C.T. Development of building fire control and management system in BIM environment. Stud. Inform. Control 2013, 22, 15–24. [Google Scholar] [CrossRef]
  11. Wang, B.; Li, H.; Rezgui, Y.; Bradley, A.; Ong, H.N. BIM based virtual environment for fire emergency evacuation. Sci. World J. 2014, 2014, 589016. [Google Scholar] [CrossRef] [PubMed]
  12. Cheng, M.-Y.; Chiu, K.-C.; Hsieh, Y.-M.; Yang, I.-T.; Chou, J.-S.; Wu, Y.-W. BIM integrated smart monitoring technique for building fire prevention and disaster relief. Autom. Constr. 2017, 84, 14–30. [Google Scholar] [CrossRef]
  13. Fu, X.; Yao, H.; Yang, Y. Modeling and optimizing the cascading robustness of multisink wireless sensor networks. IEEE Trans. Reliab. 2020, 70, 121–133. [Google Scholar] [CrossRef]
  14. Yiquan, S.; Niu, L.; Li, Y. Combinatorial spatial data model for building fire simulation and analysis. ISPRS Int. J. Geo-Inf. 2019, 8, 408. [Google Scholar] [CrossRef] [Green Version]
  15. Fu, X.; Wang, Y.; Yang, Y.; Postolache, O. Analysis on cascading reliability of edge-assisted Internet of Things. Reliab. Eng. Syst. Saf. 2022, 108463. [Google Scholar] [CrossRef]
  16. Benton, J.R.; Iyengar, S.S.; Deng, W.; Brener, N.; Subrahmanian, V.S. Tactical route planning: New algorithms for decomposing the map. Int. J. Artif. Intell. Tools 1996, 5, 199–218. [Google Scholar] [CrossRef]
  17. Singhal, K.; Sahu, S. Fire evacuation using ant colony optimization algorithm. Int. J. Comput. Appl. 2016, 139, 0975–8887. [Google Scholar] [CrossRef]
  18. Wu, C.H.; Chen, L.C. 3D spatial information for fire-fighting search and rescue route analysis within buildings. Fire Saf. J. 2012, 48, 21–29. [Google Scholar] [CrossRef]
  19. Tashakkori, H.; Rajabifard, A.; Kalantari, M. Facilitating the 3d indoor search and rescue problem: An overview of the problem and an ant colony solution approach. ISPRS Ann. Photogramm. Remote Sens. Spat. Inf. Sci. 2016, 4, 233. [Google Scholar] [CrossRef] [Green Version]
  20. Fu, X.; Pace, P.; Aloi, G.; Li, W.; Fortino, G. Cascade Failures Analysis of Internet of Things under Global/Local Routing Mode. IEEE Sens. J. 2021, 22, 1705–1719. [Google Scholar] [CrossRef]
  21. Lin, Y.-H.; Liu, Y.-S.; Gao, G.; Han, X.-G.; Lai, C.-Y.; Gu, M. The IFC-based path planning for 3D indoor spaces. Adv. Eng. Inform. 2013, 27, 189–205. [Google Scholar] [CrossRef] [Green Version]
  22. Monmarché; Nicolas; Guinand, F.; Siarry, P. Artificial Ants; Wiley-ISTE: Hoboken, NJ, USA, 2010. [Google Scholar]
  23. Rachmawati, D.; Gustin, L. Analysis of Dijkstra’s Algorithm and A* Algorithm in Shortest Path Problem. J. Phys. Conf. Series. 2020, 1566, 012061. [Google Scholar] [CrossRef]
  24. Houssein, E.H.; Gad, A.G.; Hussain, K.; Suganthan, P.N. Major advances in particle swarm optimization: Theory, analysis, and application. Swarm Evol. Comput. 2021, 63, 100868. [Google Scholar] [CrossRef]
  25. Venkateswaran, C.; Ramachandran, M.; Chinnasamy, S.; Chinnasami, S. An Extensive Study on Gravitational Search Algorithm. In Materials and Its Characterization; REST Publisher: Krishnagiri, India, 2022. [Google Scholar]
  26. Nama, S.; Saha, A.K. A Bio-Inspired Multi-Population-Based Adaptive Backtracking Search Algorithm. Cogn. Comput. 2022, 14, 900–925. [Google Scholar] [CrossRef] [PubMed]
Figure 1. Geometry, navigation, and semantic information in a building. (a) draws geometry information with blue circles. (b) adds navigation information (green lines). (c) adds semantic information with vector S G , where the purple points represent the windows, and the cyan points represent the doors to enter the building. (d) adds semantic information with vector S N , where green lines represent the IGBMLSpace, the red lines represent the IGBMLElevator, and the orange lines represent the IGBMLStair.
Figure 1. Geometry, navigation, and semantic information in a building. (a) draws geometry information with blue circles. (b) adds navigation information (green lines). (c) adds semantic information with vector S G , where the purple points represent the windows, and the cyan points represent the doors to enter the building. (d) adds semantic information with vector S N , where green lines represent the IGBMLSpace, the red lines represent the IGBMLElevator, and the orange lines represent the IGBMLStair.
Sustainability 14 05760 g001
Figure 2. The capability of the enemy.
Figure 2. The capability of the enemy.
Sustainability 14 05760 g002
Figure 3. As event information reveals that the elevators no longer work, red lines (representing elevators) in the IndoorGeoBML model turn into gray lines.
Figure 3. As event information reveals that the elevators no longer work, red lines (representing elevators) in the IndoorGeoBML model turn into gray lines.
Sustainability 14 05760 g003
Figure 4. IORP algorithm flow chart for single destination route planning. The terminate condition is depicted in detail in implementation Step 3.
Figure 4. IORP algorithm flow chart for single destination route planning. The terminate condition is depicted in detail in implementation Step 3.
Sustainability 14 05760 g004
Figure 5. IORP algorithm flow chart for the whole searching route planning. The terminate condition is depicted in detail in implementation Step 3.
Figure 5. IORP algorithm flow chart for the whole searching route planning. The terminate condition is depicted in detail in implementation Step 3.
Sustainability 14 05760 g005
Figure 6. Target node (red), four entrances (purple and violet) in the experiment.
Figure 6. Target node (red), four entrances (purple and violet) in the experiment.
Sustainability 14 05760 g006
Figure 7. Experiment result of Dijkstra, PSO, GSA, BSA, and IORP for the single destination route planning.
Figure 7. Experiment result of Dijkstra, PSO, GSA, BSA, and IORP for the single destination route planning.
Sustainability 14 05760 g007
Figure 8. Distance and time comparison between Dijkstra, PSO, GSA, BSA, and IORP algorithms for the single destination route planning.
Figure 8. Distance and time comparison between Dijkstra, PSO, GSA, BSA, and IORP algorithms for the single destination route planning.
Sustainability 14 05760 g008
Figure 9. Enemy capability and own casualties comparison between Dijkstra, PSO, GSA, BSA, and IORP algorithms for the single destination route planning.
Figure 9. Enemy capability and own casualties comparison between Dijkstra, PSO, GSA, BSA, and IORP algorithms for the single destination route planning.
Sustainability 14 05760 g009
Figure 10. A minimum of five squads will be required to accomplish the mission. The completed tour paths of these five squads are shown from (ae) respectively.
Figure 10. A minimum of five squads will be required to accomplish the mission. The completed tour paths of these five squads are shown from (ae) respectively.
Sustainability 14 05760 g010
Figure 11. The iterations of IORP algorithm for the whole searching route planning.
Figure 11. The iterations of IORP algorithm for the whole searching route planning.
Sustainability 14 05760 g011
Table 1. Dijkstra, PSO, GSA, BSA, and IORP algorithms for the single destination route planning result comparison.
Table 1. Dijkstra, PSO, GSA, BSA, and IORP algorithms for the single destination route planning result comparison.
AlgorithmDistance (m)Enemy CapabilityTime (s)Casualties
Dijkstra75.81049.092514.1
PSO120.11211.1107315.9
GSA 125.7864.888213.5
BSA155.1887.390213.8
IORP139.6779.280112.5
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Su, M.; Wang, G.; Chen, L.; Zhang, X. An IndoorGeoBML Model Based IORP Algorithm for Indoor Operation. Sustainability 2022, 14, 5760. https://doi.org/10.3390/su14105760

AMA Style

Su M, Wang G, Chen L, Zhang X. An IndoorGeoBML Model Based IORP Algorithm for Indoor Operation. Sustainability. 2022; 14(10):5760. https://doi.org/10.3390/su14105760

Chicago/Turabian Style

Su, Mingzhan, Guangxia Wang, Lingyu Chen, and Xin Zhang. 2022. "An IndoorGeoBML Model Based IORP Algorithm for Indoor Operation" Sustainability 14, no. 10: 5760. https://doi.org/10.3390/su14105760

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