jopt.csp.spi.arcalgorithm.graph.arc.generic
Class GenericNumSummationArc

java.lang.Object
  extended byjopt.csp.spi.arcalgorithm.graph.arc.AbstractArc
      extended byjopt.csp.spi.arcalgorithm.graph.arc.generic.GenericArc
          extended byjopt.csp.spi.arcalgorithm.graph.arc.generic.GenericNumSummationArc
All Implemented Interfaces:
Arc, ChoicePointEventListener, NodeChangeListener, NumArc, NumConstants

public class GenericNumSummationArc
extends GenericArc
implements NumArc, NodeChangeListener, ChoicePointEventListener

Arc representing Z < summation(Ai, i in [1..100]) etc.


Field Summary
 
Fields inherited from interface jopt.csp.spi.arcalgorithm.graph.arc.Arc
BINARY, GENERIC, HYPER, NODE, SCHEDULE
 
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
GenericNumSummationArc(GenericNumNode a, NumNode tempNode, Node z, int nodeType, int arcType, GenericIndex[] indexRange, jopt.csp.variable.CspGenericIndexRestriction sourceIdxRestriction)
          Constructor
 
Method Summary
 void choicePointPop()
          Method invoked when choice point pop event is fired
 void choicePointPush()
          Method invoked when choice point push event is fired
 int getComplexity()
          Returns a value representing the complexity of the arc
 void nodeChange(NodeChangeEvent ev)
          Method invoked by node when a node change event is fired
 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 jopt.csp.spi.arcalgorithm.graph.arc.generic.GenericArc
getArcType, getSourceDependencies, getSourceNodes, getTargetNodes
 
Methods inherited from class jopt.csp.spi.arcalgorithm.graph.arc.AbstractArc
setAlgorithmStrength, setUseDomainDeltas
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface jopt.csp.spi.arcalgorithm.graph.arc.Arc
getArcType, setAlgorithmStrength, setUseDomainDeltas
 

Constructor Detail

GenericNumSummationArc

public GenericNumSummationArc(GenericNumNode a,
                              NumNode tempNode,
                              Node z,
                              int nodeType,
                              int arcType,
                              GenericIndex[] indexRange,
                              jopt.csp.variable.CspGenericIndexRestriction sourceIdxRestriction)
Constructor

Parameters:
a - A variable in equation
tempNode - An intermediate node used in calculations
z - Z variable in equation
nodeType - Node variable type (Integer, Long, Float, Decimal)
arcType - Arc relation type (Eq, Lt, Gt, etc.)
indexRange - Array of indices that summation is over
sourceIdxRestriction - Optional restriction of values placed on source index ranges
Method Detail

nodeChange

public void nodeChange(NodeChangeEvent ev)
Description copied from interface: NodeChangeListener
Method invoked by node when a node change event is fired

Specified by:
nodeChange in interface NodeChangeListener

choicePointPop

public void choicePointPop()
Description copied from interface: ChoicePointEventListener
Method invoked when choice point pop event is fired

Specified by:
choicePointPop in interface ChoicePointEventListener

choicePointPush

public void choicePointPush()
Description copied from interface: ChoicePointEventListener
Method invoked when choice point push event is fired

Specified by:
choicePointPush in interface ChoicePointEventListener

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

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

getComplexity

public int getComplexity()
Description copied from interface: Arc
Returns a value representing the complexity of the arc

Specified by:
getComplexity in interface Arc
Overrides:
getComplexity in class GenericArc