edu.mit.ll.group43.surfaceoptimization.dp
Class DPSequencer

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

public class DPSequencer
extends Sequencer

Optimizes a sequence using Dynamic Programming, with respect to minimum separation times and Constrained Position Shifting (CPS). The algorithm used to do this can be altered through the use of an object whose class implements the DPSequencerFactory interface.

Author:
William Hawkins

Constructor Summary
DPSequencer(DPSequencerFactory factory)
          Constructor
 
Method Summary
 void printCPSNodes(java.util.ArrayList<java.util.TreeSet<CPSNetworkNode>> stages)
          Test method.
 void printGeneratedNodes(java.util.ArrayList<java.util.ArrayList<SubsequenceGeneratorNode>> stages)
          Test method.
 java.util.ArrayList<java.util.TreeSet<CPSNetworkNode>> removeNextNodes(java.util.ArrayList<java.util.TreeSet<CPSNetworkNode>> network)
           
 java.util.ArrayList<Aircraft> sequence(java.util.ArrayList<Aircraft> seq)
          Optimally re-sequences the given FCFS sequence with respect to minimum separation times and CPS using Dynamic Programming.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DPSequencer

public DPSequencer(DPSequencerFactory factory)
Constructor

Parameters:
cps -
Method Detail

printGeneratedNodes

public void printGeneratedNodes(java.util.ArrayList<java.util.ArrayList<SubsequenceGeneratorNode>> stages)
Test method. Prints out the generated nodes.

Parameters:
stages -

printCPSNodes

public void printCPSNodes(java.util.ArrayList<java.util.TreeSet<CPSNetworkNode>> stages)
Test method. Prints generated CPS nodes.

Parameters:
stages -

removeNextNodes

public java.util.ArrayList<java.util.TreeSet<CPSNetworkNode>> removeNextNodes(java.util.ArrayList<java.util.TreeSet<CPSNetworkNode>> network)

sequence

public java.util.ArrayList<Aircraft> sequence(java.util.ArrayList<Aircraft> seq)
Optimally re-sequences the given FCFS sequence with respect to minimum separation times and CPS using Dynamic Programming.

Specified by:
sequence in class Sequencer
Returns: