Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

In this chapter, we describe the development of a scheduling solution for airport ground crew and equipment in a small international commercial airport. Similar to other service providers, airports are facing constant competition. To attract airlines and passengers, they must offer efficient and high quality services for airlines and passengers. At the same time, labour, equipment and other costs need to be kept low enough to generate profits. This presents airports with a difficult optimization problem.

In order to provide efficient and high quality services, airport’s resources used for passenger and airplane services need to be scheduled. An airport is a complex logistics system. Analysis and optimization of processes at an airport can be a tedious and time-consuming work since the processes are interleaved, cannot be analysed separately and are usually too complex to be modelled with an exact mathematical approach.

The entire airline industry faces a range of different, yet typically complex scheduling problems, from aircraft or fleet scheduling [1,2,3,4], ground crew scheduling [5], disruption management [6], aircraft landing sequence scheduling [7, 8] to personnel training scheduling [9].

An important factor in the optimization of air traffic logistics are delays and delay costs. While 50% of flight delays are caused by the carriers, 19% of delays are caused by airport operations [10]. Depending on contracts between airlines and airports, the cost of these delays can be transferred to the airport. The analysis of tactical delay costs with network effect [11] shows that delays cost airlines from €90.80 to €110.50 per minute, depending on the plane status and other factors. The steep costs of delays highlight the importance of optimization in airport operations.

However, most of the related research in recent years is focused on optimization of airport surface operations, from ground movement, runway scheduling and gate assignment [12] and aims to efficiently utilize the resources and lower the impact on the environment. Further, most of the research on personnel scheduling problems in the airline industry focuses on cabin crew scheduling, whereas airport ground crew scheduling has only gained the attention of researchers in recent years. Ground crew scheduling is as important to the airports as cabin crew scheduling is for the airlines, and is vital to ensure security, safety and quality of airport service.

Airport ground crew operations and tasks can be divided into passenger-related tasks and aircraft-related tasks, where the latter include maintenance, cargo, baggage, loading, cleaning, catering, towing and operations [5].

Ground crew scheduling is a complex problem since in addition to common constraints of personnel scheduling, the required equipment and skills of the crewmembers have to be considered. Interconnections between work groups and overlapping of ground crew skills increase the number of constraints and possibilities, which have to be considered in developing scheduling algorithms. Since professional ground crew scheduling solutions may be prohibitively expensive for smaller airports, solutions that require a lot of manual work are still in place, presenting great possibilities for improvement.

Most of the research on ground crew scheduling offers partial solutions for individual work groups e.g. check-in [13,14,15], baggage handling [14, 16], security [17], or runway [12, 18, 19]. Although mathematical (linear programming) models can be used to resolve rostering problems of a specific work group type, it cannot be applied to a complex system, therefore other techniques need to be employed [20]. Staff scheduling is usually carried out in several stages, where the demands are calculated first, followed by the generation of work shift plans [21].

The airport in question is an international airport located in the southeast Europe with over 30.000 flights and over 1.400.000 passengers per year. From the year 2004 the airport grew substantially with the introduction of low-cost carriers, followed by the construction of a new passenger terminal and renovation of runway. The growth of passenger and freight traffic still continues, and better information technology (IT) support of the internal processes will be required. The airport has a single 3300 m long runway equipped with CAT III/B Instrument Landing System, a 23 m wide taxiway, and 25 independent parking positions. Airport’s Aerodrome Reference Code (International Civil Aviation Organization) is 4E. The terminal capacity is 500 passengers per hour, with 13 check-in counters and 2 baggage claim conveyors. The total area of the airport is 320 hectares.

The arrival or a departure of an aircraft requires the execution of a series of ground crew tasks. The scheduling of these tasks and the workforce and equipment requirements were performed manually using spreadsheets; however, the procedure was too lengthy to allow dynamic rescheduling in case of flight schedule changes, and did not adequately address the variation of workforce requirements during peak and off-peak times.

While research such as deals with fixed shifts with repetitive peak time and static demands (e.g. [13]), our project’s end goal is to develop an automated work-force scheduling and shift generation system, that would produce floating shifts adjusted to variation of workforce requirements throughout the day in a fraction of the time needed for manual schedule preparation, and would allow dynamic rescheduling in case of unforeseen events or disruptions. In order to achieve optimal workforce deployment, we needed to minimize the criteria of personnel costs and aircraft delay costs. In this chapter, we describe the development of a solution for the optimization of number of workers present in work groups covering individual types of tasks throughout the working day.

1.1 Ground Crew Scheduling Problem Description

Ground crew scheduling problem at the considered airport is confined with the arrival and departure of the aircraft i.e. the presence of the aircraft at the airport. Depending on the type of aircraft, airline (carrier) and other attributes, a set of tasks has to be performed in a predefined time sequence. The general scheduling rules at this airport are described in the following paragraphs.

The workforce and equipment requirements for each task and their scheduling depend on the flight schedules and parameters of each flight, e.g. destination, aircraft type, and carrier. Tasks can be performed by work groups that have appropriate skills. To simplify scheduling, skills are arranged into skills groups, and every employee is a member of one or more skill groups. Employees that belong to a skill group can perform one or more types of tasks. While employees from almost any skill group can perform simple tasks such as luggage handling, specialized tasks such as supply control can be performed only by employees from a single skill group. After the workforce requirements during a day are defined, shifts are constructed according to business rules (e.g. minimum duration of shifts, allowed shift start times, maximum number of shifts per day per employee), legal limitations (e.g. maximum duration of shifts) and other limitations (e.g. available workers in a skill group, available equipment). Each work group performs only one type of task per shift, and therefore all workers in this work group are selected from the same skill group.

