jopt.csp.spi.arcalgorithm.constraint.num
Class TwoVarConstraint

java.lang.Object
  extended byjopt.csp.spi.arcalgorithm.variable.VariableChangeBase
      extended byjopt.csp.spi.arcalgorithm.constraint.AbstractConstraint
          extended byjopt.csp.spi.arcalgorithm.constraint.num.NumConstraint
              extended byjopt.csp.spi.arcalgorithm.constraint.num.TwoVarConstraint
All Implemented Interfaces:
jopt.csp.variable.CspConstraint, GraphConstraint, NumConstants, PostableConstraint, VariableChangeSource
Direct Known Subclasses:
AbsConstraint, MemberOfArray, NotMemberOfArray, NumRelationConstraint, SquareConstraint, SummationConstraint, TwoVarTrigConstraint

public abstract class TwoVarConstraint
extends NumConstraint

Base class for numeric constraints based on two variables: A and Z


Field Summary
 
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
 
Method Summary
 void addVariableChangeListener(VariableChangeListener listener)
          Adds a listener interested in variable change events
 Arc[] getBooleanSourceArcs()
          Returns array of arcs that will affect the boolean true / false value of this constraint upon a change
 Arc[] getBooleanSourceArcs(boolean useConstraint)
          Returns array of arcs that will affect the boolean true / false value of this constraint upon a change
 Node[] getBooleanSourceNodes()
          Returns array of nodes that will affect the boolean true / false value of this constraint upon a change
 GenericIndexManager getIndexManager()
           
 boolean isViolated(boolean allViolated)
          Returns true if constraint cannot be satisfied.
 void postToGraph()
          Posts a boolean constraint to the graph for use during propagation
 void removeVariableChangeListener(VariableChangeListener listener)
          Removes a variable listener from this variable
 
Methods inherited from class jopt.csp.spi.arcalgorithm.constraint.num.NumConstraint
getLargestMax, getLargestMin, getSmallestMax, getSmallestMin
 
Methods inherited from class jopt.csp.spi.arcalgorithm.constraint.AbstractConstraint
associateToGraph, getGraphConstraintFragment, getPostableOpposite, isFalse, isTrue, toBoolean
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

postToGraph

public void postToGraph()
Description copied from interface: PostableConstraint
Posts a boolean constraint to the graph for use during propagation


getBooleanSourceArcs

public Arc[] getBooleanSourceArcs(boolean useConstraint)
Description copied from class: NumConstraint
Returns array of arcs that will affect the boolean true / false value of this constraint upon a change

Specified by:
getBooleanSourceArcs in class NumConstraint
Parameters:
useConstraint - a boolean that determines if the constraint at that level should be added. Constraints immediatly below a boolean constraint should not be added, while all others below should.

getBooleanSourceArcs

public Arc[] getBooleanSourceArcs()
Description copied from interface: PostableConstraint
Returns array of arcs that will affect the boolean true / false value of this constraint upon a change


getBooleanSourceNodes

public Node[] getBooleanSourceNodes()
Description copied from interface: PostableConstraint
Returns array of nodes that will affect the boolean true / false value of this constraint upon a change


getIndexManager

public GenericIndexManager getIndexManager()
Returns:
an index manager taking into account the appropriate restrictions

isViolated

public boolean isViolated(boolean allViolated)
Description copied from class: NumConstraint
Returns true if constraint cannot be satisfied. If all violated is true, this method returns true only when all conditions are violated. If all violated is false, this method returns true when any condition is violated. The presence of multiple conditions is an issue when generic vars/exprs are involved.

Specified by:
isViolated in class NumConstraint
Parameters:
allViolated - Determines the criteria for violation

addVariableChangeListener

public void addVariableChangeListener(VariableChangeListener listener)
Adds a listener interested in variable change events

Specified by:
addVariableChangeListener in interface VariableChangeSource
Overrides:
addVariableChangeListener in class NumConstraint

removeVariableChangeListener

public void removeVariableChangeListener(VariableChangeListener listener)
Description copied from interface: VariableChangeSource
Removes a variable listener from this variable

Specified by:
removeVariableChangeListener in interface VariableChangeSource
Overrides:
removeVariableChangeListener in class NumConstraint