Literature DB >> 35295716

A mixed integer linear programming model and a basic variable neighbourhood search algorithm for the repatriation scheduling problem.

Sameh Al-Shihabi1,2, Nenad Mladenović3.   

Abstract

Commercial flights nearly halted due to the COVID-19 pandemic in the second quarter of 2020. Consequently, several countries have had to schedule repatriation flights to return their citizens stranded in other countries. Flight routes and schedules are known in normal circumstances, and passengers buy seats on these flights; however, the reverse steps happen in repatriation. Passengers express their need to travel, and flights are scheduled to satisfy their requests. The problem behind this flight schedule can be called the repatriation scheduling problem (RSP), in which we need to repatriate citizens from different countries. The objective of the RSP is to return the most vulnerable citizens first. The capacity of available airplanes and quarantine locations limit the number of repatriated citizens. To address this problem, we have developed a mixed-integer linear program (MILP) to model the RSP. Moreover, we suggest a basic variable neighbourhood search (BVNS) algorithm to solve the problem. We test the BVNS algorithm by creating and solving a set of 108 RSP instances and then comparing the BVNS solutions with the exact ones. Despite allocating only 20 s to run the BVNS algorithm compared to eight hours for a commercial exact solver's branch and bound algorithm, the BVNS algorithm could find better results than the lower bounds for 62 instances and similar values for 17 instances.
© 2022 Elsevier Ltd. All rights reserved.

Entities:  

Keywords:  Covid-19; Optimization; Repatriation; Scheduling; Variable neighbourhood search

Year:  2022        PMID: 35295716      PMCID: PMC8913043          DOI: 10.1016/j.eswa.2022.116728

Source DB:  PubMed          Journal:  Expert Syst Appl        ISSN: 0957-4174            Impact factor:   6.954


Introduction

The spread of the severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2), which is responsible for the coronavirus disease (COVID-19), has caused the most extensive quarantine in human history (Kharroubi & Saleh, 2020). Starting with the Chinese government’s imposition of a lockdown on Hubei province on January 23, 2020 (Lau et al., 2020), most countries followed the same steps after the World Health Organization (WHO) declared that COVID-19 is a pandemic on 11 March 2020 (WHO, 2020b). Thus, many countries restricted all forms of international and domestic travel (Chinazzi et al., 2020) to restrict people’s movement, hoping to prevent the spread of the SARS-CoV-2 virus; consequently, commercial flights were temporarily suspended. Therefore, decision-makers in several countries had to schedule repatriation flights to return their citizens from other countries. In this paper, we model and solve the flights scheduling problem that decision-makers have addressed in an impromptu manner to repatriate their citizens. A good percentage of individuals who requested to be repatriated are expatriate workers who lost their jobs due to the COVID-19 pandemic and could not return to their countries due to the border closure and the suspension of commercial flights. Before the COVID-19 pandemic, the number of expatriate workers was expected to be 87.5 million in 2021, according to Finaccord (2017). In the Middle East alone, one million expatriates were expected to lose their jobs in Saudi Arabia due to the sudden lockdown caused by the COVID-19 pandemic in 2020 (Arab News, 2020). A similar number of expatriates was expected to leave the UAE in 2020 due to COVID-19 (Hashmi, 2020). In addition to work, several other reasons forced people to be out of their countries after the closure of their borders. Millions of people leave their countries for reasons such as tourism and study. Consequently, countries that tried to prevent the infiltration of the SARS-CoV-2 virus by closing their borders have created another problem. What would happen to their citizens if they were left outside their countries? Due to border closures and the suspension of commercial flights, these citizens can neither return to their countries nor survive in foreign countries. Consequently, countries had to schedule repatriation flights to return their citizens. The first repatriation flights due to COVID-19 were from Wuhan in China. Karim et al. (2020) have shown that between 29 January 2020 and 27 February 2020, 56 flights repatriated a total of 8597 individuals from Wuhan to 55 countries. These countries wanted their citizens to leave the epicentre of the problem. After the WHO declaration and borders closure in March 2020, the Philippines, as an example, organized a large-scale repatriation program that was called “Bring them home” (Liao, 2020). It was stated in Liao (2020) that “the coronavirus pandemic has drawn attention to the role of sending states in protecting labour migrants during disruptions, particularly by returning them to their countries of origin”. Other countries that have organized repatriation programs similar to the Philippines include Greece (Lytras et al., 2020), India (Syal, 2020), and Australia (Haydar, 2020), to name a few. These countries have organized similar large-scale repatriation programs in collaboration with their flag-carrying airlines. Since a single airline company was responsible for carrying their citizens, the number of repatriated citizens was limited by the capacities of these airlines, in addition to policies imposed by hosting countries. The availability of quarantine locations also limited the number of repatriated citizens. Most countries have followed the recommendations of the WHO regarding the two-week quarantine duration for all repatriated citizens (WHO, 2020a). Consequently, dedicated locations with limited capacity, typically hotels (New South Wales Government, 2020), were used to quarantine and monitor returned citizens to guarantee that the SARS-CoV-2 virus would not spread in the country. Youssef et al. (2021) describes the practical aspects of Lebanon’s repatriation program. Both the quarantine and airline fleet capacities have forced decision-makers to develop repatriation programs, for example, India (Krishna Kumar, 2020) and Jordan (The Jordan Times, 2020). A repatriation program consists of several phases, and in each phase, a limited number of citizens are repatriated based on the citizen’s circumstances. Thus, most countries have used platforms where citizens interested in return need to complete applications in which they mention the reason for returning. Examples of countries using this procedure include Jordan,1 the Netherlands,2 and India.3 For example, India’s repatriation registration form for returning its citizens from Dubai to India https://www.cgidubai.gov.in/covid_register/ allows users to select one of the following reasons for returning: Medical emergency (self) Medical emergency (family) Death of a family member Stranded tourist/visitor Deportation Loss of employment Expiry of visa Stranded student Pregnancy Other Decision-makers had to choose the countries from which citizens need to be repatriated based on the received cases. Henceforth, we call the decision-maker’s problem of repatriating citizens for one phase the RSP. Fig. 1 shows the sequence of processes to repatriate citizens from foreign countries to the origin country. Each circle in Fig. 1 represents a citizen who wants to return. Circles in black represent citizens of the highest priority to return, followed by moderate priority citizens in dashed circles and low priority citizens in solid circles. Fig. 1 shows that we have two airplanes in stage I, via which we repatriate citizens in countries 3 and 5. Repatriated citizens need to stay in dedicated quarantine locations, as shown in stage II. Unlike the stage I operation—flying citizens—which is a batch operation, stage II—quarantining citizens—is not a batch operation, and each citizen would have a separate room. Note that airplanes need to be full for social and economic reasons. Readers interested in more details about the repatriation process and the possible stakeholders involved in this process are referred to Meena et al. (2021).
Fig. 1

