edu.mit.ll.group43.surfaceoptimization.dp.factory.cost
Class SmartAllGapsSpotCostStrategy

java.lang.Object
  extended by edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.CostStrategy
      extended by edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.SpotCostStrategy
          extended by edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.OneGapSpotCostStrategy
              extended by edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.AllGapsSpotCostStrategy
                  extended by edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.SmartAllGapsSpotCostStrategy

public class SmartAllGapsSpotCostStrategy
extends AllGapsSpotCostStrategy

Spot cost strategy for All Gaps that considers an entire spot release sequence when determining the predecessor bound rather than just the optimal spot release time of the last released aircraft. This is important when All Gaps is used as part of the All Gaps / One Gap Force (AG/OGF) algorithm, which is the only place this variant of All Gaps is used.

Author:
William Hawkins

Constructor Summary
SmartAllGapsSpotCostStrategy(int cps, MinimumSeparationCalculator<? extends WeightClass> calc)
           
 
Method Summary
 int safePrevTimeBound(CPSNetworkNode prevNode, Aircraft current)
          Computes the earliest time at which current can be released, with respect to its release sequence predecessors.
 
Methods inherited from class edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.AllGapsSpotCostStrategy
earliestRelease, earliestRelease
 
Methods inherited from class edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.OneGapSpotCostStrategy
canFitBefore, earliestReleaseAfter, earliestReleaseAfter, earliestReleaseBetween, earliestReleaseBetween, sortedAlphasSoFar
 
Methods inherited from class edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.SpotCostStrategy
earliestRelease, earliestRelease, getEdgeWeight, initializeFirstStage, setOptimalValues
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SmartAllGapsSpotCostStrategy

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

safePrevTimeBound

public int safePrevTimeBound(CPSNetworkNode prevNode,
                             Aircraft current)
Computes the earliest time at which current can be released, with respect to its release sequence predecessors. WARNING: Should always be compared with current's spot ready time since this method will return zero if none of the aircraft already placed in the release sequence can follow current.

Overrides:
safePrevTimeBound in class AllGapsSpotCostStrategy
Parameters:
prevNode -
current -
Returns: