choco.kernel.solver.branch
Interface ObjectBranching

All Superinterfaces:
BranchingStrategy

public interface ObjectBranching
extends BranchingStrategy

ObjectBranching objects are specific branching objects where each branch is labeled with an Object. This is typically useful for palm control objects (where the label happens to be a List of Constraint).


Field Summary
 
Fields inherited from interface choco.kernel.solver.branch.BranchingStrategy
LOGGER
 
Method Summary
 boolean finishedBranching(Object item, Object previousBranch)
          Checks whether all branches have already been explored at the current choice point
 Object getNextBranch(Object branchingItem, Object previousBranch)
          When several decisions can be taken (for unsure extension for instance), this methos allows to choose next decisions.
 Object selectFirstBranch(Object item)
          Computes decisions that can be taken on the specified item by the strategy.
 
Methods inherited from interface choco.kernel.solver.branch.BranchingStrategy
selectBranchingObject
 

Method Detail

selectFirstBranch

Object selectFirstBranch(Object item)
Computes decisions that can be taken on the specified item by the strategy.

Parameters:
item - The item the strategy branchs on.

getNextBranch

Object getNextBranch(Object branchingItem,
                     Object previousBranch)
When several decisions can be taken (for unsure extension for instance), this methos allows to choose next decisions.

Parameters:
branchingItem - the branching object under scrutiny
previousBranch - the object labelling the previous branch
Returns:
the object labelling the current branch

finishedBranching

boolean finishedBranching(Object item,
                          Object previousBranch)
Checks whether all branches have already been explored at the current choice point

Returns:
true if no more branches can be generated


Copyright © 2012. All Rights Reserved.