Flight Level Assignment Using Graph Coloring

: This paper models an air traffic optimization problem where, on the one hand, flight operators seek to minimize fuel consumption ﬂying at optimal cruise levels and, on the other hand, air trafﬁc managers aim to keep intersecting airways at as distant as possible ﬂight levels. We study such a problem as a factorized optimization, which is addressed through a spectrum graph coloring model, evaluating the effect that safety constraints have on fuel consumption, and comparing different heuristic approaches for allocation.


Introduction
The increasing congestion of the airspace is widely accepted to be one of the outstanding problems in today's society. Researchers agree in considering the state-of-the-art methods for air traffic management (ATM) to be insufficient to handle the expected growth, see the survey by Vossen et al. [1]. Barnier and Brisset [2] describe how the airspace is divided into smaller regions, each one handled by air traffic control (ATC). Therefore, the assignment of flight levels (FLs) is carried out locally within each region, resulting in a suboptimal solution both for individual routes and for the overall network. This is mainly due to the fact that ATM often requires level changes, which are costly in terms of fuel and emissions, as well as deviations from the optimal path from origin to destination, which are also costly in terms of time and fuel. This is why allocation of flight levels is the goal in [2], where a graph coloring problem is solved by a combination of a greedy algorithm and constraint programming.
Being a well-established tool coming from discrete mathematics, graph coloring has proved to be useful in many different applications. There are a number of different types of graph coloring problems. For an exhaustive description of most of them, the reader is kindly redirected to the surveys in [3,4]. For the purposes of this paper, we will discuss the classic graph coloring problem, which is the one used by Barnier and Brisset in [2], and the spectrum coloring problem, which we proposed in [5]. The classic graph coloring problem assigns to each vertex in the graph a label or color, with the constraint that two vertices of the graph cannot have the same color if there is an edge connecting them-these kinds of edges are called monochromatic edges, and the colorings which avoid them, proper colorings. If we envision a graph where aircraft routes are vertices, edges connect intersecting routes, and colors represent FLs, this problem can be used to ensure that no two crossing routes are assigned the same FL [2]. A limitation of this approach is that routes may cross at adjacent FLs. Safety considerations, however, should favor those colorings where crossing routes use further separated FLs, so that height changes due to flight conditions are less likely to result in accidents. Taking this into account, we consider here the general spectrum graph coloring problem [5], where there is a set of available colors and a matrix of interferences between colors, and the goal is to minimize the total interference. We have achieved significantly good solutions using this technique in domains as diverse as Wi-Fi channel assignment [5] and reactive network resiliency [6]. In this paper we evaluate its applicability to traffic management, by mapping interference to closeness between flight levels, i.e., the closer the FLs, the higher the interference.
There are a number of papers on flight level assignment in the literature. Sasso et al. [7] propose simulated annealing to optimize air traffic through small reroutes and en-route level changes, as well as flight delays to handle intersecting routes. Flying at an optimal altitude can help to save a significant amount of fuel during the cruise phase of a trip, but there is a fuel cost in reaching that altitude. This yields a trade-off between optimizing fuel expenditure by flying at an optimum altitude and the extra fuel spent to reach that altitude. The length of the air route arises as a significant variable since, the longer the flight, the smaller percentage of total fuel spent is due to reaching optimum flight level [8].
Both fuel consumption (e.g., [9][10][11]) and flight level assignment (e.g., [2,7,12]) have been addressed in the literature but, to the best of our knowledge, this is the first work considering both of them simultaneously for sets of routes. In doing so, we provide a real-world example of an instance of behavior optimization in a complex self-interested network, in the sense that there are interdependent decision makers (the flight pilots or the airlines governing these flights), whose individual interests (minimizing fuel consumption for their own flights) are different from the social goal (ensuring safety distances between FLs for all the flights). There is, of course, an individual incentive to position a flight in its optimal fuel consumption level, but not all flights can fly at their optimum without this being a great risk in terms of safety. The coexistence of different interests between individual goals which solely depend on individual actions (i.e., how far an aircraft is from its optimal FL), and social goals which depend on the interaction between actions (i.e., at which FLs are conflicting aircrafts flying), suggests to model the problem as a factorized optimization, and to evaluate techniques similar to the ones we have used successfully in other complex network domains [13].
To optimize fuel consumption together with flight level assignment, we can resort to a number of optimization techniques that can be used for graph coloring. Examples of such optimization techniques that we have already successfully used to color graphs are briefly described next. Harmony Search [14] is an evolutionary nonlinear optimization technique inspired in musical composition that we have used in [15]. Another family of optimization techniques that are suited for this problem are the ones based on Particle Swarms [16], which we successfully used for that purpose in [17]. More specifically, in [17] we used an implementation that relies on augmented Lagrange multipliers to deal with restrictions [18]. Another more recent nonlinear optimization technique we have used for graph coloring in [19] is based on Coral Reefs [20]. More specifically, it is a bio-inspired technique, which simulates how a coral reef evolves, considering aspects like the fight for space in the reef and specific features of the corals' reproduction. Although all the aforementioned techniques have shown to be useful to color graphs, in this paper we have chosen Simulated Annealing (SA) [21] as it has been shown it is able to obtain high-utility results very efficiently [22]. In addition to SA, we have also considered Hill-Climbing (HC) as an optimization technique because, as discussed in [23], the comparison between HC and SA will let us assess if the problem under study is highly complex, because in those scenarios greedy optimizers like HC tend to be blocked in local optima, while the exploration probability of SA allows to escape from those local optima.
The present paper contributes to this goal in the following ways: • We derive functions for the individual and social utilities, which we use later in the model (Section 2.1).

•
We model the joint optimization of fuel consumption and flight level assignment as a factorized optimization problem (Section 2.2).

•
We provide an approximate optimization solution to the problem as an instance of a wide class of coloring problems (Section 2.3).
To validate our model and evaluate the significance of our contributions, we have performed a set of experiments over a graph representing the Spanish air space, to see the relative performance of different optimization approaches. The experiment settings and the discussion of results are provided in Section 3. Finally, Section 4 summarizes our conclusions and sheds light on future lines of research.

Flight-Level Assignment as Spectrum Coloring Problem with Hard Constraints
In this section we describe the model we have developed for the problem in this work. We start by stating the utilities for the different actors in the model, including the individual utilities (each flight operator wants to minimize fuel consumption) and the social utility (keep crossing airways separate enough to ensure certain levels of safety). Next, we model the flight level assignment as a factorized optimization problem. Finally, we propose to approximate the solution to the problem as an instance of spectrum graph coloring.

Individual and Social Utility Models
As stated above, the model considers the interaction between the individual actors (who have the goal to minimize their individual fuel consumption) and the social goal (of ensuring safety by keeping intersecting airways far away from each other).

Individual Utility Model: Fuel Consumption
Individuals (e.g., flight operators) will want to minimize their utility functions, defined as the fuel consumption for each flight. Fuel consumption is a function of both the distance traveled and the cruise flight level, and takes into account fuel consumption at the cruise phase and during the climb phase. For longer flights, more time will be spent in the cruise phase, so flying at sub-optimal altitude will have a more noticeable effect on fuel consumption than in a shorter flight. In this work, we will neglect the fuel used during the descent phase as literature suggests that the descent profile for most flights is approximately the same regardless of total distance [8], and the idle setting of engines during this phase makes fuel expenditure invariant to distance and flight level.
With the aforementioned considerations, the individual utility function corresponding to fuel consumption that we will use for a flight of distance d and assigned flight level x is: where F climb represents the fuel consumption during the climb phase, F cruise is the fuel consumption during the cruise phase, and ε is the horizontal distance traversed during the climb. F climb and F cruise are defined as piecewise functions depending on the aircraft used.
In this work, we will focus on the Airbus A320 aircraft, which is one of the most common aircrafts used for Spanish domestic routes. There exists a trade-off between the better Specific Air Range (SAR) ((SAR) is the distance traveled per fuel unit) provided by higher flight levels (until the optimal FL for the A320 is reached), and the fuel required to reach a given FL. In other words, some flights may be so short that reaching their optimum flight level may not be worthy, since the fuel savings during the time spent at cruise level do not compensate the fuel cost of reaching that altitude.
To pre-calculate these optimum flight levels, we will define the functions as piecewise linear approximations based on existing literature. For the climb costs, we use [24] to construct Table 1. In view that the relationship between the flight level number and the fuel consumption is approximately linear, we can then define the following piecewise linear approximation: For the cruise phase, we use [25] to obtain the results in Table 2, where different FLs are listed, along with the SAR goodness (expressed as % deviation from optimal SAR) and the slope resulting from comparing to the previous (lower) FL. We use these slopes to make a piecewise-linear approximation defining an auxiliary function S(x), which gives an approximate value for this percentage deviation from the optimum SAR corresponding for a given flight level: Table 2. Cruise fuel cost (extracted from [25]).

FL (100 s ft) % Off from Optimum SAR
Based on the S(x) function and the fact that we can deduce an expression for the fuel required in the cruise phase, based on distance d, flight level x and a constant ϕ that represents the optimum SAR: We can now find the total fuel required, based on these piecewise functions. We recall the previous expression Since we now have explicit expressions for climb and cruise, we can calculate the utility function, just needing to set the parameters ε and ϕ to a realistic value. The values that are used will be set appropriately to the type of aircraft.
As stated above, for the purpose of this paper the aircraft considered will be an Airbus A320. Based on the slopes observed in the tables above, both the cruise and climb utility functions are linear approximations. The tables provide the operating points and ranges from literature, but given that we may use certain operating points below or above the limits, we make an extrapolation for these points using a linear model. This is viable because, in the case of the climb, the fuel expenditure is almost perfectly linear, with a rate of change around 3 (observed at 3 ± 0.25). Then, for the cruise phase, we need to extrapolate FLs in the range below FL300, and the percentage off from optimum SAR starts to behave linearly.
Finally, we obtain the values used for ε and ϕ based on the literature. From [26], we get that at Cost Index equal to zero (CI = 0, maximum fuel efficiency), 150 NM (278 km) are traveled when climbing to FL330. Assuming a constant rate of climb, we have, for a given flight level x: For the parameter ϕ, we use the data in [27], which shows that as the length of a flight increases (which means cruise phase fuel expenditure becomes a larger percentage of the total used), the average fuel spent per kilometer tends to 3.3 kg/km. This means that each kg of fuel yields approximately 0.303 km, so we can set ϕ = 0.303.
Based on the proposed model, Figure 1 shows the total fuel consumption of the Airbus A320 for different values of distance (d) and FL (x) according to our model.

Social Utility: Interference between Crossing Airways
In this section we bring social safety considerations to the flight level assignment, considering flight levels as corridors in which crossings arise with the largest possible vertical distance between the two flight levels involved. Thus, there is no need to handle the possibility of two aircrafts passing through a crossing at the same time, hence not needing to take into account the actual position of aircrafts within the corridor in every time unit.
We translate the search for the largest possible vertical distance at crossings of routes to an instance of the Spectrum Coloring problem we studied in [5]. There, we introduced the idea of having an abstract graph G and a spectrum of colors C = {c 1 , . . . , c n } together with a matrix W storing weights W ij = W(c i , c j ) for each pair of colors. Thus, a coloring c of the graph G will induce, via the matrix W, an interference I v at each vertex v, according to the following expression: where N(v) is the set of neighbors of vertex v.
The applicability of Spectrum Coloring to the problem presented in this paper is clear when we map the colors in the spectrum C to the FLs available for our flights. Here, the entry W ij of the matrix of interferences represents the impact on safety of assigning FLs c i and c j to a pair of crossing routes. Clearly, this interference must have a maximum value when the separation between FLs is zero (that is, in the diagonal of the matrix), and could have decreasing values as the separation between FLs increases.
One can devise different approaches to define the matrix W ij : We could take an academic approach and use linear or exponential decays for the interferences, as we did in [5,28], or we could take a more risk-based approach and use the probabilities for a collision when the corresponding FLs are used (in a similar way to what we did in [6] in a different domain). Finally, we can take a more conservative approach and assume that crossing routes must have FLs with a minimum separation, so that the interference induced by FLs closer than that minimum distance threshold must be infinite. As we will discuss later, this is the approach we have taken in this work.

