choco.cp.solver.search.real
Class AssignInterval

java.lang.Object
  extended by choco.kernel.solver.branch.AbstractBranchingStrategy
      extended by choco.kernel.solver.branch.AbstractIntBranchingStrategy
          extended by choco.cp.solver.search.real.AssignInterval
All Implemented Interfaces:
BranchingStrategy, IntBranching

public class AssignInterval
extends AbstractIntBranchingStrategy

A binary branching assigning interval to subinterval.


Field Summary
protected static String[] LOG_DECISION_MSG
           
protected  ValIterator<RealVar> valIterator
           
protected  VarSelector<RealVar> varSelector
           
 
Fields inherited from class choco.kernel.solver.branch.AbstractBranchingStrategy
LOG_DECISION_MSG_ASSIGN, LOG_DECISION_MSG_REMOVE, LOG_DOWN_MSG, LOG_UP_MSG, manager
 
Fields inherited from interface choco.kernel.solver.branch.BranchingStrategy
LOGGER
 
Constructor Summary
AssignInterval(VarSelector<RealVar> varSelector, ValIterator<RealVar> valIterator)
           
 
Method Summary
 boolean finishedBranching(IntBranchingDecision decision)
          Checks whether all branches have already been explored at the current choice point.
 String getDecisionLogMessage(IntBranchingDecision decision)
          The logging message associated with the current decision.
 void goDownBranch(IntBranchingDecision decision)
          Performs the action, so that we go down a branch from the current choice point.
 void goUpBranch(IntBranchingDecision decision)
          do nothing
 Object selectBranchingObject()
          selecting the object under scrutiny (that object on which an alternative will be set)
 void setFirstBranch(IntBranchingDecision decision)
          compute the first decision by setting a branching value or modifying the branching object
 void setNextBranch(IntBranchingDecision decision)
          compute the next decision by setting a branching value or modifying the branching object
 
Methods inherited from class choco.kernel.solver.branch.AbstractIntBranchingStrategy
getDefaultAssignMsg, getDefaultAssignOrForbidMsg
 
Methods inherited from class choco.kernel.solver.branch.AbstractBranchingStrategy
getManager, getNextBranching, initBranching, initConstraintForBranching, setNextBranching, setSolver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

varSelector

protected VarSelector<RealVar> varSelector

valIterator

protected ValIterator<RealVar> valIterator

LOG_DECISION_MSG

protected static final String[] LOG_DECISION_MSG
Constructor Detail

AssignInterval

public AssignInterval(VarSelector<RealVar> varSelector,
                      ValIterator<RealVar> valIterator)
Method Detail

selectBranchingObject

public Object selectBranchingObject()
                             throws ContradictionException
Description copied from interface: BranchingStrategy
selecting the object under scrutiny (that object on which an alternative will be set)

Returns:
the object on which an alternative will be set (often a variable)
Throws:
ContradictionException

goDownBranch

public void goDownBranch(IntBranchingDecision decision)
                  throws ContradictionException
Description copied from interface: IntBranching
Performs the action, so that we go down a branch from the current choice point.

Parameters:
decision - the decision to apply.
Throws:
ContradictionException - if a domain empties or a contradiction is infered

goUpBranch

public void goUpBranch(IntBranchingDecision decision)
                throws ContradictionException
do nothing

Parameters:
decision - the decision that has been set at the father choice point
Throws:
ContradictionException - if a domain empties or a contradiction is infered

setFirstBranch

public void setFirstBranch(IntBranchingDecision decision)
Description copied from interface: IntBranching
compute the first decision by setting a branching value or modifying the branching object


setNextBranch

public void setNextBranch(IntBranchingDecision decision)
Description copied from interface: IntBranching
compute the next decision by setting a branching value or modifying the branching object


finishedBranching

public boolean finishedBranching(IntBranchingDecision decision)
Description copied from interface: IntBranching
Checks whether all branches have already been explored at the current choice point.

Parameters:
decision - the last decision applied
Returns:
true if no more branches can be generated

getDecisionLogMessage

public String getDecisionLogMessage(IntBranchingDecision decision)
Description copied from interface: IntBranching
The logging message associated with the current decision.

Parameters:
decision - current decision
Returns:
logging message.


Copyright © 2012. All Rights Reserved.