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

java.lang.Object
  extended by edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.CostStrategy
      extended by edu.mit.ll.group43.surfaceoptimization.dp.factory.cost.RunwayCostStrategy

public class RunwayCostStrategy
extends CostStrategy

Cost strategy for a dynamic programming sequencer that maximizes throughput at the runway. NOTE: Not fully implemented, and does not solve the same problem as other cost strategies. Could be used in the future to perform a second optimization at the runway if runway delay is incurred due to stochastic unimpeded taxi times.

Author:
William Hawkins

Constructor Summary
RunwayCostStrategy(int cps, MinimumSeparationCalculator<? extends WeightClass> calc)
           
 
Method Summary
 int getEdgeWeight(NetworkEdge edge)
          Returns the minimum separation time between the source and target nodes of the given edge.
 void initializeFirstStage(java.util.ArrayList<java.util.TreeSet<CPSNetworkNode>> network)
          Initializes all nodes in the first stage of the network to have zero distance from the beginning and to have a null previous node.
 void setOptimalValues(NetworkEdge edge, int distance)
          Sets the distance from the beginning and the optimal previous edge that allows this distance to be achieved.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RunwayCostStrategy

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

initializeFirstStage

public void initializeFirstStage(java.util.ArrayList<java.util.TreeSet<CPSNetworkNode>> network)
Initializes all nodes in the first stage of the network to have zero distance from the beginning and to have a null previous node.

Specified by:
initializeFirstStage in class CostStrategy
Parameters:
network -

setOptimalValues

public void setOptimalValues(NetworkEdge edge,
                             int distance)
Sets the distance from the beginning and the optimal previous edge that allows this distance to be achieved.

Specified by:
setOptimalValues in class CostStrategy
Parameters:
edge -
distance -

getEdgeWeight

public int getEdgeWeight(NetworkEdge edge)
Returns the minimum separation time between the source and target nodes of the given edge.

Specified by:
getEdgeWeight in class CostStrategy
Parameters:
edge -
Returns: