Overview | Group | Tree | Graph | Index | Concepts |
This implementation class derives from the abstract implementation class
IlcNodeEvaluatorI
. Instances of
IlcMTNodeEvaluatorI
are implementation objects of node
evaluators for multithreaded search.
Handle and Implementation Classes
A node evaluator is an object in Concert Technology. Like other Concert
Technology entities, a node evaluator is implemented by means of two
classes: a handle class and an implementation class. In other words, an
instance of the class IlcNodeEvaluator
(a handle) contains a
data member (the handle pointer) that points to an instance of the class
IlcNodeEvaluatorI
(its implementation object).
Purpose of a Node Evaluator
A node evaluator is linked to the life cycle of an open node. When a node
is created, the member function evaluate
is called to evaluate
the node. When the solver has to decide whether it should jump to another
node, it calls the member function subsume
.
A node evaluator has its own life cycle:
duplicate
.
init
is called automatically by Solver code.Implementing Your Own Node Evaluator
You implement a node evaluator much the same way as you implement a search selector.
The function IlcMTMinimizeVar
returns an
instance of IlcMTSearchSelector
. In the documentation of that
function, we describe part of its implementation details. From that
description, you see how a search selector is used and what you must include
in your own implementation of a search selector.
To get an idea of how to implement your own node evaluator, see
IlcMTMinimizeVar
.
See Also:
IlcFloatVarRef, IlcIntVarRef
Constructor Summary | |
---|---|
public | IlcMTNodeEvaluatorI(IloSolver s, IlcBool duplicate) |
Method Summary | |
---|---|
public void | addFloatVar(IlcFloatVar v, const char * name) |
public void | addIntVar(IlcIntVar v, const char * name) |
public IlcFloatVar | getFloatVar(IloSolver s, IlcFloatVarRef ref) const |
public IlcFloatVarRef | getFloatVarRef(const char *) const |
public IlcIntVar | getIntVar(IloSolver s, IlcIntVarRef ref) const |
public IlcIntVarRef | getIntVarRef(const char * name) const |
Inherited Methods from IlcNodeEvaluatorI |
---|
duplicateEvaluator, evaluate, init, subsume |
Constructor Detail |
---|
This constructor creates a node evaluator for multithreaded search. The parameter
duplicate
indicates whether the object is an internal copy used by the solver
(duplicate = IlcTrue
), or whether it is just a template.
Method Detail |
---|
This member function stores the constrained floating-point variable v
under the
name indicated by name
.
This member function stores the constrained integer variable v
under the name
indicated by name
.
This member function retrieves the variable stored by the solver s
under the name
corresponding to the reference ref
.
This member function retrieves all the constrained floating-point variables stored under the
name indicated by name
.
This member function retrieves the variable stored by the solver s
under the
name corresponding to the reference ref
.
This member function retrieves all the constrained integer variables stored under the
name indicated by name
.