"
1 if aircraft lands on runway , {1 },
{1 }
0 otherwise.
ir
i r i P
y r R
e
= e
"
"
2
1 if aircraft and lands on the same runway ,
( , ) {1 } ,
0 otherwise.
ij
i j
z i j P i j
= e =
"
B. Constraints
1) Time window constraints
For each aircraft waiting to land, its scheduled landing
time must lie within its time window. The formulation is
straightforward:
{1 }
i i i
E x L i P < < e " (1)
2) Separation time constraints
Separation time constraints are conditioned by the landing
order of aircraft and their assigned runway. Considering the
landing order, either aircraft i or j must land first:
2
1 ( , ) {1 } , .
ij ji
i j P i j o o + = e = " (2)
Considering the runway allocation, if aircraft i and
j land on the same runway, so too must aircraft j andi :
2
( , ) {1 } , .
ij ji
z z i j P i j = e = " (3)
Using the separation times and (overlap of) possible
landing time intervals, we can define three sets of pairs of
flight:
U : the set of pairs ( , ) i j of flights for which it is
uncertain whether flight i lands before flight j .
V : the set of pairs ( , ) i j of flights for which flight i
definitely lands before flight j ,but for which the separation
is not automatically satisfied.
W : the set of pairs ( , ) i j of flights for which flight i
definitely lands before flight j ,and the separation is
automatically satisfied.
More formally:
2
{( , ) | or
or or ; ( , ) {1 } ; }
j i j j i j
i j i i j i
U i j E E L E L L
E E L E L L i j P i j
= s s s s
s s s s e = "
2
{( , ) | and
max{ , } ; ( , ) {1 } ; }
i j i
ij ij j
V i j L E L
S s E i j P i j
= < +
> e = "
2
{( , ) | and
max( , ) ; ( , ) {1 } ; }
i j i
ij ij j
W i j L E L
S s E i j P i j
= < +
s e = "
For elements in the set V and W the order of the flights is
2011 Chinese Control and Decision Conference (CCDC) 875
known. So trivially the following constraints hold:
1 ( , ) .
ij
i j W V o = e (4)
For flights in set V , we still need to ensure the proper
separation:
(1 ) ( , )
j i ij ij i j ij
x x S z s z i j V > + + e (5)
Finally we also need to ensure separation for flights in set
U in which the order of the flights is not known:
(1 ) ( max( , ) )
( , )
j i ij ij ij ij i i j ij j ji
x x S z s z L S s E
i j U
o > + + +
e
(6)
Either Eq. (6) is equivalent to Eq. (5) in case flight i lands
before flight j (
ij
o =1), or this constraint is superfluous, since
(1 ) max( , )
j j i i ij ij ij ij ij ij
x E x L S z s z S s > + + +
is always satisfied (because
; (1 ) max( , ) and
i i ij ij ij ij ij ij j j
x L S z s z S s x E s + s > ) in the
case flight j lands before i ( 1
ji
o = ).
3) Multiple runway constraints
Constraints relating to runway allocation must be
considered. First, each aircraft is assigned one and only one
runway:
1
1 {1 }.
R
ir
r
y i P
=
= e
_
" (7)
Second, when aircraft i and j are assigned to land on the
same runway, some constraints must ensure that the runways
assigned to aircraft i and j are identical:
2
1; ( , ) {1 } ; ; {1 }
ij ir jr
z y y i j P j i r R > + e > e " " (8)
Equation 8 ensures that, if there is any runway r for which
y
ir
and y
jr
are both one, then we force z
ij
to be one (i, j land on
the same runway). If z
ij
=0, then Eq. 8 ensures that planes i
and j cannot land on the same runway.
C. Objectives
The objective will be to minimize the sum of the cost of
deviation from the target times (
i
T ).The objective function
is
1
minimize ( )
P
i i i i
i
g h o |
=
+
_
(9)
The following constraints are needed to relate the
, , and
i i i
x o | variables to each other and to ensure that we
have a linear objective function:
{1 }.
i i i
T x i P o > e " (10)
0 {1 }.
i i i
T E i P o s s e " (11)
{1 }.
i i i
x T i P | > e " (12)
0 {1 }.
i i i
L T i P | s s e " (13)
{1 }.
i i i i
x T i P o | = + e " (14)
Equations (10) and (11) ensure that
i
o is at least as big as
zero and at most the time difference between
i
T and
i
E .
Equations (12) and (13) are similar equations for
i
| .
Equation 14 relates the landing time (
i
x ) to the time i lands
before (
i
o ), or after (
i
| ), target (
i
T ).
So the complete formulation is to minimize function 9
subject to Eqs. (1)-(8),(10)-(14). Obviously the formulation
presented above is mixed-integer zero-one programming
problem.
The previous formulation is mainly based on the work of
[3], the interested readers can find the detailed explained
about it in [3].
III. THE SLIDINGWINDOWALGORITHM
Although we are meant here to solve the static version of
the aircraft landing problem, aircrafts arriving at airport in
sequence at its own target time can be viewed as a dynamic
process. So the ALP problem can be regard as a
multi-period decision problem. So the RHC strategy can be
used to tackle this problem.
Simply speaking, RHC is an N-step-ahead online iterative
optimization strategy. At each time interval, based on
current available information, RHC optimizes the concerned
problem for the next N intervals in the near future, but only
the part of solution corresponding to current interval is
implemented. At the next interval, RHC repeats the same
optimizing procedure for other N intervals in the near future
based on updated information
[11]
. So following the RHC
concept, we may sequence the aircraft waiting to land in
FCFS order and determine their scheduled landing times and
runways step by step.
However, if strictly follow the RHC concept, the number
of aircraft to be scheduled in the each N interval will be
variable, i.e. in congested intervals, there will be more
aircraft than in uncongested intervals. So the execution time
of the algorithm wont be well predictable. So in our sliding
window algorithm, instead of selecting which aircraft to be
scheduled based on the time interval, we use a constant size
in terms of the number of aircraft window sliding
through the aircraft queue waiting to land step by step at a
constant step size to decide which aircraft to be scheduled at
each step.
The sliding window algorithm is described in detail as
below:
Sequence aircraft waiting to land in FCFS order in terms
of their target times. Denote the ordered set of aircraft
as { | 1, } F i i N = = " . A widow of aircraft W is defined,
along with an incremental step size S, both in terms of a
number of aircraft. let:
r be the step counter
F (r) represent the set of aircraft that have not been swept
by the sliding window at step r
F
0
(r) represent the set of aircraft to be scheduled (swept
by the sliding window) at step r,
876 2011 Chinese Control and Decision Conference (CCDC)
Q(n|r) record the nth aircraft in the optimized arrival
sequence for F
0
(r), i.e., Q(n)=i means that aircraft i in F
0
(r)
turns out to be the nth aircraft in the optimized arrival
sequence
F
1
(r) represent the set of aircraft that have been swept by
the sliding window and have their landing times fixed at step
r.
(1). Set r=0,
0
( ) { | 1, , min( , ), } F r i i W N i F = = e " ,solve
the original ALP problem involving just aircraft in F
0
(r), the
solution to this static ALP gives the initial landing times
0
( )
i
x i F r e ,set
0
( ) ( ) F r F F r = ,fix the landing times of
the first S aircraft in the optimized schedule, i.e. set
1 0
( ) { | (1| ) ( | ), ( )} F r i i Q r Q S r i F r = = e "
(2). If | ( ) | 0 F r > , then go to step (3), otherwise go to step
(4)
(3). Set 1 r r = + , advance the window to cover the next
0
min( , | ( 1) |) S N F r aircraft, i.e.
set
0 0
( ) ( ) { | ( 1) 1, min( , ), } F r F r i i W r S N W rS i F = = + + + e " ,
solve the ALP program involving just aircraft in
0
( ) F r ,
where the aircraft in
1
( 1) F r are constrained to land at the
landing times
1
( ( 1))
i
x i F r e , and on the appropriate
runways, as were obtained from the previous ALP solution.
Fix the landing times of another S aircraft and update the sets
of aircraft, i.e. set
0
( ) ( ) F r F F r = ,
1 0
( ) { | (1| ) (min(( 1) , ) | ), ( )} F r i i Q r Q r S N r i F r = = + e "
and go to step (2)
(4). All aircraft in
0
( ) F r are now deemed to land on the
landing times (and appropriate runways) as were obtained
from the last ALP program.
(5). Because the landing times of the aircraft obtained
above are not optimal in terms of the landing order obtained.
So, to improve the solution obtained, we, in this step,
recalculate the landing times, but with the runways for each
plane and the landing order fixed as decided above. This can
be simply done because we have effectively obtained the
values of all the integer variables in our formulation of the
problem, and we need only now solve the resulting LP to
decide an optimal set of landing times (optimal with respect
to the values of integer variables obtained above)
IV. COMPUTATIONAL RESULTS
The sliding window algorithm presented in this paper was
programmed in visual C# and run on a 2.6GHz PC with
1.87GB of memory, also in order to solve the mixed integer
zero one formulation of the ALP optimally using LP-based
branch and bound algorithm, we used the CPLEX (version
9.0) software package.
Computational results are presented in this section for 13
test problem, publicly available from OR-library, involving
from 10 to 500 aircraft [12]. To fully evaluate the
performance of our sliding window algorithm, we compare
the results obtained with those obtained in [6]. In [6], the
author proposed two population based algorithms, i.e.
scatters search (SS) and bionomic algorithms (BA), and
reported the value of the optimal solution or best-know
solution found in their work. Because their algorithms
belong to random searching algorithm, so they also reported
the best result of ten replications of their algorithms. It
should be noted our machine is approximately 1.3 times
faster than the machine used by the author (2GHz Pentium
PC with 512MB of memory).
Tables 1 and 2 present the comparative results for a set of
instances involving from 10 to 50 and from 100 to 500
aircraft respectively. In the sliding window algorithm, we set
window size W=8, step size S=5.
The notation used in these tables is
P: the number of plane,
R: the number of runway,
Z
opt
: value of the optimal solution,
Z
best
: value of the best-known solution found in the study
of [6](if the optimal solution is not known)
T: either average execution time in second per replication
of SS or BA or execution time of SW in second.
G
best
: percentage gap associated with the best solution
found over ten replications of BA or SS
G
SW
: percentage gap associated with the solution obtained
by our sliding window algorithm
Z
SW
: value of solution obtained by SW.
For problems for which the optimal solution is not known
the best-known solution value Z
best
given is the best solution
found in [6] during the course of authors computational
work. The percentage gap G
best
associated with the best
solution found over ten replications of SS or BA is
calculated with reference to Z
opt
(or Z
best
if Z
opt
is not known)
as 100(best solution value-Z
opt
)/ Z
opt
. G
SW
are defined
similarly. One complication is that for some problems Z
opt
(or Z
best
) is zero in which case the appropriate percentage gap
is taken to be zero, if and only if the best solution found is
also zero, otherwise it is undefined. Another complication is
that for some instances, the solution value found by SW is
better than the best solution found in [6], in these cases we
report the solution value instead of calculating the G
SW
Problems presented in Tab. 1 have been solved optimally
in previous literatures. Hence, for this table, Gs (G
best
and
G
SW
) are calculated against the optimal solution value. It can
be found from Tab. 1 that SW always gets the optimal
solutions for those instances presented in it. One problem
and three problems are not solved optimally by SS and BA
respectively. The execution times used by SS and BA are
approximately one to two orders of magnitude of that used
by SW.
Problems presented in Tab. 2 have not yet been solved
optimally and Gs (G
best
, G
H
and G
SW
) for this table are hence
2011 Chinese Control and Decision Conference (CCDC) 877
calculated against Z
best
. It can be found that for all the 24
instances in this table SW always get solutions better than or
equivalent to those obtained by BA and SS in ten
replications.
.
Tab.1 Computational results: small problems
P R Z
opt
SS BA SW
T G
best
T G
best
T G
SW
10 1 700 0.4 0 6 0 0.031 0
2 90 2.4 0 4.5 0 0.032 0
3 0 3.9 0 3.4 0 0.015 0
15 1 1480 0.6 0 9 0 0.046 0
2 210 4.5 0 4.9 0 0.047 0
3 0 4.6 0 4.3 0 0.047 0
20 1 820 0.8 0 9.9 0 0.047 0
2 60 4.8 0 5.8 0 0.063 0
3 0 6.2 0 6.3 0 0.047 0
20 1 2520 0.8 0 9.5 0 0.141 0
2 640 5.2 0 5.5 0 0.375 0
3 130 4.6 0 5.7 0 0.125 0
4 0 5.6 0 5.2 0 0.062 0
20 1 3100 0.9 0 10 0 0.05 0
2 650 5.0 0 6.1 3.08 0.250 0
3 170 5.4 0 4.3 0 0.187 0
4 0 5.6 0 6.8 0 0.08 0
30 1 24442 15.8 0 27.4 0 0.047 0
2 554 7 0 10.1 3.61 0.094 0
3 0 5.4 0 8.7 0 0.078 0
44 1 1550 19.5 0 7.9 0 0.11 0
2 0 11.8 0 12.4 0 0.094 0
50 1 1950 4.2 52.05 28.7 36.15 0.172 0
2 135 12.1 0 19.6 0 0.188 0
3 0 13.9 0 18.1 0 0.15 0
Tab. 2 Computational results: large problems
P R Z
best
SS BA SW
T(s) G
best
T(s) G
best
T(s) G
SW
Z
SW
100 1 5611.70 11.9 30.06 55.4 14.51 0.953 3.58
2 452.92 34.2 5.67 48.7 54.73 0.515 444.1
3 75.75 39 0 46.6 87.46 0.563 0
4 0 33.6 0 43.9 n/d 0.39 0
150 1 12329.31 22.7 44.96 92.5 33.9 4.047 20.07
2 1288.73 60.8 7.87 84.5 25.95 1.562 1143.7
3 220.79 66.8 8.88 80.3 195.88 1.329 205.21
4 34.22 64.7 16.74 78.8 292.4 0.969 0
5 0 60.7 0 76.2 n/d 0.828 0
200 1 12418.32 25.6 17.95 141.7 16.67 2.454 9.15
2 1540.84 95.9 9.19 128.7 38.54 2.453 1330.91
3 280.82 102.1 21.59 120.3 290.09 2.75 253.15
4 54.53 99.3 2.77 116.8 474.47 1.516 0
5 0 95.6 0 115.8 n/d 1.188 0
250 1 16209.78 38.1 22.15 201.1 23.58 6.219 11.2
2 1961.39 126.6 18.8 183.5 50.18 8.281 1695.62
3 290.04 145.4 17.48 171 198.01 2.641 221.97
4 3.49 144.5 271.63 168.8 13216.91 1.906 2.44
5 0 138.6 0 166.2 n/d 1.625 0
500 1 44823.38 123.7 3.24 585.2 1.03 17.891 41019.02
2 5501.96 383.6 3.72 537.9 37.47 9.969 3932.74
3 1108.51 456 1.98 515.8 182.69 9.297 673.85
4 188.46 441.3 22.98 497.7 1186.81 6.641 89.95
5 7.35 442.1 0 488.7 22308.44 5.516 0
What is more noteworthy is that for 13 of 24 problems in
this table SW has found the solutions better than the best
solutions found in [6]during the authors work. The
execution times used by SS and BA are approximately 5-100
times more than those used by SW. the largest execution
time in Tab. 1 and 2 used by SW is 17.891 seconds(for 500
aircraft and single runway).this corresponds to 0.0358
seconds of computation per aircraft which is very reasonable
given the size of the problem.
878 2011 Chinese Control and Decision Conference (CCDC)
V.DISCUSSIONS ON PARAMETER SETTINGS OF THE SLIDING
WINDOW ALGORITHM
Suppose that in the ALP problem of single runway the
number of aircraft waiting to land is N, the window size is W
and step size is S (SW). Also for simplicitys sake, we
assume that N-W is dividable by S. The maximum possible
branch, length of which is W, to be explored by the branch
and bound algorithm in SW, denoted as B
max
, will
be
![( ) / 1] W N W S +
. So It is evident that computational
burden will no doubt increase as the window size goes up
and step size down and mainly affected by the window size.
There are two extremes for Ws setting. When W is set to 1,
B
max
will equal N. When W is set to N, SW becomes the exact
algorithm and B
max
will equal N!. So in terms of the
computational burden, the smaller the W is, the lighter the
computational burden becomes. However, as W becomes
smaller, the algorithm becomes more short-sighted so that
the solution quality will become worse. So the setting of W
must consider the trade-off between computational burden
and solution quality. Similar analysis can be applied to the
setting of S. In general, the smaller S is, the heavier the
computational burden becomes and the better the solution
quality is.
Tab. 3 Relations between execution time, objective value and parameter
settings of SW
W S T(s) Z
SW
8 1 19.828 17.45
8 2 9.75 17.27
8 3 7.343 18.90
8 4 5.938 19.89
8 5 4.047 20.07
8 6 3.687 21.20
8 7 3.984 21.03
8 8 3.797 30.37
4 1 1.813 1.813
4 2 1.125 50.69
4 3 0.875 49.48
4 4 0.781 80.00
To verify our analysis, in Tab. 3, we list the execution
times and objective values for the problem in which there are
150 aircraft and single runway under several different
combinations of W and S. it is evident that, with few
exceptions, the execution time increases and solution
becomes better as W goes up and S down. It also can be
found the solutions obtained by SW when W is set to 8 are
all better than the best solution obtained by SS and BA in
their ten replications.
VI. CONCLUSIONS
In this paper, we presented an algorithm called sliding
window algorithm to solve the static ALP problem.
Computational results were presented for a large number of
problem instances involving up to 500 aircraft and five
runways and compared with those reported in previous
literature. The comparative study showed that the sliding
window algorithm outperforms the scatter search algorithm
and bionomic algorithm presented in previous literature
whether in terms of execution times or solution values
REFERENCES
[1] M.J. Soomer, G.J.Franx. Scheduling aircraft landings using airlines
preferences. European Journal of Operational Research,
2008,190(1):277-291
[2] G. Andreatta, L. Brunetta, G. Guastalla. From ground holding to free
flight: An exact approach, Transportation Science. 2000, 34(4):
394401.
[3] J.E. Beasley, M. Krishnamoorthy, Y.M. Sharaiha, D. Abramson.
Scheduling aircraft landingsthe static case. Transportation Science
2000,34 (2):180197
[4] H. Balakrishnan, B. Chandran. Scheduling aircraft landings under
constrained position shifting, AIAA Guidance, Navigation, and
Control Conference and Exhibit, August 2006
[5] J.E. Beasley, M. Krishnamoorthy, Y.M. Sharaiha, D. Abramson.
Displacement problem and dynamically scheduling aircraft landings.
Journal of the Operational Research Society, 2004,55 (1):5464.
[6] H.Pinol, J.E.Beasley. Scatter search and bionomic algorithms for the
aircraft landing problem. European Journal of Operational
Research,2006,171(2):439-462
[7] I. Moser,T.Hendtlass. Solving dynamic single-runway aircraft landing
problems with extremal optimization. proceedings of the 2007 IEEE
symposium on computational intelligence in
scheduling, .IEEE,2007:206-211
[8] S.P. Yu., X.B. Cao. M.B. Hu. A real-time schedule method for aircraft
landing scheduling problem based on cellular automaton. proceedings
of the first ACM/SIGEVO summit on genetic and evolutionary
computation, Association for Computing Machinery,2009:714-724
[9] M.J. Soomer, G.J.Franx. Scheduling aircraft landings using airlines
preferences. European Journal of Operational Research,
2008,190(1):277-291
[10] G. Bencheikh, J. Boukachour, A.El.Hilali Alaoui, F.El Khoukhi.
Hybrid method for aircraft landing scheduling based on a Job Shop
formulation, International Journal of Computer Science and Network
Security.2009,9(8):78-88
[11] X.B. Hu,W.H. Chen. Receding horizon control for aircraft arrival
sequencing and scheduling. IEEE Transactions on Intelligent
Transportation systems, 2005 6(2):189-197
[12] J.E. Beasley, OR-library: Distributing test problems by electronic mail,
Journal of the Operational Research Society
1990,V41(11):10691072, Available from: <http:
//mscmga.ms.ic.ac.uk/info.html>
2011 Chinese Control and Decision Conference (CCDC) 879