choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.timeWindows
Class DirectedPropag

java.lang.Object
  extended by choco.cp.solver.constraints.global.tree.filtering.structuralFiltering.timeWindows.DirectedPropag

public class DirectedPropag
extends Object


Field Summary
protected  boolean debugRem
          boolean that allow to display debug mode for this propagator
protected static Logger LOGGER
           
protected  IStateBitSet[] maybe
          graph of the potential arcs
protected  int nbNodes
          total number of nodes involved in the tree constraint
protected  Node[] nodes
          table of the nodes involved in the tree constraint
protected  RemovalsAdvisor propagateStruct
          record the infeasible values in the different domains of the variables involved in the constraint
protected  IStateBitSet[] revMaybe
          reverse graph of the potential arcs
protected  IStateBitSet[] revSure
          reverse graph of the required arcs
protected  IStateBitSet sink
          the set of sink nodes in the graph
protected  IStateBitSet src
          the set of source nodes in the graph
protected  IStateBitSet[] sure
          graph of the required arcs
 
Constructor Summary
DirectedPropag(IStateInt[][] travelTime, VarGraphView graph, Node[] nodes, RemovalsAdvisor propagateStruct)
          Constructor: build a propagator for the time windows constraints according to the graph
 
Method Summary
 void applyGraphFiltering()
          filtering method that removes the arcs which become infeasible because of the time windows constraints
 void applyTWfiltering()
          filtering methods that update the time windows of each node according to the travel time matrix and the graph

* @throws ContradictionException

 void updateByPotentialPred()
           
 void updateByPotentialSucc()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

protected static final Logger LOGGER

debugRem

protected boolean debugRem
boolean that allow to display debug mode for this propagator


nbNodes

protected int nbNodes
total number of nodes involved in the tree constraint


nodes

protected Node[] nodes
table of the nodes involved in the tree constraint


sure

protected IStateBitSet[] sure
graph of the required arcs


revSure

protected IStateBitSet[] revSure
reverse graph of the required arcs


src

protected IStateBitSet src
the set of source nodes in the graph


sink

protected IStateBitSet sink
the set of sink nodes in the graph


maybe

protected IStateBitSet[] maybe
graph of the potential arcs


revMaybe

protected IStateBitSet[] revMaybe
reverse graph of the potential arcs


propagateStruct

protected RemovalsAdvisor propagateStruct
record the infeasible values in the different domains of the variables involved in the constraint

Constructor Detail

DirectedPropag

public DirectedPropag(IStateInt[][] travelTime,
                      VarGraphView graph,
                      Node[] nodes,
                      RemovalsAdvisor propagateStruct)
Constructor: build a propagator for the time windows constraints according to the graph

Parameters:
travelTime - travel time matrix
graph - view of the graph to partition
nodes - table of nodes involved in the graph
propagateStruct - data structure managing the removals
Method Detail

applyTWfiltering

public void applyTWfiltering()
                      throws ContradictionException
filtering methods that update the time windows of each node according to the travel time matrix and the graph

* @throws ContradictionException

Throws:
ContradictionException

applyGraphFiltering

public void applyGraphFiltering()
                         throws ContradictionException
filtering method that removes the arcs which become infeasible because of the time windows constraints

Throws:
ContradictionException

updateByPotentialSucc

public void updateByPotentialSucc()
                           throws ContradictionException
Throws:
ContradictionException

updateByPotentialPred

public void updateByPotentialPred()
                           throws ContradictionException
Throws:
ContradictionException


Copyright © 2012. All Rights Reserved.