**3. Problem-Solving Methodology**

This section outlines a three-phase methodology to solve the stated ATCo work shift scheduling problem for a given airspace sectorization. Phase 1 sets out a heuristic which is used to construct ten different initial solutions by modifying rest period lengths using an optimized template. These initial solutions require more ATCos than are available and do not satisfy all working conditions.

In Phase 2, an algorithm based on variable neighborhood search (VNS) is applied to the infeasible solutions achieved in the first phase, in order to yield a feasible solution. The aim is to reduce the number of ATCos used to meet the number of available ATCos, while penalizing the number of times labour conditions are violated until a feasible solution is achieved.

A VNS-based algorithm is run again on the feasible solution output in Phase 2. This algorithm should optimize the objective functions. The objective functions represent the ATCo work and rest periods and positions, ATCo workload distribution, the number of control center changes, and the similarity of the solution structure to the previous template-based solution. The original multi-objective optimization problem is then transformed into a single weighted optimization problem taking into account the objectives ranked by importance by CRIDA experts. This ordinal information is used to specify the centroid-based weights. Solutions are represented by a matrix. The matrix columns represent time slots, and the rows ATCos. Time slots are equivalent to five minutes because five is the greatest common divisor for the applicable constraint times (e.g., ATCos have to work for at least 15 min in the new sector and a sector has to be open for at least 20 min). The Phase 1 heuristic establishes the number of rows, which will not necessarily be the same across the initial solutions.

Each matrix element (*i*, *j*) represents the state of ATCo *i* in time slot *j*. It is symbolized by three letters. The value 111 represents a resting ATCo, uppercase letters [A-Z] indicate that the ATCo is working as an executive operator, whereas lowercase letters [a-z] are used for planner positions.

Figure 2 illustrates solutions using colors to represent sectors. Rest periods are colored white. Figure 2 shows the solution for the airspace sector configuration illustrated in the Figure 1. This configuration is manned by 15 ATCos (number of rows).

**Figure 2.** Example of solution representation.

### *3.1. Phase 1: A Heuristic for the Construction of Initial Solutions*

We propose a heuristic to build a set of initial solutions with different rest periods. The Phase 2 algorithm then outputs a feasible solution based on the initial solutions output in Phase 1. The proposed heuristic is based on an optimized template (see Figure 3), with three ATCos covering a sector for 96 time slots (eight hours). ATCo positions (executive or planner) are not assigned until later.


### **Figure 3.** Shift template.

All work periods of are of equal length and twice as long as rest periods. The heuristic builds different, albeit similarly structured, initial solutions if the rest period duration varies. As the working conditions specify that each rest period should last at least 15 min (three slots) and the minimum and maximum work periods are six and twenty four slots, respectively, a rest period must be at least three and at most twelve slots long. Thus, the heuristic builds ten different initial solutions.

The steps of the heuristic are as follows. First, starting from an empty solution, the heuristic adds templates to cover the airspace sectoring. Note that more ATCos than available could be incorporated to the solution in this process. Then, ATCo positions (executive or planner) are allocated taking into account the number of open sectors in each time slot.

Next, we repair the solution to improve feasibility. To do this, we try to transfer a work period without the minimum length from one ATCo to another and extend a work period that does not have the minimum length using a work period from another ATCo.

Finally, we allocate available resources, i.e., we assign an available ATCo to each row in the built initial solution, taking into account the sectors in that row and the ATCo accreditations.

More details about the implementation of the heuristic are available in [10].

### *3.2. Variable Neighborhood Search and Its Adaptation to the ATC Work-Shift Scheduling Problem*

The idea underlying variable neighborhood search (VNS) is to successively explore a set of predefined neighborhoods to find better solutions [11]. VNS explores a set of neighborhoods either at random or systematically in search of local optima. Conducting a local search of diverse neighborhoods potentially generates different local optima, where the global optimum is a local optimum for a given neighborhood. Different neighborhoods generate different landscapes.

The basic version of VNS is shown in Algorithm 1. However, other variants of this basic VNS, such as variable neighborhood descent, reduced variable neighborhood search and variable neighborhood decomposition search can be found in the literature. They depend on:


### **Algorithm 1** Basic VNS.

**Require:** *Nk*: set of neighborhood structures, *k* = 1, ..., *kmax* **Ensure:** Best solution found. 1: *k* = 1 2: Generate an initial solution *x* 3: **repeat** 4: Randomly generate *x* ∈ *Nk*(*x*) 5: *<sup>x</sup>* = Local-search(*<sup>x</sup>* ,*Nk*) 6: **if** (*f*(*x* ) < *f*(*x*)) **then** 7: *x* = *x* 8: *k* = 1 9: **else** 10: *k* = *k* + 1 11: **end if** 12:**until**stoppingcriterion