An illustration of the repatriation scheduling problem (RSP).

Previous researchers have only studied and documented repatriation due to COVID-19 from a medical perspective. For example, Lytras et al. (2020) have checked the percentages of repatriated citizens who carried the virus to Greece in March 2020. Similarly, in Içduygu (2020), the SARS-CoV-2’s spread was checked among expatriates flying from Wuhan to their countries in the first three months of 2020. Karim et al. (2020) have shown that it is vital to have multi-disciplinary teams that understand how the virus might spread in an airplane when repatriating citizens and how to mitigate that spread. An illustration of the repatriation scheduling problem (RSP). Unlike the medical aspects related to repatriation, the operational aspects were not studied earlier. To the authors’ knowledge, no research paper has already analysed or developed optimization models that consider the operational side of international repatriation due to pandemics. To fill this gap, we develop a mixed-integer linear program (MILP) that captures the decision-makers’ dilemmas related to repatriating their citizens due to COVID-19 via their flag-carrying airlines. The objective of the suggested MILP is to repatriate the most vulnerable citizens who need to return, given the quarantine locations and airplanes’ capacities. We also solve the RSP using a basic variable neighbourhood search (BVNS) algorithm as the RSP is highly dynamic, i.e., new passengers might register in the repatriation platform to return or cancel their requests. The BVNS algorithm, despite its simplicity, is capable of quickly finding competitive solutions compared to solutions found using a commercial solver’s branch and bound (B&B) algorithm. We generate and solve a set of 108 instances that represent various repatriation scenarios to compare the B&B and BVNS algorithms. In brief, the contributions of our paper are: (i) description and definition of a new optimization problem; (ii) a new mathematical programming formulation of that problem; (iii) design of a heuristic method based on Variable neighbourhood search metaheuristic to solve this new problem; (iv) extensive comparative statistical analysis of the exact and heuristic methods on instances simulated by us. The rest of this paper is organized as follows. Section 2 presents the MILP model for the RSP and explains the model through an illustrative example, whereas Section 3 introduces the BVNS algorithm. A computational study is then presented in Section 4, in which we generate and solve a set of 108 instances. Finally, we discuss our conclusions and possible future research in Section 5.

Mathematical model

We start this section by listing the notation used to define the MILP model. We then formulate the MILP model and explain it through an illustrative example.

Model notations

We divide the notation used in formulating the MILP model into three groups: indices and sets, problem inputs, and MILP model formulation, as shown in column 1 of Table 1. Columns 2 and 3 of Table 1 show the list of symbols and their definitions, respectively.
Table 1

List of notation.

GroupSymbolDefinition
Indices and setsiIndex set of cities in set M={1,2,,m}.
jIndex set of priority groups in set N={1,2,,n}.
kIndex set of airplanes in set U={1,2,,u}.
MSet of cities, M={1,2,,m}.
NSet of priority groups, N={1,2,,n}.
USet of airplanes, U={1,2,,u}.

Problem inputsCkCapacity of airplane kU.
PijThe Number of individuals residing in city iM of group jN.
QCNumber of available quarantine locations.
ωjThe importance measure given to repatriating citizens in group iN.

MILP modelαijAn auxiliary variable that has a value of 1 if the number of citizens repatriated from city iM of group jN, Li, exceeds Li, i.e., LiPijcum, 0 otherwise.
εiAn auxiliary variable that has a value of 1 if the number of citizens in city iM is greater than the sum of capacities of airplanes assigned to the same city, 0 otherwise.
LiA variable that shows the number of citizens repatriated from city iM.
VVery large number.
PijcumA variable showing the cumulative number of people in group jN and other groups with priorities greater than jN, before repatriating any citizen from city iM.
PˆijcumA variable showing the cumulative number of people in group jN and other groups with priorities greater than jN, after repatriating Li citizen from city iM.
RijA variable showing the number of citizens repatriated from group jN residing city iM.
xikA binary decision variable that has a value of 1 if airplane kU is assigned to city iM, 0 otherwise.
List of notation.

Model formulation

