1 Introduction

Due to increasing demand in air traffic operations, systems to automatize the maneuvers of aircraft so as to avoid conflict situations are required. The Conflict Detection and Resolution (CDR) problem is one of the most widely studied problems in air traffic management including fields such as Operations Research and engineering.

Once the flight configuration for a set of aircraft is known, the aim of the problem is to draw up a new configuration that will avoid any conflict situation. A conflict situation is an event in which two or more aircraft breach the minimum safety distance that they must maintain in flight. Those distances are 5 nautical miles (nm) horizontally and 1,000 feet in the vertical plane. The immediate consequence is that every aircraft is at the center of a cylinder with a radius of 2.5 nm and a height of 1,000 feet. To avoid conflict situations an aircraft can change its velocity, heading angle or altitude.

Kuchar and Yang [23] present a survey with the most important approaches to the CDR problem presented up to year 2000. However, there have since been many more papers that have contributed to this problem. The most important of them are reviewed in Martín-Campo [25].

Pallottino et al. [32] introduce a seminal approach for modeling the velocity change (VC) maneuvers based on geometric constructions. The VC is based on Mixed Integer Linear Programming (MILP for short) and solves the problem by making velocity changes. In Dell’Ollmo and Lulli [15], a MILP model is presented and solved even for large-scale problems by using both exact and heuristic methodologies consisting of choosing way points. Christodoulou and Costoulakis [14], based on [32], propose a (MINLP for short) approach to solve the CDR problem by making changes in velocity and heading angle. In Alonso-Ayuso et al. [1] a tight MILP model is presented, referred to as Velocity and Altitude Changes (VAC), where both maneuvers are performed to avoid conflict situations and the optimal solution is obtained in a very short computing time by using a state-of-the-art solver. Alonso-Ayuso et al. [2] extend the VC model by including continuity in the velocity changes, since the original considers that all changes happen instantaneously. Recently, Rey et al. [34] have presented a MILP model that aims to avoid conflict situations including uncertainty due, for instance, to weather conditions. Also, Cafieri and Durand [10] propose a MINLP model based on velocity regulation that considers different time instants in which the velocity changes are made. In [4], Alonso-Ayuso et al. present an approximation for coordinating different Air Traffic Controllers Officers (ATCO) in different air sectors. Two MILP models, the first of which solves the problem using altitude changes and the second a combination of altitude and velocity changes, are proposed in Alonso-Ayuso et al. [5]. Notice that horizontal maneuvers are in general preferred by passengers because they are more comfortable than vertical ones, though in financial terms, the latter are cheaper if they entail climbing. Additionally, velocity changes are not very efficient; see Frazzoli et al. [19], Jardin [22] and Peyronne et al. [33], among others.

This paper tackles the aircraft collision and resolution problem by means of angle changes in aircraft directions. Therefore, the aircraft velocity is assumed to be constant, as in many other papers, see Pallottino et al. [32], Christodoulou and Costoulakis [14], Treleaven [36], Gao et al. [20] and Cafieri and Durand [10], among others. Notice that the En Route Air Traffic Soft Management Ultimate System (ERASMUS) project (see Bonini et al. [8]) suggests the bounds on variations of \(-\)6 and 3 % of the current velocity, so this assumption is not very restrictive in real-life situations.

This paper presents an algorithmic approach for solving the nonconvex MINLP model introduced in Alonso-Ayuso et al. [3] where turn change maneuvers are considered based on the geometric construction introduced in [32]. Besides presenting the CDR model by Turn Changes (TC), [3] introduces an Unconstrained Quadratic Programming (UQP) model to force each aircraft to return to the initial flight configuration. The problem solving is based on both, an exact method and a heuristic one. The exact scheme needs a high computing time, making this methodology impractical for application in real life, where the answer is needed in few seconds. A heuristic, based on Sequential Integer Linear Optimization (SILO for short) provides good solutions in a short time for realistic medium-size instances. In order to make this approach usable in real life, the computing effort to obtain a feasible solution must be reduced.

The approach presented in this paper is based on the Variable Neighborhood Search (VNS for short) metaheuristic framework. The basic idea of VNS consists of changing neighborhood structures in search of a better solution, in both the perturbation (diversification) and the local search (intensification) phases. Good solutions are usually obtained in short computing time by using this methodology in a variety of problems (see Mladenović and Hansen [29], Hansen et al. [21], Brimbergh et al. [9] and Mladenović et al. [31]).