The variable neighborhood descent (VND), proposed by [12], changes the neighborhood deterministically. First, the set of neighborhoods and their order are determined, then the algorithm selects an initial solution, and it iterates until it has gone through all the neighborhoods. In each iteration, it performs a search process to reach a local optimum and evaluates if this local optimum is better than the previously derived best solution. If better, it becomes the starting solution for a new local search; otherwise, the algorithm moves on to the next neighborhood to be explored.

The reduced VNS, proposed by [13], is similar to basic VNS except that no iterative improvement procedure is applied. It explores different neighborhoods randomly and quickly reaches good quality solutions for large instances.

The variable neighborhood decomposition search, put forward by [13], generates subproblems by keeping all but *k* solutions components fixed, and applies local search only to the *k* "free" components.

In the biased VNS, reported by [13], once a good solution has been found after a good exploitation, it is usually necessary to move away from this good neighbor to try to find a better solution. This new search is usually very similar to a multi-start heuristic, but this method is usually too expensive in terms of efficiency. Therefore, the algorithm chooses to move towards the best neighbor depending on a distance function between the candidate solutions multiplied by a parametrizable value *α*.

Parallel VNS, described by [14], is a variant aimed at parallelizing the local search processes within VNS to derive and then compare several solutions resulting from starting points.

The VNS adaptation used in this paper is similar to VND in the sense that the algorithm restarts the search process once a solution is found that improves upon the previously best solution. However, whereas VND restarts the process using the same neighborhood definition, our version repeats the search process in all the previously used neighborhood definitions.

Besides, the basic VNS randomly generates a solution from the neighborhood under consideration and starts a local search from this solution, whereas our adaptation of VNS starts the search from the solution in the previous iteration since the local search process is not completely deterministic, rendering the previous step (randomly generate the initial solution) unnecessary.

The following four types of neighborhoods have been considered for the VNS adaptation proposed in this paper:

	- (a) The length of the time interval to be exchanged cannot be greater than 18 slots.
	- (b) The first ATCo must be located in a row that is higher up than the second ATCo in the solution matrix.
	- (c) The time interval for the first ATCo must correspond to a work period, whereas, for the second controller, it has to be a rest period.

(d) The exchange process will only be performed if the second ATCo was previously working in the same sector and position just before or after the exchanged time slot (see Figure 4) i.e., we are extending the work period for the second ATCo.

**Figure 4.** First neighborhood example.

2. *Second neighborhood.* It also consists of a time slot exchange between two ATCos, the only difference from the first neighborhood definition above being that the two time periods involved in the exchange process must be work periods (see Figure 5).

**Figure 5.** Second neighborhood example.

3. *Third neighborhood.* This neighborhood is similar to the first one except for the fact that the exchange process will be performed if the second ATCo was previously working in the same sector and position just before or after the exchange time slot (see Figure 6), i.e., it is not necessary to extend the work period for the second ATCo.

**Figure 6.** Third neighborhood example.

4. *Fourth neighborhood.* This neighborhood is similar to the second one except for the fact that the exchange process will be performed if the second ATCo was previously working in the same sector and position just before or after the exchange time slot (Figure 7), i.e., it is not necessary to extend the work period for the second ATCo.

**Figure 7.** Fourth neighborhood example.

Figure 8 describes how the four neighborhood definitions are used in our VNS adaptation for Phases 2 and 3, where *time*\_*int* represents the time interval length to be exchanged, *neighborhood* identifies which of the neighborhood definitions under consideration is used, and *laps* refers to the times number the neighborhood definitions have been used.

**Figure 8.** Adapted VNS algorithm for Phases 2 and 3.

The time interval length to be exchanged is initially set to one time slot (*time*\_*int* = 1) and we use the first neighborhood definition (*neighborhood* = 1). Then, if the local search outputs a new solution that is better than the current *BestSolution* in Phase 2, we check if the new solution is feasible. If it is, we output that solution and Phase 2 finishes. If the new solution is not feasible or we are performing Phase 3, then the new solution becomes the *BestSolution* and a new iteration is carried out.

If the solution achieved in the local search is worse than the current *BestSolution*, the time interval length is increased, and the local search is executed again. If the time interval length is 18 and the output solution is still worse than the current *BestSolution*, then we start using the second neighborhood definition and the time interval length is initialized (*time*\_*int* = 1). If we have used the four neighborhood definitions each with time interval lengths up to 18 and no solutions outperform the current *BestSolution*, then we use the first neighborhood definition again and repeat the process. This process ends when a feasible solution is reached (in Phase 2) or we have used the neighborhood definitions four times (*laps* = 4). In the second case, the current *BestSolution* is the optimal solution.

The local search consists of generating all the possible solutions within the neighborhood with a given time interval (*time*\_*int*). The generation process is parallelized and the respective solutions are stored in a list in the order in which they are generated. Four seeds are then established to initialize a search process within the list. We use the first seed, which identifies a solution in the list, and randomly move one position to the left or right along the list. If the fitness of the initial solution is not outperformed after exploring 25% of the solutions in the list, then we take the second seed and repeat the process. Once all four seeds have been used, the best solution visited in the process is returned.

Finally, note that we did not consider the same the neighborhood definition as in the SA used by [10] in the VNS adaptation proposed in this paper because the local searches we perform generate all the solutions in the respective neighborhood. This does not pose a problem for the four neighborhood definitions that we use in terms of cardinality. However, the number of solutions in a neighborhood based on the definition used in [10] is very high, which would lead to unaffordable computation times.

### *3.3. Phase 2: Deriving a Feasible Solution*

In Phase 2, VNS is run on an initial solution output in Phase 1. VNS should reduce the number of ATCos covering all open sectors in a given airspace sector configuration to below the available number of ATCos, subject to the ATCo working condition constraints.

The solution matrix output by the Phase 2 search is reordered as follows: the ATCo with the smallest workload is placed at the top, followed by the ATCo with the second smallest workload, and so on. On the other hand, the ATCos with the largest workloads are placed at the bottom. This permutation tends to reduce the number of ATCos as the search progresses.

The fitness function considered in Phase 2 is:

$$\max \ f = \begin{cases} w\_1 h + w\_2 g, & \text{if } c > n \\ & g, \text{ if } c \ge n \end{cases} \tag{1}$$

where *c* is the number of ATCos for the current solution, *n* is the number of available ATCos, *g* is the penalty for all unsatisfied constraints (working conditions) and *w*1 and *w*2 represent the relative importance of the components *h* and *g*.

Function *h* should reduce the number of ATCos in the solution below:

$$ih = \frac{1}{c^2} \sum\_{i=1}^c ih\_{i\prime} \tag{2}$$

where *c* is the number of ATCos and *hi* is the number of work time slots for the *i*-th ATCo. The term 1*c*2 means that a decrease in the number of ATCos improves the objective value enormously. Objective values are greater for solutions with a large workload and for ATCos with higher indexes (at the bottom of the solution matrix).

Looking at the objective function and the row permutation of the solutions in Phase 2, the search process appears to reallocate work periods from ATCos at the top of the solution matrix to ATCos in the bottom rows (with the largest workload). This augments the rest periods for the ATCos at the top of the matrix, thus decreasing the number of ATCos required to cover the airspace sector configuration.

Functions *h* and *g* must be normalized in order to correctly use the weighted fitness function, see [10].

Note that, in the four neighborhood definitions, condition (b) "The first ATCo must be located in the solution matrix in a row that is higher up than the second ATCo" is considered in the Phase 2 search process only when the number of ATCos in the solutions is greater than the available number of ATCos and is, otherwise, obviated.

Besides, the neighborhoods are initially used in the order in which they were listed in Section 3.2, but numerical experiments prove that the 4-1-3-2 order provides better solutions once the available number of ATCos is reached.

As already mentioned, VNS is conducted starting from an initial solution output in Phase 1. If a feasible solution is not reached in the search process, then we start again with another initial solution output in phase 1 (10 initial solutions were output in Phase 1). The Phase 3 search process starts from the respective feasible solution. This means that Phase 3 is only executed once. Note that a multi-start SA was proposed by [10], in which Phase 2 was executed for the 10 initial solutions derived from Phase 1, and Phase 3 was executed from each feasible solution reached in Phase 2.

### *3.4. Phase 3: Reaching the Optimal Solution*

In Phase 3, VNS is run again, this time on the feasible solution output in Phase 2, in order to optimize the following four objective functions:

	- (a) *The time ATCos remain in the same sector and working position (planner or executive) should be as close as possible to 45 min*.
	- (b) *The optimal working time between breaks should be 90 min*.
	- (c) *The percentage of ATCo working time in executive positions must be between 40% and 60% of the total working time (not including rest periods)*.

For the mathematical notation and the normalization process of the above objectives and sub-objectives, see [10].

We then transform the original multi-objective optimization problem into a single weighted optimization problem, whose weights, *wi*, are derived using the rank-order centroid (ROC) method [15]. This single weighted optimization accounts for the ordinal information provided by CRIDA experts.

Finally, note that, in the four neighborhood definitions, condition (b) "The first ATCo must be located in the solution matrix in a row that is higher up than for the second ATCo" is not considered in the Phase 3 search process. Moreover, numerical experiments prove that the 2-1-3-4 neighborhood order provides better solutions. Note also that the infeasible solutions generated using the corresponding neighborhood definition in the Phase 3 local searches are not stored in the list.

### **4. Results: VNS and SA Performance Analysis**

In this section, we illustrate the proposed methodology and compare the performance of VNS against SA in Phases 2 and 3 on the basis of four representative and complex instances of the problem corresponding to different airspace sectorings selected by CRIDA experts.
