ILOG CPLEX C++ API 9.0 Reference Manual
ILOG CPLEX C++ API 9.0 Reference Manual
ILOG CPLEX C++ API 9.0 Reference Manual
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
IloCplex::ControlCallbackI<br />
Description<br />
See Also<br />
Methods<br />
This class defines the common application programming interface (<strong>API</strong>) for the<br />
following classes that allow you to control the MIP search:<br />
◆<br />
◆<br />
◆<br />
IloCplex::SolveCallbackI<br />
IloCplex::CutCallbackI<br />
IloCplex::HeuristicCallbackI<br />
◆ IloCplex::BranchCallbackI<br />
An instance of one of these classes represents a user-written callback that intervenes in<br />
the search for a solution at a given node in an application that uses an instance of<br />
IloCplex to solve a mixed integer program (MIP). Control callbacks are tied to a<br />
node. They are called at each node during IloCplex branch & cut search. The user<br />
never subclasses the IloCplex::ControlCallbackI class directly; it only<br />
defines the common interface of thosee listed callbacks.<br />
In particular, SolveCallbackI is called before solving the node relaxation and<br />
optionally allows substitution of its solution. IloCplex does this by default. After the<br />
node relaxation has been solved, either by an instance of SolveCallbackI or by<br />
IloCplex, the other control callbacks are called in the following order:<br />
◆<br />
◆<br />
IloCplex::CutCallbackI<br />
IloCplex::HeuristicCallbackI<br />
◆ IloCplex::BranchCallbackI<br />
If the cut callback added new cuts to the node relaxation, the node relaxation will be<br />
solved again using the solve callback, if used. The same is true if IloCplex generated<br />
its own cuts.<br />
The methods of this class are protected and its constructor is private; you cannot directly<br />
subclass this class; you must derive from its subclasses.<br />
If an attempt is made to access information not available to an instance of this class, an<br />
exception is thrown.<br />
IloCplex, IloCplex::Callback, IloCplex::CallbackI,<br />
ControlCallbackI::IntegerFeasibility,<br />
IntegerFeasibilityArray, IloCplex::MIPCallbackI<br />
protected IloNum getDownPseudoCost(const IloIntVar var)<br />
This method returns the current pseudo cost for branching downward on the variable<br />
var.<br />
protected IloNum getDownPseudoCost(const IloNumVar var)<br />
<strong>ILOG</strong> <strong>CPLEX</strong> <strong>C++</strong> <strong>API</strong> <strong>9.0</strong> REFERENCE M ANUAL 109