The tasks are performed by the three airport service departments:

  • Aircraft supply service,

  • Passenger service and

  • Technical service (including the Fire department).

Each service department consists of personnel with different skills, matched to specific tasks. There are two types of tasks: “fixed” tasks, which are performed by a constant number of workers that work in fixed shifts, and are thus not a part of the optimization problem, and the “operational” tasks. Workforce requirements for the operational tasks and thus shifts vary according to the number and type of events (flight arrivals and departures) at the airport. Aircraft supply service has three fixed tasks (Shift manager, Crew bus driver, Trolley collector) and nine operational tasks (Load balancer, Supply controller, Group leader, Sorter, Baggage handling worker A and B, Tractor driver, Cleaner/Driver and Cleaner). Passenger service has four fixed tasks (Ground attendant type 1, Call centre, Information desk, Business lounge counter) and five operational tasks (Check-in, Gate, Transfer, Guidance, Lost and found desk). The technical service has two fixed tasks (Fireman, Shift manager), and ten operational tasks (Follow me driver, Bus driver, Power unit operator, Water tank driver, Aircraft towing, Flatbed operator, Deicing, Disabled people van driver, Air-start system operator and Aircraft cabin and engine blades heating operator).

In the past, planners (usually heads of service departments), human resource (HR) department and IT department were involved in the process of ground crew scheduling. HR department provided up to date information on personnel skills and availability, while the IT department provided latest flight schedules. Based on expert knowledge of planers, schedules were generated using a spreadsheet application 14 days in advance, with the final confirmation of the schedule at least 24 h before the execution of the tasks.

In order to prepare schedules, planners needed to know what are the workforce requirements for every type of task throughout the day. Their decision criteria included the type of aircraft, carrier, length of stopover and type of flight. Based on flight data and their expert knowledge, shifts of workers were generated and gathered in a schedule.

Based on the decision criteria and heuristic rules identified from manual scheduling procedures we have documented the following attributes of flights as the scheduling criteria:

  • Type of stopover (arrival or departure),

  • Flight type (charter, scheduled or transfer),

  • Aircraft type (320, CRJ, SH3 etc.),

  • Carrier (9 carriers are currently using the airport),

  • Destination.

For each criteria type, e.g. “Aircraft type”, multiple criteria can be defined, i.e. the aircraft type of a particular flight can influence the requirement and parameters of several different tasks, e.g. number of cleaners, requirement of an auxiliary power unit to start the engines etc.

The main scheduling issue in the presented case arose from the big difference in workforce needs in peak time and outside of peak-time for some of the skill groups, which lead to difficult and inefficient rostering of employees. While according to heuristic rules additional workers were needed during peak times, manually prepared schedules did not schedule additional workforce, as the peak times are much shorter than a minimum shift duration. In the past, the airport instead employed students working part time during peaks, but this solution was not sustainable. The discrepancy between the number of available manually scheduled workers and the number of workers required according to heuristic rules is shown in Fig. 1. Here we can see that outside of peak hours, there are more workers available than required, but at peak time, the task requirements exceed the number of available workers, leading to overload and potential errors and delays.

Fig. 1
figure 1

The discrepancy between the number of available manually scheduled workers and the number of workers required according to heuristic rules

Additionally, ad hoc work schedule changes are a constant, especially due to the changes in flight schedules and other interruptions caused by different events (e.g. flight delays due to weather on route and changes at other airports, flight cancelation due to adverse weather or malfunction, aircraft change due to malfunction or airline decision). These changes can require different airport services with additional personnel and equipment for different aircraft, or rescheduling of a task to peak time when personnel and equipment are not available. The response to the ad hoc flight changes needs to be accurate and efficient, and should not disrupt the flight schedule. In the past, planners had varying success adapting the schedules to unexpected changes.

Although the process of manual schedule generation was not seen as a major issue at the airport, it was quite time consuming and stressful. The scheduling problem increased in complexity after an additional passenger terminal was built and the runway has been upgraded, resulting in an increase of airport traffic. Peak-time ground crew scheduling was partially alleviated using part time (student) workforce for a while, however, a new work legislation has reduced the availability of part time workers, and situations with redundant workforce during low traffic and a lack of workforce during peak time have become more common.

1.2 Literature Review

Scheduling is described as the allocation of activities or actions on a timeline to resources, according to specific performance criteria [22]. Moreover, scheduling is a decision-making process with the goal of optimizing one or more parameters [23] or the allocation of limited resources to activities with the objective of optimizing one or more performance measures [24]. Optimization is generally first attempted with the use of exact mathematical methods such as fuzzy multi-objective linear programming [25], with heuristics eventually used where mathematical methods cannot be used to model certain characteristics of the problem [26].

