aircraft landing

Upload: seenumurar

Post on 30-May-2018

226 views

Category:

Documents


0 download

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.