Computers & Operations Research 40 (2013) 207–213
Contents lists available at SciVerse ScienceDirect
Computers & Operations Research journal homepage: www.elsevier.com/locate/caor
An efficient hybrid meta-heuristic for aircraft landing problem Amir Salehipour a,n, Mohammad Modarres b, Leila Moslemi Naeni b a b
Department of Industrial Engineering, Islamic Azad University, Garmsar Branch, Garmsar, Iran School of Industrial Engineering, Sharif University of Technology, Tehran, Iran
a r t i c l e i n f o
abstract
Available online 19 June 2012
Aircraft landing problem is to assign an airport’s runways to the arrival aircrafts as well as to schedule the landing time of these aircrafts. In this paper, first a mixed integer goal programming model is developed. Then, due to the complexity of the problem, which is NP-hard, we design a hybrid metaheuristic applying simulated annealing framework. The computational results show that the proposed algorithm can obtain the optimal solution for instances up to 100 aircrafts, and also it is capable of finding very high quality and comparable solutions for the problems with up to 500 aircrafts and 5 runways in a short time. & 2012 Elsevier Ltd. All rights reserved.
Keywords: Aircraft scheduling Mixed-integer goal programming Simulated annealing meta-heuristic Heuristic
1. Introduction Nowadays, airlines play an important role in the transportation, and a major volume of transportation is carried by aircrafts. Typically, the cost of air transportation is much higher than other transportations means. The cost of landing aircraft, if deviated from its target landing time, is considered to be a substantial amount. Thus, minimizing this cost would be of importance from both airlines and passengers’ points of view. This has given the optimal aircraft landing schedule as one of the most important operational schedule. The objective of this paper is to minimize the landing cost of aircrafts by appropriate scheduling. The aircraft landing problem consists of determining an optimal schedule of landing aircrafts on airport’s runways and also allocating the arriving aircrafts to the available runaways. The objective is to minimize the total deviation of landing time from the target time (both earliness and tardiness). This problem is known to be NP-hard. Thus, it is not possible to solve largescale instances in a reasonable amount of time. Therefore, the major contribution of this paper it to derive an optimal solution for problems up to 100 aircrafts, and also to develop an efficient hybrid meta-heuristic (based on the simulated annealing algorithm) to derive very high quality solutions for instances with up to 500 aircrafts. We discuss the previous research on this problem by reviewing the most important research in this area. Ernst et al. [6] developed a special purpose simplex algorithm for this problem,
n
Corresponding author. E-mail addresses:
[email protected] (A. Salehipour),
[email protected] (M. Modarres),
[email protected] (L. Moslemi Naeni). 0305-0548/$ - see front matter & 2012 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.cor.2012.06.004
and obtained an optimal solution for instances with 44 aircrafts and 4 runways. Beasley et al. [3] presented a mixed-integer zero– one formulation of the problem for a single runway and extended it to multiple runways. They provided optimal solutions for instances up to 50 aircrafts. Following their previous work, Beasley et al. [4] studied the dynamic variant of the problem. Pinol and Beasly [11] developed a scatter search meta-heuristic to solve the instances with 500 aircrafts, although their research on finding optimal solution is limited to the instances up to 50 aircrafts. Hansen [7] considered a simplified variant of the problem by taking into account different assumptions, and ¨ reported results for instances up to 20 aircrafts. Bauerle et al. [2] developed a model for the landing aircrafts based on the queuing theory concept. They solved instances with up to 75 aircrafts and two runways. Soomer and Franx [12] studied the single runway problem where airlines provide cost functions related to arrival delays for their flights. They implemented a local search heuristic to obtain reasonable solutions for instances of up to 100 aircrafts. Artiouchine et al. [1] described several special cases that can be solved in polynomial time. They provided a mixed integer programming formulation to solve special cases of the problem, and a general hybrid branch and cut framework to solve the problem with arbitrary time windows. According to the review of the previous research on the problem, both exact and heuristic algorithms have been developed for the problem. However, the computational complexity behind the problem restricts the optimal solutions for even medium-sized instances. This has motivated some researchers to consider heuristic and meta-heuristic algorithm as solutions approaches for the problem. Although these algorithms do not guarantee optimal solutions, they can yield near-optimal solutions in a reasonable amount of time.
208
A. Salehipour et al. / Computers & Operations Research 40 (2013) 207–213
The paper is organized as follows. In Section 2 we define the problem. In Section 3 a mixed-integer goal programming formulation is developed for the problem. Following the complexity of the problem, in Section 4 a simulated annealing based-meta-heuristic is developed to derive the high quality solutions. Section 5 is devoted to the computational results. Paper ends with the conclusion.
2. Problem definition As mentioned earlier, the aircraft landing problem is to determine an optimal allocation of aircrafts to land on airport’s runway, and also an optimal schedule of landing, simultaneously. Minimizing the total cost of both early and delayed landings, with respect to the pre-specified target time is the objective of this problem. If an aircraft lands earlier than the target time, its landing is penalized by a cost associated with early landing. On the other hand, if an aircraft is scheduled to land later than the target time, its landing is again penalized by another cost associated with late landing. In most cases, these two costs are not equal and thus, to generalize these two costs, we deal with different cost ratios. Apparently, the case with equal cost ratios can be dealt with easily. While the target time can be determined before the landing is scheduled, the real landing time, i.e., landing schedule, is an operational-dependent time. This implies that an aircraft may not land on its target time or even in cases, close to its target time. Apparent from this target time, in reality a time window is considered for each aircraft’s landing, defining an earliest landing time and a latest landing time allowed for each aircraft. Thus, a feasible aircraft landing should be scheduled in this time window. Besides, a safe landing requires a separation time between every two aircrafts scheduled to land either on a same runway or on different runways. In reality, this separation time is dependent on the aircraft’s type (Heavy, Large, Small, Cargo, etc.), and not on the runway. Thus, the separation time for every two aircrafts landing on a same runway should be different than on different runways. Without loss of generality, we assume the separation time between two aircrafts landing on different runways is 1 time unit. This assumption has been taken by others in the literature [3,11]. For clarification purposes, an example is presented in this section. Assume the following aircraft landing data (Table 1) for five aircrafts and three runways (n ¼5 and m ¼3). In Table, Ti is the target landing time (target time) of aircraft i, Ei is the earliest landing time of aircraft i, and Li is the latest landing time of aircraft i. The separation times between every two aircrafts landing on same runways are shown in Table 2. Probably a good and an intuitive schedule would be to land aircraft 1 first, then aircrafts 2, 3, 4, and finally aircraft 5. However, having in hand more than one runway, this solution turns to be the optimal solution. Depicting the Gantt chart for this example reveals this fact (see Fig. 1). Note that here runway r3 could be idle, as if both aircrafts 4 and 5 land on runway r1 instead of landing on runway r3, the resulted schedule is still optimal. Table 1 Aircraft landing data for problem in the example. Aircraft
Ei
Ti
Li
1 2 3 4 5
10 10 14 17 22
11 13 18 19 24
15 16 22 21 30
Table 2 The separation time for problem of the example.
1 2 3 4 5
1
2
3
4
5
2 3 2 2
2 4 3 2
3 4 5 8
2 3 5 2
2 2 8 2 -
Fig. 1. The Gantt chart of optimal aircraft landing schedule explained in the example.
Fig. 1 carries a fundamental observation regarding the aircraft landing problem. We discuss this observation later in Section 4.
3. The mathematical formulation In this section we develop a mixed-integer goal programming formulation for the problem. The notations including variables’ and parameters’ definition are as follows: Parameters sij: The separation time between two aircrafts i and j when landing on a same runway. tij: The separation time between two aircrafts i and j when landing on different runways. Ti: The target landing time (target time) of aircraft i. Ei: Earliest landing time of aircraft i. Li: Latest landing time of aircraft i. ciþ : The cost of late landing of aircraft i. c i : The cost of early landing of aircraft i. Decision variables xi: The scheduled landing time of aircraft i(i¼1,y,n). yij: Takes 1 if aircraft i lands before aircraft j and otherwise 0. gir: Takes 1 if aircraft i is allocated to runway r (r ¼1,y,m) and otherwise 0. dij: Takes 1 if aircrafts i and j land on a same runway and otherwise 0. ai: The delay of landing aircraft i (landing after the target time), thus ai ¼max(0, xi Ti). bi: The earliness of landing aircraft i (landing before the target time), thus bi ¼ maxð0,T i xi Þ. The mathematical formulation is as follows. Min z ¼
n X
ðai ciþ þ bi c i Þ
i¼1
ð1Þ
A. Salehipour et al. / Computers & Operations Research 40 (2013) 207–213
S.t. Ei r xi r Li
i ¼ 1,. . .,n
xi T i ¼ ai bi
ð2Þ
i ¼ 1,. . .,n
ð3Þ
ðxj xi Þ Z sij dij þt ij ð1dij ÞMyji yij þ yji ¼ 1
i,j ¼ 1,. . .,n,
i,j ¼ 1,. . .,n,
iaj
i aj
m X
gir ¼ 1 i ¼ 1,. . .,n
ð6Þ
ð7Þ
r¼1
yij , gir , dij A 0,1 xi ,ai ,bi Z0
i,j ¼ 1,. . .,n,
i aj,
r ¼ 1,. . .,m
i ¼ 1,. . .,n
to runways, and also determines the aircraft landing schedule with the objective of minimizing the total deviation from the target time. We implement this fundamental observation in a special-purpose construction heuristic developed for the problem.
ð4Þ ð5Þ
dij Z gir þ gjr 1 i,j ¼ 1,. . .,n,i a j,r ¼ 1,. . .,m
209
ð8Þ ð9Þ
Objective function (1) minimizes the total cost of landing deviation from target time. The constraints (2) ensure every aircraft lands in its time window. The constraints (3) link the decision variables xi and parameters Ti to decision variables ai and bi. The constraints (4) impose if two aircrafts iand j lands on a same runway, as least sij time unit should be elapsed before aircraft j could be land on that runway, and if they land on different runways, tij time unit should be elapsed. The constraints (5) ensure the feasibility of aircraft’s landing. The constraints (6) link the decision variables dij and gir. The constraints (7) ensure each aircraft should land on only one runway. Constraints (8) and (9) ensure the decision variables dij, gir and yij are binary, and the decision variables xi, ai and bi are nonnegative, respectively. As reported in the computational results section, we implemented the Cplex solver by ILOG to solve the developed mathematical formulation. This mathematical formulation is a strong formulation of the problem, and implementing the Cplex solver, yielded optimal solutions for instances with up to 100 aircrafts and 4 runways in a short time. To the best of our knowledge, and according to Pinol and Beasley [11], this paper is the first paper reporting the optimal solution for instances with 100 aircrafts. However, due to the complexity behind the problem (this problem is NP-Hard), the optimal solutions for instances with more than 100 aircrafts is very difficult to be reached in a reasonable time. Thus, to solve larger instances we develop an efficient hybrid meta-heuristic in the following section.
4. A simulated annealing based-meta-heuritic for aircraft landing problem In this section we develop an intelligent hybrid meta-heuristic for the aircraft landing problem. This meta-heuristic algorithm is based on the simulated annealing (SA) algorithm, and implements a construction heuristic and an improvement meta-heuristic to derive near-optimal solutions. Before describing the construction heuristic developed for the problem, let us explain an important observation regarding the problem. Observation 1. Assume r 41 and all Ti (i¼1,y,n) are sorted in ascending order. Thus T i1 r T i2 r rT in1 r T in . For each two sorted aircrafts ik and ik þ 1, if T ik þ 1 oT ik þsik ik þ 1 then a better schedule, not necessarily optimal, can be found, if we can schedule these two aircrafts to land on different runways. Proof. Trivial A direct implementation of the Observation 1 is that we can develop a heuristic algorithm that allocates the arriving aircrafts
4.1. Construction algorithm Based on the Observation 1 (see also Section 2.1), the outline of developed construction heuristic for aircraft landing problem is illustrated in Algorithm 1. Algorithm 1. The construction heuristic for aircraft landing problem Initialization. Let r 4 1 (r ¼1,y,m) and i¼1,y,n be the set of runways and aircrafts, respectively; Sort all Ti in ascending order, thus sorted aircraft set is Sor ¼{i1,i2,y,in 1,in} where T i1 rT i2 r r T in1 r T in ; From Sor, allocate first aircraft, i.e., i1 to runway r ¼1; Repeat. For r ¼1 to m and for all aircrafts belong to Sor Do; For each two aircrafts ik and ik þ 1, if T ik þ 1 o T ik þ sik ik þ 1 , then r: ¼r þ1 and allocate aircraft ik þ 1 to r. Else allocate these two aircraft to a same runway; Update Sor; Until Sor ¼|; End; According to the experiments performed, this construction heuristic can develop an initial schedule of landing aircrafts which has a very good quality. However, to derive near-optimal solutions, this initial schedule should be improved using the improvement algorithm provided in Section 4.2. 4.2. Improvement algorithm The improvement algorithm includes the variable neighborhood descent (VND) meta-heuristic. The VND belongs to the class of the variable neighborhood search (VNS) meta-heuristics introduced by Mladenovic and Hansen [10]. As its name suggests, this metaheuristic systematically explores different neighborhood structures. The main idea underlying VNS and also VND is that a local optimum relative to a certain neighborhood structure is not necessarily a local optimum relative to another neighborhood structure. For this reason, escaping from a local optimum can be done by changing the neighborhood structure. Algorithm 2 illustrates the VND metaheuristic, and Algorithm 3 illustrates the VNS. More details about the VND and the VNS algorithms can be found in [8,9]. Algorithm 2. The variable neighborhood descent meta-heuristic Initialization. Select a set of neighborhood structures Nk, k¼ 1,2,y,kmax, that will be used in the descent. Find an initial solution x; Improvement. Repeat. Set k:¼1; Repeat. Exploration of neighborhood: find the best neighbor x0 of x. (x0 ANk(x)); Move or not: If the solution thus obtained x0 is better than x, set x: ¼x0 , and also set k: ¼1; Otherwise set k: ¼kþ1; Until k¼kmax; Until no improvement is obtained; End;
210
A. Salehipour et al. / Computers & Operations Research 40 (2013) 207–213
Algorithm 3. The variable neighborhood search meta-heuristic Initialization. Select a set of neighborhood structures Nk, k¼1,2,y,kmax, that will be used in the search. Find an initial solution x, and choose a stopping condition; Improvement. Repeat. Set k:¼ 1; Repeat. Shaking: generate a point x0 at random from kth neighborhood of x (x0 ANk(x)); Local search: apply some local search method with x0 as initial solution; denote with x the so obtained local optimum; Move or not: if this local optimum is better than the incumbent, move there (x : ¼ x), and continue the search with N1 thus k: ¼1; otherwise set k: ¼kþ1; Until k¼kmax; Until the stopping condition is met; End;
avoid trapping in bad local optima. The followings are explanations of these three neighborhood structures.
Both VNS and VND algorithms start by an initial solution generated by the construction heuristic, and apply the three neighborhoods to this incumbent solution in order to make improvements. In VND, algorithm keeps searching using each neighborhood as long as the applied neighborhood yields improvements. Another neighborhood structure is called when the current neighborhood cannot improve the incumbent solution any further. Thus, the VND algorithm goes deeply into each neighborhood until the last neighborhood is explored. If the search process terminates with the last neighborhood, the process is repeated with the first neighborhood as long as the stopping criterion is not met. In VNS, first the incumbent solution is shaken in a hope to diversify the search. Then the neighborhoods are applied such that after each improvement algorithm starts from the first neighborhood. Out of three neighborhoods applied by VNS and VND algorithms, the first two are swap_1 and swap_2 neighborhoods. Their difference is that the swap_1 applies to a single runway and swap_2 applies to multiple runways. The third neighborhood is remove-insert and has a completely random behavior. For this reason, all operations inside this neighborhood are performed randomly. The logic behind applying this neighborhood is to
4.3. Simulated annealing framework
Swap_1: The order of two aircrafts in the landing schedule on a
same runway is swapped. This neighborhood is applied to all aircrafts which land on a same runway. Fig. 2 shows this neighborhood. Swap_2: The order of two aircrafts in the landing schedule on two different runways is swapped. Fig. 3 shows the operating mechanism of this neighborhood. Remove-insert: An aircraft is removed from the landing schedule of one runway and is allocated to the landing schedule of another runway. Fig. 4 shows this neighborhood.
To ensure that a good performance of the developed VNS and VND meta-heuristics is maintained, we implemented this improvement procedure in a simulated annealing meta-heuristic framework. The SA framework together with the details of its implementation for the aircraft landing problem is provided in Section 4.3.
The SA meta-heuristic is one of the well-known meta-heuristic algorithms where trapping in local optima is avoided by sometimes accepting a neighborhood move which increases the value of the objective function (for a minimization problem); thus, the SA accepts worse solutions. The acceptance or rejection of a move (even the worse moves) is determined by a sequence of random numbers, but with a controlled probability. The probability of accepting a move, which causes an increase D in the objective function f, is called the acceptance function and is normally set to e D/t, where t is a control parameter corresponding to the temperature in the analogy with physical annealing. This acceptance function implies that small increases in f are more likely to be accepted than large increases. When t is high, most moves will be accepted, but as t approaches zero most uphill moves will be rejected. Usually, the SA starts with a relatively high value of t to avoid being trapped in a local optimum. The algorithm proceeds by attempting a certain number of neighborhood moves at each temperature, while the temperature gradually drops (cooling process). More details about SA can be found in Eglese [5].
Fig. 2. The operating mechanism of the swap_1 neighborhood on A1 and A2 (a) before and (b) after.
Fig. 3. The operating mechanism of the swap_2 neighborhood on A1 and B2, (a) before and (b) after.
Fig. 4. The operating mechanism of the remove-insert neighborhood, on A2, (a) before and (b) after.
A. Salehipour et al. / Computers & Operations Research 40 (2013) 207–213
Algorithm 4. The outline of the hybrid meta-heuristic developed for the aircraft landing problem Initialization. Construct an initial solution x using Algorithm 1; Select an initial temperature t0 40; Improvement. Repeat. Apply VND algorithm (Algorithm 2)/VNS algorithm (Algorithm 3) to improve the solution x (the new solution is x0 ); Acceptance criterion Calculate D ¼f(x0 ) f(x); If D o0 then x: ¼x0 ; Else if random (0,1)oe D/t, then x: ¼x0 Else do not accept x0 (the new solution); Update t; Until stopping condition is met; End;
211
We implemented the SA algorithm as a controlling scheme on VNS and VND meta-heuristics to avoid being trapped in local optima. Thus, the result is a hybrid meta-heuristics which according to the computational results, are efficient enough and can derive near-optimal solutions in a short time. Outline of these SA þVNS and SA þVND algorithms is presented in Algorithm 4.
Table 3 The best value of SA meta-heuristic parameters observed during tuning process. Parameter
Description
Value
t0 c iter
Initial temperature Cooling rate (0 o co 1) Maximum number of iterations in each temperature
50 0.01 N
Table 4 Computational results of the exact and the heuristic solutions. Instance
n
Airland1
10
Airland2
15
Airland3
20
Airland4
20
Airland5
20
Airland6
30
Airland7
44
Airland8
50
Airland9
100
Airland10
150
Airland11
200
Airland12
250
Airland13
500
m
1 2 3 1 2 3 1 2 3 1 2 3 4 1 2 3 4 1 2 3 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Instance No.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
Cplex
SA þVND
SA þVNS
SS
Obj.
Time
Obj.
GAP1
Time
Obj.
GAP2
Time
Obj.
GAP3
Time
700 90 0 1480 210 30 820 70 10 2520 660 160 30 3100 650 170 30 24442 554 0 1550 0 1950 135 10 6091.88 444.1 75.75 0 12948.07 1144.04 206.27 35.28 1.06 12699.69 1332.52 253.07 54.53 0 17002.19 1820.84 221.97 2.44 0 41448.16 4806.54 680.52 89.95 0
0.66 0.12 0.1 0.49 0.24 0.28 0.39 0.3 0.36 5.12 12.62 0.84 0.41 20.44 15.03 1.47 0.33 0.1 0.81 0.22 0.86 0.26 0.98 1.53 1.42 1000 94.62 4.11 2.56 1000 1000 284.05 7.84 6.87 1000 1000 1000 1000 11.37 1000 1000 124.24 20.98 14.02 1000 1000 1000 1000 49.97
700 90 0 1480 210 30 820 70 10 2520 660 160 30 3100 650 170 30 24442 554 0 1550 0 1950 135 10 6091.88 444.1 75.75 0 12329.31 1207.19 206.45 35.28 1.06 12418.32 1408.39 272.92 54.53 0 16209.78 1961.39 279.7 3.49 0 39867.33 4806.54 732.58 98.74 3.81
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4.78 5.52 0.09 0 0 2.22 5.69 7.84 0 0 4.66 7.72 26.01 43.03 0 3.81 0 7.65 9.77 0
0 0 0 1.59 1.66 1.98 1.78 3.12 3.29 1.98 3.56 3.74 4.06 1.85 3.04 4.11 4.35 2.12 3.98 4.41 2.68 2.83 7.1 10.73 14.11 11.59 13.78 17.95 19.69 20.12 21.33 27.62 30.12 39.85 24.17 29.09 41.22 42.4 66.23 219.03 362.6 412.73 410.33 394.6 566.82 1047.93 1241 1201.8 1203.93
700 90 0 1480 210 30 820 70 10 2520 660 160 30 3100 650 170 30 24442 554 0 1550 0 1950 135 10 6091.88 450.26 75.75 0 12329.31 1219.26 206.45 35.28 1.06 12418.32 1416.83 272.92 54.53 0 16209.78 1961.39 279.7 3.49 0 41448.16 5475.81 744.97 100.6 3.81
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.39 0 0 4.78 6.57 0.09 0 0 2.22 6.33 7.84 0 0 4.66 7.72 26.01 43.03 0 0 13.92 9.47 11.84 0
0 0 0 1.38 1.65 1.91 1.73 4.22 5.11 2.85 3.94 5.05 7.15 1.89 4.84 4.92 3.04 2.14 4.01 5.91 2.65 2.37 7.31 9.85 17.39 10.12 13.64 18.46 21.18 20.75 22.04 25.19 41.28 40.15 33.84 33.99 37.19 45.96 61.05 198.85 313.46 379.91 401.04 386.16 528.84 1294.23 1334.33 1197.48 1185.49
700 90 0 1480 210 30 820 70 10 2520 660 160 30 3100 650 170 30 24442 554 0 1550 0 2964.96 135 10 6091.88 452.92 75.75 0 12329.31 1288.73 220.79 35.28 1.06 12418.32 1540.84 280.82 54.53 0 16209.78 1961.39 290.04 3.49 0 44832.38 5501.96 1108.51 188.46 7.35
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52.05 0 0 0 1.99 0 0 4.78 12.65 7.04 0 0 2.22 15.63 10.97 0 0 4.66 7.72 30.67 43.03 0 8.16 14.46 62.89 109.52 0
4 24 39 6 45 46 8 48 62 8 52 46 56 9 50 54 56 158 70 54 195 118 42 121 139 119 342 390 336 227 608 668 647 607 256 959 1021 993 956 381 1266 1454 1445 1386 1237 3836 4560 4413 4421
212
A. Salehipour et al. / Computers & Operations Research 40 (2013) 207–213
5. Computational results
Initial cplex SA+VND SA+VNS SS
5000 4500 CPU Time in Seconds
4000 3500 3000 2500 2000 1500 1000 500 0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 Instance No. Fig. 5. Maximum computational time of three solution approaches.
120.00
GAP1 GAP1 GAP2 GAP2 GAP3 GAP3
100.00 Maximum GAP (%)
In this section we report the computational results of the mathematical formulation brought in Section 3, and SA þVNS, and SA þVND meta-heuristic brought in Section 4. We solved a set of 13 instances from the literature [11] ranging from 10 to 500 aircrafts and 5 runways. We benefitted from Cplex 12.1 from ILOG to solve mathematical programming formulation. The metaheuristics were coded in Cþþ. All computational results have been carried out on a personal computer with 2.4 GHz CPU and 512 MB memory. To tune parameters of the SA algorithm, we solved the same set of instances brought in Table 4 with up to 50 aircraft where the optimal solutions can be obtained easily. Then, according to the different parameters’ values tested during the SA run, and the best solutions found, the parameter’s values were tuned. These values are reported in Table 3. Note that, the parameter tij is set 1 for all combinations of aircrafts and runways, i.e., if two aircraft i and j land on different runways their separation time is one time unit. This assumption has also been taken by Pinol and Beasley [11]. Furthermore, we reported the results of Pinol and Beasley [11] for comparison purposes. These results were obtained using Scatter Search meta-heuristic (coded in Cþþ) on a 2 GHz Pentium PC with 512 MB of memory. Table 4 reports the complete computational results of 13 instances. In this table, we have reported the computational results of the exact solution, upon its availability, the SA þVND and the SA þVNS meta-heuristics, and the results of scatter search (SS) meta-heuristic. Throughout Table, the first column is the instance name, the second and the third columns are the number of aircrafts and the number of runways for each instance, respectively. The remaining columns are associated with the objective function value and the total computational time in seconds for exact and heuristic solutions. Hence, the fourth and the fifth columns are the results of the Cplex, the sixth and the seventh columns are the results of the SA þVND meta-heuristic, the eighth and ninth columns are the result of the SA þVNS, and the 10th and 11th columns are of SS meta-heuristic. Optimal solutions are highlighted. The upper bound on the CPU time of the Cplex solver is set 1000 s. According to Table 4, the SA þ VND meta-heuristic yielded the optimal solutions for 32 instances out of 49 instances solved in total. These optimal solutions were shown in bold. Even for the larger instances, the SAþ VND found optimal solutions in several cases when number of runways is more than one. Besides this, according to Table the performance of the SA þVND meta-heuristic is very competitive for instances with 150 aircrafts and more. For these instances, the average gap of SA þVND and SA þVNS algorithms are always less than 10% (except for problems of Airland12, which is almost 19%), which are much lower than the corresponding values of the SS meta-heuristic (These gaps are calculated as the difference of the SA þVND solutions over the Cplex, GAP1, as the difference of the SA þVNS solutions over the Cplex, GAP2, and as the difference of the SS solutions over the Cplex, GAP3). Considering both GAP1. GAP2, and GAP3 over all instances, it is easy to show the superiority of the developed SA þVND meta-heuristic. It can be concluded from Table 4 that the developed mathematical programming formulation is capable of solving instances with 100 aircrafts and more than one runway to optimality in a short time. To the best of our knowledge, and according to the published research on the problem, the largest instance solved to optimality so far contained 50 aircrafts and are due to Beasly et al. [3], and Pinol and Beasly [11]. In this paper, we reported the optimal solutions for instances with 100 aircraft and multiple runways for the first time.
80.00 60.00 40.00 20.00 0.00 10
15
20
20
20
30
44
50
100 150 200 250 500
No. of Aircrafts Fig. 6. Maximum computational gap of three solution approaches.
Fig. 5 illustrates the performance of the Cplex, the SA þVND, the SA þVNS, and the SS meta-heuristics with respect to the computational time. Cplex, SA þVND, and SA þVNS perform almost same on instances up to 50 aircrafts. According to Table 4, for remaining instances the performance of these two approaches are very close to each other. This may be understood from Fig. 5 as Figure depicts the computational time (for Cplex, the total allowable time is 1000 s). Even ignoring this fact, due to high computational time of the SS meta-heuristic, its performance is worse than the Cplex, and much worse than both SAþ VND and SA þVNS meta-heuristics when the size of problem increases. The latter can be better distinguished when comparing the GAP1, GAP2, and GAP3, as Fig. 6 depicts this.
6. Conclusion In this paper we discussed the aircraft landing problem with the objective of minimizing the total deviation of landing time from the target time (both earliness and tardiness). We developed a mixed integer goal programming model to derive optimal solutions for instances with 100 aircrafts. To solve larger instances, a hybrid meta-heuristic applying simulated annealing framework has been implemented. The hybrid meta-heuristics include a problem-dependent construction heuristic, and a variable neighborhood descent meta-heuristic and variable neighborhood search meta-heuristic with three neighborhood structures. The computational results of the hybrid meta-heuristics show that the proposed algorithm is very competitive, and can obtain very high quality solutions for instances up to 500 aircrafts in a short time. As the future directions, authors are working on exact
A. Salehipour et al. / Computers & Operations Research 40 (2013) 207–213
solution procedures to solve larger instances. Furthermore, the advantages of more powerful neighborhood structures to derive near-optimal solutions for larger problems should be carefully studied. Apart from the solution quality, these neighborhood structures should be very fast, as due to the size of the largescale problems, computational time is an important factor.
Acknowledgements We would like to thank reviewers for their valuable suggestions and comments on the first version of this paper, which considerably improved the paper. References [1] Artiouchine K, Baptiste P, Durr C. Runway sequencing with holding patterns. European Journal of Operational Research 2008;189(3):1254–66. ¨ [2] Bauerle N, Engelhardt-Funke O, Kolonko M. On the waiting time of arriving aircrafts and the capacity of airports with one or two runways. European Journal of Operational Research 2007;177(2):1180–96.
213
[3] Beasley JE, Krishnamoorthy M, Sharaiha YM, Abramson D. Scheduling aircraft landings—the static case. Transportation Science 2000;34(2):180–97. [4] Beasley JE, Krishnamoorthy M, Sharaiha YM, Abramson D. Displacement problem and dynamically scheduling aircraft landings. Journal of the Operational Research Society 2004;55(1):54–64. [5] Eglese RW. Simulated annealing: a tool for operational research. European Journal of Operational Research 1990;46:271–81. [6] Ernst AT, Krishnamoorthy M, Storer RH. Heuristic and exact algorithms for scheduling aircraft landings. Networks 1999;34(3):229–41. [7] Hansen JV. Genetic search methods in air traffic control. Computers & Operations Research 2004;31(3):445–59. [8] Hansen P, Mladenovic´ N. Variable neighborhood search: principles & applications. European Journal of Operational Research 2001;130(3):449–67. [9] Hansen P and Mladenovic´ N (2003), A tutorial on variable neighborhood search, working paper, Les Cahiers Du GERAD. [10] Mladenovic N, Hansen P. Variable neighborhood search, Computers &. Operations Research 1997;24(11):1097–100. [11] Pinol H, Beasley JE. Scatter Search and Bionomic Algorithms for the aircraft landing problem. European Journal of Operational Research 2006;171: 439–62. [12] Soomer MJ, Franx GJ. Scheduling aircraft landings using airlines’ preferences. European Journal of Operational Research 2008;190:277–91.