aircraft landing
TRANSCRIPT
-
8/14/2019 Aircraft Landing
1/22
Algorithms for Scheduling Aircraft Landings
Andreas T Ernst and Mohan Krishnamoorthy
August 15, 2001
CSIRO Mathematical and Information Sciences
Private Bag 10, Clayton South MDC,
Clayton VIC 3169, Australia.
[email protected], [email protected]
Abstract
The problem of scheduling aircraft landings on one or more runways is an interesting prob-
lem that is similar to a machine job scheduling problem with sequence dependent processingtimes and with earliness and tardiness penalties. The aim is to optimally land a set of planes
on one or several runways in such a way that separation criteria between all pairs of planes
(not just successive ones) are satisfied. Each plane has an allowable time window as well as
a target time. There are penalties associated with landing either earlier or later than this target
landing time.
In this paper, we consider both the static and the dynamic version of the problem. The latter
occurs where decisions about the landing times for planes (and the runways they land on) must
be taken in a dynamic fashion as time passes and as the operational environment changes. A
number of possible solution algorithms, both heuristic and exact, are discussed.
Keywords: runway operations, landing, takeoff, scheduling, reactive scheduling, displacement
problem
1 Introduction
In this paper we introduce the problem of scheduling aircraft (plane) landings at an airport. Thisproblem is one of deciding a landing time on a runway for each plane in a given set of planes such
that:
each plane lands at some time within a predetermined time window; and
separation criteria between the landing of a plane, and the landing of all successive planes,are respected.
The objective is to minimise the total (weighted) deviation from a desired target landing timefor each plane. This type of problem occurs at busy airports where making optimal use of thebottleneck resource (the runways) is crucial to keep the whole airport operating smoothly.
Given a set of planes in the radar horizon of an air traffic controller (ATC), the problem is one of
determining a landing time for each plane such that each plane in this ATC horizon lands within
a pre-specified landing time window and such that landing separation criteria specified for each
1
-
8/14/2019 Aircraft Landing
2/22
pair of
planes in this horizon are adhered to. This problem is a slightly unusual application that fits
into the general category of machine scheduling problems. This problem was presented first byBeasley, Krishnamoorthy, Sharaiha & Abramson [5].
As in [5], we are only concerned with modeling and solving the problem of scheduling aircraftlandings in this paper. However, the approach presented in this paper is easily adaptable to a
problem featuring only takeoffs or, indeed, a problem involving a mix of takeoffs and landings onthe same (or on different) runways. In addition, in this paper, we are concerned with the staticcase of scheduling aircraft landings. The dynamic case of scheduling aircraft landings has been
dealt with by Beasley, Krishnamoorthy, Sharaiha & Abramson [4].
Consider the planes within the radar range (or horizon) of an air traffic controller (ATC) at an air-
port. Typically, the ATC will be in charge of determining approach paths, runway allocation andlanding times of several planes in the radar horizon. Each of these planes has a preferred landing
time as well as earliest and latest possible landing times. In addition, there are aerodynamic con-siderations that arise because of the turbulence created by landing aircraft. These considerationsimpose a constraint that the landing time between any two aircraft pairs in the horizon must be
greater than some minimum interval. This minimum separation is dependent on the aircraft typesand could be different for different pairs of aircraft in the horizon.
It is important to note here that whilst throughout this paper we shall only refer to planes landing,
the model presented in this paper is applicable without change to problems involving just takeoffsonly and to problems involving a mix of landings and takeoffs on the same runway. We start by
describing algorithms for the static case. In other words, we are dealing with the off-line casewhere we have complete knowledge of the set of planes that are going to land. We then show
how the methods for the static case can be adapted to deal with the dynamic, or on-line, case,where decisions about the landing times for planes must be made as time passes and the situationchanges (planes land, new planes appear, etc).
The problem of assigning to each plane, a landing time such that all planes land as close aspossible to their preferred landing time will be called the Aircraft Landing Problem (ALP). There
are many variants of the ALP and many approaches for solving it. Most previous work in this areapresent simulation models (see Andreussi [2]), queueing models (see Milan [12]), or heuristics
(see Dear [9], Dear & Sherif [10], Venkatakrishnan, Barnett & Odoni [17]). A dynamic program-ming based approach was considered by Psaraftis [14]. Beasley, Krishnamoorthy, Sharaiha &Abramson [5] provide a detailed review of the literature in this area. The work in [5] was based
on an earlier mixed integer linear programming formulation and a genetic algorithm approach byAbela, Abramson, Krishnamoorthy, De Silva & Mills [1]. There are, however, many (optimisation)
problems of interest in the area of air-space management and in air traffic control. Some of these
are discussed in, for example, Bianco & Odoni [6], Odoni, Rousseau & Wilson [13], and Winter &Nuber [18].
Bianco, Rinaldi & Sassano [8] and Bianco, Ricciardelli, Rinaldi & Sassano [7] adopt a job-shopscheduling view of the ALP. They solve the single runway problem using a mixed integer linear
program. They provide a tree-search procedure with embedded Lagrangean lower bounds andalso develop a heuristic approach for the problem. Their paper also presents a set of ALP data and
provides computational results for all of the approaches. The results provided in [7] are perhaps
the most complete set for the ALP apart from [5]. Most approaches for solving the job-shopscheduling problem with sequence dependent processing times are heuristic in nature, althoughthere exist some formulations, complexity results, worst case performance bounds and also some
exact approaches.
2
-
8/14/2019 Aircraft Landing
3/22
1.1 Problem context
Upon entering within air traffic controls radar range (or horizon) at an airport, a plane requiresair traffic control to assign it a landing time, sometimes known as the broadcast time. This time
must lie within a specified time window, bounded by an earliest time and a latest time, these timesbeing different for different planes. The earliest time represents the earliest a plane can land if itflies at its maximum airspeed. The latest time represents the latest a plane can land if it slows to
its slowest possible airspeed while also holding (circling) for the maximum allowable time. Eachplane has a most economical, preferred speed referred to as the cruise speed. A plane is said to
be assigned its preferred time, or target time, if it is required to fly in to land at its cruise speed. Ifair traffic control requires the plane to either slow down, hold or speed up, a cost will be incurred.This cost will grow as the difference between the assigned landing time and the target landing
time grows. In this paper we shall assume that this cost is linearly related to deviation from target.Figure 1 illustrates the variation in cost within the time window of a particular plane.
The time between a particular plane landing, and the landing of any successive plane, must be
greater than a specified minimum (the separation time) which is dependent upon the size of theplanes involved. A Boeing 747 generates a great deal of turbulence and therefore imposes a(relatively) large time delay before other planes can land. A light plane, by contrast, generates
little turbulence and therefore imposes only a (relatively) small time delay before other planes
can land. Planes taking off impose similar restrictions on successive operations. Note that theseminimum separations due to turbulence apply to all subsequent planes and not just the immediate
successive one. Thus the landing time of a plane can influence the possible landing times of twoor three subsequent planes.
1.2 Dynamic scheduling
The above assumes that we have perfect information about all planes that are going to land
(or take off). However in practice the operational environment changes as time passes, new
information becomes available making it necessary to revise the previous decisions that havebeen made. Whilst it is sufficient to assume a static environment for planning purposes, reallife
applications require the study of tactical decisionmaking in operational environments.
In scheduling aircraft landings, as a new plane appears we may have to revise the landing times
of planes that have already been scheduled for landing. This problem is dynamic in the sense that
planned decisions are continually having to be revisited as the operational environment changes.However it is clear that, from an operational viewpoint, it may be undesirable to perturb the previ-
ous decision too much in making a new decision. Placing a new plane at the front of the landingqueue may change the previous scheduled landing time for all planes already in the queue. Typ-ically therefore in making a new decision we have to explicitly consider the previous decision
(solution) as we have some degree of commitment to it and are reluctant to change it too much.
Hence we have a displacement problem, the problem of making a decision but with an explicit linkback to the previous decision that was made.
The remainder of the paper is structured as follows. In Section 2 we provide a mathematicalformulation of the ALP.
Section 3 we present a specialised simplex method for finding optimal values of broadcast landing
times given a determination of some or all off the sequencing variables. This algorithm can beused to quickly calculate lower bounds in a branch and bound scheme or to evaluate solutions ina heuristic for the plane landing sequence variables. We develop a heuristic approach based on
problem space search. This is described in Section 4. The heuristic upper bound and the lower
3
-
8/14/2019 Aircraft Landing
4/22
bounds
that are obtained from the simplex algorithm are then combined in a branch and bound
method together with several types of pre-processing steps, to yield an effective exact solutionalgorithm. In Section 5, we then show how to extend the exact algorithm to the case of multiple
runways. Finally we present some numerical results in Section 6.
2 Formulation of ALP
As in [5] we are only interested in modeling the Decision problem here. In other words, we areonly interested in deriving, for each plane, a broadcastlanding time. Along with this, the ATC must
also determine solutions to the Control problem of howto land the planes. For example, a set of
broadcast times may require some planes to overtake other planes in the static horizon, whilesome of the determined broadcast times may require the allocation of different trajectories andflight paths to various planes. We do not incorporate, into our decision model, any considerations
that arise from these control problems.
A precise formulation of the ALP requires the following parameters:
the set of planes
,
!
the earliest landing time of plane# $
,& !
the latest landing time of plane # $
,
( !
the target (preferred) landing time of plane # $
,
0! 1
the required separation time between planes#
and3
if#
lands before3
,0
! 1 4 6 8
#
3 $
,
@
!
the penalty cost for plane # landing ahead of the target time,
A!
the penalty cost for plane # landing after the target time.
We require the following decision variables in our decision model. We note that we deviate slightly
from the variable notations that are used in [5]:B
!
the landing time of plane # ,
C! 1
a binary variable indicating that plane#
lands before3
.
A mathematical formulation of ALP can now be stated as follows:
Problem ALP
min D! E G
@
!
max 6 ( ! Q
B
! TA
!
max 6
B
! Q ( !
(1)
Subject to:
B
! T
0
! 1 W
B
1 T YC
1 ! 8
# b
3 $
(2)C
1 ! TC
! 1 8
# b
3 $
(3) ! W
B
! W & ! 8
# $
(4)C
! 1
$
6
(5)
Here,Y
is a sufficiently large number. Needless to say, the formulation as it stands would not
be of much use for calculating solutions to ALP. It is only provided as a compact and precisemathematical definition of the problem. Note that this formulation can easily be transformed to aMixed Integer Linear Programming (MILP) formulation through the use of additional variables to
model the maximum operators in the objective.
4
-
8/14/2019 Aircraft Landing
5/22
2.1 Incorporating takeoffs
We said before that the model presented in this paper is applicable without change to problems
involving just takeoffs only and to problems involving a mix of landings and takeoffs on the same
runway. To see that this is so reflect that all we have really done is build a model to decidetimes for planes so as to respect time window constraints and separation time constraints. This is
precisely the situation we have both for takeoffs and for a mix of landings and takeoffs just a setof planes with time windows and separation times, where we know for any particular pair q #
3 s of
planes whether # is landing or taking off and whether 3 is landing or taking off and so can set the
separation time0
!
3 accordingly.
2.2 Multiple runway MILP
A slight variation to this problem is the multiple runway case. Here the planes can be assignedto one of two or more runways. In most applications involving multiple runways, the separationconstraints need only be satisfied for planes landing on the same runway. This may not be the
case if there are multiple runways that are very close together or even intersecting.
Let u!
be the time before( !
that plane # lands (or zero if plane # lands after( !
) and let v!
be defined
similarly as the time after( !
that plane # lands. In this formulation we also re-interpret the variablesC
! 1
: the variable is one if plane # lands before plane 3 on the same runway. In order to count and
limit the number of runways we also introduce binary variablesx
!
which are zero unless plane#
isthe last plane to land on a runway. Now the multiple runway MILP can be defined as follows:
minD
!
q
@
!
u
! TA
!
v
!
s
Subject to:B
1 4
B
! T0
! 1 Q
q
& ! Q 1 T0
! 1
s q
" Q C ! 1
s
8
# b
3 $
(6)B
! ( ! Q
u
! T
v
! 8
# $
(7)C
1 ! TC
!2 1 W 8
# 3 $
(8)
x
! 4 Q
D
1 E G 1
!
C! 1 8
# $
(9)
D
! E G
x
! W
(10)
! W
B
! W & ! 8
# $
(11)
u
!
v
! 4 6 8
# $
(12)
x
! C
! 1
$
6
(13)
Note that the multiple runway formulation is significantly weaker than the single runway versionmainly due to the fact that the
C ! 1
variables are only constrained by an inequality constraint in
(8) rather than the equality constraint (3). Equation (10) limits the number of runways to
. The
formulation can be tightened slightly as follows:
1. By using any upper bound it may be possible to tighten the time windows for planes:
!
max ! ( ! Q
u
! & !
min & ! ( ! T
v
!
2. Some of theC
! 1
variables can be fixed to zero a priori: if ! 1 T
0! 1 & ! 1
then obviously plane
#cannot land before plane
3on the same runway so
C ! 1 6
. An analogous argument based
on the upper bound and costs can be used to attempt fixing of furtherC
! 1
variables.
5
-
8/14/2019 Aircraft Landing
6/22
3. In order to force some of theC
! 1
to take on non-zero values the following constraint may be
useful:
D
!
1 E G
C ! 1 4
q m
n Q
s
T
m
n
q
s
The right hand side value of this constraint is simply based on the minimum number ofplanes that must land on the same runway if
planes are to land on
runways. More
generally if is any set of planes with
then
D
!
1 E }
C! 1 4
q m
n Q
s
T
m
n
q
s
For example if
then we must have at least two planes on each runway given a
right hand side value of
. Alternatively we could have more on some runway and less onothers but this would give an even larger number of non-zero
C! 1
values as the sum ofC
! 1
for planes on the same runways is given by q
Q
s . Naturally there are a large number of
constraints of this type that could be added. In practice it is only sensible to include theseconstraints for sets of planes that have their target landing times close together, or by addingthem as cuts during the branch and bound process when they are violated.
4. Implication constraints of the formC
! 4C
! 1 TC
1 Q
are not likely to be useful at the root
node of the LP, but may be used to strengthen the LP after branching.
5. A more complicated tightening constraint can be constructed based on minimum deviationsrequired to land planes on
runways. Let
be a set of T
planes such that:
min!
1 E
( ! T
0
! 1 Q ( 1 4 6
then the following constraint holds:
D
1 E
q u
1 T
v
1
s
4
In other words, since only
of the T
planes can land on separate runways, at least onepair of planes needs to land on the same runway, and in this case the amount that either ofthe planes needs to move from its preferred landing time is at least enough to put either
#
before3
or3
before#
as given by .
This type of approach is shown in [5] to be able to solve problems for two or three runways with
up to fifty planes. However the computational times are still slightly two large for use in practice.In the next section a different approach is described for obtaining results more quickly.
3 A simplex algorithm to determine landing times
We first observe that the ALP involves two decision problems: (1) a sequencing problem (that de-
termines the sequence of plane landings), (2) a scheduling decision problem (that determines the
precise landing times for each plane in the sequence, subject to the separation constraints). Weobserve that ifwe are given the sequence in which planes land, then, we can develop an algorithmfor resolving the scheduling decisions. In this section we show how the simplex algorithm can be
specialised to the problem of finding the optimal landing times of all planes given a partial orderingof the planes. The algorithm described in this section is used later in a heuristic approach. It is
6
-
8/14/2019 Aircraft Landing
7/22
also used to calculate lower bounds that are then embedded in a branch and bound algorithm to
find an optimal solution.
Consider the problem of determining the landing times of
planes to land. Let
represent an
ordering of planes. Note that can either be a partial ordering or a total ordering. Additionally,
we define # 3 if plane # appears before 3 in the sequence. In other words, # 3 if # 3 and# b
3 . Thus, a partial ordering of the
planes defines a set of ordered pairs
q #
3 s # 3
.
We now want to find landing timesB
!
for each plane # such that
1.
B
!
$
! & !
,2.
B
! T0
! 1 W
B
1
if# 3
(however the separation constraint need not be satisfied ifq #
3 s b$ .
3. The cost @!
(A
!
) for landing before (after)( !
is minimised.
We define variablesu
!
andv
!
as before. Now the primal landing timeproblem can be written as:
Problem PLT:
Min
G
D
!
@
!
u
! T
G
D
!
A !
v
!
Subject to:u
! Q
u
1 T
v
1 Q
v
! 4 ( ! T0
! 1 Q ( 1 8
q #
3 s $ (14)
! Q ( ! W
v
! Q
u
! 8
#
(15)
v
! Q
u
! W & ! Q ( ! 8
#
(16)
4
(17)
This is a linear program which could be solved by any standard LP algorithm. However this wouldnot exploit the special structure of this type of problem.
Define dual variables ! 1
, !
and !
corresponding to (14), (15) and (16), respectively, the three
sets of inequality constraints in PLT. Now the dual of PLT can be written as:
Problem DLT:
G
D
!
!
q
! Q ( !
s
T
G
D
!
!
q
( ! Q & !
s
T
D
! 1
! 1
q
( 1 Q ( ! Q
0
! 1
s
-
D
1 !
! 1 Q
D
!
! W
@
! T
!
Q
!
8
#
(18)
D
1 !
! 1 Q
D
!
! W QA
! T
!
Q
!
8
#
(19)
4
(20)
It is obvious that at most one of u!
and v!
will be non-zero in the optimal solution of PLT, hence at
most one of the constraints (18) and (19) can be active for any#. Also note that the left hand side
of equations (18) and (19) are just the network flow equations for a network in which directed arcs
join # to 3 if # 3 .
We will now proceed to construct a simplex algorithm, analogous to the network simplex algorithm,
which solves DLT. The first step is to consider the structure of basic feasible solutions of thisproblem.
A basic solution consists of a set of active arcs forming a forest which spans the set of nodes (a
single node implies a trivial tree). Each tree in the forest has a root node
. This node may be inone of three states: early, lateor target. Each non-root node
#can be in one of two states early or
late. Hence a basic solution is characterised by a forest of arcs and a state for each node. These
have the following meaning:
7
-
8/14/2019 Aircraft Landing
8/22
If an arc q #
3 s is active then planes # and 3 land with the minimum separation distance
between them. Correspondingly the dual variable
! 1
carries some flow.
If a non-root node#
is early (late) then the plane lands before (after)( !
. In other words,
u
!
(v
!
) is basic in PLT. In the dual it means that#
has a supply of @!
(demand ofA
!
). The
divergence equation holds for all non-root nodes.
The root node of any tree is used to make up the net difference between supply and
demand over the whole tree. If it is in the early state then
makes up the difference (forfeasible solutions the amount of flow leaving is greater than @ ). Similarly if it is in the late
state then
makes up the difference (the amount of flow entering should be greater thanA
). Finally if it is in its third state (target) then the divergence equations are not applied tothis node (the net difference between supply and demand should be between @ and
QA
).
In terms of the primal solution the three states correspond to plane
landing at times
,&
or(
respectively.
Given a basis, theu
andv
variables can be calculated for each tree by starting with the root
node and working down to the leaves using equation (14). Similarly the flows can be calculated
for each tree by starting at the leaf nodes and working back to the root node, where the
or
variable is determined. Based on this representation of basic feasible solutions we can now
develop a simplex algorithm for DLT.
Initialisation: Start with a basic feasible solution for the dual problem. The easiest way to findsuch a solution is to land each plane at its target time. In other words the basis consists of
trees each having only a root node with status target.
Reduced Costs: We calculate the u and v variables as described above. For any plane # if itlands outside of the interval
! & !
then the corresponding !
or !
has a positive reduced
cost. Similarly if for some # 3 the separation constraint is not satisfied then ! 1
has apositive reduced cost.
Selection of Incoming Variable: Pick any variable with a positive reduced cost. In practice itmakes sense to choose variables with a large reduced cost and to try to cycle through allother planes rather than repeatedly selecting variables relating to the same small set of
planes.
Pivoting: There are two types of pivot operations: If
! 1
is picked to enter the basis and#
and
3are in the same tree then the pivot operation is identical to that of the network simplex
algorithm. We simply push flow around the cycle in the direction # 3 until the flow in oneof the arcs in the cycle becomes zero. This arc is then deactivated to give a new tree.
In all other cases we push flow along a path with two different end nodes, say
and
.
Assume that
! 1
is entering the basis and that#
and3
are in different trees, with root nodes
and respectively. The path from to is made up of the path from to # , arc q #
3 s andthe path from 3 to . If is in the same tree as , and if
is entering the basis, then the
path is from to . Similarly, if
is entering the basis, then we use the same path in theopposite direction. In each case, the aim is to push flow along the new path (by changingthe flows in the path as well as the supply at the end nodes), until one of the flows becomes
zero or one of the end nodes changes status. Hence this type of pivot can result in severaldifferent changes to the structure of the basis: (1) a tree breaking in two if arc q #
3 s becomes
non-basic and and were originally in the same tree; (2) the root node of the tree changes,where becomes the root node instead of ; (3) two trees being joined.
8
-
8/14/2019 Aircraft Landing
9/22
-
8/14/2019 Aircraft Landing
10/22
landed next, where the priority for each of the remaining planes is calculated as
1
( 1 T
1
T
u
1
(21)
Here
and
are two arbitrary positive weights and u1
is a perturbation of the priority.
1
is defined
as the earliest time that plane3
can land given the previous sequence of planes. That is if thepartial sequence
of planes has been constructed already then
1
max 1
max!
!
T
0
1
We then define the next plane to land as:
arg min1 E
j
1
Note that the earliest possible landing time for plane
is given by
.
This heuristic will not necessarily find a feasible landing sequence (it is possible that
&
for
some ). This heuristic could be modified to reduce the likelihood that an infeasible sequence will
be generated. However in practice the algorithm only rarely fails to provide a feasible solution aslong as the perturbations are not too large.
The rational behind this heuristic is that the natural way for the planes to land is in order of theirtarget times, however if their earliest possible landing time is quite late then it may be better to
use a plane which can land earlier even if its target time is a little later. Obviously we use
.In fact for the results presented below,
and
. The perturbationsu
1
for each plane3
are
an input to this heuristic.
4.2 The PSS metaheuristic
The problem space search heuristic uses a genetic algorithm to search through the space of per-turbation vectors . We only use a simple GA scheme to search the perturbation space. Several
sophisticated GA variations exist in the literature (see for example, [15]). The basic algorithm thatwe implement is as follows:
Algorithm 2
Initialise population size
with random individuals
for#
to
do
repeat
Choose 2 members of the population as parents
Perform a single point crossover with mutation to obtain
until produces a feasible landing sequence
Evaluate
using the simplex algorithm
Replace the worst member of the population with
next #
Report the best solution found
end algorithm 2.
The following parameter settings are used for the results in this paper:
The genes of the initial population as well as the mutations are generated using an expo-
nential distribution for positive and negative u!
with an even chance of positive or negativevalues.
10
-
8/14/2019 Aircraft Landing
11/22
The parameter used for the exponential distribution is
max1 ( 1 T 1 Q
min1 ( 1 T 1
This ensures that the perturbationsu
are of a similar size as the differences in priority values.
The probability of a gene being mutated at birth is6
. The population size
is 6 6
and the number of births 6 6 6 6
.
4.3 PSS for Multiple Runways
The PSS heuristic described (as described in this section so far) can be extended quite easily to
take multiple runways into account. An initial attempt was to employ the constructive heuristic forassigning planes to runways. This did not provide promising results. Hence the task of decidingon runways for each plane was added to the genetic algorithm.
For each gene of the population of multiple runway solutions consists of a list of ordered pairsq u
!
!
s where u!
is the perturbation used by the constructive heuristic as before and !
is the
runway index for plane#. For the initial population and mutations the runway is chosen at random
using a uniform probability distribution.
5 A branch and bound method for multiple runway problems
Based on the simplex method described in Section 3 we can also construct a branch and boundmethod that solves the ALP for single and multiple runways. It uses the simplex method to derive
lower bounds for a given partial order and progressively orders more planes until a completesequence of planes for each runway is found.
Denote by the set of all the pairs of planes q #
3 s which have to land in that order on the same
runway. That is only contains pairs of planes which we have constrained a priori to land onthe same runway. Let
be the set of runways, indexed by . At any point in the
branch and bound algorithm we have some set
(which might be empty at the root node) and aset of landing times corresponding to this set
determined by the simplex algorithm.
5.1 Assigning planes to runways
Assume that we are given the landing times for each plane as well as a set
. Any algorithm that
tries to allocate the planes to runways has to do the following:
1. For any q #
3 s $ , planes # and 3 have to be assigned to the same runway.
2. All runways must be used, unless it is possible to land all of the planes on fewer runways
than are available without violating the separation constraints.
3. If no feasible solution can be found, the algorithm has to indicate which planes conflict with
each other, thus preventing a solution from being found.
11
-
8/14/2019 Aircraft Landing
12/22
The set defines groups of planes that have to land on the same runway. For each of these
groups containing more than two planes we need to check that the separation constraint is sat-isfied. For example it is possible that
q #
sand
q 3
sare in
, so that
#
3and
have to land on
the same runway, but#
and3
have been assigned the same landing time. If an infeasible pair ofplanes is found then we return the pair with maximum conflict. The branch and bound algorithmcan then branch on the two possible orderings of the pair. (In the above example the we would
branch by includingq #
3 sor
q 3
# sin
).
Next we order the planes according to the landing times assigned to them by the simplex algo-
rithm. We then go through the list of planes in chronological order and try to assign to each planea runway on which it will not conflict with previous planes. If there are several runways on whichplane # could land then we choose the runway for which the gap to the previous planes is smallest
(breaking ties arbitrarily). More precisely we choose a runway
which minimises
!
B
! Q
max1 E
B
1 T
0
1 !
(22)
where
!
is the set of planes already assigned to runway andB
1
the landing time of plane 3 . On
the other hand if
!
is negative for each runway , then we can not find a feasible solution. Let !
be a set of T
planes consisting of # and one plane 3 in each
!
which attains the maximum in(22). In order to land all of the planes on the available runways, at least two of the planes in
!
must land on the same runway.Rather than stopping as soon as we find the first plane # that can not be landed, we assign # to
the runway
with the largest (least negative)
!
and continue assigning planes to runways. Onceall planes have been assigned to runways we choose the set
!
for which max E
@
!
is smallest
(most negative) to continue the branch and bound process. Note that the above process is a
heuristic assignment method. Even if this method produces sub-optimal assignments in somecases, the branch and bound will ensure that the optimal solution is found eventually as described
below.
5.2 Preprocessing
Some use can be made of the preprocessing techniques that we developed for the single runwayproblems. The method of tightening landing intervals based on the upper bound described for theMILP formulation still applies. We define a set of planes q #
3 s such that if # and 3 land on the
same runway then 3 must land after # . There are several ways in which we can add elements tothis set as described below.
5.2.1 Upper Bound based Fixing
Consider two planes#
and3
. What would be the cost of landing plane3
before plane#
if there
are no other planes to be landed? Obviously if( 1 T
0
1 !
( !
the cost is zero. Otherwise we have
to displace at least one of the planes from its target time. Assume thatA
!
@
1
(the case whereA
! 4
@
1
is similar), then it is cheaper to move # back than to bring the landing time of 3 forwards.Hence the minimum cost is achieved by
B
!
min ( 1 T
0
1 ! & !
B
1
B
! Q
0
1 !
The cost of landing the planes isA !
q
B
! Q ( !
s
T
@
1
q
( 1 Q
B
1
s. If this cost exceeds the upper bound, or
B
1
1
then plane3
can not land before plane#, hence
# 3.
12
-
8/14/2019 Aircraft Landing
13/22
A second pass of this type of fixing can be made once some of the other pre-processing methods
have given the ordering of some of the planes. In the second pass, we simply fixq 3
# sand solve
the lower bound problem using the simplex method to see if this lower bound exceeds the upper
bound. The advantage of this method is that it gives better lower bounds using information fromthe other pre-processing steps. The disadvantage is that it is relatively expensive.
5.2.2 Fixing Based on Data
Consider two planes#
3
assigned to the same runway with identical data ( ! 1
,& ! & 1
,( ! ( 1
, @!
@
1
,A
! A
1
and0
!
0
1
0
!
0
1 8
). In this case it is irrelevant in which order
#
and3
land so we can insertq #
3 sinto
arbitrarily.
More generally#
can be assumed to land before3
in the (an) optimal solution if all of the followingconditions are satisfied:
1. Plane # is earlier than plane 3 . More precisely ! W 1
,( ! W ( 1
and& ! W & 1
.
2. Landing#
before3
does not require more time, ie0
! 1 W0
1 !
.
3. It is no more expensive (in terms of displacement of # and 3 ) to land # before 3 than viceversa. Mathematically: (
A !5 4 A 1
or& ! W ( 1
) and ( @! W
@
1
or( ! W 1
). This eliminates the
possibility that it may be much cheaper to, say, delay # for a very long time so as to land 3 ontime (or even early).
4. Reversing the order and landing3
before#
would not reduce the separation to other planes.If some third plane
is comparable to both
#and
3(ie
#
3or
#
3 ) then we only need
to check the separation in one direction otherwise we check both. More precisely:
8
q #
s b$
q 3
s b$
0
1 40
!
8
q
# s b$
q
3 s b$
0
1 W
0
!
If all of the four conditions above are satisfied thenq #
3 scan be inserted into
. There are a
lot of conditions that need to be satisfied, making it unlikely that a randomly generated problem
would satisfy all of them for very many pairs. However these pairs, if identified have the potential
to reduce processing times significantly. Assume for example that planes # and 3 have identicaldata. Then they satisfy the above condition and would be fixed to land in some arbitrary order.However if they were not included in then the branch and bound algorithm may branch on q #
3 s
and q 3
# s at the root node producing two identical subtrees, thereby doubling the number of nodesthat have to be searched.
5.3 Branch and Bound
We start the search for an optimal solution with an empty set and with given by the prepro-cessing. The branch and bound method for the multiple runway problem differs from that for the
single runway case in that a node may have either 2 descendants or T
. The first case occurswhen two planes #
3 in the same group are found to violate the separation constraint. In this case
the pairsq #
3 sand
q 3
# sare added to
(and
) to produce two new nodes of the branch and
bound tree. The second scenario is where we have a set !
of T
planes that clash producedby the heuristic method of assigning planes to runways. In this case we generate a descendant
node for each pairq 3
swith
3
$
!
and3 b
.
13
-
8/14/2019 Aircraft Landing
14/22
Note that
it is possible that one or more of these pairs q 3
s could be allocated to the same runway
without changing the landing times (in other words the heuristic may have made a poor choicein allocating planes to runways before coming to plane
#). In this case we may choose to run
the heuristic again but try to put3
and
on the same runway to see if this will lead to a feasiblesolution. However experimental experience suggests that this is hardly worth doing. Hence weonly run the heuristic once for each node.
We use a simple depth first method for processing the branch and bound tree. There are severalways to reduce the size of the tree. For each new node, created by adding the pair q #
3 s to we
can do the following:
Cutting based on upper bound: This is the standard way of cutting the branch and bound tree.
Whenever the lower bound calculated by simplex is greater than the upper bound (or thesubproblem is infeasible) we can abandon the current node and backtrack.
Cutting using
: We can make use of to cut branches at which pairs of planes have beenplaced on the same runway in an order that can not lead to an optimal solution. Whenever
q #
3 s is to be added to and q 3
# s $ we can immediately cut of that branch.
Inference: This can be applied not only to the set but also to for conclusions based on q #
3 s .For any pair q #
3 s $ , if 3 and land on the same runway then so do # and . Hence from
q #
3 s $ and
q 3
s $ we can conclude
q #
s $ .
6 Results
This section contains some computational results of the algorithms presented in this paper. The
algorithms for multiple runways was tested on the aircraft landing problem test data sets provided
by the OR problem library maintained by Beasley [3] (problems number 1 8) as well as two newproblems (problems 9 & 10). All programs were run on a DEC 3000/700 (200MHz Alpha CPU).
The exact algorithms were programmed in C and compiled with maximum compiler optimisation.The problem space search heuristic was tested on both single and multiple runway problems. For
each problem the heuristic was run 20 times to give a good indication of the average behaviour ofthe heuristic. Table 1 shows the results for the single runway problems. The upper gap from the
optimal solution (denoted as Gap), defined asq
Q
s
, is given in Table 1. We provide
the worst upper Gap, the best upper Gap as well as the average upper Gap over 20 trials. The
Prob No. of Min Avg Max No of CPU
No. Planes Gap (%) Gap (%) Gap (%) Births (sec)
1 10 0.00 0.00 0.00 5075 0.712 15 0.00 0.00 0.00 6339 1.24
3 20 0.00 0.00 0.00 5463 1.634 20 0.00 0.00 0.00 5226 2.14
5 20 0.00 0.00 0.00 5466 2.32
6 30 0.00 0.00 0.00 5230 5.677 44 0.00 0.00 0.00 6304 9.87
8 50 0.00 0.99 10.51 11160 20.549 30 0.00 0.00 0.00 6215 7.95
10 44 0.00 2.57 7.42 15636 34.42
Table 1: Heuristic results for a single runway
14
-
8/14/2019 Aircraft Landing
15/22
-
8/14/2019 Aircraft Landing
16/22
-
8/14/2019 Aircraft Landing
17/22
7 Conclusions
In this paper we have developed a specialised lower bounding method for the aircraft landingproblem. This method is based on the simplex algorithm, but makes use of the specific problemstructure of the LP relaxation of the aircraft landing problem to produce a much faster algorithm.
This yields a fast method for finding the landing times of planes in the static horizon of an air trafficcontroller, given a partial ordering of the aircraft. This fast method for finding landing schedules is
used both in a heuristic as well as a branch and bound method. We develop a heuristic based on
problem space search. This heuristic is extremely effective for all of the test problems. The branchand bound method depends heavily on the success of several pre-processing methods that are
described in this paper. In all but two (artificially derived difficult) problems, the exact method isvery efficient in solving both the single and multiple runway problems in a reasonable amount of
computational time. Our methods are also an improvement on a comparable method that exists
in the literature for such problems.
It is of interest to see if the results that we describe in this paper can be transferred to yield good
algorithms for a similar problem in the machine scheduling literature the problem of schedulingjobs on machines with sequence-dependent processing times. This is a topic of current research.
Moreover, it is of interest to see if some of the results that we have described in this paper can
be used to solve the practical problem of scheduling planes in a dynamic ATC horizon, in whichsome planes land (and hence depart from the ATC horizon) and new planes appear (into the ATC
horizon) at a steady rate.
8 The Displacement Problem
8.1 Problem context
In many decisionmaking problems we assume a static operational environment. However often
in applications the operational environment changes, typically as time passes new informationmakes it necessary to revise the previous decisions that have been made. Whilst it is sufficientto assume a static environment for planning purposes, reallife applications require the study of
tactical decisionmaking in operational environments.
In scheduling aircraft landings, as a new plane appears we may have to revise the landing times
of planes that have already been scheduled for landing. This problem is dynamic in the sense thatplanned decisions are continually having to be revisited as the operational environment changes.
However it is clear that, from an operational viewpoint, it may be undesirable to perturb (change,displace) the previous decision too much in making a new decision. Placing a new plane atthe front of the landing queue may change the previous scheduled landing time for all planes
already in the queue. Typically therefore in making a new decision we have to explicitly considerthe previous decision (solution) as we have some degree of commitment to it and are reluctant to
change it too much. Hence we have a displacement problem, the problem of making a decisionbut with an explicit link back to the previous decision that was made.
Whilst we have discussed this problem in words above the problem can be formulated mathemat-ically as below.
17
-
8/14/2019 Aircraft Landing
18/22
8.2 Displacement formulation
Dynamic aircraft landing problem is a particular case of the generic displacement problem dis-
cussed in [4]. As such we need to define an appropriate displacement function for the problem.
In the aircraft landing problem each plane has a target landing time and we assign it a scheduled
landing time. This scheduled landing time could be less than, equal to, or greater than, the
target landing time. It seems reasonable to assume however that, after each plane is told of its
scheduled landing time, then that time becomes its new target time. Moreover, as we have costinformation for each plane in regard to deviation from the original target time (for plane 3 , @
1
perunit of time for landing before target and
A1
per unit of time for landing after target) we consider
that an appropriate displacement function is:
1
q
1 1
s
@
1
q
1
1
s if 1 W 1
3
A1
q
1 1
s if 1 1
3
(23)
In other words the displacement function reflects the cost of deviating from the scheduled landingtime (
1
) assigned in the preceding solution. This function has the desirable property that itpenalises any deviation from the previous solution with a cost of zero if the new solution (
1
) is the
same as the old solution ( 1
). We have made an implicit assumption here, namely that each plane
3 is told of its new ( 1
) scheduled landing time after the solution of each displacement problem,
i.e. that each time we solve the displacement problem we communicate (broadcast) the solutionto each plane.
It is clear that our choice of displacement function is somewhat arbitrary. For example, the dis-
placement function defined above (23) only takes into account changes in scheduled landingtimes. There could well be, between displacement problem solutions, changes in the runway as-
signed for landing. There is a case therefore for including in the displacement function a termrelating to changes in the runway assigned to each plane. For the purposes of the computational
results presented in this paper, however, we did not include such a term in the displacement func-tion. Also it seems unlikely that a change in runway would be considered as undesirable as achange in landing time.
Different displacement functions could be defined for the dynamic aircraft landing problem. How-ever the above definition is likely to be a reasonable first approximation to any more complicated
displacement function. Also this definition has the highly desirable property that it creates a dis-placement problem which has the same structure as the original static ALP, allowing the same
algorithms to be used to solve the problem.
9 Discussion
There are a number of issues that arise from the above formulation of the displacement problem.
These are discussed below.
Decision process We would envisage that the displacement problem would be applicable in
any situation where we have to continually revise the decisions made previously while notwanting to unnecessarily deviated from a plan arrived at previously in order to minimise the
inconvenience to all parties concerned in the landing of the planes.
Hence we make successive decisions as the operational environment changes, each timeformulating and solving an appropriate displacement problem that incorporates the previousdecision (
1
) that was made. To illustrate this, the decision process we envisage following
is:
18
-
8/14/2019 Aircraft Landing
19/22
1. Let 1
be the initial decisions.
2. Wait until a change which necessitates a new set of decisions occurs. Most likely this
is in the form of a new aircraft arriving as well as some of the aircraft already having
landed. However changes could also occur to the time windows with updates to the
estimated earliest and latest arrival times due to unforeseen circumstances.
3. Formulate and solve the displacement problem involving new (unknown) decisionsB
1
and the previous (known) decisions 1
.
4. Set 1
equal to the solution value forB
1
as obtained from step (3) above.
5. Go to step (2) above.
Variables Any variables removed from the problem between the old solution 1
and the formu-lation of the displacement problem (ie. planes that have landed) are probably best dealt with
via a constraint (set the variable equal to the value it took in reality) so that, without lossof generality, we can assume that the number of variables is increasing. Though obviouslyit is desirable to periodically clean out all of the old unused variables that no longer have
any effect on the solution (ie once the landing times of planes no longer affect the possible
landing times for planes still in the air).
Constraints Similarly any constraints removed from the problem (e.g. constraints that have
become inactive between the old solution (
1
) and the formulation of the displacementproblem) could be dealt with by setting the righthand side of the constraint appropriately.
However in here it is likely that better efficiency is gained by deleting any constraints as
soon as they have become redundant.
Solutions In the displacement problem setting variable values equal to their previous solutionvalues (i.e.
B
1 1
for3
;
1
to be decided for all new planes3
T
)may not be feasible, and even if feasible may not be optimal (of minimum cost). This applies
even if 1
was the optimal solution of the previous problem.
Variations There are a number of variations to the basic displacement function described abovethat could be incorporated very straightforwardly into the MILP formulation of the displace-
ment problem, and with some work also into the specialised simplex algorithm describedabove. For example one could charge no penalty for any landing time between the original
target landing time( !
and the most recently broadcast one !
. In essence this would replace
the concept of a target landing time with one of a target landing interval. This simplest ofthe variations could easily be incorporated into the specialised simplex algorithm without any
major changes. More complex options include having a penalty for both deviation from !
and a different penalty for deviation from( !
. Thus the objective function would be piecewiselinear in
B
!
with three distinct pieces.
Another potential source of variation is to adapt the cost coefficients depending on how farout the plane is. Once a plane is close to landing, making last minute changes to scheduled
landing times or the sequence of planes is likely to be far more disruptive than when theplane is still some way off from using the runway.
The choice of displacement function is (inevitably) somewhat arbitrary. Simply put, there
is no one unique displacement function that (logically) dominates all other possible dis-placement functions for a particular problem. As such different decisionmakers may prefer
different displacement functions for the same problem.
Linking to all previous solutions As we have formulated it the displacement problem just linksthe current (unknown) solution to the previous (known) solution. It is a simple matter to ex-
tend the formulation to link the current (unknown) solution to all previous solutions. However
19
-
8/14/2019 Aircraft Landing
20/22
we believe that the utility of such an approach is dubious. In reality it may be difficult enough
to decide an appropriate displacement function to quantify (for each and every variable) dis-placement from the previous solution, let alone decide a function to quantify displacement
from all previous solutions.
Frequency of resolving What should be the rule for deciding when new decisions are to bemade, i.e. when a displacement problem needs to be solved? For example, we may solve
a displacement problem after every change; after a fixed number of changes; after a fixedtime interval; after some combination of changes/time; etc. Obviously there may be a choice
about whether or not to make new decisions after a change. When a new plane appearsit may still be some time away from landing. Hence we could wait and see if any moreplanes appear before solving the displacement problem and revising the landing times (and
runways) of planes that have already been scheduled for landing. In practice it is likelythat a simple rule of thumb will be used that depends bot hon the number of changes andminimum/maximum time interval between solutions to the displacement problem.
Broadcasting Should we communicate (broadcast) the solution to each displacement problemor not? For example, it is perfectly possible for a plane to have a scheduled landing time of
0930 initially, 0941 after the first displacement problem is solved, but reverting back to 0930after the second displacement problem is solved. In such a case communicating the new
scheduled landing time to the plane after each displacement solution may (in operationalterms) be unacceptable and confusing. By contrast we could just communicate the initialscheduled landing time to the plane and then delay communicating new scheduled landing
times until (for example) we are reasonably sure that the plane will not be able to land atthe time initially communicated. Hence we need to develop rules for deciding whether (andwhen) to communicate solutions, which may change after further displacement problems
are solved, to those affected by such solutions (the pilots and passengers).
With regard to this point note here that we have implicitly assumed in defining the displace-ment function
1
q
1 1
s that 1
refers to the last solution communicated. This is becausewe have assumed that any cost incurred in displacement can only occur in suffering a dis-
placement from something known, i.e. the previously communicated solution.There is little that can be said from a theoretical standpoint on this question, however findinga reasonable answer to this question is vital for the successful implementation of such asystem in practice. A good compromise may well involve communicating changes to the
solution more frequently to those planes that are close to landing while only infrequently tothose that are not scheduled to land for quite some time, unless a very major change to
their landing time has occured. Given the nonunique nature of the displacement function,
consultation with decisionmakers and affected parties (such as air traffic controllers, airportmanagers and pilots in the case of scheduling aircraft landings) will be vital.
9.1 Conclusions
In this paper we described the aircraft landing problem (ALP) that describes the scheduling prob-lem arising out of the decisions arising at a busy airport where airplanes need to be assigned
runways and landing/takeoff times in order to make best use of the runways which commonlyform a bottleneck. A number of algorithms are described that provide good numerical solutions to
the static version of the ALP where the number and characteristics of the planes are known andunchanging.
20
-
8/14/2019 Aircraft Landing
21/22
In this paper we have also described the displacement problem that occurs when landing planes in
a dynamic environment. We have indicated a number of different options that can be used to tailorthis approach to a particular environment and the preferences of the organisations and individuals
involved. Despite this flexibility and large number of options the same underlying mathematicaltechniques can be used to provide solutions to the displacement problem as were described forthe static problem in this paper.
10 AcknowledgmentsMuch of the material presented in this paper is drawn from previous work published by the authorswith Robert Storer [11] and with Beasley, Sharaiha and Abramson [5, 4].
References
[1] J Abela, D Abramson, M Krishnamoorthy, A De Silva, and Graham Mills. Computing optimal
schedules for landing aircraft. In Proceedings 12th National ASOR Conference, pages 71
90, Adelaide, Australia, 1993.
[2] A Andreussi, L Bianco, and S Riccardelli. A simulation model for aircraft sequencing in theterminal area. EJOR, 8:345354, 1981.
[3] J E Beasley. Or-library: distributing test problems by electronic mail. Journal of the Opera-
tions Research Society, 41:10691072, 1990.
[4] J E Beasley, M Krishnamoorthy, Y M Sharaiha, and D Abramson. Dynamically scheduling
aircraft landings - the displacement problem. Submitted to Transportation Sciences, 1996.
[5] J E Beasley, M Krishnamoorthy, Y M Sharaiha, and D Abramson. Scheduling aircraft landings
- the static case. Transportation Science (Forthcoming), 34(2):180197, 2000.
[6] L Bianco and A R Odoni (eds.). Large scale computation and information processing in airtraffic control. Springer-Verlag, 1993.
[7] L Bianco, S Ricciardelli, G Rinaldi, and A Sassano. Scheduling tasks with sequence depen-dent processing times. Naval Research Logistics, 35:177184, 1988.
[8] L Bianco, G Rinaldi, and A Sassano. A combinatorial optimization approach to aircraft se-
quencing problem. In L Bianco A R Odoni and G Szego, editors, Flow Control of CongestedNetworks, volume 38 of NATO ASI Series, Series F: Computer Systems and Systems Sci-
ence, pages 323339. Springer-Verlag, 1987.
[9] R G Dear. The dynamic scheduling of aircraft in the near terminal area. Research Re-port R76-9, Flight Transportation Laboratory, MIT, 77 Massachussetts Avenue, 33-412, Cam-
bridge, MA 02139, USA., 1976.
[10] R G Dear and Y S Sherif. An algorithm for computer assisted sequencing and scheduling ofterminal area operations. Transportation Research Part A Policy and Practice, 25:129139,
1991.
21
-
8/14/2019 Aircraft Landing
22/22
[11] A
T Ernst, M Krishnamoorthy, and R H Storer. Heuristic and exact algorithms for scheduling
aircraft landings. Networks, 34(3):229241, 1999.
[12] J Milan. The flow management problem in air traffic control: a model of assigning priorities
for landings at a congested airport. Transportation Planning and Technology, 20:131162,
1997.
[13] A R Odoni, J M Rousseau, and N H M Wilson. Models in urban air transportation. In S M
Pollock, M H Rothkopf, and A Barnett, editors, Operations Research and the Public Sector:Handbooks in Operations Research and Management Science, volume 6, pages 107150.
Elsevier Science, 1994.
[14] H N Psaraftis. A dynamic programming approach for sequencing groups of identical jobs.OR, 28:13471359, 1980.
[15] C R Reeves. Genetic algoritms for the operations researcher. INFORMS Journal on Com-puting, 9(3):231250, 1997.
[16] Robert H Storer, S David Wu, and Renzo Vaccari. New search spaces for sequencing prob-lems with application to job shop scheduling. Management Science, 38(10):14951509,1992.
[17] C S Venkatakrishnan, A Barnett, and A R Odoni. Landings at logan airport: Describing andincreasing airport capacity. Transportation Science, 27:211227, 1993.
[18] H Winter and H G Nuber (eds.). Advanced technologies for air traffic flow. Springer-Verlag,1994.