Set represents the set of cities from which citizens are repatriated. Citizens in city are divided into priority groups based on their need to return. Set is the set of priority groups. We assume that groups are ranked in a descending order based on their priorities in set so that the priority of group 1 is higher than group 2. We use to show the number of individuals stranded in city from group who want to return to their country. The decision-makers try to return all the citizens stranded out of the country; however, they are constrained by the airplane fleet capacity and quarantine location availability. Due to these limiting constraints, it is crucial to return citizens having high priorities first, i.e., repatriate as much as possible from group 1, followed by group 2, 3, until groups . For group , decision-makers assign weight to show the importance of returning this group. i.e.,  is the importance measure of group . This parameter, , can also be interpreted as the cost of keeping this group out of the home country. The higher the group priority is, the higher the value of is. . In addition to sets and , we also have set that represents the set of flag-carrying airplanes, and each airplane , has capacity . denotes the available quarantine locations. In summary, we have airplanes that would repatriate citizens who reside in different cities. The decision-makers need to decide which airplane to send to one of the cities. Consequently, the main decision variable of the model is that has a value of 1 if airplane is flying to city , 0 otherwise. Note that an airplane needs to carry citizens from city , unless the number of citizens in city is less than . Decision makers want to maximize the sum of the repatriated citizens’ priorities, as shown in Eq. (1), where is the number of citizens repatriated from group residing city . To calculate , we define first a new variable, , that shows the cumulative number of people in group and other groups with priorities greater than , as shown in Eq. (2). For example, assuming that we have three priority groups that are ranked in descending order based on their priorities. We use the notation to show the priority group number and the number of stranded citizens that belong to this group. For this example, assume that we have the following situation: (1400), (2200), and (3150) then , and . As stated earlier, if an airplane is assigned to a city, it needs to fly its maximum capacity for economic and social reasons. Airplane flying to city need to carry passengers, unless , i.e., the number of stranded citizens in city is less than the airplane capacity. Consequently, we use the system of Eqs. (3)–(8), where in these equations represent a large number. Auxiliary variable has a value of 1 if the number of citizens in city is greater than the sum of capacities of airplanes assigned to the same city, 0 otherwise. Based on the value of the number of passengers leaving city , , is either equal to either the sum of capacities of the airplanes assigned to city , as shown in Eqs. (5), (6), or the number of citizens stranded in city , as shown in Eqs. (7), (8). The constraint represented by Eq. (16) guarantees that the number of citizens repatriated from all cities do not exceed the quarantine capacity . To find , we need first to calculate the cumulative number of citizens in groups from each city , after flying back citizens to the home country. We use to show this number. Consequently, and represent the number of citizens in country of priority groups , before and after flying passengers, respectively. We use the system of Eqs. (9)–(14) to find . In this system of Eqs. (9)–(14), We use indicator variable to find if the number of repatriated citizens from city exceeds the number of citizens in groups . Therefore, is 1 if , 0 otherwise, as shown in Eqs. (9), (10). Based on the values of , we calculate , as shown in Eqs. (11)–(14). Knowing the value of enables us to calculate as shown in Eq. (15). Lastly, Eq. (17) guarantees that an airplane can at most fly to a single destination. In summary, the MILP model of the RSP can be represented using Eqs. (1)–(17) where the main decisions are how to assign airplanes to a cities, as shown in Eq. (18). We use Eqs. (2)–(15) to find the number of citizens repatriated from each group and city. Eq. (16) guarantees that the maximum number of repatriated citizens does not exceed , whereas Eq. (17) prevent any airplane from being assigned to more than one destination.

Illustrative example

Assume that we have 5 cities having 4 priority groups as shown in Table 2. The priority values of the four groups are shown in the last row of Table 2. Assume also that we have one type of airplanes where each airplane has a capacity of 300 passengers. Table 3 shows the solutions of this problem for a different number of airplanes and quarantine capacities. Columns 1 and 2 of Table 3 show the number of airplanes and quarantine locations, respectively. Columns 3–7 of Table 3 show the solution of the problem, where for each city we show the number of airplanes assigned to the city and the number of passengers flying out of the city. The objective function value (OFV) is shown in column 8 of Table 3.
Table 2

Number and groups of Jordanian citizens expressing their interests to return back.

CityGroups
ABCD
1200300100100
23001002000
350100350150
4250150200200
5500015050
Priorities10642
Table 3

Solutions of the illustrative example for different number of airplanes.

AirplanesQuarantineCities
OFV
NumberCapacity12345
220000(1300)00(1300)6000
42000(1300)(1300)0(1300)(1300)11,400
62000(1300)(1300)(1300)(1300)(2600)15,500
82000(1300)(1300)(1300)(1300)(2600)15,500
82500(2600)(1300)(1300)(1300)(2600)18,500
102500(2600)(2600)(1300)(1300)(2600)18,500
103000(2600)(2600)(2600)(2600)(2600)20,900
123000(2600)(2600)(2600)(2600)(2600)20,900
123500(2600)(2600)(2600)(3800)(3700)21,600
124000(2600)(2600)(2600)(3800)(3700)21,600
144000(3700)(2600)(3650)(3800)(3700)21,900
Table 3 shows how the OFVs increase with an increase in the number of airplanes or quarantine locations. For example, for 2000 quarantine locations, the OFVs are 11,400 and 15,500 for the four and six airplanes scenarios, respectively. The OFVs did not change when increasing the number of airplanes from 6 to 8 for 2000 quarantine locations since quarantine locations limited the number of repatriated citizens, not the number of airplanes. Number and groups of Jordanian citizens expressing their interests to return back. Solutions of the illustrative example for different number of airplanes.

Variable neighbourhood search

In this section, we describe our BVNS algorithm to solve the RSP. We first review BVNS algorithm variants. We then show how did we apply the BVNS algorithm to the RSP.

VNS

