choco.cp.solver.constraints.global.tree.filtering
Class FilteringAdvisor

java.lang.Object
  extended by choco.cp.solver.constraints.global.tree.filtering.FilteringAdvisor

public class FilteringAdvisor
extends Object


Field Summary
protected  boolean affiche
          boolean for debug and show a trace of the execution
protected  CostStructure costStruct
          cost structure advisor
protected static Logger LOGGER
           
protected  Cost propagateCost
          a propagator for the cost constraint associated with the set of arcs involved in the graph
protected  GlobalCardinalityNoLoop propagateGlobalCard
          a propagator for the degree constraints.
protected  Incomparability propagateIncomp
          a propagator for the incomparability constraints
protected  Nproper propagateNProper
          a propagator for the constraint that maintain a given number (not necessarily fixed) of proper tree.
protected  Precedences propagatePrec
          a propagator for the precedence constraints
protected  RemovalsAdvisor propagateStruct
          object that record the infeasible values in the different domains of the variables involved in the constraint
protected  Tree propagateTree
          a propagator for the pure tree constraint
protected  TimeWindow propagateTW
          a propagator for the time windows constraints associated with each nodes
protected  Solver solver
          Choco solver embedding the tree constraint
protected  StructuresAdvisor struct
          structure advisor
protected  Queue<AbstractPropagator> toPropagate
          a propagation queue that initialy contains all the propagators composing the tree constraint
protected  TreeParameters tree
          attributes
protected  TreeSConstraint treeConst
          the tree constraint object that allow to access to the Choco solver functions like fail()
 
Constructor Summary
FilteringAdvisor(Solver solver, TreeSConstraint treeConst, TreeParameters tree, StructuresAdvisor struct, boolean affiche)
          constructor: build a filtering manager that deals with all the propagators involved in the tree constraint
 
Method Summary
 boolean applyFiltering()
          the main method that allows to apply all the filtering rules of each propagator
 
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

affiche

protected boolean affiche
boolean for debug and show a trace of the execution


solver

protected Solver solver
Choco solver embedding the tree constraint


treeConst

protected TreeSConstraint treeConst
the tree constraint object that allow to access to the Choco solver functions like fail()


tree

protected TreeParameters tree
attributes


struct

protected StructuresAdvisor struct
structure advisor


costStruct

protected CostStructure costStruct
cost structure advisor


propagateStruct

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


toPropagate

protected Queue<AbstractPropagator> toPropagate
a propagation queue that initialy contains all the propagators composing the tree constraint


propagateTree

protected Tree propagateTree
a propagator for the pure tree constraint


propagateGlobalCard

protected GlobalCardinalityNoLoop propagateGlobalCard
a propagator for the degree constraints. In fact, the filtering rule embedded corresponds to the filtering of the Global Cardinality Constraint


propagateNProper

protected Nproper propagateNProper
a propagator for the constraint that maintain a given number (not necessarily fixed) of proper tree. NB: a proper tree is a tree containing at least two nodes


propagatePrec

protected Precedences propagatePrec
a propagator for the precedence constraints


propagateIncomp

protected Incomparability propagateIncomp
a propagator for the incomparability constraints


propagateTW

protected TimeWindow propagateTW
a propagator for the time windows constraints associated with each nodes


propagateCost

protected Cost propagateCost
a propagator for the cost constraint associated with the set of arcs involved in the graph

Constructor Detail

FilteringAdvisor

public FilteringAdvisor(Solver solver,
                        TreeSConstraint treeConst,
                        TreeParameters tree,
                        StructuresAdvisor struct,
                        boolean affiche)
constructor: build a filtering manager that deals with all the propagators involved in the tree constraint

Parameters:
solver - the Choco solver who uses the current tree constraint.
treeConst - the current Choco constraint (because we have to access to constraints primitives)
tree - the input data structure available in the structure.inputStructure package.
struct - the advisor of the internal data structures
affiche - a boolean that allows to display the main actions done by the filtering manager
Method Detail

applyFiltering

public boolean applyFiltering()
                       throws ContradictionException
the main method that allows to apply all the filtering rules of each propagator

Returns:
true iff there is at least one value removed in the domain of a variable
Throws:
ContradictionException


Copyright © 2012. All Rights Reserved.