30.01.2015 Views

ILOG CPLEX C++ API 9.0 Reference Manual

ILOG CPLEX C++ API 9.0 Reference Manual

ILOG CPLEX C++ API 9.0 Reference Manual

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!