A Real-Time Emergency Inspection Scheduling Tool Following a Seismic Event

Emergency infrastructure inspections are of the essence after a seismic event as a carefully planned inspection in the first and most critical hours can reduce the effects of such an event. Metaheuristics and more specifically nature inspired algorithms have been used in many hard combinatorial engineering problems with significant success. The success of such algorithms has attracted the interest of many researchers leading to an increased interest regarding metaheuristics. In the present literature many new and sophisticated algorithms have been proposed with interesting performance characteristics. On the other hand, up to date developments in the field of computer hardware have also had a significant influence on algorithm design. The increased computational abilities that are available to researchers through parallel programming have opened new horizons in architecture of algorithms. In this work, a methodology for real-time planning of emergency inspections of urban areas is presented. This methodology is based on two nature inspired algorithms, Harmony Search Algorithm (HS) and Ant Colony Optimization (ACO). HS is used for dividing the area into smaller blocks while ACO is used for defining optimal routes inside each created block. The proposed approach is evaluated in an actual city in Greece, Thessaloniki.


Introduction
Following a catastrophic seismic event, the first hours are critical as far as rescue operations, evacuation procedures and infrastructure repair procedures are considered. As such events can lead to severe short and long-term economic losses, the efficiency of the civil services has to be of a great level. In case of a hazardous seismic events civil services are challenged by damaged infrastructure networks, communities in a panicking state-of-mind and system vulnerabilities. Post-disaster management is a multi-level procedure which includes a thorough planning of system response, as well as tactical and operational management. Designing of an optimized inspection plan is definitely a very complex NP-hard combinatorial problem. Metaheuristics present a very successful behavior when dealing with such problems as the one previously described.
Latest advances in metaheuristic algorithms and specifically nature inspired algorithms present automated trial-and-error techniques mostly based on the survivalof-the-fittest principal as species evolution does. It also important to point-out that the advances in the available hardware and parallel programming have also offered a significant assist in the implementation of metaheuristics. As performance features of single cores of Central Processing Units (CPUs) have not improved significantly in the last years, CPU manufactures turned to producing multi-core CPUs to increase performance through parallel processing. Graphic processing units (GPUs) also consist of processing cores which in the recent past have been used for mathematical programming. Modern hi-end CPUs consist of 18 cores with clock rates up to 3.6 GHz. On the other hand, high-end GPUs have more than 2.500 cores with clock rates up to 875 MHz. These two different types of processor, each with advantages and disadvantages, offer the ability to efficiently handle problems that in the past were too demanding to be solved.
In this work, two algorithms are used for designing the emergency inspection plan of urban areas. The first algorithm, Improved Harmony Search (IHS), was presented by Kallioras et al. [1] in 2014 while the original version of the algorithm was introduced by Geem et al. [2] in 2001. The second algorithm used in this work is Ant Colony Optimization (ACO) which was presented by Dorigo and Stützle [3] in 2004. The problem of finding the optimal inspection plan of urban structures following a seismic event can be divided into two sub-problems. Firstly, the urban area must be divided into smaller areas, one for each available inspection crew (districting sub-problem), while for each defined area, an optimal route is designed inside its premises (routing sub-problem). The districting sub-problem is dealt with the use of IHS as presented later on in this work while the routing sub-problem is solved with the use of ACO. The biggest challenge in designing this formulation apart from the quality of proposed results, is the necessary computational work-time for the algorithms to locate the solution. In order for this implementation to be able to act as a real-time solution, executional time is rather critical. With the use of GPU programming, computational times are reduced to minimum as can be seen in this work.

Post-Earthquake Response Mechanism
Inspection time required for assessment of possible damages in structure and infrastructure systems is critical for minimizing cost of effects of a possible hazardous event. Every scheduled event such as support, recovery and rehabilitation can only be properly scheduled after the inspection of infrastructures is completed. This proves the importance of a carefully designed inspection plan towards dealing with a seismic event in an urban area. Generally speaking, we can divide the disaster response procedure [4] into four basic steps: • Mitigation [5], which includes assessment of seismic hazards, probabilistic damage projection [6,7], and integration of emergency processes through decision support systems [8,9]. • Preparedness, which includes preparation for dealing with seismic events and evacuation procedures [10][11][12][13][14][15]. • Response, which basically deals with creating a plan for response-relief operations [16][17][18][19] and post-disaster infrastructure performance evaluation [20][21][22][23]. • Recovery which deals with relief performance assessment [24], protection of infrastructure element [25], and repair-fund allocation [26,27]. Emergency response has attracted the interest of many researchers and significant work has been done in this field in the past years. Despite that, after reviewing up-to-date literature, it can be seen that very little work is done considering the proper planning of inspection crews following a seismic event though it is a very important procedure. This can be explained due to the fact that necessary data is difficult to be collected, solving the associated mathematical problem is very demanding and also, formulating an algorithm that can handle such data and calculations in real-time procedure is exceptionally difficult. In this work, we present the mathematical formulation and solution of such a problem while we also present the parallel formulation of a software that solves such problems in real-time.

IHS and ACO Metaheuristic Algorithms
In this work, two metaheuristic algorithms are used for real-time inspection scheduling. As discussed previously, IHS is applied on the districting problem while ACO is used for solving the routing problem. IHS algorithm consists of four basic actions similar to HS. These actions are [1]: • Parameter Initialization In this step, the parameters of the algorithm and the problem are defined: n is the number of decision variables, n are the lower and upper bounds of each ith decision variable, HMS is the size of the harmony memory (HM) of solution vectors and HMCR is the rate for considering the harmony memory.

• Harmony Memory Initialization
In this step, the initialization of the algorithm's memory is executed where si j is the ith element of the jth solution vector s • New Harmony Improvisation In this step, a new harmony-solution vector is generated with the use of the random selection procedure or memory consideration procedure. In random selection, each member of the solution vector is randomly generated with probability 1-HMCR (0≤ HMCR≤1). In memory consideration, each variable of the solution vector is randomly chosen from HM with probability HMCR 1 2 [ , ] with probability 1 HMCR { , ,..., } with probability HMCR where s New is the new generated solution vector

• Harmony Memory Update
In this step, the generated solution vector is compared to the worst one stored in HM according to the objective function of each problem. If it is better, it replaces it. If not, it is dropped. This procedures is repeated as many times as the population of the maximum function evaluations set by the user. Once the maximum function evaluations are completed, the best solution stored in HM is the solution of the problem. ACO algorithm [3] was inspired by the food searching pattern of ants in nature. As ants search inside an area for possible food resources and the shortest route between the nest and the food position, artificial ants search inside a weighted graph for the optimal path. The search space consists of nodes which represent the places that need to be visited by the ants. At first, a colony of m ants are positioned randomly inside the search space. At each repetitive step of the algorithm, ant k decides which of the nodes it will visit next with the use of a random proportional rule. In order to avoid visiting nodes which are already visited by the same ant, ant k currently positioned at node i, maintains a memory M k containing all nodes previously visited. This memory defines the feasible neighbourhood N k i which contains the nodes that have not been visited by ant k. Ant k, positioned at node i, chooses to move to node j with a probability defined as follows: where τi,j is the amount of pheromone between nodes i and j, α is a parameter controlling the pheromone's influence, ηi,j is a heuristic information denoting the desirability of the path between nodes i and j where: while β is a parameter controlling the influence of the path's desirability ηi,j. The probability of choosing a particular connection i,j increases with the value of the pheromone trail τi,j and the heuristic information value ηi,j. When all ants have completed their routes, the pheromone concentration for each connection between i and j nodes, is updated for the next iteration t+1 as follows: where ρ is the rate of pheromone evaporation, A is the set of paths (edges or connections) that fully connects the set of nodes and Δτ k i,j(t) is the amount of pheromone ant k has deposited on connections it has visited during its tour T k and it is given by: The main concept behind the ACO algorithm is that connections chosen by many ants and have a shorter length, receive bigger amounts of pheromone due to more deposition and less evaporation. This ensures that these paths are more likely to be chosen by other ants in future iterations of the algorithm resulting to the path with the minimum distance.

Optimal Inspection Problem Formulation
As described previously, the optimal inspection problem is divided into the districting and the routing sub-problem. In the first sub-problem, the urban domain is divided into a number of areas of responsibility equal to the population of the available inspection crews. In the second sub problem, for each area of responsibility, the optimal route is designed. Urban areas consist of building blocks and road structures. Each building block is defined by the coordinates of its edges, its area, use of land, building factor and maximum allowed height of constructions. These characteristics provide us with the demand evaluation of each building block. Neighbouring city blocks with similar characteristics regarding use of land, building factor and allowed height can be joined and considered as one in order to reduce the dimensionality of the problem without degrading the quality of the solution. The problem is formulated as a nonlinear optimization problem and the objective function is: where NIC is the number of the available inspection crews, nSB (i) is the number of structural (or building) blocks assigned to the i th inspection crew, d(SBk,Ci) is the distance between the SBk building block and Ci is the starting block of the crew responsible for the i th group of structural blocks, Uin is the inspection speed of the inspection crews, and Utr is the travelling speed of the inspection crews. D(k) is inspection "demand" for the k th building block defined as the product of the building block total area A(k) times the building factor fB(k) (i.e. the structured percentage of the area) and σIC is the value of the standard deviation of the working hours of all inspection crews.. Thus, the districting problem is formulated as a discrete unconstrained nonlinear optimization problem where the objective is to define which inspection crew is responsible for which building block. The node of each building block is placed in its geometrical centre while all Euclidean distances are calculated with respect to the centre of weight of the building block.
According to the described formulation, every available inspection crew is assigned to a specific district. In the general form of the districting problem, the population of the design variables is equal to the number of building blocks. This leads to a problem with increased complexity. In order to avoid this complexity, the authors suggest a modification to the problem formulation by setting the starting point of the inspection crews as the design variables. This reduces the complexity from nSB to NIC. This is accomplished with the use of a four-step procedure where at first • The starting positions of the inspection crews are defined • Areas of responsibility are defined by assigning each building block to the closest inspection crew • The centre of gravity of each area of responsibility is found and this becomes the starting point of each inspection crew and finally, • New areas of responsibility are created around the new starting positions. The optimal routing (also called scheduling) problem of the inspection crews is formulated as a travelling salesman problem (TSP). TSP is represented by a weighted graph G=(N,A), where N is the set of nodes and A is the set of connections/paths that connect all N nodes. A cost function is assigned to paths between two nodes (i and j), represented by the distance between the two nodes di,j (ij). A solution of the TSP is a permutation p= [p (1), …, p(N)] T of the node indices [1, …, N], as every node must not appear more than once in a solution. The solution that minimizes the total length L(p) given by: is noted as the optimal one. The corresponding scheduling problem is defined as follows:   (5) where d (SBk, SBk+1) is the distance between the k th and k th +1 building blocks. The desired result is to locate the shortest route between all structural blocks assigned to each inspection crew.

