Generated on: Thu Mar 29 07:46:58 PDT 2012 for custom file set
// doxy/ or-tools/ src/ constraint_solver/

operations_research::NoGoodManager Class Reference

Base class of no good manager. More...

#include <constraint_solver.h>

Inheritance diagram for operations_research::NoGoodManager:

operations_research::SearchMonitor operations_research::BaseObject

List of all members.

Public Member Functions

 NoGoodManager (Solver *const s)
virtual ~NoGoodManager ()
virtual void Clear ()=0
 User API.
NoGoodMakeNoGood ()
 NoGood factory. Create an empty nogood.
virtual void AddNoGood (NoGood *const nogood)=0
 Add one nogood to the recorder. Ownership is transfered to the recorder.
virtual int NoGoodCount () const =0
 Returns the number of nogoods added to the recorder.
virtual string DebugString () const =0
 Pretty Print.
virtual void EnterSearch ()
 Internal methods that links search events to the recorder API.
virtual void BeginNextDecision (DecisionBuilder *const db)
 Before calling DecisionBuilder::Next.
virtual bool AcceptSolution ()
 This method is called when a solution is found.


Detailed Description

Base class of no good manager.

A no good recorder is used to store a set of no goods in a non reversible way during search. It will actively propagate nogoods, that is if all its terms minus one are always true, then it will apply the reverse of this term during the search.

Definition at line 4046 of file constraint_solver.h.


Constructor & Destructor Documentation

operations_research::NoGoodManager::NoGoodManager ( Solver *const   s  )  [inline, explicit]

Definition at line 4048 of file constraint_solver.h.

virtual operations_research::NoGoodManager::~NoGoodManager (  )  [inline, virtual]

Definition at line 4049 of file constraint_solver.h.


Member Function Documentation

virtual void operations_research::NoGoodManager::Clear (  )  [pure virtual]

User API.

Clear all stored nogoods.

NoGood * operations_research::NoGoodManager::MakeNoGood (  ) 

NoGood factory. Create an empty nogood.

Definition at line 42 of file nogoods.cc.

virtual void operations_research::NoGoodManager::AddNoGood ( NoGood *const   nogood  )  [pure virtual]

Add one nogood to the recorder. Ownership is transfered to the recorder.

virtual int operations_research::NoGoodManager::NoGoodCount (  )  const [pure virtual]

Returns the number of nogoods added to the recorder.

virtual string operations_research::NoGoodManager::DebugString (  )  const [pure virtual]

Pretty Print.

Reimplemented from operations_research::BaseObject.

void operations_research::NoGoodManager::EnterSearch (  )  [virtual]

Internal methods that links search events to the recorder API.

Base Class.

Reimplemented from operations_research::SearchMonitor.

Definition at line 29 of file nogoods.cc.

void operations_research::NoGoodManager::BeginNextDecision ( DecisionBuilder *const   b  )  [virtual]

Before calling DecisionBuilder::Next.

Reimplemented from operations_research::SearchMonitor.

Definition at line 33 of file nogoods.cc.

bool operations_research::NoGoodManager::AcceptSolution (  )  [virtual]

This method is called when a solution is found.

It asserts of the solution is valid. A value of false indicate that the solution should be discarded.

Reimplemented from operations_research::SearchMonitor.

Definition at line 37 of file nogoods.cc.


The documentation for this class was generated from the following files: