ILOG CPLEX .NET Reference Manual

Cplex.ControlCallback Class

Base class for all callback classes querying or taking control of the MIP branch-and-cut search.

For a list of all members of this type, see Cplex.ControlCallback Members.

System.Object
   ILOG.CPLEX.Cplex.Callback
      ILOG.CPLEX.Cplex.MIPCallback
         ILOG.CPLEX.Cplex.ControlCallback
            ILOG.CPLEX.Cplex.BranchCallback
            ILOG.CPLEX.Cplex.CutCallback
            ILOG.CPLEX.Cplex.HeuristicCallback
            ILOG.CPLEX.Cplex.UserCutCallback

public abstract class Cplex.ControlCallback : MIPCallback

Thread Safety

Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.

Remarks

This is an advanced class.

Important:

Advanced classes typically demand a profound understanding of the algorithms used by ILOG CPLEX. Thus they incur a higher risk of incorrect behavior in your application, behavior that can be difficult to debug. Therefore, ILOG encourages you to consider carefully whether you can accomplish the same task by means of other classes instead.

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:

An instance of ControlCallback is not a callback for implementing user functionality itself, but rather provides the common interface for those listed callback classes. Those 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, those callbacks are called in the following order:

  1. Cplex.CutCallback: 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.

Requirements

Namespace: ILOG.CPLEX

Assembly: ILOG.CPLEX (in ILOG.CPLEX.dll)

See Also

Cplex.ControlCallback Members | ILOG.CPLEX Namespace