In general, there is an abundance of research on personnel scheduling in various business branches. Personnel scheduling is traditionally about finding an optimal schedule, which is determined by minimizing the costs of personnel while maintaining an acceptable service level [27]. In recent years, personnel scheduling has become more advanced, using different multidimensional approaches and techniques. A frequently used method is constraint programming, which is an artificial intelligence technique which seeks a good feasible solution that satisfies a certain set of constraints [23]. The most common objective when using constraint programming is to minimize the weighted quantity of late jobs. Diverse scheduling algorithms are used to optimize the set of schedules which occur in an airport or airline company, from flight scheduling to personnel and equipment scheduling, and researchers often tend to use heuristics instead of exact solution techniques [9]. Heuristics are often used because in advanced personnel scheduling solutions, skill requirements and shift definition significantly contribute to the complexity of the scheduling problem.

In most airlines, several departments are involved in the scheduling process [10]. On the other hand, ground crew schedules are usually handled by a division of the airport management [5]. For a single work group of employees with different skills, workforce demands can be calculated and a memetic algorithm can be used to evaluate the schedule [17]. The study of aircraft maintenance staff with the time constraint and different skill requirements is presented in [9], where the first step of schedule generation is the definition of optimal skill mix, and the second step is the optimization of training costs. In the case of check-in and baggage handlers scheduling [14], each day is divided into time blocks with different constraints defined and a required number of employees given. At the end, employees are scheduled for work in three different shifts, 8 h each. Goal programming also proved to be efficient for generating shift duties for baggage services section staff [16].

A simulation study focused on aircraft maintenance, uses a classification of aircrafts according to the time of stay at the airport [14]. Depending on the length of stay, maintenance programs are scheduled for technicians and total technician requirements are calculated for each sub-shift of the day. Using the stochastic methods, delay costs in air traffic can be calculated [28]. Attempts were even made to influence the schedule of aircraft landings in order to balance the workload of ground staff [29].

In addition to optimization methods and heuristics, discrete event simulation (DES) can be used to improve aircraft ground handling performance [30]. Agent based modelling (ABM) was used to simulate and optimize the complex socio-technical air transportation system [31], while [32] used ABM simulation to predict the airport capacity. Based on the research of simulation methods used in personnel scheduling problems [30,31,32,33], we can conclude that the combination of DES and ABM methods proved to be more flexible and accurate than using DES alone. While airport operations can certainly be modelled with DES alone, the addition of ABM components to a DES model of airport traffic allows us to model the activities of ground crew and the communication between ground crew groups, their supervisors and aircraft with less abstraction and more detail, thus improving simulation accuracy and transparency and comprehension by the client. Modelling of decision and work processes at the level of individual agents (groups, individuals and their equipment) will also allow us to introduce elements such as the effect of personal work efficiency, fatigue and equipment malfunction with less abstraction, while the spatial aspect of agents allows us to model the movements of aircraft and ground crew on the tarmac and measure the time a group of workers spends travelling between aircraft.

2 Methodology

2.1 Scheduling Problem Definition

The process of scheduling does not depend on the type of scheduling problem. In case of the production scheduling, the scheduling algorithm searches for the most appropriate machine(s) to process an order, while in case of personnel scheduling, the algorithm searches for the most appropriate person(s) to perform a task. The scheduling algorithm could therefore be defined as a search procedure to find an optimal solution among all possible solutions aligned with criteria function.

According to the previous research on scheduling (see e.g. [34]), the scheduling problem can be defined as a general search procedure, where only one variable’s value is changed when different types of scheduling problem are addressed. A general example of such a procedure is shown in Algorithm 1, where the variable can be a machine, person, equipment, etc., depending on the type of scheduling problem. Each solution is evaluated based on the defined criteria function to find an optimal solution.

Since the equivalence between different scheduling problems can be observed, every scheduling domain (SD) can be described with four basic elements as presented in Eq. 1: object type (O), parameter (P), syntax (S) and algorithm (A) [35], where different types of relations between object types describe the behaviour of the scheduling problem. Object types, parameters and the syntax represent the input for the scheduling algorithm, which defines the logic to generate a schedule.

$$ SD\,\subseteq\,O\,\times\,P\,\times\,S\,\times A $$
(1)

In line with the diversity of the scheduling problems addressed in the air transport industry, diverse scheduling approaches were used, from combinatorial optimization problems [20], linear programming [13], multi objective genetic algorithms [36], etc. The ground crew scheduling problem addressed in this research can be aligned with the multiple machine scheduling problems [37], although in case of ground crew scheduling, the sequence of operations or tasks is not fixed and the sequence of orders is known in advance. Ground crew scheduling operations can be scheduled independently to some extent (e.g., there is no dependence between aircraft cleaning and passenger guidance). Although the sequence of operations is well known in advance (flight schedule), it is often subject to various disruptions and rendering of the schedule. Another specific of the ground crew scheduling is the limitation of the time window for the execution of a task, which is limited by the presence of the aircraft at the airport.

Approaches to shift planning and crew assembly often use limited validity assumptions [21] or deal with simplified problems such as partial solutions for individual work groups [13]. Therefore, in the presented case of a small international airport, a heuristic approach was used to generate work schedule and shift generation.

2.2 Simulation and Modelling

In simulation and modelling of logistics systems, three different simulation methods are generally used, and are selected depending on the complexity and abstraction level of the discussed system:

  • System dynamics (SD) is a form of continuous simulation of complex systems with a high level of abstraction, using stocks, flows, feedback loops and time delays to model flows and levels of materials, people, funds etc. [38, 39]. It does not allow the modelling or tracking of individual entities.

  • Discrete event simulation (DES), uses a low level of abstraction to model systems as a series of events or instants in time when a stage-change occurs [40]. In DES, the system is modelled as a process, with a sequence of operations that are performed on entities or transactions. A DES model requires that the data which describe the processes are obtained, analysed, extracted and prepared in a suitable format for the model. Integration of simulation software and operational databases can preserve the model accuracy even after minor changes in processes.

  • Agent based modelling (ABM) allows experimentation with models, composed of agents that interact within an environment [41]. ABM allows different levels of abstraction, making it more flexible than SD or DES. The main attribute in an ABM simulation model is an object (agent) and its individual behaviour [42]. An agent can be an individual person or object (e.g. pedestrian, worker, aircraft, and truck) or a group of persons or objects with a common decision mechanism.

A conventional approach to modelling the ground crew processes at an airport would involve DES methodology to model the set of tasks as separate processes, with workers and equipment as resources and the steps in a process as delay elements. While formally correct, this approach can be too rigid to model the dynamics of an airport. The addition of ABM adds more flexibility, as workers and work groups can be modelled as agents that move from plane to plane performing tasks, and make autonomous decisions according to a set of rules and assignment of tasks. Work group movements, communication between entities, pre-emption, change of tasks, travel delays and other real events and conditions are easier to model using agents. Such a model can be more realistic and more flexible than a conventional DES model, while still allowing the monitoring of resource utilization and other statistics. ABM is a better choice than DES to model processes that are dynamic and must quickly adapt to changing requirements and events on a real-time basis [43]. ABM allows the inclusion of descriptive models of how people actually make decisions within the modelled system, and modelling of the effects of all decision makers within the system. In contrast, DES models take a normative approach, i.e., indicating what should be done rather than how the system really works. In addition, ABM is better than DES when it is important that individual agents have spatial or geo-spatial aspects to their behaviours (e.g., agents move over a landscape or between parked aircrafts). However, the development and validation of ABM can be considerably more difficult than SD or DES models.

3 Heuristic Algorithm Development

Planners in service departments have previously depended on their expert knowledge (i.e. heuristics) to generate manual schedules. We have collected the data on their heuristics to define the constraints and scheduling requirements used in the heuristic approach. Similar to [44], we have used a two-step approach to generate a feasible scheduling solution for ground crew scheduling, with the first step defining the work force requirements and the second step constructing shifts based on the work force requirements, business rules and legal limitations.

In the first part of the solution, the requirements and constraints for all tasks on flights within a selected time frame are identified to generate a feasible skill group and equipment schedule. This schedule defines the number of personnel for each skill group and the required equipment for every minute within the time frame, and does not include shifts or employee names.

A flowchart diagram representation of the skill group scheduling algorithm is presented in Fig. 2. First, the planner defines the time frame for the schedule (usually 14 days, starting after the end of current schedule), and thus defines the range of flight data to be transferred from the Flight Information System (FIS). The algorithm then analyses the flight data, and determines the time window, within which all flight related tasks need to be completed. This time window limits the optimization of workforce requirements via the time shifting of tasks. According to flight characteristics and stored heuristic rules, the criteria and requirements for this flight are determined and the number of personnel, their required skill groups and required equipment are recorded. Information about the skill profiles are stored in the Human Resources System (HRS). Finally, the personnel/workforce requirements per skill group and equipment requirements from all flights are summed for every minute of time within the selected time frame.

Fig. 2
figure 2

The flow of the airport ground crew skill profile scheduling procedure

As the availability of the equipment was determined not to be a constraint of the scheduling problem, the equipment requirements are modelled, but not subject to optimization in the presented solution. The focus is therefore on personnel scheduling optimization.

The scheduling criteria types, presented in Table 1, stated by the airports experts were included in the heuristics algorithm: type of stopover, traffic (flight) type, aircraft type, carrier and destination.

Table 1 Description of the scheduling criteria types

These criteria are used to determine the tasks that need to be performed per flight and their parameters. There are four basic scheduling parameters per each task:

  • Skill required,

  • Start of task,

  • Duration of task, and

  • Number of workers per task.

Advanced task parameters, tied to skill groups, include the possibility of time shifting and skill groups allowed to perform the task.

The criteria have different priorities, i.e. they must be used in a prescribed sequence to arrive at the solution. The first criterion to be used is type of stopover with priority value 1. This is the base criterion, which sets the default requirement values, which can later be altered by the subsequent criteria (with priority value 2 or more). In addition, two types of criteria exist: relative and absolute. Relative criteria will reduce or increase a scheduling parameter (e.g. required number of workers or task duration) while absolute criteria, if defined for the given flight parameters, will set the scheduling parameter to a predefined value. For example, certain carriers have a fixed demand for the number of ground attendants at check-in. Therefore, all previously calculated workforce demand at check-in are overridden with a fixed number.