VNS algorithms are metaheuristics designed to solve combinatorial and global optimization problems. Iteratively and systematically, a VNS algorithm perturbs the incumbent solution of the problem and applies local search algorithm(s) to improve the perturbed solution (e.g., Hansen and Mladenović, 1997, Hansen and Mladenović, 1999, Hansen et al., 2010, Mladenović and Hansen, 1997). If the locally optimal solution found in the perturbed solution’s neighbourhood is better than the incumbent solution, then the VNS algorithm updates the incumbent solution. According to Hansen et al. (2010), for a minimization problem, VNS is based on the following facts: Fact 1. A local minimum with respect to one neighbourhood structure is not necessarily a local minimum for another neighbourhood structure. Fact 2. A global minimum is a local minimum with respect to all possible neighbourhood structures. Fact 3. For many problems, local minima with respect to one or several neighbourhoods is relatively close. A generic algorithm that shows the BVNS steps is shown in Algorithm 1. In the initialization phase, lines 3–5, we start by selecting a set of neighbourhoods that we use in the shaking step of the search algorithm to perturb the incumbent solution. represents the set of solution in neighbourhood . neigbhorhouds are usually nested. In addition to selecting the neighbourhoods in the initialization phase, we generate an initial solution and choose a stopping condition before starting the search phase. The initial solution is considered the incumbent one. The search phase consists of two main steps, shaking and local search, lines 10–12 of Algorithm 1. In the shaking step, we randomly generate a solution from the th neighbourhood of . We denote the perturbed solution by . Note that is initialized to 1, line 7. We apply the local search algorithm to the perturbed solution and save the best-found solution to . If is better than the incumbent solution then we update and set ; otherwise, we further perturb the current incumbent solution using the neighbourhood. In addition to the BVNS algorithm, VNS framework has many other variants. For example, suppose we skip the local search step in Algorithm 1. In that case, we obtain a reduced VNS (RVNS) algorithm that is akin to the Monte-Carlo method but is more systematic and leads to better solutions (Hansen and Mladenović, 2001, Mladenović et al., 2003). In the General VNS (GVNS) algorithm, we sequentially apply more than one search technique in the local search step, line 11 of algorithm 1, Brimberg, Mladenović, Todosijević, and Urošević (2017), and Soylu (2015). If the local search is confined to a subset of the whole search space, then we have the variable neighbourhood decomposition search (VNDS) (Lazić, Hanafi, Mladenović, & Urošević, 2010). BVNS, RVNS, GVNS, and VNDS are just examples of the different VNS variants, interested reader are referred to Hansen and Mladenovic, 2003, Hansen and Mladenović, 2014, Hansen et al., 2008 and Hansen et al. (2010) for more comprehensive covering of the VNS variants. VNS algorithms have been applied to both discrete and continuous optimization problems (Mladenović, Dražić, Kovačevic-Vujčić, & Čangalović, 2008). VNS was used to solve a large number of problems such as bin packing (Santos et al., 2019), vehicle routing problem (Simeonova, Wassan, Salhi, & Nagy, 2018), nurse rostering (Rahimian, Akartunalı, & Levine, 2017), time tabling (Tan, Goh, Kendall, & Sabar, 2021), job shop scheduling (Yazdani, Amiri, & Zandieh, 2010) and location (Fleszar & Hindi, 2008). Other interesting, non-classical VNS applications can be found in Mladenović et al., 2020, Pardo et al., 2013 and Todosijević, Mladenović, Hanafi, and Crévits (2012).

BVNS to RSP

To explain the BVNS algorithm that we use to solve the RSP, we start by describing how we represent the solution. This description has enabled us to create a set of nested neighbourhoods for the shaking step; moreover, this representation has also allowed us to apply a simple but efficient local search to improve perturbed solutions. After describing the solution representation, we explain how we generate the initial solution, followed by a description of the BVNS algorithm to solve the RSP.

Solution representation

In our implementation, we represent the solution as a vector, as shown in Table 4 for a hypothetical case. The solution shows the (airplane,city) assignments. For example, airplane A is assigned to city 5, while airplane F is not assigned to any city. This solution can be represented as . If the sum of airplane capacities is greater than the quarantine locations, then it means that some airplanes might not be used.
Table 4

Solution representation in the BVNS algorithm.

AirplaneABCDEFG
City52113None4
Solution representation in the BVNS algorithm.

Initial solution generation

To find an initial solution, we follow the following steps: rank airplanes in a non-decreasing order based on their capacity, choose the city that will generate the highest sum of priority values of returned citizens, as shown in Eq. (19). If more than one city result in the same value, we randomly choose one of these cities with equal probabilities. Intuitively, choosing the small airplanes first allows decision-makers to divide repatriated citizens into smaller groups. Thus, decision-makers have more batching options. This increase in batching options is expected to increase the OFVs. Another practical reason for choosing to fill smaller airplanes first has to do with trained pilots to fly these airplanes. In general, more pilots are trained to fly small airplanes that big ones.

Neighbourhood definition

Like any other combinatorial optimization problem, the RSP is about finding an optimal solution where and represent the sets of feasible solutions and solution space, respectively. A generic representation of a maximization, combinatorial optimization problem is shown in Eq. (20). , , is a finite set of pre-selected neighbourhood structures, whereas is the set of solutions in the th neighbourhood of x. Neighbourhood of solution is defined by the Hamming distance between and . The Hamming distance between two RSP solutions represent the sum of different (airplane, city) assignments. For example, solution has a Hamming distance of 3 from the solution show in Table 4. Henceforth, we use to represent the distance between solution and , as shown in Eq. (21). Consequently, we can define Neighbourhood as shown in Eq. (22).

Shaking and local search

The shaking and local search steps are the two main components for any BVNS algorithm. For the shaking step, we use , , neighbourhoods, where the value of is experimentally chosen as we show in the next section. Assume a small problem having two airplanes and two cities. Assuming an incumbent solution , and , then we have the following two shaking neighbourhoods: . . It is clear that and for and , respectively. In the shaking step and depending on the value, one of the possible neighbouring solutions is randomly selected. In the local search step, we only use the neighbourhood; moreover, we choose a steepest-ascent strategy to move to a neighbouring solution, i.e., we compare the different neighbouring solutions and choose the one that leads to the best OFVs. . In the local search step, we change the assignment of one airplane at a time and choose the best reassignment, whereas in the shaking operation, we randomly change the assignments of airplanes as defined by neighbourhood . Algorithm 2 shows the main steps of the BVNS algorithm as we apply it to solve the RSP. Inputs to the algorithm include the initial solution, number of neighbourhoods used in the shaking operation, and maximum computation time. Solution is initialized by copying the initial solution. Moreover, we start with the least shaking value, . The main loop of Algorithm 2 consists of two steps, shaking and local search. In the shaking step, assignments are randomly changed with respect to to generate solution . The local search algorithm tries to find the best solution in . If the solution found in is better than , then we update and have ; otherwise, we increment . Lastly, we end the algorithm if we find that the computation time exceeds after the local search step.

Computational study

In this section, we compare the efficiency and effectiveness of the BVNS algorithm with the B&B algorithm of CPLEX12.10. For comparison, we generate a set of 108 instances of different configurations. We start this section by describing the generated instances. We then tune the BVNS parameters before running our comparison experiment and analysing its results.

Instances

To generate a set of representative instances, we consider the following parameters: Number of cities. We use the following number of cities: 150, 200, and 250. Number of trips is 600, 800, and 1000. Airplanes’ capacities. We randomly select one of the following values of the airplane capacities 100, 150, 200, 250, 300, and 350. Number of priority groups. We use equal to 3, 6 and 9. Assigning priority values to priority groups. We use two techniques to generate priority values for the priority groups: Deterministic: Priority value equals the group number. For example, for the three-group case, the priority values are 1, 2 and 3. Random: Randomly choose values from a normal distribution having a mean of and standard deviation of . Number of individuals per group. Using the average capacity of airplanes, we uniformly generate the values to be between 0.5 to 1.5 of this average capacity. Fleet capacity to quarantine capacity ratio, FQ. We choose the quarantine capacity to be either 80% or 120% of the fleet capacity. Thus, the number of repatriated citizens would be limited by either the fleet capacity or the number of quarantine locations. Based on the parameters mentioned above, we have 108 configurations, i.e., three values for , three values for , three values for the number of groups, two ratios of , and two methods to choose priority values. We use the following format to name the generated instances where A, B, C, D, and E show the number of cities, number of airplanes, number of priority groups, priority values’ selection method, and the fleet to quarantine capacity, respectively. We use either D or R for the deterministic and random priority values’ generation techniques, respectively. For example, instance 150-600-3-D-0.8 means that we have 600 airplanes, via which we need to repatriate citizens from 150 cities. The citizens belong to three priority groups, for which we choose the priority values using the deterministic technique. The 0.8 value shows that the number of quarantine locations is 80% of the seats’ sum in all airplanes. We describe the instances’ generation using Algorithm 3. In Algorithm 3, the matrix represents the number of individuals in each city and group. The matrix components are compatible with the aforementioned definition. Vectors and represent the airplanes’ capacities and priority values per group, respectively. The number of quarantine locations, , is the last output needed to create an instance. Algorithm 3 starts by initializing counter airplane to 1 and variable sumCapacity to 0. We use the variable sumCapacity to calculate the sum of seats in the randomly chosen airplanes. We use this value in addition to to find . Algorithm 3 consists of three loops. In the first loop, line 4–8, we randomly choose the airplanes capacities, line 5, we add these capacities to sumCapacity, line 6, and update the airplane counter, line 7. The first loop ends once the airplane counter is equal to . Line 9 shows how we use sumCapacity to find . Before starting the second loop, lines 11–15, we calculate the airplanes’ average capacity, avgCap, as shown in line 10. In the second loop, we create the matrix. Finally, the third loop, lines 16–18, shows how we assign priority values to the different groups, i.e., how to generate . Average solutions found for selected instances using different values for . P-values as obtained by the Wilcoxon signed-rank test for different pairs of values.

Experiments

We solve the 108 instances using both the BVNS algorithm and the default B&B algorithm of CPLEX12.10 to check the quality of the BVNS solutions. However, before solving these instances, we run a tuning experiment to choose . In all our experiments, we report the OFVs, as shown in Eq. (1). The processor used to run all experiments is Core (TM) i7-1065G7, 1.30 GHz. Lastly, the BVNS algorithm was coded in C language.

Tuning experiment

Users need to choose two parameters only to run the BVNS algorithm: and . The more time the algorithm is given, the better the results are. Having s was sufficient to obtain competitive results; thus, we do not tune the parameter. However, we test five values for the parameter: 5, 10, 15, 20, and 25, to choose the best value. We solve 18 instances using the five values, as shown in Table 5. The chosen instances were selected to cover a wide range of cases. Column 1 of Table 5 shows the instance name while the other five columns show the average OFVs that we find by solving each instance 25 times.
Table 5

Average solutions found for selected instances using different values for .

Instancekmax
510152025
150-600-9-D-1.2817,658.40817,656.60817,575.60817,583.60817,562.50
150-600-9-R-1.21,319,837.901,319,839.601,319,828.301,319,820.201,319,820.10
150-800-9-D-1.21,080,136.901,080,111.401,080,144.801,080,207.301,080,244.50
150-800-9-R-1.21,820,399.901,820,478.301,820,408.901,820,394.201,820,131.80
150-1000-9-D-1.21,335,187.401,335,148.701,335,137.101,335,049.301,334,997.90
150-1000-9-R-1.22,137,139.402,137,103.802,137,009.402,137,106.602,137,104.70
200-600-6-D-0.8499,114.70499,109.60499,117.40499,113.60499,112.30
200-600-6-D-1.2564,792.90564,793.30564,789.30564,794.00564,789.70
200-800-3-D-0.8362,473.70362,493.20362,505.00362,486.00362,481.60
200-800-9-D-1.21,086,538.901,086,646.601,086,641.001,086,707.501,086,776.90
200-1000-9-D-1.21,373,005.501,373,076.101,373,048.501,373,041.201,373,037.90
200-1000-9-R-0.81,585,900.501,585,902.701,585,901.901,585,901.401,585,902.30
250-600-9-R-0.8997,707.90997,705.70997,696.80997,697.60997,694.30
250-600-9-R-1.21,539,459.201,539,404.701,539,379.301,539,423.601,538,316.70
250-800-9-R-0.81,323,761.801,323,767.501,323,761.301,323,768.301,323,740.90
250-800-9-R-1.21,819,138.601,819,194.501,819,075.401,819,082.301,819,062.40
250-1000-6-R-0.81,541,729.601,541,733.1,541,731.201,541,729.901,541,728.30
250-1000-6-R-1.22,195,729.102,195,721.402 195 762.32,195,742.402,195,712.40
Number of Bests46332
The best average results are underlined in Table 5, whereas the number of best answers found for each value are shown in the last row of Table 5. We use the Wilcoxon signed-rank test (Woolson, 2007) to check if there is a significant difference between the results obtained by the different values. We conduct ten tests to compare all the different paired results. Table 6 shows the obtained for each comparative test. Assuming a 0.05 level of significance, we can ignore from any further consideration because its associated P-values are less than 0.05, as can be seen by in the last column and row of Table 6. The results, however, show no significant difference among the other four values of . Since we cannot statistically select the best value, we choose because six best answers were found using this value.
Table 6

P-values as obtained by the Wilcoxon signed-rank test for different pairs of values.

kmax
510152025
kmax50.6470.5800.6700.098
100.6470.0660.3270.026
150.5800.0660.7990.081
200.6700.3270.7990.018
250.0980.0260.0810.018

Comparative study

We solve the MILP models of the 108 instances using an exact solver and using the BVNS algorithm to check the efficiency and effectiveness of the BVNS algorithm. Table 7 shows the results of this experiment where column 1 shows the instance names. The first part of Table 7, columns 2–4, show the LB, UB, and gap between the two bounds, respectively, by running the default B&B algorithm of CPLEX12.10 for 8 h, 28,800 s, or until an optimal solution is found, i.e. . The formula used to calculate the gap values in column 4 of Table 7 is . The second part of Table 7, columns 5 and 7, reports the OFVs obtained using the BVNS algorithm where each instance is solved 10 times using . Columns 5 and 6 of Table 7 show the best and average solutions, respectively. The last part of Table 7, columns 7, shows the percent deviation between the best BVNS solution compared to the LB found by the exact method , .. We choose the LB solutions in calculating deviations between the two algorithms because these solutions are feasible. Note that for deviations less than 0.01%, we use + sign to indicate a better performance by the BVNS algorithm.
Table 7

Comparison between the exact and the VNS solutions.

InstanceCPLEX
BVNS
Dev.
UBLBGap (%)BestAverage%
150-600-3-D-0.8274,649.0274,3620.10274,589274,589.00.08
150-600-3-D-1.2332,411.0305,8018.70305,801305,801.00.00
150-600-3-R-0.8259,605.0259,605.00.00259,605.0259,605.00.00
150-600-3-R-1.2516,129.7462,562.911.58462,562.9462,562.90.00
150-600-6-D-0.8513,711.0513,2100.10513,231513,231.0+
150-600-6-D-1.2611,439.0573,0226.70573,144573,144.00.02
150-600-6-R-0.8896,424.1895,305.70.12895,016.1895,016.1−0.03
150-600-6-R-1.21,008,133.4896,555.512.45896,555.5896,555.50.00
150-600-9-D-0.8728,773.0728,5220.03728,413728,413.0−0.01
150-600-9-D-1.2868,625.0817,2456.29817,606817,433.00.04
150-600-9-R-0.81,237,482.01,237,175.00.021,234,900.01,234,900.0−0.21
150-600-9-R-1.21,516,494.81,319,573.414.921,319,807.01,319,800.00.02
150-800-3-D-0.8355,287.0354,9890.08354,827354,827.0−0.05
150-800-3-D-1.2456,725.0420,5858.59420,585420,585.00.00
150-800-3-R-0.8491,164.3490,738.50.09490,558.0490,558.0−0.04
150-800-3-R-1.2756,939.9741,249.02.12741,258.0741,258.0+
150-800-6-D-0.8662,415.0662,2320.03661,485661,485.0−0.11
150-800-6-D-1.2801,581.0750,7176.78750,745750,745.0+
150-800-6-R-0.81,157,575.91,156,809.40.071,157,572.01,157,572.00.07
150-800-6-R-1.21,207,829.91,126,380.47.231,126,594.01,126,594.00.02
150-800-9-D-0.8964,186.1961,9720.23962,186962,186.00.02
150-800-9-D-1.21,081,769.41,075,9090.541,080,1561,079,973.00.39
150-800-9-R-0.81,857,913.01,857,511.00.021,856,769.01,856,769.0−0.04
150-800-9-R-1.22,027,362.81,816,872.411.591,820,540.01,820,434.00.2
150-1000-3-D-0.8452,911.0452,4990.09452,671452,671.00.04
150-1000-3-D-1.2560,545.0515,7658.68515,675515,675.0−0.02
150-1000-3-R-0.8709,157.4708,966.00.03708,749.5708,749.5−0.03
150-1000-3-R-1.21,058,693.0944,926.612.04944,926.6944,926.60.00
150-1000-6-D-0.8852,014.0851,7250.03851,894851,894.00.02
150-1000-6-D-1.21,015,194.0950,3606.82950,595950,595.00.02
150-1000-6-R-0.81,557,130.41,547,935.20.591,547,019.21,547,019.2−0.06
150-1000-6-R-1.21,603,409.81,476,669.28.581,476,958.31,476,958.30.02
150-1000-9-D-0.81,196,263.01,196,1510.011,196,2231,196,223.00.01
150-1000-9-D-1.21,414,288.01,333,3486.071,335,1621,335,083.00.14
150-1000-9-R-0.82,167,499.62,166,777.40.032,166,365.92,166,365.9−0.02
150-1000-9-R-1.22,392,003.22,136,325.811.972,137,172.42,137,116.90.04
200-600-3-D-0.8276,975.0276,3010.24276,595276,595.00.11
200-600-3-D-1.2342,120.0341,6600.13341,660341,660.00.00
200-600-3-R-0.8597,284.2596,728.70.09596,366.3596,366.3−0.06
200-600-3-R-1.2617,690.2613,441.90.69611,902.7610,790.4−0.25
200-600-6-D-0.8502,175.7499,7360.49499,114499,094.6−0.12
200-600-6-D-1.2601,987.0562,7036.98564,794564,768.50.37
200-600-6-R-0.8576,671.3576,461.00.04575,501.2575,474.2−0.17
200-600-6-R-1.21,404,501.31,218,466.015.271,219,142.51,219,128.80.06
200-600-9-D-0.8705,717.2702,3180.48701,766701,742.2−0.08
200-600-9-D-1.2847,577.0793,1396.86797,947797,592.20.60
200-600-9-R-0.81,217,347.71,217,077.20.021,214,903.21,214,856.2−0.18
200-600-9-R-1.21,428,400.51,312,056.28.871,312,923.21,312,548.20.07
200-800-3-D-0.8362,985.0362,4080.16362,505362,504.60.03
200-800-3-D-1.2449,925.0413,9558.69413,955413,955.00.00
200-800-3-R-0.8470,532.8470,282.80.05470,459.2470,459.20.04
200-800-3-R-1.2388,894.6359,598.68.15359,621.2359,621.20.01
200-800-6-D-0.8669,089.0669,0890.00668,994668,993.0−0.01
200-800-6-D-1.2798,355.0746,3826.96747,194747,194.00.11
200-800-6-R-0.81,068,196.91,067,819.00.041,066,688.91,066,688.9−0.11
200-800-6-R-1.21,342,415.61,190,603.412.751,191,052.31,191,052.30.04
200-800-9-D-0.8976,304.7969,4000.71969,144969,144.0−0.03
200-800-9-D-1.21,152,237.01,079,1976.771,086,8591,086,665.50.70
200-800-9-R-0.81,200,959.21,198,900.90.171,199,214.81,199,213.30.03
200-800-9-R-1.22,160,708.51,935,397.311.641,935,698.21,935,652.70.02
200-1000-3-D-0.8453,616.0453,0840.12453,216453,216.00.03
200-1000-3-D-1.2567,577.0522,3478.66522,357522,357.0+
200-1000-3-R-0.8713,515.9712,840.80.09712,731.0712,731.0−0.02
200-1000-3-R-1.2576,930.8507,454.313.69507,454.3507,454.30.00
200-1000-6-D-0.8831,907.0831,7140.02831,367831,367.0−0.04
200-1000-6-D-1.2975,633.0915,6396.55916,193916,193.00.06
200-1000-6-R-0.81,327,015.91,327,015.90.001,326,567.91,326,567.9−0.03
200-1000-6-R-1.22,002,829.01,817,682.810.191,821,404.01,821,404.00.2
200-1000-9-D-0.81,187,698.01,187,6980.001,187,1651,187,165.0−0.04
200-1000-9-D-1.21,457,644.01,369,5336.431,373,1301,372,798.70.26
200-1000-9-R-0.81,586,042.61,585,888.00.011,585,903.11,585,903.1+
200-1000-9-R-1.22,613,334.82,326,629.112.322,331,644.62,331,341.90.22
250-600-3-D-0.8281,004.0280,6940.11280,717280,676.30.01

250-600-3-D-1.2337,822.0310,6928.73310,702310,702.0+
250-600-3-R-0.8412,523.7412,272.20.06412,473.8412,440.80.05
250-600-3-R-1.2695,346.3590,141.417.83590,141.4590,141.40.00
250-600-6-D-0.8492,414.0492,3100.02490,790490,582.2−0.31
250-600-6-D-1.2601,015.0562,2336.90562,934562,741.00.12
250-600-6-R-0.8878,103.8877,958.10.02876,497.6875,677.0−0.17
250-600-6-R-1.2720,199.4675,802.86.57675,936.3675,904.30.02
250-600-9-D-0.8708,174.0707,9650.03706,458706,004.0−0.21
250-600-9-D-1.2834,751.0783,5616.53786,359785,986.30.36
250-600-9-R-0.8998,385.8998,169.20.02997,704.6997,628.3−0.05
250-600-9-R-1.21,711,258.31,530,472.811.811,538,797.61,537,769.20.54
250-800-3-D-0.8362,583.0362,4410.04362,343362,276.6−0.03
250-800-3-D-1.2450,379.0414,2398.72414,239414,239.00.00
250-800-3-R-0.8606,342.6604,678.80.28605,170.2602,717.90.08
250-800-3-R-1.21,139,993.6998,606.414.16998,606.4998,606.40.00
250-800-6-D-0.8668,624.0668,4540.03668,348668,231.8−0.02
250-800-6-D-1.2786,515.0735,4886.94736,644736,642.30.16
250-800-6-R-0.81,124,947.51,124,731.30.021,123,179.01,123,169.3−0.14
250-800-6-R-1.21,762,496.41,561,454.212.881,564,705.61,564,705.50.21
250-800-9-D-0.8957,210.0956,7950.04956,987956,846.80.02
250-800-9-D-1.21,174,051.01,103,9206.351,104,8281,104,486.60.08
250-800-9-R-0.81,324,840.01,324,840.00.001,323,762.11,323,752.6−0.08
250-800-9-R-1.22,053,715.21,818,806.912.921,819,571.11,819,396.20.04
250-1000-3-D-0.8460,302.0460,0450.06459,842459,842.0−0.04
250-1000-3-D-1.2561,064.0516,0278.73516,094516,094.00.01
250-1000-3-R-0.8715,737.4711,874.60.54715,035.4715,035.40.44
250-1000-3-R-1.2816,331.9733,049.411.36733,091.1733,091.10.01
250-1000-6-D-0.8845,762.8838,1940.90840,902840,901.40.32
250-1000-6-D-1.2979,761.0908,4647.85919,047919,047.01.15
250-1000-6-R-0.81,542,044.51,541,351.10.041,541,738.61,541,723.00.03
250-1000-6-R-1.21,466,381.21,324,902.210.681,336,454.91,336,454.60.86
250-1000-9-D-0.81,216,568.61,195,6261.751,205,0521,205,034.20.78
250-1000-9-D-1.21,432,947.01,333,1037.491,350,8411,350,628.51.31
250-1000-9-R-0.82,012,399.71,926,784.84.441,926,624.21,926,618.3−0.01
250-1000-9-R-1.22,436,395.72,174,451.712.052,195,616.32,195,478.30.96
When comparing the LB and UB of the exact solver, as shown in columns 2–4 of Table 7, we find that the optimal solutions of only five instances were found in 8 h. Moreover, the average gap between the two bounds is 4.6%, while the maximum gap between the two bounds is 17.8 for instance 250-600-3-R-1.2. Analysing the BVNS solutions, as shown in columns 5 and 6 of Table 7, we find that the average BVNS solutions were equal to the best BVNS solutions for 59 instances, i.e., the BVNS algorithm always converges to the same solution, which can either be a local or a global optimum. Out of these 59 instances, the BVNS algorithm converges to 28 better, 12 equal and 19 worse solutions than the LBs found by the exact solver, respectively. Moreover, the average deviation between the best and average BVNS solutions for the 108 instances, , did not exceed 0.02%. This small deviation shows the robustness of the BVNS algorithm in solving the RSP. Comparison between the exact and the VNS solutions. A positive deviation in column 7 of Table 7 means that the best BVNS solution is better than the LB solution. The BVNS algorithm found better solutions for 62 instances, more than half of the instances. Conversely, the LB solutions were better for 29 instances, and the same solutions were found by both algorithms for 17 instances. We statistically check the significance of the BVNS results using the Wilcoxon signed-rank test. We compare the best BVNS solutions to the LB solutions found by CPLEX12.10. The -value of the test is 0.009, which shows that there is a significant difference between the BVNS solutions and the LBs found by the exact solver. Given the solution quality and computation time, only 20 s, in addition to its simplicity in terms of explaining it for non-professional decision-makers make the BVNS algorithm a trusted algorithm to solve the RSP.

Conclusion and future work

In this paper, we introduce a real-life new problem caused by COVID-19 that we call RSP. This problem pertains to scheduling flights to repatriate a country’s citizens when they are stranded in other countries. Decision-makers in countries that had repatriation programs must rely on their flag-carrying airlines to repatriate their citizens. Moreover, repatriated citizens must stay in quarantine locations that have limited capacity. Decision-makers must prioritize the return of citizens who could not afford to live abroad or have high necessities to return. We model the RSP from the decision-makers perspective through a MILP. We also suggest a BVNS algorithm to solve this problem. We generate a set of 108 instances and solve these instances using an exact solver and the BVNS algorithm. When comparing the BVNS algorithm to the exact MILP, it is evident that the BVNS algorithm shows competitive results concerning time and solution quality. The BVNS algorithm was allowed 20 s to execute, compared to eight hours for the exact algorithm. The model assumes a static RSP; however, the RSP can be dynamic, and quick solutions are needed; thus, decision-makers can rely on the BVNS for high-quality solutions in a short time. We hope that researchers may extend the proposed model to other real-life repatriation problems that countries might face. For the mathematical models, several real-life constraints were not considered—for example, countries allowing a certain number of flights per day. Another example is the scheduling of pilots and flight crews. If pilots need to stay in quarantine as do passengers, flight crews may be a significant constraint. Moreover, researchers can improve the MILP formulation or suggest new meta-heuristics to solve this problem. Last, we hope that governments can use these models to address other repatriation or evacuation problems.

CRediT authorship contribution statement

Sameh Al-Shihabi: Conceptualization, Methodology, Software, Formal analysis, Writing - original draft. Nenad Mladenović: Methodology, Software, Formal analysis, Writing - review and auditing.

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
  7 in total

1.  High prevalence of SARS-CoV-2 infection in repatriation flights to Greece from three European countries.

Authors:  Theodore Lytras; George Dellis; Anastasia Flountzi; Sophia Hatzianastasiou; Georgia Nikolopoulou; Katerina Tsekou; Zafiris Diamantis; Grigoria Stathopoulou; Marianthi Togka; Gerasimos Gerolymatos; George Rigakos; Spiridon Sapounas; Sotirios Tsiodras
Journal:  J Travel Med       Date:  2020-05-18       Impact factor: 8.490

2.  Repatriation operation in South Australia during the COVID-19 pandemic: initial planning and preparedness.

Authors:  Sonali Meena; Joel Chan; Tuong-Vi Phan; Samantha Butenko; Jenny Hurley; Paul McGowen; Emily Kirkpatrick; Lisa Upton; Razlyn Abdul Rahim; Matthew McConnell; Robert Hall
Journal:  Commun Dis Intell (2018)       Date:  2021-05-27

3.  The positive impact of lockdown in Wuhan on containing the COVID-19 outbreak in China.

Authors:  Hien Lau; Veria Khosrawipour; Piotr Kocbach; Agata Mikolajczyk; Justyna Schubert; Jacek Bania; Tanja Khosrawipour
Journal:  J Travel Med       Date:  2020-05-18       Impact factor: 8.490

4.  The effect of travel restrictions on the spread of the 2019 novel coronavirus (COVID-19) outbreak.

Authors:  Matteo Chinazzi; Jessica T Davis; Marco Ajelli; Corrado Gioannini; Maria Litvinova; Stefano Merler; Ana Pastore Y Piontti; Kunpeng Mu; Luca Rossi; Kaiyuan Sun; Cécile Viboud; Xinyue Xiong; Hongjie Yu; M Elizabeth Halloran; Ira M Longini; Alessandro Vespignani
Journal:  Science       Date:  2020-03-06       Impact factor: 47.728

5.  Are Lockdown Measures Effective Against COVID-19?

Authors:  Samer Kharroubi; Fatima Saleh
Journal:  Front Public Health       Date:  2020-10-22
  7 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.