choco.cp.solver.search.integer.branching
Class PackDynRemovals

java.lang.Object
  extended by choco.kernel.solver.branch.AbstractBranchingStrategy
      extended by choco.kernel.solver.branch.AbstractIntBranchingStrategy
          extended by choco.kernel.solver.branch.AbstractLargeIntBranchingStrategy
              extended by choco.cp.solver.search.integer.branching.AssignVar
                  extended by choco.cp.solver.search.integer.branching.PackDynRemovals
All Implemented Interfaces:
BranchingStrategy, IntBranching

public class PackDynRemovals
extends AssignVar

A specialized search strategy for packing problem. At every backtrack, we state that the item can not be packed in equivalent bins. Two bins are equivalent if they have the same remaining space.

Since:
7 déc. 2008 version 2.0.1
Version:
2.0.1
Author:
Arnaud Malapert

Nested Class Summary
 
Nested classes/interfaces inherited from class choco.cp.solver.search.integer.branching.AssignVar
AssignVar.ValIteratorWrapper, AssignVar.ValSelectorWrapper, AssignVar.ValueChooserWrapper
 
Field Summary
 PackSConstraint pack
           
 
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
PackDynRemovals(VarSelector<IntDomainVar> varSel, ValSelector<IntDomainVar> valHeuri, PackSConstraint pack)
           
 
Method Summary
 void fail()
           
 void goUpBranch(IntBranchingDecision decision)
          Performs the action, so that we go up the current branch to the father choice point.
 void removeEmptyBins(IntDomainVar bin)
           
 void removeEquivalentBins(IntDomainVar bin, int bup)
           
 
Methods inherited from class choco.cp.solver.search.integer.branching.AssignVar
finishedBranching, getDecisionLogMessage, goDownBranch, initConstraintForBranching, selectBranchingObject, setFirstBranch, setNextBranch
 
Methods inherited from class choco.kernel.solver.branch.AbstractIntBranchingStrategy
getDefaultAssignMsg, getDefaultAssignOrForbidMsg
 
Methods inherited from class choco.kernel.solver.branch.AbstractBranchingStrategy
getManager, getNextBranching, initBranching, setNextBranching, setSolver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pack

public final PackSConstraint pack
Constructor Detail

PackDynRemovals

public PackDynRemovals(VarSelector<IntDomainVar> varSel,
                       ValSelector<IntDomainVar> valHeuri,
                       PackSConstraint pack)
Method Detail

removeEmptyBins

public void removeEmptyBins(IntDomainVar bin)
                     throws ContradictionException
Throws:
ContradictionException

fail

public final void fail()
                throws ContradictionException
Throws:
ContradictionException

removeEquivalentBins

public void removeEquivalentBins(IntDomainVar bin,
                                 int bup)
                          throws ContradictionException
Throws:
ContradictionException

goUpBranch

public void goUpBranch(IntBranchingDecision decision)
                throws ContradictionException
Description copied from interface: IntBranching
Performs the action, so that we go up the current branch to the father choice point.

Specified by:
goUpBranch in interface IntBranching
Overrides:
goUpBranch in class AssignVar
Parameters:
decision - the decision that has been set at the father choice point
Throws:
ContradictionException - if a domain empties or a contradiction is infered
See Also:
choco.cp.solver.search.integer.branching.AssignVar#goUpBranch(java.lang.Object, int)


Copyright © 2012. All Rights Reserved.