Figures 3 and 4 describe the process of aircraft supply service (fixed tasks are not included) for the arrival and departure of an aircraft of type C (e.g. Airbus 321). The aircraft supply service department included nine different operational tasks which were mapped to skill groups with the same name, listed in Fig. 3. Most of the skill groups required one person to be assigned to the skill group. The two exceptions are the skill groups Cleaner, where according to the requirements, two workers should be assigned to the task, and Baggage sorter type A, where only half of person (i.e. a half of worker’s full time utilization) is assigned to the task. The assignment of “half persons” per task in combination with time shifting of tasks allows a degree of workforce requirements optimization of certain types of tasks. The required number of individual workers in specific task group is not shown in the graphical presentation. As it can be seen from Figs. 3 and 4, most of the tasks overlap and can be performed simultaneously. The only task which requires a strict sequence is the task of baggage sorting (A and B) in Fig. 4, which has to be finished before the tractor driver drives the baggage to the aircraft.

Fig. 3
figure 3

The process of aircraft supply service for the arrival of type C aircraft

Fig. 4
figure 4

The process of aircraft supply service for the departure of type C aircraft

There are two types of tasks: fixed and operational. Fixed tasks do not depend on the airport traffic and are always performed in the same manner. These tasks (e.g. 1 manager per shift, 1 person in call centre) cannot be optimized, and were therefore not modelled in our solution. For operational tasks, the required number of staff varies with the airport traffic.

Based on the recorded heuristics, the algorithm was coded in a software program to generate a timeline of workforce requirements for all tasks. The algorithm uses flight information and documented criteria to calculate workforce requirements for every flight, per task. The required number of workers for every type of task is then calculated for each minute within a given time frame (the end and start date of the schedule), producing a timeline of heuristic (ideal) workforce requirements.

Figure 5 shows the first version of the workforce requirements scheduling algorithm, which computes the ideal workforce requirements.

Fig. 5
figure 5

The first version of the workforce requirements scheduling algorithm

3.1 Optimized Heuristic Algorithm

Upon further examination, workers were found to temporarily change task assignments to help overloaded colleagues, and several types of tasks were performed either sooner or later than defined in the heuristics in order to avoid peak worker overload. Furthermore, the most overloaded skill groups were found to be temporary overloaded during peak times, and performing two tasks in the same time period.

The main issue was therefore to smooth out workforce requirements for daily peak times without causing flight delays due to the workforce overload. Seasonal peak times are not considered problematic since they can be planned in advance and additional workforce can be employed during the season period. In contrast, daily peak times are problematic as they are mostly shorter than minimum shift length (2 h).

Therefore, additional heuristic rules were implemented to reproduce the in-field optimization behaviour of the examined system. Main improvement of the algorithm, described in the following section, was the “smoothing” of requirement peaks, implemented by shifting the execution of a task to a time, where more workers are available. A task can be shifted to an earlier or a later time, according to limitations defined by airport planners and implemented in the algorithm. Further improvement is the temporary reassignment of workers, which is implemented by the option of a worker being assigned to several tasks simultaneously inside a short time frame (e.g. a tractor driver usually helps as a baggage sorter when he stops the tractor, although he is formally still busy waiting to drive the tractor back). The maximum duration of an overlapping activity is limited by the duration of peak time requirements (typically less than 30 min) and the end of a shift. This version of algorithm improves on the manual schedules by reducing workforce requirements in the off-peak times, however the peak time optimization is still not satisfactory, as the algorithm replicated the overloading of personnel during peak times.

Diagram of the optimized scheduling algorithm is presented in Fig. 6.

Fig. 6
figure 6

Version 2 (optimized) scheduling algorithm

The optimized workforce requirements scheduling algorithm was implemented as a standalone application in Java, using an Oracle database to store the data on flights and heuristic rules. 24 relational tables were used to describe the criteria and the demands of the airport ground crew scheduling problem. Before the start of scheduling procedure, flight and personnel data is transferred from the FIS and HRS.

Table 2 shows an example of parameters stored in the database, assembled from the FIS into a single table using an SQL query. DD1 defines the date of the flight, FLTNO_A and FLTNO_D describe the aircraft’s arrival and departure code. The type of traffic (e.g. C—charter passenger only, F—scheduled cargo/mail, S—scheduled passenger) is defined in column TRFTYP, ST_A and ST_D show the time of arrival or departure, with ROUTE_A and ROUTE_D as arrival or departure airport. ACTYP defines the type of aircraft.

Table 2 Flight schedule stored in database

According to the criteria types and detail information on considered flight schedule, heuristic rules stored in the database can be used to generate a schedule. Table 3 shows an example of heuristic rules stored in the database. The column ID_CT stands for identification number of criterion type, DM for demand (number of workers to be set, added or subtracted according to criterion value), ST for task start time, DR for duration of task, ABS for the distinction between absolute and relative criteria, and CV for criteria value, i.e. the condition where this particular rule/line is used, ID_S for identification number of skill, i.e. which skill group this rule applies to, MVB for indication of movable tasks, i.e. tasks with flexible start or end time, LEBD for latest allowed time for task completion before departure and A_D for the arrival/departure label. Absolute criteria require setting the work demand/start/duration to their value, thus replacing the current value, while the relative criteria require adding their value to the current values for work demand/start/duration.

Table 3 Heuristic rules stored in database

The heuristic rules stored in database define the flow of the scheduling procedure in detail. The base criteria for scheduling the tasks is the stopover type: arrivals and departures require different skills and require a different time frame calculation method, i.e. in case of a departure, the task start times are to be subtracted from the departure time, while for arrivals the task start times are added to the arrival time.

For example, the criterion in Table 3, row 2 applies if the flight type (A_D) is D (Departure), TRFTYPE value is S (scheduled passenger flight), and CV (carrier) is S. In that case, the CHECKIN skill demand (DM) is 2 (two workers). Therefore, two ground attendants with skill ID number 1 (ID_S) should start their work 120 min (ST) prior to the flight departure (A_D), and should perform their task for 100 min (DR). Since the value for ABS is A, the DM (demand/number of workers) value of 2 is absolute, thus it overrides any previously set value for DM for this skill type. Since the task is not movable (MVB is empty), we cannot change the start time of the task and therefore no value for the latest start before departure is given. CV criterion defines specific rules for certain carriers, which may for example require a check-into complete earlier.

For example, if the flight carrier has the CV value “360” an additional criterion with a lower priority also applies (Table 3, row 1). This criterion type is R (relative), which means that the start time is 30 min (prior to the departure of the aircraft), 1 ground attendant is added to the check-in counter, and the relative event duration is -30 min, which means the duration of this task is reduced by 30 min (i.e. check-in ends 30 min sooner, but there is an additional ground attendant present).

Figure 7 shows the ideal workforce requirements for load balancers estimated by the first heuristics algorithm (solid line), and the requirements “smoothed” by the optimized heuristic algorithm (dashed line). Short periods of peak times are clearly visible.

Fig. 7
figure 7

Workforce requirements of first and second versions of the algorithm for the load balancer skill group

4 Simulation Model

We have decided to validate the generated workforce schedules using a model of the airport operations. We have used AnyLogic as the main a general-purpose simulation and modelling tool. While AnyLogic is built in Java, and the models are translated into Java code, most of the modelling can be performed using the Visual Interactive Modelling (VIM) approach, which allows fast development and intuitive comprehension of model operation for the stakeholders without previous knowledge of simulation methods. Java code of the model is accessible within AnyLogic and can be modified during model development. A unique characteristic of AnyLogic from version 7 on is that DES entities, resources, and agents use the same object type, allowing easier integration of DES and ABM models. A combination of DES and ABM methods can be used in several different situations, from implementation of a DES server as an agent, an entity as an agent or different combinations of agent usage to introduce messages into the model [42].

Our model is divided into two parts: the DES based aircraft traffic model, which models the arrivals and departures of aircraft, and the ABM based ground crew work group model. The models are linked via passing of messages between aircraft and work group agents. The DES based aircraft traffic also implements several ABM-specific features in order to allow simulation of movement on the airport and the passing of messages.

4.1 Aircraft Traffic Model

In the first step of the model development we have identified the entities present in the system and selected the modelling method appropriate for the required level of autonomy and abstraction. We have determined that a classic DES model will be sufficient to model the aircraft traffic, i.e. the arrivals and departures of aircraft, however we have supplemented it with ABM elements to allow the modelling and animation of aircraft movement on the tarmac.

Arrivals depend only on the flight schedule (obtained from the airport database), while the exact time of departure may deviate from the flight schedule due to delays in ground crew service. Within the aircraft traffic model (Fig. 8), the arrival and departure procedures are modelled in several discrete steps, with most detail on the steps involving ground crew service. These steps are modelled as delay elements, with the state of arrival and departure services (serviceArr, serviceDept) elements depending on the agent-based model of ground services. Thus the end of the services for individual flights depends on the logical condition: “Are all ground crew services completed?”. The agent-based model of ground services is described in the next section.

Fig. 8
figure 8

Main view of the simulation model with DES model of aircraft traffic and airport layout

The physical layout of the airport and the aircraft taxi and parking procedures are also modelled, with the main purpose of improving model comprehension and acceptance by the end users. According to our client, taxi and parking logistics do not influence the ground crew service performance or delays in departures, and are therefore not included in model statistics. While the arrival services are not problematic from the aspect of flight delays, as they are completed long before the departure of the aircraft, they affect the availability of ground crew groups and equipment.

The Aircraft traffic model is implemented with two DES submodels: the Arrivals submodel, and the Departures submodel. The separation into submodels reflects the business rules of the airport and the limitations of the FIS database: individual aircraft are not tracked in the FIS after the arrival procedure is complete, thus the Turnaround process cannot be modelled. After the arrival tasks are completed, an aircraft is removed from the model by parking them at “Parking B” (exit point in the model is ParkB). The Departures submodel in turn assumes that the aircraft is present (parked) at the airport.

The starting point in the Arrivals submodel is the arrivals element, which generates aircraft in the submodel according to the arrivals schedule in the FIS. At this point, the aircraft also appears in the animation seen below the DES submodels. Subsequently, the aircraft taxies to the gates (DES elements moveToParkA and queueArr (wait on the apron for gate assignment)), waits to be serviced in the ServiceArr element, and is removed from the model via the moveToParkB and ParkB elements.

The departure traffic is also based on the FIS database, with the task start times based on the planned (in FIS) departure times. The actual (modelled) departure times depend on the execution of tasks, which allows us to calculate flight delays. The Departures submodel is slightly larger, as an aircraft first has to taxi from the parking area to the gates (elements moveToParkD, queueDept and moveToGates), where it is serviced (e.g. filled with passengers, baggage, etc.), with the delay modelled with ServiceDept element. Afterwards, the aircraft moves into the departure queue (moveToQO, queueOut) and the runway (moveToD, TakeOff). The modelled queues serve to keep aircraft waiting until a taxiway or a gate or a parking area is available. The elements arrivals and depts are linked to a local database that contains data on every aircraft from the FIS and the service requirements for each flight. The service requirements are assigned to every aircraft at the moment of its generation/entry in the model according to the ideal heuristic requirements (i.e. the requirements are based only on flight data and do not take into account the availability of workers). The service requirements are subsequently passed as messages from an aircraft to the relevant ground crew work groups, which then add the service request to their internal queue. Message passing is an ABM specific feature, however as AnyLogic models all DES entities as agents, the addition of this feature to the DES aircraft traffic model was straightforward.

4.2 Ground Crew Work Group Model

In DES models, services/stations are often modelled as static resources that entities/transactions (e.g. products, patients) travel through on a fixed path, in a predefined sequence, and an entity cannot be serviced by multiple stations. While it is possible to model the ground services processes using a classical DES model, the required abstraction would in our opinion make the model less comprehensible and rigid in comparison to the actual processes. ABM however allows us to model the entities and processes in a way that is closer to reality, i.e. the ground service work groups have the role of service stations, however they travel to the aircraft and not vice versa; the sequence of services depends on the availability of service work groups, and the place of an aircraft within a service work groups’ internal queue; and perhaps most important, an aircraft can be serviced by several work groups simultaneously.

We have modelled the work groups performing tasks as agents. All work group agents have an internal state chart model of their task process, shown in Fig. 9. The starting point is the state Waiting, where the agent waits for a message from an arriving or departing aircraft requesting services from this work group and specifying service requirements (number of workers, start time, end time). These requests are added to the internal queue (an array data structure). Currently, the requests are processed according to the FIFO rule, but the implementation of priority based service, e.g. according to available number of workers or available equipment could be easily implemented. If there is at least one request in the queue, the work group agent proceeds to the relevant aircraft at the specified service start time, and performs the service (modelled as a delay) for the required length of time. After the servicing is complete, the work group agent passes a ServiceComplete message to the aircraft and either proceeds to the next aircraft in its internal queue or returns to the waiting area.

Fig. 9
figure 9

State chart of the agent based model of a ground crew group

4.3 Model Operation

The start, end and work requirements of tasks are determined by the aircraft to be serviced by the ground crew (i.e. ideal heuristic requirements), while the availability of workers is determined by the workforce requirements timeline generated and optimized by the heuristic algorithm (version 2 of the algorithm). By combining the timeline of optimized workforce numbers and ideal requirements of a flight, we can verify the effects of a generated workforce requirements timeline in practice and foresee the potential flight delay costs.

Flight schedule from the FIS is used to generate arrivals and departures at the airport. Using the first version (ideal requirements) of heuristics, each aircraft is assigned the values of service parameters on entry in the model.

Workforce requirements generated by the heuristic method described in previous section are used to vary the availability of workers during the simulation run. Workers are modelled as resources and divided into work groups. Each work group performs only one type of tasks. A work group is then modelled as an agent. The duration of a simulation run for a month of simulated time is approximately 20 s on a Windows 10 computer with an Intel i5-4200 M CPU and 8 GB of RAM.

At the start of a simulation run, data on the flight schedules and availability of workers is transferred into the model. The ideal (i.e. calculated separately for each flight) workforce requirements are calculated. Flight delays appear in a simulation run since the availability of workers in the model is subject to the schedule and occupancy of workers with other tasks. Therefore, the discrepancy between ideal and modelled workforce requirements exists. The discrepancy results in a prolongation of a task execution, leading to flight delays. Delays are only possible for departures, and are measured by comparing the scheduled departure time as recorded in the FIS, and the actual departure time as recorded by the simulation model. The delays are however exaggerated because the start of a task is delayed unless all required workers are available and the start times of tasks are not optimised. Further development of the model will include the execution of tasks with a reduced number of workers and longer execution time and the execution of tasks at earliest opportunity (i.e. time shifting of tasks) and should model flight delays more accurately.

5 Results and Discussion

The first version of the algorithm produced a workforce requirements timeline with pronounced peaks, but with ideal numbers of workers available at every minute of the day to perform the flight dependent tasks. On the other hand, the second version of the algorithm produced a workforce requirements timeline with less peaks, but with a higher chance of flight delays and human errors during peak time.

While the end user is satisfied with the current solution, as it produces schedules in a fraction of the time required for manual schedule development (minutes vs. hours), and the schedules are better than manually produced schedules at least during off-peak times, there is still potential for optimization during peak-time.

In order to achieve optimal workforce deployment, we would need to minimize the criteria of personnel costs and aircraft delay costs. Next step is the development of a simulation model based optimization solution, which would find the optimum between the ideal numbers of workers and the smoothed workforce requirements.

5.1 Further Optimization Possibilities

