A Coevolutionary Simulation of Real-Time Airport Scheduling Andrés Gómez de Silva Garza Instituto Tecnológico Autónomo de México (IT) Río Hondo #1, Colonia Tizapán-San Ángel 01000 México, D.F., México agomez@itam.mx Abstract The problem of assigning gates to aircraft that are due to arrive at an airport is one that involves a dynamic task environment. Airport gates can only be assigned if they are currently available, and multiple additional constraints must also be satisfied. Once a solution has been found, the entire process repeats itself, as by then new incoming flights will have approached the airspace of the airport in question and will require arrival gates to be assigned to them. In this work I use notions from evolutionary algorithms to represent the genotypes of two species, one corresponding to the current problem to be addressed (represented as a list of departing and arriving flights) and one corresponding to the solutions being proposed for that problem (represented as a list of gates assigned to the arriving flights such that all the relevant constraints are satisfied). I then use a coevolutionary algorithm in which the two species influence each other over time as a way of simulating the manner in which this type of problem evolves and is solved in real time. Introduction The problem of assigning gates to aircraft that are due to arrive at an airport is one that involves a dynamic task environment. Airport gates can only be assigned if they are currently available, and multiple additional constraints must also be satisfied. One example of such a constraint is that certain airlines own (or rent) certain gates (or entire terminals) in some airports and cannot be assigned gates located elsewhere in the airport. In other situations there are gates in which only aircraft of a particular size can park, as the space around them is constrained, so the size of the approaching aircraft must be taken into account in order to assign it an arrival gate at an airport. Another type of constraint occurs when some flights require an arrival gate to be assigned in a specific terminal according to the facilities needed to welcome particular incoming flights (a terminal with immigration and customs areas for an international flight, a terminal with medical facilities for flights that are making an unscheduled stop in order to offload a passenger that is suffering a heart attack, a terminal with qualified personnel and equipment for handling flights that are transporting cargo). A fourth type of constraint involved in airport gate scheduling comes into play if one wants to minimize the amount of time required by incoming passengers to either depart the airport or to connect to other flights. As soon as all these constraints have been satisfied and appropriate gates have been assigned to the flights that were known to be on the verge of landing just brief moments before, more arriving flights have approached the airspace surrounding the airport in question, and the entire process must be repeated in order to assign arrival gates to them. If flight arrivals at a particular airport always followed the same patterns in time, it would not be too difficult to find (and always reuse) an optimal solution, but delays, reroutings, changes in airline schedules, and other causes cause airport gate scheduling to be a dynamic problem. Evolutionary algorithms have been successfully used to propose solutions to problems with multiple constraints (Coello Coello, van Veldhuizen, and Lamont 2001); therefore, I have chosen this method to solve the aircraft gate scheduling problem. In terms of evolutionary algorithms, both the problem that requires solving and the potential solutions proposed for the problem can be visualized as different species. The genotype of the problem species consists of a string or list of flights that are departing or arriving at any given time. The genotype of the solution species consists of associations between flights on the verge of arrival and free airport gates. An evolutionary algorithm generates several possible genotypes for the solution species in parallel, using the genetic operator of crossover, while taking into account the makeup of the genotype of the problem species, plus all other constraints imposed on the task in the given situation. When an acceptable solution has been found, the process repeats itself in order to simulate the continuous nature of aircraft arrivals and departures at a real-world airport. When this repetition occurs, the new problem genotype which initiates another evolutionary cycle is partially constructed based on the final solution genotype for the previous evolutionary cycle. For instance, the part of the problem genotype that lists departing flights consists of flights selected from among those that are currently stationed at a departure gate, not just any randomly madeup flights. Therefore, both species influence each other s genetic makeup as they evolve over time, a phenomenon known as coevolution (see for example (Paredis 1995)).
Process Model The framework for simulating real-time airport gate scheduling described in this paper follows the algorithm shown in Figure 1, which consists of an external (coevolutionary) cycle and an internal (evolutionary) cycle. Generate initial problem randomly while (not EndOfCoevolution) do Generate initial solutions randomly while (not (exist OptimaSolution)) do Generate new sols. using crossover Evaluate new sols. Cull population based on evaluation end-while Generate new prob. using OptimalSol. end-while Figure 1. Coevolutionary algorithm. The inner cycle uses an evolutionary algorithm to generate multiple potential solutions to the current problem. These solutions are produced in parallel using the genetic operator of crossover, and are then evaluated based on multiple constraints. The process repeats itself on an updated, improved, population (formed by culling the lowest-quality solutions based on the results of evaluation) indefinitely until an optimal solution is found. The outer cycle of the algorithm initiates each simulated time-step by modifying the current task that needs solving partially based on the current state of the airport (determined by the final solution found for the previous problem). This outer cycle represents the coevolution of the task environment and the solutions for the current task. A graphical view of the algorithm is shown in Figure 2. In the figure solid arrows represent influences during coevolution and dashed arrows represent the flow of time. Problem1 Solutions 1 Problem2 Solutions 2 Figure 2. Graphical view of coevolutionary algorithm. Knowledge Representation The current problem that needs solving at a particular moment in time during the simulation consists of a list or string of flights that are on the verge of arriving or departing at that time. In my work, each of these flights is a gene, and the set of flights is the genotype of the problem species. Arriving flights form part of the problem genotype because they directly indicate the number and characteristics of the flights for which arrival gates have to be scheduled at the present time. Departing flights form part of the problem genotype because they indicate changes to the current state of the airport (by freeing up previously-occupied gates), something which indirectly influences the range of possible solutions that may be proposed for the current problem. An assumption is made that the number of flights arriving at any one time (that need airport gates assigned to them) is less than or equal to the number of free gates available for scheduling at that time. Figure 3 shows how a typical problem genotype is represented, and Figure 4 shows how a typical problem gene (flight) is represented. Arriving flights: Departing flights: 782 DL 0 CO 828 Figure 3. Example of a problem genotype. Airline: Aviacsa Flight #: 17 Type of flight: domestic Type of aircraft: 727 Figure 4. Example of a problem gene (flight). The part of the problem genotype that lists arriving flights can be generated at random at each coevolutionary cycle (perhaps taken from a list of flights which normally arrive at the airport being simulated on a typical day). The part of the problem genotype that lists departing flights can be generated at random by choosing some flights currently stationed at the airport for departure. (According to international conventions, the flight number changes by 1 when it departs compared to when it arrived, so the contents of the corresponding flight gene must be modified accordingly upon arrival.) Each coevolutionary cycle corresponds to the existence of one problem genotype for which a solution must be found (i.e., to one time-step in the simulation). For each problem to be solved an initial population of potential solution genotypes can be seeded at random, and then evolved over time until an optimal solution genotype is found. A solution genotype consists of a list or string of associations between available airport gates and the arriving flights from the problem genotype corresponding to the current coevolutionary cycle. The associations are achieved positionally, each location within a solution genotype corresponding to a particular available gate. Solution genotypes in one coevolutionary cycle therefore can have lengths different from those of solution genotypes in other coevolutionary cycles (since the list of available gates will be different at each coevolutionary cycle), but within each coevolutionary cycle all solution genotypes will be of the same length. Figure 5 shows how
a typical solution genotype is represented. Solution genes are either empty (when the solution involves not scheduling the particular gate in the corresponding genotype position to receive an incoming flight) or describe flights (which in the solution are being assigned the gate corresponding to their genotype position), and as such are represented in the same way as flights are represented when they belong to problem genotypes, as shown in Figure 4. Since different gates can have different characteristics, these must also be explicitly represented, but the gate description does not vary over time or with each different problem, and therefore does not form part of a solution genotype (though it is associated to the contents of a solution genotype by the fact that each gene position in the genotype corresponds to an airport gate). Figure 6 shows how a typical airport gate is represented. : remain the same throughout the simulation (e.g., certain gates admit only certain types of aircraft), whereas others are dynamic (e.g., minimizing the distance that arriving passengers will have to walk to depart the airport and/or transfer to other flights, which depends on the particular requirements or characteristics of the passengers in the arriving flight). It has been decided, though it is not necessary, to give an equal importance to each of these constraints when calculating the final fitness value of each generated solution. X : : Figure 5. Example of a solution genotype. #: 20 Airline preference: N-S distance to arrival hall: 8 units E-W distance to arrival hall: 28 units Current state: available Type of gate: domestic : Figure 6. Example of an airport gate. The genotypes of potential solutions are generated (after the initial, randomly-produced population) using the evolutionary operator of crossover to produce multiple possible gate assignments, as exemplified in Figure 7. The thick line in the figure represents the randomlychosen crossover point applied to the parent genotypes. Resulting genotypes in which some of the arriving flights are repeated (i.e., assigned to more than one airport gate) as a result of the crossover mechanism or do not appear will of course be discarded quickly, as they will be assigned low fitness values during evaluation. Evaluation of Solutions The evolutionary algorithm which searches for an optimal solution to each problem posed during the simulation requires a method for determining the relative quality of each randomly generated potential solution. This method assigns a fitness value to each proposed solution which is calculated based on a weighted calculation of how much each solution satisfies each of the multiple constraints on the problem. Some of the constraints used are static: they & : Figure 7. Two new potential solutions generated by using crossover on two sample parent solutions. After each evolutionary cycle the population of solutions consists of old solutions and potential solutions that have just been generated using crossover in the current cycle. Both old and new solutions in the population are sorted according to their fitness value, and the best solutions (whether old or new) are kept in order to begin a new evolutionary cycle. The amount of solutions kept is calculated so as to maintain the size of the population across evolutionary cycles constant. This selection process ensures the average quality of the solutions in the population increases monotonically. The evolutionary process ends (and gives way to the beginning of a new coevolutionary cycle) when at least one solution has been found that is optimal. Optimality (i.e., convergence of the
evolutionary process) is decided based on the population s average fitness value stabilizing for more than two evolutionary cycles. Discussion and Related Work The problem of airport gate scheduling has been addressed in several knowledge-based systems, such as those presented in (Brazile and Swigger 1988), (Berger 1995), (Jo, Jung, and Yang 1997), and (Chun et. al 2000). All of these projects use domain knowledge and heuristics captured from human experts (and in some cases configurable by the user) to generate an optimal scheduling of airport gates. In some of these projects constraints on the task are explicitly represented as such, and constraint programming or similar techniques are employed in combination with heuristics to find an optimal solution. Constraints form part of the knowledge that is used to guide the generation of possible solutions to the problem. On the other hand, the evolutionary algorithm that I use to generate potential solutions does not use any domain knowledge to guide this process of solution generation. Instead, my framework uses multiple constraints only to evaluate the solutions that it generates, and the generation of potential solutions is done without relying on domain knowledge. In my work I use coevolution to simulate the real-time process of assigning airport gates to arriving aircraft in a continuous fashion. Coevolution has been used in several contexts, including design tasks (see for example (Maher and Gómez de Silva Garza 2002). In most work on coevolution it is two mutually-interacting populations which evolve in parallel. In contrast, in the framework presented in this paper one population consisting of several individuals of one species (representing solutions to the problem) is coevolved in parallel with just one individual of another species (representing the problem itself, i.e., the task environment), as only one problem needs solving at any one time step. Even through there is only one problem, however, it is still represented as a genotype in order to carry forward the analogy with biological evolution, because there is a mutual influence between both the problem and the solution species as they evolve over time. Solving problems in real time involves reasoning under time constraints and meeting constantly evolving requirements. It is these characteristics of dynamic task environments such as airport gate scheduling that can be modeled or simulated in an autonomous fashion using coevolution. If we consider the current state of a particular airport to be a list of which of its gates are occupied, and the current problem to be solved to be a list of arriving flights that need to be assigned airport gates that are free at the current time, then rarely will the exact same state co-occur with the exact same problem again in the future. This is because flight delays, reroutings, and changing schedules mean that it is impossible to predict the next problem which will require solving until shortly before a solution is required for it. However, after enough time has passed it is likely that some patterns will start repeating. When this happens it is likely that techniques such as case-based reasoning would help to reduce problem-solving time by retrieving previously-used (and successful) solutions when the current situation matches some previously-encountered pattern. Some work has been done on applying case-based reasoning to real-time scheduling, such as (Adán Coello and dos Santos 1999), and I plan to explore this avenue in the future. The ideas presented here are still in the process of being implemented (in Visual C++, as a system called AGS: Airport Scheduler), so concrete experimental results cannot be given at the current time. However, I believe the model presented here can be of widespread utility, and may be applied not just to the task of airport gate scheduling, but to any other dynamic task requiring realtime problem solving. If such tasks can be autonomously simulated using notions from coevolution, then using coevolution can also be used to perform them in the real world, whether autonomously or by incorporating human experts into the loop, either to help with decision making or to initiate new coevolutionary cycles by posing new problems to be solved. References Adán Coello, J.M, and dos Santos, R.C. 1999. Integrating CBR and Heuristic Search for Learning and Reusing Solutions in Real-Time Task Scheduling. In K.D. Althoff, R. Bergmann, and L.K. Branting (eds.) Case-Based Reasoning Research and Applications: Proceedings of the Third International Conference on Case-Based Reasoning ICCBR-99, 89-103. Seeon Monastery, Germany. Springer-Verlag. Berger, R. 1995. Constraint-Based Allocation for Airports. In Proceedings of the First International ILOG SOLVER User s Conference. Abbaye des Vaux de Cernay, France. Brazile, P., and Swigger, K.M. 1988. GATES: An Airline Assignment and Tracking Expert System. IEEE Expert, 3, 33-39. Chun, A.H.W., Chan, S.H.C., Tsang, F.M.F., and Yeung, D.W.M. 2000. Stand-Allocation System (SAS): A Constraint-Based System Developed with Software Components. AI Magazine, Volume 21, Number 4 (Winter 2000), 63-74. Coello Coello, C.A., van Veldhuizen, D.A., and Lamont, G.B. 2001. Evolutionary Algorithms for Solving Multi- Objective Problems. Kluwer Academic. Jo, G.-S., Jung, J.-J., and Yang, C.-Y. 1997. Expert System for Scheduling in an Airline Allocation.
Expert Systems with Applications, Volume 13, Number 4, 275-282. Maher, M.L., and Gómez de Silva Garza, A. 2002. Adapting Problem Specifications and Design Solutions Using Coevolution. In Proceedings of the Fifth International Conference on Adaptive Computing in Design and Manufacturing. Exeter, England. Forthcoming. Paredis, J. 1996. Coevolutionary Computation. Artificial Life, Volume 2, Number 4, 355-375.