FRAMES NO FRAMES

Class IlcSearchMonitorI

Definition file: ilsolver/search.h
Include file: <ilsolver/ilosolver.h>

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:

Constructor and Destructor Summary
public IlcSearchMonitorI()
public ~IlcSearchMonitorI()
Method Summary
protected virtual voidwhenBeginMove(const IlcSearchNode node)
protected virtual voidwhenCreate(const IlcSearchNode node)
protected virtual voidwhenEndMove(const IlcSearchNode node)
protected virtual voidwhenFail(const IlcSearchNode node)
protected virtual voidwhenInMove(const IlcSearchNode node)
protected virtual voidwhenOpen(const IlcSearchNode node, IlcBool recompute)
protected virtual voidwhenPrune(const IlcSearchNode node, IlcSearchMonitorI::IlcPruneMode mode)
protected virtual voidwhenSolution(const IlcSearchNode node)
Inner Enumeration
IlcSearchMonitorI::IlcPruneMode
Constructor and Destructor Detail

IlcSearchMonitorI

public IlcSearchMonitorI()

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.


~IlcSearchMonitorI

public ~IlcSearchMonitorI()

As this class is to be subclassed, a virtual destructor is provided.


Method Detail

whenCreate

protected virtual void whenCreate(const IlcSearchNode node)

Solver calls this member function when it creates a node.


whenFail

protected virtual void whenFail(const IlcSearchNode 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.


whenSolution

protected virtual void whenSolution(const IlcSearchNode node)

Solver calls this member function when it exits successfully from the search.


whenPrune

protected virtual void whenPrune(const IlcSearchNode node, IlcSearchMonitorI::IlcPruneMode mode)

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.


whenOpen

protected virtual void whenOpen(const IlcSearchNode node, IlcBool recompute)

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.


whenBeginMove

protected virtual void whenBeginMove(const IlcSearchNode node)

Solver calls this member function when it has decided to move from one node to in the search tree.


whenInMove

protected virtual void whenInMove(const IlcSearchNode node)

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.


whenEndMove

protected virtual void whenEndMove(const IlcSearchNode node)

Solver calls this member function after a recomputation following a backtrack.


Inner Enumeration Detail

Enumeration IlcPruneMode

Definition file: ilsolver/search.h
Include file: <ilsolver/ilosolver.h>

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