Factorized Optimization Model
The two utility models defined in the previous section have inherent differences. Not only do they represent the utilities of different actors (individual utility vs. social utility), but they also differ in the dimensions of the problem they depend on. Fuel consumption is a per-flight utility value which depends solely on an autonomous decision performed for each individual flight, the FL chosen for the cruise phase. The social utility yielded by the interference matrix W, instead, depends on the interplay between these individual autonomous decisions.
Given this coexistence of individual contributions to utility and also interactions between actions, it makes sense to model the whole problem as a factorized optimization problem, that is, a problem P of the form where V is a finite set of variables and S is a finite collection of subsets of V representing constraints. Φ i and Ψ s are real-valued functions called, respectively, variable functions and factor functions, representing the impact on the objective function of the value of each independent variable, and of combinations of variable values (i.e., interdependences between variables). In our setting, V would be the set of routes in our scenario and, for each i ∈ V, x i represents the FL chosen for that route. Hence, the Φ i functions would represent fuel consumption and would be defined as Φ i (x i ) = F(d i , x i ), where d i is constant for each route i and represents the distance for that route.
In the same way, S represents the pairs of routes in which the trajectories intersect, and for each s ∈ S, defined as s = (i, j) the function Ψ s is defined as Ψ s (s) = W ij = W(x i , x j ), taking values directly from the interference matrix.
This mapping allows to generalize techniques that we have applied successfully to very different domains, such as Wi-Fi channel assignment [29]. These techniques assume an augmented graph coloring problem, which we describe in the following section.

Graph Coloring Model
As stated above, the safety considerations in the FL assignment scenario can be translated to an instance of the Spectrum Coloring problems we studied in [5]. Problems in this class are defined by an abstract graph G, a spectrum of colors C, and an interference matrix W. The construction of the graph G requires further attention and will be detailed in Section 3.1. For the spectrum C we consider 40 colors, corresponding to the 40 FLs ranging from FL10 (1000 feet) to FL400 (40,000 feet), with 1000 feet separation between adjacent FLs. Finally, in order to define the interference matrix W we will use a conservative approach, which is coherent with the serious safety considerations in aviation scenarios. We will assume that there is a distance threshold δ, expressed in multiples of 1000 feet, below which the risks of incidents are not tolerable, so we will assign an infinite value to the entries of W corresponding to pairs of colors in which corresponding FLs are closer than the threshold δ. For δ = 0 the interference matrix W 0 will be the null matrix. Recalling Equation (9), in the δ = 0 case only fuel consumption is considered, without taking interferences into account. For δ = 1, the interference matrix W 1 has the value ∞ at all the entries of the main diagonal, that is, This corresponds to the classic PROPER COLORING problem where no monochromatic edges are allowed. In our setting, this means that no two crossing routes are allowed to be assigned to the same FL. In a similar way, for δ = 2 the interference matrix W 2 is a tridiagonal matrix which adds values ∞ at the superdiagonal and subdiagonal, as follows: This corresponds to an L(h, k)-labeling [30] with h = 2 and k = 0. In our problem, this means that equal or adjacent FLs are not allowed for crossing routes. Analogously, similar matrices W δ can be derived for higher values of δ. Our spectrum coloring model has great expressivity, allowing a number of different possibilities, which we leave for future work. One example is to define a matrix W 2 having infinite values at the diagonal as before, but with finite values at the superdiagonal and the subdiagonal. In such a model, we would be ensuring a separation of at least one flight level between crossing routes and encouraging (instead of forcing) a separation of two FLs between such routes. This would give better flexibilities to pilots, which would be able to move to an adjacent different flight level during the cruise stage in case of, for example, turbulences. Another example would be different decision makers (pilots or airlines) having matrices W with different finite values, modeling different risk tolerances.

Graphs Used
For the sake of considering a tractable but sufficiently complex problem, we restricted ourselves to the Spanish airspace. The set of routes for our experiments has been built collecting those routes having both origin and destination in Spain from OpenFlights [31]. The database used as dataset from OpenFlights [31] is composed by 67,663 routes operated by 548 different airlines and between 3321 airports. Among other information, the database includes the source and destination airports, along with their planar coordinates in the map. Among these, we extracted intersecting routes, for which the aim is to ensure different FLs at intersections. The airport locations are considered given by their planar coordinates in the Mercator projection of Spain and the routes are modeled as straight segments from origin to destination, as Barnier and Brisset do [2] (Figure 2). The route graph as described will not be used directly as input for the graph coloring described in Section 2.3. Instead, as in [2], we will use an intersection graph G = (V, E) where each of those airways is a vertex in V and two vertices are joined by an edge if, and only if, the corresponding routes do intersect (Figure 3). The implementation of the graphs has been done in a Python environment using the networkX library [32]. To construct the set E of edges in such a graph, each pair of routes has to be tested in order to determine whether the routes intersect or not. These intersection tests are performed assuming that the two routes are not bidirectional, because in that case they would certainly intersect. The following two conditions need to be fulfilled by a pair of routes to intersect. First, it is necessary that the convex hull of the four airports (smallest convex set containing them) is a quadrilateral. Otherwise, the convex hull is a triangle and the routes do not intersect (Figure 4). Second, when the convex hull of the four airports is a quadrilateral, the routes intersect if, and only if, the routes represent diagonals of that quadrilateral ( Figure 5).  In order to distinguish between triangular and quadrilateral convex hulls, we first compute the sign of each triplet, defined as the determinant where A i,x and A i,x are, respectively, the horizontal and vertical coordinates of the location for airport A i . That sign equals respectively +1 or −1 when the turn A i , A j , A k is, respectively, counterclockwise or clockwise. Thus, the outcome of the product sign(A 1 , is respectively +1 or −1 when the convex hull of the four points is, respectively, a quadrilateral or a triangle. Then, we just check if the routes are diagonals of the quadrilateral (hence crossing) or not.
Performing these intersection tests leads to the intersection graph G = (V, E) depicted in Figure 3, with 6597 edges and 288 vertices. Observe that nodes in this graph correspond to routes in Figure 2.
Finally, it is interesting to note that each node (route) in the graph does not represent a single flight, but all the flights that take the same route. This means that, in order to compute the fuel consumption for a given FL assignment, the fuel cost for each route is multiplied by the frequency of that route (extracted from the OpenFlights data [31]). We have considered all the flights that take place in a day for internal routes in Spain.

Algorithms Used
Given the intersection graph obtained from the air routes, we will use some variations of the optimization techniques proposed in [29], with utility functions and hard constraints adapted to the context of ATM. Four algorithms are used to address the graph coloring problem, two are inspired by Simulated Annealing (SA), and two by Hill-Climber (HC) optimization approaches. Similarly, two of the algorithms use a more greedy approach, where FLs are assigned as close to the optimum as possible for each route, whereas the other two use a global approach, where any FL may be assigned.
There is a hard constraint on this graph coloring problem, which is that nodes sharing an edge should have a separation of at least δ FLs. This is due to the fact that these nodes represent intersecting routes, so having them at the same FL would be unsafe. This illustrates how such an optimization pivots around finding a trade-off between safe and fuel-efficient FL assignments.
The versions of SA and HC used work basically by starting at a random solution point (in our scenario, a random assignment of FLs to all flights), and iterating through single issue (in our case, single route) random mutation. Accordingly, at each iteration, the FL of a randomly selected airway is assigned a random new value. The key difference between HC and SA is that, for the hill-climber, the new mutated solution is only accepted (and therefore used as a basis for the next iteration) when it yields an improvement in terms of utility, while for the annealer there is a finite probability to accept a solution even when it causes utility losses. That finite probability depends on a parameter called annealing temperature, and decreases as the algorithm iterates. The rationale is that this randomized acceptance approach allows the annealer to escape local optima, which gives it an advantage in highly rugged utility spaces [17].
For the problem studied in this paper, the algorithms have been modified to enforce a separation of at least δ FLs between crossing routes, and to take into account the utility function based on fuel efficiency. In both the SA and HC algorithms, conflicts are avoided at every color assignment. To prevent conflicts, the algorithm follows these steps when assigning a new random color to a node: 1. Create a list of available colors representing FLs (this depends mostly on whether it is a global or greedy approach). 2. Iterate through the node's neighbors (that is, all intersecting routes), and remove from the list of available colors all colors within separation δ. 3. Once this process is done, if there are still colors available, one is chosen randomly. 4. For the Greedy HC and Greedy SA: If none of the colors within the original range are available, the algorithm assigns the next closest available FL (i.e., if FL opt is the optimal FL for a given route and the original range is FL opt ± 5, then the algorithm will assign the first available FL out of FL opt ± 6, FL opt ± 7, etc.). 5. If none of the 40 FLs are available, this means the current node cannot be changed.
Then, the utility function for fuel efficiency depends on the distance of the route and the assigned FL. Since the length of the route is fixed, utility optimization becomes completely dependent on FLs.
Since not all routes can be assigned their optimum FL, part of the optimization implicitly revolves around determining which routes have the least negative effect when assigned a suboptimal FL.

Experimental Results
In this section we evaluate the performance in terms of fuel consumption for the four different algorithms stated before. To conduct this study, simulations were run with 100, 500, 1000, 2000, 3000, 4000, 5000 and 10,000 iterations, making 20 runs for each of them, to ensure statistical relevance of the results. With respect to the complexity of the algorithms used, for both HC and SA and for each iteration of the algorithm we require an approximately constant time for mutating a color. This is followed by an evaluation of the utility function, for which the complexity depends on the problem size. When we change the color of a vertex, the utility only changes for that vertex and all its neighbors. For that reason, being K the number of iterations of the algorithm and deg(G) the average degree of the graph, the expected complexity will be O(K · deg(G)). Furthermore, the worst-case complexity is O(K · |V|), for |V| the number of vertices in the graph.
After running the experiments, and as expected, we have observed that the computation time increases linearly with the number K of iterations. For example, using an Intel Core i7-2600 with 8 CPUs@3.40 GHz and 8 GB RAM running Ubuntu 14.04.4 LTS, we have measured that the mean time required to run 1000 iterations of SA is 6.84 s with a 95% confidence interval of 0.24 s.
For δ = 0 (i.e., when crossing routes can use the same FL), airplane behavior is independent, as all the routes can use their optimal FL independently from the rest of the routes. Although this scenario with δ = 0 does not represent a socially acceptable approach, due to its inherent risk, it is interesting as a baseline for three reasons. First, it will provide the minimum total fuel consumption, as each route can use its optimal FL. Second, as each flight is independent from the others, it will allow us to compute that optimum value exactly. Third, as for this scenario we are able to know the optimum value, we can test the validity of the proposed algorithms comparing their solutions with that optimum value.
Thus, for δ = 0, Figure 6 shows the evolution of the four algorithms studied, as a function of the number of iterations. For each algorithm, we show both the mean and the 95% confidence intervals of the results. The main conclusion from this figure is that all four approaches converge to the computed optimum fuel consumption, the value of which is 2366 tons of fuel. It must be noted that the convergence to the optimum of Global approaches is slower than that of Greedy approaches. Moreover, it is also interesting to note that there are no statistically significant differences between the results of SA and HC, telling us that SA is not able to take advantage from its ability to escape from local optima, suggesting that the state space is not highly rugged but instead has a monotonic structure.  Figure 7 shows the results for the case δ = 1. This is a much more realistic setting than δ = 0, since crossing routes are now restricted not to use the same FL, i.e., these solutions do consider the social safety goal. Note that this figure still shows the optimum fuel consumption for δ = 0, as a baseline and since the complexity of the case δ = 1 (due to the interdependences among routes) makes it unfeasible to compute the optimum fuel consumption in this case. First of all, we can observe that, as expected, solutions with δ = 1 are not able to reach the optimum fuel consumption of the case δ = 0, because when δ = 1 not all flights are able to use their optimum FL to minimize fuel consumption. However, from Figure 7 we can conclude that the cost of forbidding crossing routes to use the same FL is around 5% in fuel consumption. More specifically, this loss is 4% for the Global approaches and 6% for the Greedy ones. Comparing the different approaches, we see again that the performance of HC and SA is fairly similar and that the solutions obtained by the Global algorithms are better, with a lower fuel consumption, but they need more iterations to reach those improvements. It is interesting to observe that, for both δ = 0 and δ = 1, the Greedy approaches reach reasonably good solutions in a much shorter time than the Global approaches. For δ = 2, our experiments have shown that the complexity of the graph does not allow to obtain feasible colorings, i.e., it is unfeasible to obtain FL assignments that ensure a separation of two flight levels when a pair of routes cross. Thus, we move the focus from the total fuel consumption to an in-depth analysis of the assignment of flight levels obtained by the different algorithms. In Figure 8 we show how FLs are assigned to routes. In all cases, we have considered the results obtained after 10,000 iterations of each algorithm. Moreover, although we ran 20 experiments, for the sake of clarity and without loss of generality, we only show the results of the first five of them. More specifically, the figure shows the number of times each flight level is used, for the cases δ = 0 and δ = 1. It is interesting to note that for δ = 1 the FLs are more evenly used than for δ = 0, and it is worth highlighting the peak in FL380 for δ = 0, where the Airbus A320 has its optimum for the cruise (recall Table 2). Moreover, it is also interesting to note that, although for δ = 0 all the algorithms converge to the optimal solution (as shown in Figure 6), the number of times that FL380 is used turns out to be lower in the Global approaches.
Tables 3 and 4 deepen this analysis of the FL assignment provided by different techniques for δ = 0 and δ = 1, respectively, and using 10,000 iterations and 20 runs for each algorithm. First, the column labeled as 'FL use' describes the average number of times that each FL in use is used. For example, a value of 288 stands for the fact that flight levels in use are used, on average, 288 times each. The standard deviation of this value is key to understand if FLs are evenly used or not. Analyzing this performance parameter in both tables, we conclude that FLs are re-used less times in δ = 1 and, as the standard deviation is much lower, the use of FLs is more even in δ = 1, as it was also expected from Figure 8. The column labeled as 'FLs used' in Tables 3 and 4 represents the number of FLs used at least once in the solutions provided by the different techniques. We can observe that the mean number of FLs used is clearly higher in δ = 1 than in δ = 0. Finally, the column labeled as 'FL separation' represents the separation between crossing routes measured in FLs. For example, if two routes cross each other, one is assigned FL350, and the other FL370, then their separation is 2 FLs. This performance parameter is key for improving safety. The differences in this parameter between δ = 0 and δ = 1 are clear, as the mean separation between intersecting routes in δ = 0 (resp. δ = 1) is around 1.2 (resp. 7) FLs. It is worth noting that, for the most interesting setting δ = 1, although the fuel consumption of the Greedy approaches is slightly higher, the separation between FLs of crossing routes is also higher, which again confirms the trade-off between safety and fuel consumption.

Discussion
We study the problem of behavior optimization in the context of flight level assignment. Apart from being a relevant problem due to the expected growth (both in size and complexity) of the air traffic networks, it is very interesting due to the existence of different individual and social goals: the incentive for fuel consumption minimization by the flight operators, and the safety constraints demanded by regulators and by society as a whole.
In this paper, we use a spectrum graph coloring model for behavior optimization, which relies on a factorized optimization model and realistic utility models for the individual and social goals. After modeling the problem, we propose an adaptation of hill-climber and simulated annealing techniques, including some versions which are more greedy than the ones we had used before, and we evaluate their relative performance in a setting representing the Spanish air space. The experiments show that there is an inherent trade-off between fuel consumption and safety, and that the proposed techniques are suitable for finding flight level assignments that take into account both individual and social goals. The results also reveal that the greedy versions of the algorithms are able to reach acceptable solutions in much less time, which enables an additional trade-off between fuel consumption and response time, which can be very significant for real-time flight level assignment. This motivates us to pursue as our immediate future work a real-time operation model, with flight level assignments dynamically depending on the actual position of aircrafts within the routes in real time. In the same line, we will study the performance of message-passing optimization algorithms like belief propagation [33], which have demonstrated a better real-time response. Moreover, the study of message-passing optimization algorithms would be especially suitable if we assume distributed settings where there are a number of agents (for example, airlines) that compete to achieve optimum FLs. We are also interested in introducing risk aversion as a parameter in the utility model, since recent history has shown that different airlines follow very different policies in this regard. Finally, we plan to apply the proposed techniques in other research problems. One of such problems is the management of routes for unmanned aircrafts or drone operations in urban areas [34]. Another important problem that we plan to explore with these techniques is the reduction of pollution in cities by means of ride-sharing [35].

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript: