Main Page | Class Hierarchy | Class List | File List | Class Members

CBJ Class Reference

#include <CBJ.h>

Inheritance diagram for CBJ:

Retraction List of all members.

Public Member Functions

 CBJ (Problem &problem)
virtual void init ()
virtual void done ()
virtual void start ()
virtual void stop ()
virtual void recordDomainChange (Variable &victim, Variable &aggressor)
virtual void recordFailure (Constraint &constraint, Variable &victim, Variable &aggressor)
virtual int computeJump (bool chronological=true) const
virtual void unifyConflictSets (int jumpDepth)
virtual void eraseConflictSets (int jumpDepth)
virtual wostream & print (wostream &wos) const

Detailed Description

A retraction implementing the conflict-directed back jumping strategy.


Member Function Documentation

int CBJ::computeJump bool  chronological = true  )  const [virtual]
 

Return the back jumping depth based on the conflict set of the variables modified at the current depth. We have to parse all of them and select the deepest variable that could have caused a conflict.

Implements Retraction.

virtual void CBJ::done  )  [inline, virtual]
 

This function cleans up the retraction after a search.

Reimplemented from Retraction.

void CBJ::eraseConflictSets int  jumpDepth  )  [virtual]
 

Erase the conflict sets of all the variables whose modification depth is greater than the depth we want to jump to and less than or equal to the current depth.

Parameters:
jumpDepth the depth we want to jump to.

Reimplemented from Retraction.

virtual void CBJ::init  )  [inline, virtual]
 

This function prepares the retraction for a new search.

Reimplemented from Retraction.

wostream & CBJ::print wostream &  wos  )  const [virtual]
 

Print information about the monitor at the given stream.

Parameters:
wos the output stream to print to.
Returns:
the given stream.

Reimplemented from Retraction.

void CBJ::recordDomainChange Variable victim,
Variable aggressor
[virtual]
 

Notify the monitor that values have been removed from the domain of `variable' (but no dwo). This function adds to the conflict set of `variable' all the variables modified at the current depth of the search.

Parameters:
victim the variable whose domain has changed.
aggressor the variable that caused the domain change.

Implements Retraction.

void CBJ::recordFailure Constraint constraint,
Variable victim,
Variable aggressor
[virtual]
 

Notify the monitor that the filter has failed.

Parameters:
constraint the constraint causing the failure.
victim the variable whose domain has been wiped out.
aggressor the variable that caused the domain wipe out.

Implements Retraction.

void CBJ::start  )  [virtual]
 

This function should be called before the constraint propagation.

Reimplemented from Retraction.

void CBJ::stop  )  [virtual]
 

This function should be called after the constraint propagation.

Reimplemented from Retraction.

void CBJ::unifyConflictSets int  jumpDepth  )  [virtual]
 

Merge the conflict sets of all the variables modified at the current depth in all the variables modified at the depth we want to jump to.

Parameters:
jumpDepth the depth we want to jump to.

Reimplemented from Retraction.


The documentation for this class was generated from the following files:
Generated on Wed May 25 12:21:16 2005 for csp.kdevelop by  doxygen 1.3.9.1