Other metaheuristic methods have been used to solve the problem as Ant Colony optimization (see Durand and Alliot [17] and Meng and Qi [27] for solving the problem by performing angle change maneuvers). Genetic Algorithms (see Medioni et al. [26] by also performing turn changes and Vivona et al. [37] for prescribed maneuvers). Particle Swarm optimization (see Gao et al. [20] where again the turn change maneuver is used) and Neural Networks (see Durand et al. [18], Christodoulou and Kontogeourgou [13] and Cetek [12] for performing velocity changes), among others.

The rest of the paper is organized as follows. Section 2 introduces the geometric construction that allows conflict situations to be detected and solved. Section 3 presents with detail our VNS based proposed approach. Section 4 presents an extensive computational experience comparing the results of the VNS approach and those obtained by using the state-of-the-art MINLP solver Minotaur and the inexact SILO approach introduced in [3]. Finally, Sect. 5 concludes and outlines directions for future research.

2 The conflict detection and resolution problem

As indicated above, many papers tackling the CDR problem have been published. The TC model, which is the first step of the algorithmic approach in [3], is based on the geometric construction introduced in [32]. Once the aircraft have avoided the conflict situation by performing an angle change, they must return to their initial flight configuration. To that end, a set of UQP models are also presented in [3] and the solution is obtained in a very short computing time.

In order to present carefully our approach in detail we must introduce the geometric construction for detecting and solving conflict situations in the VC model introduced in [32]. It is depicted in Fig. 1. Let us assume a set of aircraft \(\mathcal {F}\,=\,\{1,\ldots ,n\}\) in a given air sector. Let us also denote \(\varvec{v}_i\) and \(\varvec{v}_j\) the velocity vectors of aircraft \(i\) and \(j\), respectively. The main idea of the model is based on the construction of the relative velocity vector \(\varvec{v}_{i}-\varvec{v}_{j}\), such that let \(\omega _{ij}\) and \(\alpha _{ij}\) denote \(\arctan \Big (\frac{y_{i}-y_{j}}{x_{i}-x_{j}}\Big )\) and \(\arcsin \Big (\frac{r_{i}+r_{j}/2}{d_{ij}/2}\Big )\), respectively, where \(x_i\), \(y_i\) are the abscissa and ordinate (i.e., the current configuration of the position of aircraft \(i\)), \(r_i\) is the safety radius of aircraft \(i\) and \(d_{ij}\) is the distance between aircraft \(i\) and \(j\). Depending on the tangent of angles \(l_{ij}= \omega _{ij} + \alpha _{ij}\) and \(g_{ij}=\omega _{ij} - \alpha _{ij}\) and the tangent of the relative velocity vector, a conflict situation can be detected.

Fig. 1
figure 1

Geometric construction for the VC problem

Although the notation in the geometric construction is based on vectors, it can be decomposed into the two components, abscissa and ordinate, in the mathematical model. Therefore, there is no conflict between aircraft \(i\) and \(j\) if one of the following expressions is satisfied,

$$\begin{aligned} \frac{v_i\sin (m_i+\mu _i) - v_j\sin (m_j+\mu _j)}{v_i\cos (m_i+\mu _i) - v_j\cos (m_j+\mu _j)}&\geqslant \tan (l_{ij}) \end{aligned}$$
(1a)
$$\begin{aligned} \frac{v_i\sin (m_i+\mu _i) - v_j\sin (m_j+\mu _j)}{v_i\cos (m_i+\mu _i) - v_j\cos (m_j+\mu _j)}&\leqslant \tan (g_{ij}), \end{aligned}$$
(1b)

where \(m_i\) is the current direction of motion and \(\mu _i\) is the angle variation (optimization variable), such that now the angles of motion \(m_i + \mu _i\) and \(m_j + \mu _j\) avoid the conflict between the aircraft \(i\) and \(j\).

