jopt.csp.spi.arcalgorithm.graph.arc.global
Class GlobalCountCardinalityArc
java.lang.Object
jopt.csp.spi.arcalgorithm.graph.arc.AbstractArc
jopt.csp.spi.arcalgorithm.graph.arc.generic.GenericArc
jopt.csp.spi.arcalgorithm.graph.arc.global.GlobalCountCardinalityArc
- All Implemented Interfaces:
- Arc, NumArc, NumConstants
- public class GlobalCountCardinalityArc
- extends GenericArc
- implements NumArc
Generic arc that ensures all ensures that the count variables accurately reflect the number of occurrences
of the corresponding value.
- Version:
- $Revision $
- Author:
- Jim Boerkoel
Fields inherited from interface jopt.csp.spi.util.NumConstants |
ADD, DIVIDE, DIVIDE_BY, DIVIDE_BY_CEIL, DIVIDE_BY_FLOOR, DIVIDE_CEIL, DIVIDE_FLOOR, DOUBLE, DOUBLE_NEG_INF, DOUBLE_POS_INF, DOUBLE_ZERO, EQ, FLOAT, FLOAT_NEG_INF, FLOAT_POS_INF, FLOAT_ZERO, GEQ, GT, HALF_PI, INTEGER, INTEGER_MAX, INTEGER_MIN, INTEGER_ZERO, LEQ, LONG, LONG_MAX, LONG_MIN, LONG_ZERO, LT, MULTIPLY, NEQ, ONE_AND_HALF_PI, PI, RANGE, SUBTRACT, SUBTRACT_FROM, TWO_PI |
Constructor Summary |
GlobalCountCardinalityArc(NumNode[] sources,
java.lang.Number[] vals,
IntNode[] count)
Generates a global count cardinality arc, counting the number of times that each val in the val array occurs in sources |
Method Summary |
void |
propagate()
Attempts to reduce values in target node domain based on values
in all source nodes |
void |
propagate(Node src)
Attempts to reduce values in target node domain based on values
in given source node |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GlobalCountCardinalityArc
public GlobalCountCardinalityArc(NumNode[] sources,
java.lang.Number[] vals,
IntNode[] count)
- Generates a global count cardinality arc, counting the number of times that each val in the val array occurs in sources
- Parameters:
sources
- - the collection of variables whose values are to be countedvals
- - the values of whose presence among sources we would like to countcount
- - the node representing the possible number of times that the value will show up
propagate
public void propagate(Node src)
throws jopt.csp.variable.PropagationFailureException
- Description copied from interface:
Arc
- Attempts to reduce values in target node domain based on values
in given source node
- Specified by:
propagate
in interface Arc
- Parameters:
src
- Source node that caused propagation to occur
- Throws:
jopt.csp.variable.PropagationFailureException
- If domain of target node becomes empty
propagate
public void propagate()
throws jopt.csp.variable.PropagationFailureException
- Description copied from interface:
Arc
- Attempts to reduce values in target node domain based on values
in all source nodes
- Specified by:
propagate
in interface Arc
- Throws:
jopt.csp.variable.PropagationFailureException
- If domain of target node becomes empty