edu.mit.ll.group43.surfaceoptimization
Class LookAheadSequencer

java.lang.Object
  extended by edu.mit.ll.group43.surfaceoptimization.Sequencer
      extended by edu.mit.ll.group43.surfaceoptimization.LookAheadSequencer

public class LookAheadSequencer
extends Sequencer


Constructor Summary
LookAheadSequencer(int cps, MinimumSeparationCalculator<? extends WeightClass> calc)
           
 
Method Summary
 int bestStart(java.util.ArrayList<Aircraft> releaseSequence, Aircraft leader, Aircraft follower)
          Best spot release time where follower is released and takes off after leader.
 boolean canFitBefore(int earlyReleaseBound, Aircraft current, Aircraft lastTakeOff)
           
 int earliestReleaseAfter(Aircraft lastReleased, Aircraft leader, Aircraft follower)
           
 int earliestReleaseBetween(Aircraft lastReleased, Aircraft a, Aircraft b, Aircraft current)
           
 void placeAircraft(java.util.ArrayList<Aircraft> releaseSequence, Aircraft prev, Aircraft first)
           
 void placeAircraft(java.util.ArrayList<Aircraft> releaseSequence, Aircraft prev, Aircraft first, Aircraft second)
           
 java.util.ArrayList<Aircraft> sequence(java.util.ArrayList<Aircraft> seq)
          Re-sequences the given FCFS sequence with respect to minimum separation requirements and CPS.
 int totalDelay(java.util.ArrayList<Aircraft> releaseSequence, Aircraft lastRelease, Aircraft leader, Aircraft follower)
           
 void updateSequence(java.util.ArrayList<Aircraft> seq, Aircraft first, Aircraft second)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LookAheadSequencer

public LookAheadSequencer(int cps,
                          MinimumSeparationCalculator<? extends WeightClass> calc)
Method Detail

earliestReleaseAfter

public int earliestReleaseAfter(Aircraft lastReleased,
                                Aircraft leader,
                                Aircraft follower)

canFitBefore

public boolean canFitBefore(int earlyReleaseBound,
                            Aircraft current,
                            Aircraft lastTakeOff)

earliestReleaseBetween

public int earliestReleaseBetween(Aircraft lastReleased,
                                  Aircraft a,
                                  Aircraft b,
                                  Aircraft current)

bestStart

public int bestStart(java.util.ArrayList<Aircraft> releaseSequence,
                     Aircraft leader,
                     Aircraft follower)
Best spot release time where follower is released and takes off after leader.

Parameters:
takeOffSequence -
leader -
follower -
Returns:

totalDelay

public int totalDelay(java.util.ArrayList<Aircraft> releaseSequence,
                      Aircraft lastRelease,
                      Aircraft leader,
                      Aircraft follower)

placeAircraft

public void placeAircraft(java.util.ArrayList<Aircraft> releaseSequence,
                          Aircraft prev,
                          Aircraft first)

placeAircraft

public void placeAircraft(java.util.ArrayList<Aircraft> releaseSequence,
                          Aircraft prev,
                          Aircraft first,
                          Aircraft second)

updateSequence

public void updateSequence(java.util.ArrayList<Aircraft> seq,
                           Aircraft first,
                           Aircraft second)

sequence

public java.util.ArrayList<Aircraft> sequence(java.util.ArrayList<Aircraft> seq)
Description copied from class: Sequencer
Re-sequences the given FCFS sequence with respect to minimum separation requirements and CPS.

Specified by:
sequence in class Sequencer
Returns: