Models for Global Constraint Applications - Cork Constraint ...
Models for Global Constraint Applications - Cork Constraint ...
Models for Global Constraint Applications - Cork Constraint ...
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