Personnel costs grow linearly with the number of workers present in work groups and can be estimated as the number of work hours’ multiplied by average hourly costs. Delay costs however are not linear: here we experience diminishing returns with the increase of number of workers. The behaviour and the nature of the variables here closely resembles the U-curve optimisation problem, which is common in product development and inventory management [45]. According to [45] the linear component represents the rising cost of services (e.g. number of workers) or carrying/holding costs, and the non-linear component, which can be approximated as a negative exponential curve, represents delay costs or ordering/release costs. An example of a U-curve optimisation problem in aviation is described in [46].

Figure 10 illustrates the U-curve optimisation problem in the case of personnel and flight delay costs. The goal of optimization is to minimize the sum of both types of costs. The optimization problem in our case is complicated by the fact that there are several work groups to be optimized, and that the workload changes over time.

Fig. 10
figure 10

U-curve optimisation problem of personnel and flight delay costs (source own)

The criteria function (Eq. 2) in our case has two main variables: the personnel costs (p) for the simulation period (t), and the costs of flight delays (d) per simulation period. The objective is to minimize the criteria function

$$ F = \mathop \sum \limits_{i = 1}^{p} p_{i} + d_{i} $$
(2)

The costs of personnel (p) depend on the number of workers (w) and costs (c) of worker per shift period in skill groups (g) as presented in Eq. 3.

$$ p = \mathop \sum \limits_{i = 1}^{t} (w_{i} *c_{i} ) *g_{i} $$
(3)

The costs of flight delays depend on flight schedules and available number of workers in various skill groups.

Workforce scheduling and shift rules at the airport prescribe that:

  1. 1.

    workers are assigned to work groups,

  2. 2.

    a work group is created at the start of a shift, and disbanded at the end of a shift,

  3. 3.

    all workers in a work group start and end their shifts at the same time,

  4. 4.

    a work group performs only one type of task (skill) per shift (e.g. luggage handling), temporary task reassignments are not part of shifts,

  5. 5.

    shifts start and end on the hour or half-hour.

In accordance with these rules, we can optimize the workforce requirements, i.e. the number of workers, using these limitations:

  • Time resolution of optimization: optimization can be performed for half-hourly periods;

  • Workforce groups: optimization can be performed per work group, i.e. per type of task.

With 48 time periods per day, and 29 work groups, there are theoretically 1392 values to be optimized per day. The difference of workforce requirements between ideal heuristic requirements and smoothed heuristic requirements is up to 4 workers, therefore there are 5 different possible optimal values. Theoretically, there are 29 × 5 scenarios to be tested per each hour, or 29 × 5×48 = 6960 scenarios per day to be tested in order to find the optimal workforce numbers.

However, there are several factors that reduce our optimization problem:

  • Out of 29 skill groups, only 7 skill groups from all three service departments can require more than 1 person per shift: Load balancer, Baggage handler, Cleaner, Baggage sorter type A, Baggage sorter type B, Gate stewardess, and the “Follow me” car driver,

  • There is a limit on the number of workers available per work group,

  • The difference of workforce requirements between heuristic and smoothed versions is usually only 1 or 2 workers (heuristic results will be used as the upper bound of the optimization),

  • Differences in workforce requirements between heuristic and smoothed versions appear only in peak hours, i.e. in up to approximately 10 h per day for all work groups together,

  • There is sufficient time from aircraft arrival to departure to perform all arrival related tasks, therefore additional workforce requirements optimization (apart from smoothing) is not necessary. Optimization can be done for departures tasks only.

Due to these alleviating factors, we only have to generate up to approximately 7 × 3×20 = 420 scenarios, i.e. half hour long simulation runs per day. With a half hour simulation run duration of 1 s, a day’s workforce requirements could be optimized in less than 7 min. AnyLogic can perform optimization of a set of parameters using a user defined criteria function. Part of the optimization procedure could therefore be automated using the built-in AnyLogic optimizer, removing the need to manually prepare and execute the simulation runs.

6 Conclusions

International airports are complex systems that require efficient operation and coordination of all their departments. Therefore, suitable personnel and equipment scheduling solutions are vital for efficient operation of an airport as a system.

Based on the experiences from the presented ground crew optimization project, we can conclude that the problems of airport ground crew scheduling are more demanding than general machine or order scheduling problems found in literature and encountered in our previous projects, even at smaller international airports. Mathematical scheduling models were not applicable in described projects, therefore customized heuristic algorithms were to be developed.

Our work in this project has so far resulted in two versions of heuristic work-force requirements scheduling algorithms, a shift construction algorithm, and a simulation model of airport operations used for verification and future optimization of workforce requirements, which combines DES and ABM. The algorithm for generation of floating shifts and assignment of individuals to shifts is described in [34]. The shifts are generated according to the generated workforce requirements and demands about shift length.

The heuristic work-force requirements scheduling algorithms and the shift construction algorithm are currently implemented in a software package that is undergoing testing at the client. While the manual scheduling takes several hours, the automated scheduling can be completed within minutes, allowing dynamic rescheduling in case of changes in flight schedules. The presented schedule generation and optimization solution is flexible and adaptable to other similar sized airports.

Our future work on the project will involve model-based optimization of workforce requirements as outlined in the previous section and the adaptation of the entire scheduling solution to the airport’s development of infrastructure. Whereas competitiveness is definitely the main reason for the optimization of airport operations, sustainability issues also need to be considered. Efficient airport ground operations are one of the key aspects towards sustainable air transportation [36].