Numerical Tests
The development and testing of the proposed real-time application is executed on pragmatic data of a city. The chosen city Thessaloniki is the second biggest city in Greece and has in the past suffered from a seismic event. On the 20 th of June of 1978 an earthquake with a magnitude of 6.5 R took place in Thessaloniki and caused the death of 45 people while 9.480 buildings suffered non-repairable damages. The city's area is equal to 154.205.128 m 2 while it consists of 471 joint structural blocks as it can be seen in Figure 1. A hypothetical seismic event is applied in the urban structure of Thessaloniki and an inspection scenario is examined.
According to the scenario, there are 40 inspection crews available for the required task. These crews work in 8-hours shifts per day resulting to having 20 crews working in the city at any moment for 16 hours per day. As we were expecting small differences in the necessary working hours of each crew, we set the time needed for the whole inspection to be completed equal to the maximum inspection time of the various crews. The parameter values for IHS and ACO algorithms are chosen with respect to a previous work of the authors which included a thorough sensitivity analysis [29 -TRC]. In detail, HMS is chosen equal to 12 and HMCR is equal to 0.105693 regarding IHS. Regarding ACO, α = 1.0, β = 2.0, ρ = 0.10, m = 65 and Q = 0.306. The average inspection speed of the crews, Uin is set equal to 50 square meters per minute while the average traveling speed of the crews, Utr is set equal to 10km/hour. For IHS the maximum iterations for are equal to 200,000 while for ACO they are equal to 200. The hours needed for the inspection crews to complete the task can be seen in Table 1. In particular, the maximum time which also corresponds to the end of the inspection is equal to 5683.006 hours. The average working hour of the ten crews is equal to 5142.285 hours while the maximum variation from the average time needed for the crews to finish the inspection crew is equal to 11.11%. The value of the objective function is equal to 18650882.911. The best and worst value of the objective function stored in IHS memory per each of the 200,000 iterations can be seen in Figure 2. In Figure 3, the results of IHS applied on the districting problem can be seen. Each colour represents an inspection crew and an area of responsibility. In Figure 4 the routing results of ACO are presented while in Figure 5, a closer look on 5 of the designed routes are visible.

Fig. 2. Best and worst objective function value per IHS iteration
The minimization of the computational effort and time needed to solve this problem is accomplished with the use of GPU programming applied on the ACO algorithm and parallelization of the IHS algorithm. In order to evaluate the gain of such an implementation, the same problem is solved twice, first with the suggested techniques and then without them. Both implementations are solved ten times and the average execution times are presented. The GPU version is completed after T1 = 225.65 sec while the unmodified version demands T2 = 1242.87 sec. The acceleration factor is equal to T2 / T1 = 5.508 which is rather significant. The acceleration factor increases as the dimensionality of the problem increases as presented by Kallioras et al [29] in a previous work. It is also important to point out that a more up to date GPU processing unit than the one used here would have given even better acceleration results. None the less, solving such a problem in less than 4 minutes does satisfy the criterion as a real-time solver. The experiments of the current study were performed using the Intel i7 3610QM 2.30Ghz processor with 4 cores paired with 12GB memory and the NVIDIA GeForce GTX 660M with 384 stream processors (CUDA cores) with 2GB of memory and supports CUDA compute capability 3.0.

Conclusions
In this work, a real-time emergency inspection scheduling application following a seismic event is presented. This application is based on two nature-inspired metaheuristic algorithms, IHS and ACO. The first is a variation of the well-known and established Harmony Search algorithm while the second one is the also established Ant Colony Optimization algorithm. Both algorithms have proven their ability to handle hard combinatorial problems in literature. Both algorithms have also proven their robustness when applied on such problems. Through this work, a parallel GPU implementation of the algorithm is presented in order to minimize the computational time needed to solve such problems. Computational time is very important when we are dealing with situations where solutions need to be presented in realtime. Dealing with a seismic event is such a situation as a delay in scheduling support and relief efforts can cost dramatically. Our approach is implemented on the urban environment of the second largest city in Greece, Thessaloniki, who has suffered from a seismic event in the recent past. With the assumption that 20 inspection crews will be available and working on 8-hour shifts, we have 10 crews inspecting the urban structures for 16 hours per day. Based on these estimations, along with the inspection and traveling speed of crews, the necessary time for the inspection of the whole area was equal to 5683.006 hours while the variation between crews is also very small.
By implementing the algorithms with the use of GPU programming, a significant acceleration factor equal to 5.508 is achieved which is very important in real-time applications. It is also important to point out that the acceleration factor increases with the increase of the dimensionality of the problem. The proposed formulation has the ability to robustly solve the described problem in less than four minutes. In the future, it might be useful to apply modifications on the algorithm which will offer the end-user the ability to choose before executing the algorithm a series of joint city blocks that need to be inspected first. It can also be modifies to resolve the problem while city blocks with increased level of damage are set by the user according to emergency calls. Another modification that is worth investigating is giving the algorithm the ability to un-assign city blocks from crews with large inspection crews and assigning them to those who finish first.