Namespace: ILOG.OPL
Assembly: oplall (in oplall.dll)

Syntax

C#
public abstract class ControlCallback : Cplex..::..MIPCallback

Remarks

This is the base class for all callback classes that allow you to query or take control of the MIP branch-and-cut search. These classes are:
  • Cplex.BranchCallback
  • Cplex.ControlCallback
  • Cplex.HeuristicCallback

The ControlCallback is not a callback for implementing user functionality itself, but rather provides the common interface for the above listed callback classes. These callbacks share the property that they are called at every node in the branch-and-cut search tree, and allow you to access node-related data. For each branch-and-cut node these callbacks are called in the following order:

  1. Cplex.ControlCallback: Once the node problem has been solved and Cplex has added all its cuts, the user cut callback is called. In case new cuts are added to the problem, the node problem is solved again. This is iterated until no more cuts are added to the problem.
  2. Cplex.HeuristicCallback: Once the node has been fully solved (that is including all the cuts that may have been added), the heuristic callback is called in an attempt to generate an integer feasible solution from the current relaxation solution at that node.
  3. Cplex.BranchCallback: Finally, if the relaxation solution at the current node is either integer infeasible or rejected by the Cplex.IncumbentCallback, the problem is split into subproblems. At that point the Cplex.BranchCallback can be used to control how to create the subproblems.

The methods of this class are protected to make sure that they are used only to derive a user-written callback class or to implement the main method in it.

Inheritance Hierarchy

See Also