Notice that the left-hand side expressions in (1) can involve a null denominator. These cases are referred to as pathological situations, see [1]. They produce unstable solutions since a specific conflict between two aircraft may be wrongly solved due to the null denominator, even forcing the aircraft to crash in the worst case. These situations are detected in the preprocessing phase when \(|x_i - x_j| < r_i + r_j\). To tackle these situations, the parameters \(m_i\), \(m_j\), \(\tan (l_{ij})\) and \(\tan (g_{ij})\) can be replaced with the ones turned \(\frac{\pi }{2}\) rad, since after this turn \(|x_i - x_j | > r_i + r_j\), and, then, there is not a pathological situation anymore. Notice that this configuration is only considered in the constraints for the pair of aircraft \(i\) and \(j\) but it does not mean that the aircraft take a heading angle of \(\frac{\pi }{2}\) rad. The parameter \(pc_{ij}\) takes the value 1 in the model if the preprocessing phase detects a pathological situation between aircraft \(i\) and \(j\) and 0 otherwise; see below.

The TC model solves the CDR problem by making instantaneous turn changes, i.e., all the configurations must change at the same time to avoid conflict situations. This does not mean that each time a new aircraft enters a sector, every other aircraft must change its angle of motion, since it may even happen that no conflict situation is detected. We propose in the paper that the model should be solved whenever an aircraft enters the sector and, if a conflict is detected, then the model optimization solves it. Additionally, we consider constant velocity as do many other papers in the relevant literature.

3 Variable neighborhood search approach

VNS has been used for solving continuous global optimization problems in the relevant literature in two different ways: with and without neighborhoods induced by using an \(\ell _p\) norm. A natural approach in applying VNS to solve global continuous nonconvex optimization problems is to induce neighborhood structures denoted as \(\mathcal {N}_{k}(x)\) from the \(\ell _p\) metric (see Mladenović et al. [30], Audet et al. [6] and Bierlaire et al. [7]). A VNS-based approach for solving the generally constrained global optimization problem is suggested in Mladenović et al. [28], where the problem is first transformed into a sequence of box constrained problems within the well-known point method. In our paper we will also use this type of transformation.

If \(\ell _p\) norm is not chosen, the two different neighborhoods, \(\mathcal {N}_1(x)\) and \(\mathcal {N}_2(x)\), are used in the VNS-based approach suggested in Toksari and Güner [35]. In \(\mathcal {N}_1(x)\), \(r\) random directions from the current point \(x\) are generated and a one-dimensional search along each direction is performed, where \(r\) is an input parameter. The best point (out of \(r\)) is selected as a new starting solution for the next iteration, provided that it is better than the current one. Otherwise, the search continues within the next neighborhood \(\mathcal {N}_2(x)\). The new point in \(\mathcal {N}_2(x)\) is obtained as follows: The current solution is moved to each \(\mu _i\) (\(i\,=\,1,\dots ,n\)) by value \(\Delta _i\), taken at random, i.e., \(\mu _i^{(new)}\,=\,\mu _i + \Delta _i\) or \(\mu _i^{(new)}\,=\,\mu _i - \Delta _i\). Points obtained by the plus or minus sign for each variable define neighborhood \(\mathcal {N}_2(x)\). If a change of \(\mu _i^{(new)}\) to the right gives a better solution than for \(\mu ^{(new)}\), the + sign is chosen; otherwise – is chosen. In our diversification move we use a similar neighborhood. More details are given below.

The computational experiments reported below for the VNS approach (presented in Sects. 3.1 and 3.2) have provided very good results (in terms of solution quality and computing time) by performing an iterative discretization of the incumbent aircraft’s direction of motion. Good results from this type of metaheuristics have also been obtained in other contexts as well, see [6, 7, 11, 28, 35], among others.

3.1 Penalty function reformulation

As it was shown in Sect. 2, the feasibility condition for the MINLP model is (1). In order to reformulate the problem in the form of a penalty cost function, the infeasibility of the problem must be expressed so that it can be penalized and a feasible solution is quickly obtained. Taking expression (1) as support, the infeasibility condition can be expressed as follows,

$$\begin{aligned} \tan (g_{ij}) \leqslant \frac{v_i\sin (m_i+\mu _i) - v_j\sin (m_j+\mu _j)}{v_i\cos (m_i+\mu _i) - v_j\cos (m_j+\mu _j)} \leqslant \tan (l_{ij}). \end{aligned}$$

Notice that this expression is the infeasibility condition for a pair of aircraft \(i\) and \(j\). A pathological case can also occur in which the above expression takes a value close to the asymptotic part of the tangent function. If this occurs, the problem becomes unstable. In order to check for this case, a parameter \(cp_{ij}\) for a pair of aircraft \(i\) and \(j\), is set to 1 if \(|\tan (l_{ij})|> 1.5\) or \(|\tan ({g_{ij}})|> 1.5\) and 0, otherwise. If there is a pathological case, the above expression must be replaced with the following one,

$$\begin{aligned} -\cot (g_{ij}) \leqslant \frac{v_i\sin (m_i+\mu _i+\pi /2) - v_j\sin (m_j+\mu _j+\pi /2)}{v_i\cos (m_i+\mu _i+\pi /2) - v_j\cos (m_j+\mu _j+\pi /2)} \leqslant -\cot (l_{ij}), \end{aligned}$$

where the angles involved in the geometric construction are turned by \(\pi /2\) rad.

So, a general expression is needed in which all pairs of aircraft are taken into account. This could be as follows,

$$\begin{aligned} g(\mu )\,= \,{\left\{ \begin{array}{ll} \displaystyle \sum \nolimits _{i<j \in \mathcal {F}} \max \big \{0, \min \{\tan (l_{ij}) - t_{ij}, t_{ij} - \tan (g_{ij})\}\big \} &{} \mathrm \quad {if}\quad cp_{ij}\,=\,0\\ \displaystyle \sum \nolimits _{i<j \in \mathcal {F}} \max \big \{0, \min \{-\cot (l_{ij}) - t'_{ij}, t'_{ij} + \cot (g_{ij})\}\big \} &{} \mathrm \quad {if}\quad cp_{ij}\,= \,1\end{array}\right. } \end{aligned}$$
(2)

where

$$\begin{aligned} t_{ij}&= \frac{v_i\sin (m_i+\mu _i) - v_j\sin (m_j+\mu _j)}{v_i\cos (m_i+\mu _i) - v_j\cos (m_j+\mu _j)} \\ t'_{ij}&= \frac{v_i\sin (m_i+\mu _i+\pi /2) - v_j\sin (m_j+\mu _j+\pi /2)}{v_i\cos (m_i+\mu _i+\pi /2) - v_j\cos (m_j+\mu _j+\pi /2)}. \end{aligned}$$

By adding a penalization of the above expression to the objective function of the MINLP model presented in [3] (that consists of the minimization of the sum of the absolute values of the angle variations), the objective function can be expressed as

$$\begin{aligned} f(\mu )\,=\, \min \bigg \{M g(\mu ) + \sum _{f \in \mathcal {F}} |\mu _f| \bigg \}, \end{aligned}$$
(3)

where \(M\) denotes the appropriate penalty (weighting) parameter of the infeasibility, which should be high enough, but not higher than necessary; see Sect. 4.1.1.

The global objective function is used in the general VNS algorithm as well as in the local search.

3.2 VNS implementation

The VNS methodology to be used for the CDR problem via TC considers a continuous optimization problem since the variables \(\mu \) are continuous. For this purpose the structure for the local search and shaking (movement from one neighborhood to another) must be chosen.

3.2.1 Discretization

Although the literature usually considers the VNS method for optimization problems in which some of the variables are continuous, our approach considers the discretization of the variables \(\mu \). It is used in both the local search and shaking procedures. However, it is performed differently in each case: the discretization considered in the local search procedure is uniform, whereas that in the shaking procedure is random, as shown below.

The parameter named \(ang\) is used as the distance between two discretized values of the variable \(\mu \); see Sect. 4.1.2.

figure a

3.2.2 Implementation: data structure

To present in detail the VNS algorithm, it is worth introducing the data structure of our implementation.

First of all, different vectors are used to save the aircraft configuration: velocity, angle, abscissa and ordinate, they are denoted \(V\), \(M\), \(X\) and \(Y\), respectively. A 0–1 matrix, denoted as CP, provides the information obtained in preprocessing for detecting whether a pair of aircraft is in a pathological case. Also, four matrices, denoted as \(\textit{TL}\), \(\textit{TG}\), \(\textit{CTL}\) and \(\textit{CTG}\), are used to save the values of \(\tan (l_{ij})\), \(\tan (g_{ij})\), \(-\cot (l_{ij})\) and \(-\cot (g_{ij})\), respectively. Notice that these vectors and matrices are input information, so they do not change in the VNS local search and shaking.

Let \(A\) denote the matrix to save the values of (2) for each pair of aircraft in each iteration. The number of operations required to compute the matrix at the first iteration is \(\mathcal {O}(n^2)\), and \(\mathcal {O}(n)\) for the rest of the algorithm, where \(n\) is the number of aircraft (see Algorithm 1). Finally, let \(\mu \,= \,(\mu _1,\ldots ,\mu _n)\) denote the incumbent solution vector of the angle variations for each aircraft, such that the values of the components of the vector change in the execution of the algorithm.

3.2.3 Local search

The local search procedure in the VNS scheme is based on looking for the first improvement strategy, such that one aircraft changes by a distance \(ang\) in the positive direction and then in the negative direction (in that order). The global function (3) is then evaluated after the change. If the function is improved, the local search is restarted. This scheme is chosen because it is faster than the so-called “best improvement scheme” and fast solutions are needed due to the nature of the real-life problem. In any case, our broad computational experience (see below) suggests that there is no significant difference in the quality of the solution. Only one aircraft changes its angle configuration each time, and the local search is repeated until there is no more improvement. The pseudo-code is presented in Algorithm 2.

Notice that at each iteration where there is an improvement, matrix \(A\) is updated in the values of each pair of aircraft \(i\) and \(j\), for \(i<j\), related to function (2) as stated above. The updating is only done on the terms related to the aircraft that changes after an improvement in the global function is obtained. Thus, the number of these operations is \(\mathcal {O}(n)\).

figure b
figure c

3.2.4 Shaking

The VNS scheme requires neighborhood structures to be used. The shaking procedure consists precisely of constructing a new neighborhood. In the problem studied here, the procedure consists of changing the angle configuration of a given number of aircraft, obtained at random in each iteration. The angle configuration changes in a positive or negative direction, chosen also at random, and the value of angle \(ang\) is the neighborhood \(k\) multiplied by a uniform random value between 0 and 1. Notice that in each neighborhood \(k\), the angle variation can be greater or smaller than the one in the previous iteration. When the new neighborhood is chosen, the local search procedure is run hopefully to improve on the incumbent solution.

The pseudo-code of the shaking procedure for the CDR problem is presented in Algorithm 3.

3.2.5 Basic VNS algorithm for the CDR problem

Algorithm 4 presents the basic VNS scheme for the CDR problem, where besides the parameter \(ang\) that has been presented above, the other three crucial parameters are \(k_{max}\) (maximum size allowed for the neighborhood structures), \(t_r\) (computing time allowed since the last improvement is performed in order to execute the restarting procedure), and \(t_{max}\) (computing time limit); see Sect. 4.1 for the values used in our computational experimentation. Notice that the restarting scheme is used in order to start from the beginning once the procedure is blocked. The VNS algorithm is observed to be blocked very frequently and too much time is spent without improving the incumbent solution.

figure d

4 Computational experiment

This section is organized as follows. The parameter estimations for the VNS approach are presented in Sect. 4.1. For doing so, an extensive computational experiment is performed by using the three testbeds that have been used in the experiment presented in [3]. Testbed 1 is presented in Sect. 4.2, where an illustrative instance is tested in order to assess the validation of the VNS approach. Section 4.3 reports the main results of a broad computational experiment for Testbed 2 using the state-of-the-art nonconvex MINLP solver Minotaur [24], the SILO approach presented in [3], and the VNS approach introduced in this paper. We experimented with three pilot cases involving \(n=5\), \(7\) and \(10\) aircraft. Finally, the results for Testbed 3 which includes realistic-size cases involving \(n=12\), 15, 20 and 25 aircraft are reported in Sect. 4.4 where the SILO and VNS approaches are compared. Note: Given the unaffordable computing time required by Minotaur in experimenting with Testbed 2, it is not used for Testbed 3. Remember that the CDR problem requires a solution in almost real-time if it is to be useful in real-life applications.

The simulations for each instance in testbeds 2 and 3 are obtained by uniformly generating positions, velocities and angles of motion (forcing each pair of aircraft to be more than 5 nm. from each other) within a squared air sector. The experiments are performed by considering 25 random instances for each of the seven pilot cases under consideration (3 cases for Testbed 2 and 4 cases for Testbed 3). In total, 175 simulations are performed.

The following HW/SW platform is used for the computational experiment: 4xIntel Core i5-2430M, 2.40 GHz, 4 GB RAM and Linux Xubuntu 11.10 OS.

4.1 Preliminary results

Our VNS approach strongly depends on some user-defined parameters: \(M\) (infeasibility penalty), \(k_{max}\) (maximum size for neighborhood structures), \(ang\) (angle discretization value), \(t_r\) (time when the VNS approach must be restarted if there is no more improvement) and \(t_{max}\) (time limit). This subsection is devoted to present our approach for computing them.

4.1.1 Infeasibility penalties in the VNS global objective function

Three alternative ways of estimating the infeasibility penalties have been tested. Alternative 1 consists of a high penalty parameter value (\(M={100}n\), 100 times the number of aircraft under consideration); alternative 2 consists of a low penalty (\(M=n\), i.e., number of aircraft); and, alternative 3 consists of a mixture of the other two in such a way that the algorithm starts with the high penalty (\(M=100n\)) in order to get a feasible solution in a short computing time, and once that solution is obtained, the problem is reformulated using the low penalty (\(M=n\)). The procedure continues until a new feasible improvement is found, and alternates back to the high penalty and so on.

The results reported in Table 1 involve 25 aircraft. They are the average of the results of the 25 instances that are solved for each alternative. The headings of the table are as follows: Reform, High and Low, alternatives 3, 2 and 1, respectively; \(z^*\) is the best solution found by using VNS; \(\bar{z}\) and \(S_{z}\) are the average and standard deviations of the solution values, respectively; \(t^*\) is the computing time (in seconds) to obtain the best solution; \(\bar{t}\) and \(S_{t}\) are the average and standard deviations in computing time, respectively; and \(\bar{t}_f\) and \(S_{t_f}\) are the average and standard deviations in the computing time needed to obtain the first feasible solution, respectively.

Table 1 Results for the 25 instances with 25 aircraft by using high and low penalty parameter values and reformulation

Table 1 reports similar results for the three alternatives in terms of solution quality. However, observe that when the Low penalty alternative is used the VNS approach takes too long to obtain the first feasible solution, which is crucial for our problem. Although the results of the alternatives Reform and High are similar, we have decided to use the High alternative for our computational experiments since the results are slightly better.

4.1.2 Estimation of other parameters in the VNS approach

We set \(k_{max}\) at 45\(^{\circ }\) since the bounds for angle variation are \(\frac{-\pi }{4}\) and \(\frac{\pi }{4}\) in the MINLP model [3]. Notice that \(k=1,\ldots ,k_{max}\) denotes the angle variation in the shaking procedure. On the other hand, \(t_{max}\) is set at the number of aircraft (in seconds). We found this to be a reasonable computing time limit for the requirements of our problem. Parameter \(t_r\) is set at \(t_{max}/10\) and, finally, the angle parameter \(ang\) for the first local search is set at 1\(^{\circ }\).

4.2 Illustrative case: Testbed 1

Figure 2a depicts the classical hard instance but not a realistic one for testing the validity of the VNS approach: see [16, 20] among others. As an illustration, 6 aircraft are situated on a circumference, all flying towards the center, at the same height and the same velocity. As shown in Fig. 2b, the resolution of the MINLP model [3] forces all aircraft to change their heading angle by \(-\)0.2527 rads. (notice that another solution would be the opposite, i.e. 0.2527 rads.).

Fig. 2
figure 2

Illustrative 6 aircraft instance for testing the algorithmic approaches

Table 2 reports the comparative results. The additional headings are as follows: Inst. is a configuration that denotes the number of aircraft that are considered in the instance; Minotaur is the exact MINLP engine of choice [24]; SILO is the metaheuristic algorithm introduced in [3]; \(z\) is the solution value obtained by each approach; \(t\) is the computing time (s) needed to obtain \(z\); GAP is the relative difference in the solution values obtained by the SILO and VNS approaches with respect to the Minotaur solution value, denoted by \(z_M\). It is computed as \(\frac{z-z_M}{z_M}\cdot 100\,\%\). Notice that the VNS approach is repeated 10 times in total (from the beginning and considering restarting) and the best solution is reported. We used the Minotaur engine, as representative of exact MINLP engines, since it provides the best results in the experiments reported in [3]. We can observe in Table 2 that Minotaur never gives solution values \(z\) which are worse than the values given by the other approaches. The SILO approach has a very small GAP. VNS appears to obtain the same solution as Minotaur in all but two instances: their GAPs are 0.07 % and 0.02 %. Notice that the computing time required by Minotaur for instances with more than 7 aircraft is unaffordable for this type of problem. Finally, the VNS approach requires a very short computing time, much less than the time required by SILO for 8 and 9 aircraft.

Table 2 TC model comparison results for the circumference case (Testbed 1)

4.3 Small size instances: Testbed 2

Table 3 reports the results for the pilot cases with 5, 7 and 10 aircraft (which are not as difficult as the circumference case) as an average of 25 instances generated for each case by data variations. The additional headings are: Best known, the best solution value obtained on average, since Minotaur does not always provide the smallest solution value; the Gap of each of the three approaches from the best known solution value, denoted as \(z_b\), computed as \(\frac{z-z_b}{z_b}\cdot 100\,\%\).

Table 3 TC model comparison average results (Testbed 2)

The table shows that for the instances with 5 and 7 aircraft, Minotaur obtains good solutions in less than 2 seconds. However, it needs an unaffordable computing time for 10 aircraft. The SILO approach obtains a solution value that on average is between 5.74 and 6.80 % worse than the best known one (see its GAP). However, it requires \(<\)1 s of computing time.

On the other hand, the VNS approach obtains an average solution value that is always smaller than the one provided by SILO. The GAP values for Minotaur and VNS are almost zero. Given the GAP of VNS (compared to that of SILO) and the average time required by each of the two approaches, there is no doubt that for problems of these sizes, VNS is the approach of choice. Notice that the average of the best-known solution value reported for the three cases is smaller than the one obtained by the VNS scheme since sometimes VNS does not reach the best known solution, while Minotaur does. It is worth pointing out that the computing time to obtain the first feasible solution using VNS is very small.

4.4 Real-size instances: Testbed 3

The real-size instances considered here have 12, 15, 20 and 25 aircraft. The Minotaur engine is not used for experimenting with Testbed 3 due to the long computing time that it required for Testbed 2. Therefore, only the SILO and VNS approaches are considered.

Table 4 reports the average results for the four cases. The new headings are \(m_l\), \(n_{0-1}\) and \(n_c\), representing the number of constraints, 0–1 variables and continuous variables, respectively, for the SILO approach.

Table 4 TC model dimensions and computational experiment for the SILO and VNS approaches (Testbed 3)

It can be clearly observed that VNS improves on the solution value obtained by the SILO approach, and in particular VNS improves on the computing time, which remains very small, for the instances involving 25 aircraft.

5 Conclusions and future research

A basic VNS heuristic is presented to tackle the aircraft CDR problem, where only a change of aircraft direction is considered to avoid conflict. To that end, the problem is reformulated as an unconstrained optimization problem using a penalty approach. We use a large value for the penalty coefficient in order to accelerate the obtaining of a feasible solution, which is crucial in an operational context. The first improvement local search uses a change of direction by \(\pm ang^{\circ }\) (a parameter) for each aircraft, while a shaking operator consists of moving several aircraft at once by the angle \(k\cdot Rand(0,1)\), \(k=1,\ldots ,k_{max}\).

An extensive computational experiment is performed based on the same testbeds used in [3]. In that paper only the SILO approach was compared with the MINLP Minotaur engine. SILO was the approach of choice, given the unaffordable computing time of the MINLP engine for realistic-sized instances and the good results provided by SILO for small-to-medium sized instances. Its solution quality and computing time are still comparable with the results of the VNS approach presented in this work. However, VNS outperforms the SILO approach for larger instances.

As a direction for future research, we plan to continue improving the VNS approach, mainly in the local search scheme, so that velocity changes can be considered as a new maneuver in combination with turn change.