Collision Avoidance Modelling in Airline Traffic Based on the Change of Airplane Movements and Dynamic Clouds

Corresponding Author: Yudhi Purwananto, Department of Informatics, Institut Teknologi Sepuluh Nopember, Indonesia Email: yudhi@if.its.ac.id Abstract: An Air Traffic Controller (ATC) system aims to manage airline traffic to prevent collision of the airplane, called the Collision Avoidance (CA). The study on CA, called Conflict Detection and Resolution (CDR), becomes more critical as the airline traffic has grown each year significantly. Previous studies used optimization algorithms for CDR and did not involve the presence of cumulonimbus clouds. Many such clouds can be found in tropical regions like in Indonesia. Therefore, involving such clouds in the CDR optimization algorithms will be significant in Indonesia. We developed a CDR-based CA modelling that involves the Cumulonimbus (CB) clouds by considering three airplane maneuvers, i.e., Velocity, angle Turn and Altitude level Change (VTAC). Our optimization algorithm is developed based on a Mixed-Integer Programming (MIP) solver due to its efficiency. This proposed algorithm requires two input data, namely the initial airplane and cloud states input and the flight parameter such as velocity, angle and altitude levels. The outputs of our VTAC optimization algorithm are the optimum speed, altitude and angle turn of an airplane that is determined based on the currently calculated variables. Extensive experiments have been conducted to validate the proposed approach and the experiment results show that collisions between airplanes and clouds can be avoided with minimum change of the initial airplane velocity, angle and altitude levels. The VTAC algorithm produced longer distance to avoid collision between airplanes by at least 1 Nautical Mile (NM) compared to the VAC algorithm. The addition of angle in the VTAC algorithm has improved the result significantly.


Introduction
Collision avoidance on air traffic becomes very important to be investigated as the Air Traffic Control (ATC) system aims to increase the safety of the airplane passengers. The Collision Avoidance (CA) has been studied in many researches on Detection and Resolution (CDR). The general solution for CA uses three types of manoeuvres on an airplane, namely speed, altitude and angle of direction of flight.
The aim of the CDR is to create a standard procedure to help the airplane controller and pilot when action to prevent conflicts is not successful. For example, when two or more airplanes violate the specified safety criteria to maintain the minimum horizontal distance between airplanes by 5 Nm or the minimum vertical distance by 1,000 ft. This criterion is referred to as the Protected Zone (PZ). The proposed solution must be able to maintain a predetermined flight schedule.
One solution to this problem is to consider speed and altitude manoeuvres. The model that uses this solution is called the Velocity and Altitude Change (VAC) model proposed by (Alonso-Ayuso et al., 2011). The proposed method uses the geometry construction and the Velocity Change (VC) model introduced by (Pallottino et al., 2002). The proposed VAC model uses a Mixed-Integer Linear Optimization (MILO) approach VAC aims to find the optimal speed and altitude so that an airplane avoids pre-defined conflict criteria as well as to minimize the change of flight schedules. Pallottino et al. (2002) 34 proposed a VC model using the Mixed Integer Linear Programming (MILP) method. Alonso-Ayuso et al. (2011) then enhanced this model by adding anomaly cases and false conflicts. The anomaly cases are used to detect the zero-divisors in the geometry construction while the false conflict aims to identify if two airplanes move to opposite directions. An alternative solution is also produced using the height manoeuvre variable. Alonso-Ayuso et al. (2011) created groups of airplanes based on altitude levels with 1,000 ft distance between the groups. The Altitude Change (AC) proposed by (Alonso-Ayuso et al., 2011) considers the detection of a pair of airplanes towards each other, a head to head situation. Alonso-Ayuso et al. (2012) proposed a MILO model that not only considers VC but also takes into account the acceleration factor to avoid instantaneous changes. The research modified the native VAC by considering Coordinated Velocity and Altitude Changes (CVAC) based on MILO models. This model did not include CDR problems. A Mixed-Integer Non-linear Optimization (MINO) model for handling the CDR problems (Alonso-Ayuso et al., 2016a) is proposed. The proposed MINO model produces high accuracy but requires a high computational cost. Another scheme enhanced the MINO model with an additional three airplane manoeuvres variables, i.e., Velocity, angle Turn and Altitude level Change (VTAC). The enhanced model requires less computational cost, called the Sequential Mixed-Integer Linear Optimization (SMILO), in a trade-off of a slightly lower accuracy (Alonso-Ayuso et al., 2016a).
The optimization models in the previous studies did not involve the presence of cumulonimbus clouds. In fact, many cumulonimbi can be found in tropical countries, e.g., Indonesia. Cumulonimbus clouds are a tall, dense cloud type that tends to grow vertically rather than horizontally. This cloud is formed due to water vapour carried by very strong upward air currents. The cumulonimbus clouds are very dangerous since they can cause an airplane to experience turbulence and even can cause the engine to fail. An optimization model that involves the cumulonimbus cloud is important to avoid collisions with such clouds. Research in (Purwananto et al., 2019) presents a heuristic approach using Particle Swarm Optimization (PSO) to avoid conflicts between the planes and simulate the cumulonimbus cloud to be avoided by a plane. However, the experimental results are not shown in detail.
In this study, we develop an optimization model to enhance the proposed optimization model by (Alonso-Ayuso et al., 2016b) to solve CA problems and VTAC airplane manoeuvres by considering the presence of Cumulonimbus (CB) clouds. We use the SCIP Mixed-Integer Programming (MIP) solver (Gleixner et al., 2017) due to its computational efficiency.
The rest of this paper is organized as follows: The review of research is presented in section 2, the methodology of our research is presented in section 3, experimental results are presented in section 4 and finally, the conclusion is presented in section 5.

Related Work
Collision-Conflict Avoidance is divided into two categories, namely Conflict-collision Detection (CD) and Collision Resolution (CR). CD is the process of detecting conflicts between two or more airplanes or between an airplane and some obstacles in the airspace, while CR is a decision or solution for the completion of the CD solution. As an illustration, suppose there are two airplanes in the same horizontal plane. Each airplane has a flight plan consisting of a sequence of points for each time t at speed v. An airplane can detect a potential conflict to the other airplane by using TRACON (a radar approach control terminal). If the airplane detects the presence of the other airplane within 5 nm outside of TRACON and 3 nm inside TRACON, then the situation is classified as unsafe. Another criterion of flight safety is the vertical distance of airplanes should be at least 5 nm or 1,000 ft.
The research in (Kuchar and Yang, 2000) was known as the first study on Conflict Detection and Resolution (CDR) problem. The research used a mathematical optimization approach to solve the problem. Then, (Martín Campo, 2010) used a similar approach and offered various methods and algorithms to solve the collision avoidance problem.
A survey of intelligent transportation systems in (Zhang et al., 2011) presented models used to solve airline conflict problems. Then, efforts are conducted to improve the models by using optimization algorithms for conflict avoidance by involving variations in speed, direction, altitude and the possibility of returning to the starting point of flight. Research in (Shi et al., 2012) was enhanced by adding a predictor of air traffic density and its implementation in airplane lane planning. The research was developed based on a simplified stochastic differential equation model of airplane dynamics, as demonstrated in (Albasman and Hu, 2012).
Metaheuristic algorithms are also used for CDR problems. For example, the Ant Colony algorithm (Durand and Alliot, 2009;Meng and Qi, 2012;Gao et al., 2012) were used for decision-making angle Turn (TC) manoeuvres. The Variable Neighbourhood Search (VNS) (Alonso-Ayuso et al., 2015) that considers possible influential factors to the TC problem was developed in (Omer and Farges, 2013) that used a combination or hybrid method to solve the same problem.
The use of linear approach also produced satisfactory results, such as the Neural Network approach for the Velocity Change (VC) manoeuvres problem (Cetek, 2009;Christodoulou and Kodaxakis, 2006;Durand et al., 2000). A linear approach based on Taylor iterative 35 polynomials was proposed by (Alonso-Ayuso et al., 2012), which then resumed in (Alonso-Ayuso et al., 2016b) by using the Sequential Integer Linear Optimization (SILO) method. Linear and metaheuristic approaches are well known due to their computational efficiency. The trade-off of the approaches is that there is no guarantee a global-optima solution and sometimes even a feasible solution, is found.
A non-linear approach is used to build a mixed 0-1 non-linear model to solve the collision avoidance problem (Alonso-Ayuso et al., 2010;. The nonlinear approach is applied for optimization algorithms with mixed-integer that involved trigonometry and nonconvex equations (Alonso-Ayuso et al., 2016). The approach offered horizontal and vertical manoeuvres. A two-stage approach, namely angular deviation and mixed 0-1 non-linear model calculations, was used in (Cafieri and Omheni, 2017) to avoiding air traffic conflicts. The approach implemented gradual changes in heading angles and heights.
Research in an unmanned airplane was initiated in (Smith et al., 2013) that proposed an optimization on airborne collision avoidance. Further research in this field (Foina et al., 2015;Yang et al., 2017) developed a geometric conflict resolution method for distributed cooperative drones. The study focused on calculating the safe separation boundary from a pairwise drone. The non-linear tangent function to safely separate the drones is transformed into a linear boundary by mapping the relation into the sin value space.
Search And Rescue (SAR) airplanes pose a unique challenge as they often perform their operations in lowaltitude. This condition requires different modelling, given that flying in low-altitude is very prone to collisions. Research in (Zhang et al., 2017) proposed solutions to this problem using a standard aviation visual separation model. The study was divided into two sub problems: A pairwise and many planes. Conflict scenarios are divided based on the path of the airplane and the mission carried. The outcomes of the solutions are decisions to fly higher, to change lanes and or to change speed.
In general, there are three classifications of periods for providing solutions to the CDR problem: Long, medium and short terms. The division is based on the time period of when a solution to a problem is issued, for example, 20 to 60 min for the long term, 5 to 20 min for the medium term and 2 to 5 min for the short term, respectively. The short term solutions were initially researched in (Shakarian and Haraldsdottir, 2001) and then further enhanced by (Alonso-Ayuso et al., 2016a). The study in (Alonso-Ayuso et al., 2016b) was developed using multiobjective optimization-based techniques, which demonstrated that the metaheuristic approach is efficient.
The state-of-the-art to solve the CDR problem with the use of a non-linear optimization algorithm is the MINO model (Alonso-Ayuso et al., 2016a) using the Minotaur solver (Mahajan et al., 2020), while the use of sequential mixed integer optimization SMILO model (Alonso-Ayuso et al., 2016a) using the CPLEX solver (IBM, 2015). CPLEX is also a Mixed-Integer Programming (MIP) solver. Both algorithms are well known due to their good performance in solving the CDR problem. The SMILO model requires less computational cost, in a trade-off of a slightly lower accuracy than MINO model. However, they do not cover the presence of Cumulonimbus (CB) clouds in their modelling. Many of cumulonimbus clouds can be found in tropical countries, where this dense cloud type tends to grow vertically rather than horizontally. The CB clouds are very dangerous as they can cause an airplane to experience turbulence and even can cause the engine to fail.
An optimization model that involves the CB cloud is important to avoid collisions with such clouds. Research in (Purwananto et al., 2019) presents a heuristic approach using Particle Swarm Optimization (PSO) to avoid conflicts between the plane using SMILO model and simulate the cumulonimbus cloud to be avoided by a plane. However, the experimental results are not shown in detail. In this study, an enhancement of the MINO optimization model is proposed to solve CA problems and VTAC airplane manoeuvres by considering the presence of Cumulonimbus (CB) clouds. We use the Mixed-Integer Programming (MIP) solver SCIP (Gleixner et al., 2017) due to the computational issue of MINO.

Methodology
Our air traffic model is the extended version of VTAC model (Alonso-Ayuso et al., 2016b) to solve CA problem by considering the presence of Cumulonimbus (CB) clouds. The aircraft can perform three types of maneuvers to avoid conflict situations: Changes in velocity and angle turn (horizontal maneuvers) and changes in altitude levels (vertical maneuvers). The Velocity Change (VC) allow Airplane to Change the velocity for avoiding the collision. The altitude change (AC) considers the detection of a pair of airplanes towards each other, a head to head situation. The two types of inputs are needed such as the pre-processing parameters (the airplanes' parameters) and Cumulonimbus (CB) cloud parameters. The outputs are the optimal velocity, angle turn and altitude level that meet the requirements for avoiding collisions.

Set Definition
Sets Details F Set of plane and Cumulonimbus (CB) cloud P Set of pairs plane-plane and cumulonimbus-plane that have conflict potential Z Set of altitude level. CB clouds have fixed altitude level.

Input Parameters
For all plane and CB cloud fF: The initial plane and CB cloud position f The initial velocity. The CB cloud is determined closest to 0, we assume that the cloud moves significantly slow rf Is a safe distance. For plane, it is 2.5 nautical miles mf The initial direction with a range of values (-ϕ, ϕ). For the CB cloud, the direction is considered to be 0 zf The initial altitude level of plane and CB cloud For pairs of plane-plane and plane-cloud {{i, j} P}, the variables that will be calculated during the preprocessing tasks are:

Constraints
The CDR constraints are as follows: For every plane and CB cloud fF: For every pair of planes {i, j}P and zZ: cos sin ν 1 cos sin sin tan g cos sin cot g sin cos 1 tan g cos sin cot g sin In order to detect and solve the conflict situation, the set of constraints Equation (2) are used. The pathological situations are avoided in the model since each constraint is controlled by parameter pcij. The pcij is set to 1 in the pre-processing phase if there exists a pathological situation between plane i and j.
For every pair of plane and CB cloud {i, j}P and zZ: Constraint Equation (3) forces the following situations: (a) only one of the four possible cases in the geometric construction for the horizontal maneuvers (Alonso-Ayuso et al., 2016a) in the pair of plane and CB cloud, (b) 5 1 ijz   which forces the case in which two planes or CB cloud fly at different altitude levels, so there is no longer potential conflict situation between them.
For each plane and CB cloud fF: The constraint Equation (4) imposes that each plane and CB cloud must fly at only one altitude level.
For every pair of plane and CB cloud {i, j}P and zZ: The constraint Equation (5) splits the two values for -variables. For 5 1 ijz   , it forces a situation in which only one aircraft or CB cloud (i or j) can fly at altitude level z at most. For 5 0 ijz   , the constraint is inactive, which means that the constraint Equation (2)-(4) determine the altitude level at which the separation maneuver is made for both plane and CB cloud if any (either at the same altitude level or at different altitude levels).
For each plane fF: The zf is the initial configuration for plane f constrained by Equation 61-6b (Alonso-Ayuso et al., 2016a). The variable, f, in the equations count the level's numbers by which plane f simultaneously update its altitude. The variables ϕ and  are related with the initial altitude level of each aircraft. The Equation (6a) and (6b) counts the number of altitude levels between the new configuration and the initial one. If the plane has changed its initial altitude level then only one of the two constraints is greater than 0, thus satisfying the nonnegativity requirement for variable . Observe then that the objective function Equation (10)  For each plane and CB cloud fF: For each plane and CB cloud fF and zZ:

38
Finally, the constraint system Equation (7a)-(7g) defines the range value of the variables. The geometric construction might change some initial configurations of plane even if they are not involved in a conflict situation (Alonso-Ayuso et al., 2016b). These cases are called false conflicts since two aircraft, i and j, are moving away from each other, the geometric construction forces them to perform unnecessary maneuvers to avoid conflict situation. It also needs to consider those cases in which two plane, i and j, are flying at different altitudes with a horizontal distance of less than the minimum required, usually 5 nm (Alonso-Ayuso et al., 2016b). The parameter forces the two planes involved to fly at different altitudes since otherwise, they are in conflict.
In order to solve the conflict over possible collision between plane and plane, or plane and CB cloud, some maneuver such as horizontal maneuver (velocity and angle changes) and or vertical maneuver (altitude level changes) must satisfy the three objective functions as Equation (8) and (9):

Experimental Environment
We conducted our experiment using the Software framework for Constraint Integer Programs (SCIP) optimization suite (Gleixner et al., 2017). SCIP is known due to its very efficient yet accurate in solving the VAC and the VTAC problems. SCIP uses a branch and bound approach complemented with the Linear Programming (LP) relaxations and cutting plane separators to solve Mixed-Integer Programming (MIP) and Satisfiability (SAT) problems. A problem instance is continuously divided into two sub-problems until it is infeasible to do so. At this point, an optimal solution for the sub-problem can be identified. The LP relaxation of a sub-problem is obtained by dropping the integrality restrictions of the problem's variables. Then, the LP relaxation can be solved more efficiently and provides a dual bound on the objective value. The dual bound is then used for the bounding step in the initial branch-and-bound algorithm. Once the LP relaxation of a sub-problem is obtained, SCIP exploits the integrality restrictions to tighten the relaxation and thereby improve the bound obtained. The safe distance is measured in NM (Pallottino et al., 2002). We run our experiment in a considerably small area of 120×120 NM to mimic a very condense flight area where collisions occur.

Experimental Scenario
We used six airplanes flying on the same altitude with given X-Y coordinates and angles (see Table 1). We used a range of [3,5] speed where normally airplanes that fly on the same level are of the same type with a similar speed profile. We set the minimum safety distance between airplanes at 2.5; Nm considered as the safe distance (Pallottino et al., 2002). We run our experiment in a considerably small area of 120×120 NM to mimic a very condense flight area where collisions occur.
In the first experiment, we optimized the route of every airplane by using VAC and VTAC algorithms. The algorithms provide recommendations to maintain or change the speed, angle and or altitude of every airplane when a potential collision is detected. In the second experiment, we included a dynamic cloud in collision avoidance modelling (Table 2).
Although a cloud can be seen as a native aerial object (such as an airplane), however, the dynamic pose a different challenge to the modelling. The characteristic of a cloud that could lay on several altitude levels restricts any objects (such as airplanes) to go across the cloud. In addition, the diameter of a cloud is far wider than an airplane. Thus, the safety distance is defined as the flight safety radius + the radius of the cloud on every altitude level.
Based on the speed, direction and altitude of the airplanes, we simulated the position of the airplanes in ten iterations. We record the airplane coordinates during the simulation that form airplane tracks. A unique character plot in a track indicates the current position of an airplane, while the line plot in a track indicates the airplane trails. At iteration number ten, a collision will occur between Airplane 2 and Airplane 3 when their original routes are applied in Fig. 1a. The collision is indicated by the zero distance between them (Fig. 2a).

VAC Modelling Solution
We run the VAC algorithm at each iteration in our flight simulation. The collision between Airplane 2 and Airplane 3 in the initial flight route simulation (Fig. 1a) is avoided. The avoided collision is indicated by the non-zero distance (> 5 NM) along the airplanes' new routes (Fig. 1b).
The new routes are obtained by changing the speed and or altitude for every airplane to meet the safety distance constraint (≥ 2.5 Nm). This result proves that the VAC algorithm is effective to prevent the collision between Airplane 2 and 3.
We then included a dynamic cloud in our simulation and run the VAC algorithm in our collision avoidance modelling. Here, we model the dynamic cloud as an aerial object with a large radius (e.g., 7.5 Nm), low 39 velocity and occupies several altitude layers. Note that the safety radius is the addition of the cloud radius and the pane safety radius and therefore 7.5+2.5 Nm = 10 Nm (Table 2). We run our simulation using the same six flights (Table 1) with the addition of cumulonimbus clouds (Table 2). With the default scenario, this experiment results in the collision between Airplane 2 and Airplane 3 and also between Airplane 4 and the cloud (Fig. 1c). Then, we run our collision avoidance modelling using the same scenario. The VAC modelling provides route changes (altitude or speed) for every airplane to avoid collision between airplanes and the cloud (Fig. 1d). The collision between Airplane 2 and Airplane 3 are avoided as well as the collision between Airplane 4 and the cloud (the red circle). Our experiment result indicates that collisions between airplanes and the clouds are avoided indicated by non-zero distances of every airplane to any other objects in the simulation (Fig. 2b).

VTAC Modelling Solution
We solve the collision case in Fig. 1a by running the VTAC modelling at each iteration in our flight simulation. Then, we compare the solutions produced by the VTAC modelling against the VAC modelling. The collision between Airplane 2 and Airplane 3 is avoided by >6 NM (Fig. 3a). The distance produced by the VTAC modelling is longer than the VAC modelling (>5 NM). The longer distance is due to the VTAC modelling not only for providing solutions to change speed and altitude, but also the angle of the planes. The change of angle is indicated by the route of Airplane 2 that moves away from Airplane 3 by moving towards positive direction of the Y axis (Fig. 3a). This result proves that the VTAC modelling produces a safer solution than that of the VAC modelling. In fact, not only the collision between Airplane 2 and Airplane 3 is avoided, but also the distance between Airplane 1 and Airplane 4 is extended. The experiment result indicates that both airplanes (Airplane 2 and Airplane 3) are in the safe distance. The routes of the other airplanes are not changed because the distances between them are sufficiently far (Fig. 4a).
A dynamic cloud and six airplanes are run in our simulation with the same type and details as in the VAC scenario (Table 1 and 2). Here, the collision between Airplane 2 and Airplane 3 is avoided by >6 NM (Fig. 3b) by the change of speed (Airplane 3) and the change of angle (Airplane 2). Now, the presence of cloud that lies on altitude level 2, 3 and 4 is avoided by changing the angle of Airplane 4. The course of Airplane 4 is still in the safety zone despite the presence and the course of Airplane 1 (Fig. 4b). This solution is more practical compared to changing the altitude of Airplane 4 to level 1 as proposed by the VAC modelling (Fig. 1d).
We extended our experiment by using 16 airplanes flying on altitude 1, 3 and 4. First, the simulation was run without the use of our VTAC algorithm resulting in minimum, maximum and average distances of 60, 1720.5 and 831.1 Nm respectively. There is no change of altitude levels among the airplanes. Then, we run the same simulation with the use of our VTAC algorithm. The experiment resulted in minimum, maximum and average distances of 141.4, 1720.5 and 830.4 Nm respectively. The minimum distances expanded as the results of the change of the altitude levels of some airplanes. This experiment strengthens our initial experimental result.

Conclusion
We developed an effective collision avoidance modelling that involves airplanes and a dynamic cloud that could be applicable in countries with cumulonimbus clouds, e.g., Indonesia. The VAC modelling was successfully experimented to avoid a collision by lowering the altitude and or change airplanes' velocity. This technique works when there is no cloud that lays on every altitude level. However, when such cloud exists, the technique might not work. This problem is solved in VTAC modelling that includes the change of flight angle. Thus, a collision with such cloud that lays on every altitude level can be avoided. The VTAC algorithm produced longer distance to avoid collision between airplanes by at least 1 Nautical Mile (NM) compared to the VAC algorithm. The addition of angle in the VTAC algorithm has improved the result significantly. Our collision avoidance method could be extended to multi clouds. We would like to use a real data from the Air Traffic Controller to examine the robustness of our method. The characteristics of large-scale real data with its various flight scenarios could possibly give a more deeper insight to the development of our method.

Author Contributions
Yudhi Purwananto: Contributed to organize of the paper including the design method and the conduct of experiments.
Chastine Fatichah and Waskitho Wibisono: Supervised the problem definition, design method and the content of paper.
Ary Mazaruddin Shiddiqi: Designed the scenario of experiments.
Bagus Jati Santoso and Radityo Anggoro: Assisted checked the writing of paper.

Ethics
This article is original and contains unpublished material. The corresponding author confirms that all of the other authors have read and approved the manuscript and no ethical issues involved.