The Strategic layer is composed of two blocks: a network generator and a flight plan generator.
The first block allows to build different airspaces from scratch, or from existing airspace data, or even directly from traffic data. The user can then changes some parameters for the airspace, like the number of navigation points or their positions. The airspace in output is composed of a Graph from networkx python module embedding the navigation points, the possible trajectories, the sectors, and the sector ownership of navigation points. Below are shown two examples of network, one completely generated from scratch, used for tests and the other one based on the French airspace.
The second block is composed by the Agent-Based Model. We create first several agents representing the airlines and one representing the network manager. The airline have different flights, and each of them have origin/destination pairs fixed beforehand, either being extracted from data or generated by the model, with different constraints possible. Moreover, each airline has a different behaviour, in the sense that it can either care about being on schedule or having the best route (shortest one).
After this, each airline submits different flight plans to the network manager, which can reject them if some sectors overreach their capacity. In this case, the airline has to resubmit a (suboptimal) flight plan, until one has been accepted. The above figure for the French airspace shows in red the trajectories finally chosen by the airlines in this situation.
Hence, this model is an instance of a more general case where agents are competing for time and space on a network. Other instances can be packets of data on the internet, tourist exodus during holidays, etc. In fact, the model can studied under the point view of evolutionary biology, with different population competing for the same resources with different strategies. This is essentially the point of view we adopted in this article. Below for instance, I show a plot of the difference of satisfaction between the airlines with the two “pure strategies” (one is caring only about the time, the other is caring only about the best path) as a function of the proportion of the two types of airlines. In short, this graph shows a minority effect when companies are happy when they are competing with airlines of the opposite type, which is fairly natural. If satisfaction is interpreted as fitness (for instance because they yield more benefits, allowing “faster reproduction”, i.e. increased market share), the graph is stating that there is an equilibrium on the long run (the curves cross the x axis), and that this equilibrium is only weakly dependent on some parameters of the model (the different colours).
The complete study of this model is very interesting, since it yields rich behaviours with fairly simple rules. As a second teaser, I show below a figure of the total satisfaction of the airline as a function of the proportion of the two types of airlines. It is striking to see that the total satisfaction is a complex function, which depends also on the parameters of the model, which are linked to the different procedures or situation in reality. Here, the different colours are for different time departure pattern at the airports. In short, maximum happiness is complex to achieve, as always :).
Finally we included in the model a regulation procedure, where the network manager can close some sectors. When it does so, the airlines impacted have to resubmit other flight plans, based on their preferences and the new network. In this way, we are able to make some “stress test”, for instance producing the map of the most vital sectors in France, as shown below.
On this map, the colour codes the proportion of flights which have to be rerouted if the sector is closed. Hence, this kind of procedure could be used for testing different scenarios in Air Traffic Management.