27.06.2013 Views

Models for Global Constraint Applications - Cork Constraint ...

Models for Global Constraint Applications - Cork Constraint ...

Models for Global Constraint Applications - Cork Constraint ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.3.3 Moving planes<br />

Our model so far assumed that planes are parked in the same location <strong>for</strong> their<br />

entire stay at the airport. In certain situations a plane might be moved by a<br />

tractor to another stand, in order to free up space at the terminal or because the<br />

plane is required at a different position. The tractors are also required to “pushback”<br />

departing flights from the gate, since turbine engines can not be used to<br />

reverse the plane, and also to move planes on the ground more economically. If<br />

additional plane movements are allowed, we gain a degree of freedom in deciding<br />

when the plane should be moved. But this is best decided heuristically be<strong>for</strong>e<br />

the constraint model is set-up, since otherwise the non-overlap condition can<br />

no longer be expressed with the given models. We would also have to consider<br />

cumulative resource constraints <strong>for</strong> the tractors.<br />

2.4 Incremental Resolving<br />

We have assumed that the start and end times of the parking activities are<br />

constants when the model is set-up. In practice, these times are constantly<br />

changing, since planes arrive or depart later than predicted or planes arrive<br />

be<strong>for</strong>e their scheduled arrival time. This may invalidate the previous solution,<br />

and we have to re-run the solver. Many elements of the previous solution must<br />

be kept; all planes currently on a stand must continue to stay there in an updated<br />

solution. Some part of the future schedule may be fixed as well: if passengers<br />

already have been sent to a gate, it is quite difficult to reverse that decision.<br />

We also can make our solution more robust by introducing safety margins<br />

in the overlap constraints. We extend each parking period by some margin<br />

be<strong>for</strong>e its arrival and/or after its departure and compute solutions using these<br />

extended time intervals. If flight times change only slightly during the day,<br />

then the previous solution will still be feasible. Choosing the right compromise<br />

between cost optimisation and safety margins is an important interactive choice,<br />

which also depends on the current state of operations.<br />

2.5 Search<br />

The choice of an appropriate search routine is essential <strong>for</strong> solving large scale<br />

problems, even if the constraint model is quite powerful. The problem size<br />

typically prohibits an exhaustive search of all possible assignments to find an<br />

optimal solution, especially since the solving times should be in seconds due to<br />

the rapid change of the underlying data. The search routine was refined in a<br />

number of steps, beginning with a static ordering.<br />

In a first version, the planes are ordered statically by decreasing number of<br />

passengers, and the domains are enumerated such that stands at the terminals<br />

are tested first. This can be done by enumerating the qi variable of a plane<br />

be<strong>for</strong>e fixing its yi variable. A feasible solution (often of acceptable quality)<br />

will be found without backtracking, but search <strong>for</strong> the optimal solution leads to<br />

shallow backtracking.<br />

The next improvement is to choose the stand more wisely. For this, we<br />

statically calculate an indicator demandj which describes how many planes want<br />

to use a given stand j at a terminal. For this calculation we restrict the domains<br />

9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!