Overview | Group | Tree | Graph | Index | Concepts |
A search monitor watches and reports events in a search. Specifically, it offers member functions capable of reporting such events as the creation of a search node, the destruction of a search node, failure of the search, and so forth.
A search monitor is an object in Solver. Like other Solver entities, a
search monitor is implemented by means of two classes: a handle class and an
implementation class. In other words, an instance of the class
IlcSearchMonitor
(a handle) contains a data member (the handle
pointer) that points to an instance of the class
IlcSearchMonitorI
(its implementation object).
See Also:
IlcNodeEvaluator, IlcSearchLimit, IlcSearchMonitor, IlcSearchNode, IlcSearchSelector, IlcSearchSelectorI, IloApply, IloLimitSearch, IloSelectSearch
Constructor and Destructor Summary | |
---|---|
public | IlcSearchMonitorI() |
public | ~IlcSearchMonitorI() |
Method Summary | |
---|---|
protected virtual void | whenBeginMove(const IlcSearchNode node) |
protected virtual void | whenCreate(const IlcSearchNode node) |
protected virtual void | whenEndMove(const IlcSearchNode node) |
protected virtual void | whenFail(const IlcSearchNode node) |
protected virtual void | whenInMove(const IlcSearchNode node) |
protected virtual void | whenOpen(const IlcSearchNode node, IlcBool recompute) |
protected virtual void | whenPrune(const IlcSearchNode node, IlcSearchMonitorI::IlcPruneMode mode) |
protected virtual void | whenSolution(const IlcSearchNode node) |
Inner Enumeration |
---|
IlcSearchMonitorI::IlcPruneMode |
Constructor and Destructor Detail |
---|
This constructor creates an instance of the class IlcSearchMonitorI
. This
constructor should not be called directly as this class is an abstract class. This constructor is
called automatically in the constructor of its subclasses.
As this class is to be subclassed, a virtual destructor is provided.
Method Detail |
---|
Solver calls this member function when it creates a node.
Solver calls this member function when the search fails. Unless the search is already complete, Solver normally backtracks and recomputes after this member function.
Solver calls this member function when it exits successfully from the search.
Solver calls this member function when it prunes the frontier of nodes in the search
tree. The parameter mode
indicates the reason for pruning when it prunes an
open node belonging to the frontier of nodes in the search tree.
Solver calls this member function when it explores a node. The parameter
recompute
indicates whether Solver is recomputing (IlcTrue
)
or not (IlcFalse
) at the time of the call.
Solver calls this member function when it has decided to move from one node to in the search tree.
Solver calls this member function after it backtracks. The backtrack may be because of a failure or because of a move from one node to another.
Solver calls this member function after a recomputation following a backtrack.
Inner Enumeration Detail |
---|
The values in this enumeration indicate why Solver prunes the nodes of a search tree.
See Also:
Fields |
---|
searchNotFailed | |
searchFailedNormally | |
killedBySelector | |
killedByLimit | |
killedByLabel | |
killedByEvaluator | |
killedByExit |