> Advanced Programming Techniques > Using Callbacks > Control Callbacks for IloCplex

Control callbacks allow you to control the branch & cut search during the optimization of MIP problems. The following control callbacks are available for IloCplex:

These callbacks are implemented as an extension of the diagnostic callback class hierarchy. This extension is shown below along with the macro names for each of the control callbacks (see Diagnostic Callbacks for a discussion of how macros and callback implementation classes relate).

IloCplex::MIPCallbackI 
| 
+--- IloCplex::NodeCallbackI 
| 
+--- IloCplex::IncumbentCallbackI 
| 
+--- IloCplex::ControlCallbackI 
| 
+--- IloCplex::BranchCallbackI 
| 
+--- IloCplex::CutCallbackI 
| 
+--- IloCplex::HeuristicCallbackI 
| 
+--- IloCplex::SolveCallbackI 
ILOMIPCALLBACKn 

 
ILONODECALLBACKn 

 
ILOINCUMBENTCALLBACKn 

 
ILOCONTROLCALLBACKn 

 
ILOBRANCHCALLBACKn 

 
ILOCUTCALLBACKn 

 
ILOHEURISTICCALLBACKn 

 
ILOSOLVECALLBACKn 

Again, the callback class hierarchy for Java is exactly the same, but the class names differ, in that there is no I at the end. For example, the corresponding Java implementation class for IloCplex::BranchCallbackI is IloCplex.BranchCallback.

Similar to the class IloCplex::CallbackI (IloCplex.Callback), the class IloCplex::ControlCallbackI (IloCplex.ControlCallback) is not provided for deriving user callback classes, but instead for defining the common interface for its derived classes. This interface provides methods for querying information about the current node, such as current bounds or solution information for the current node. See the class IloCplex::ControlCallbackI (IloCplex.ControlCallback) in the ILOG CPLEX Reference Manual for more information.