If you determine that your application needs to seize control, intervene in the search, and redirect the optimizer, then the following control callbacks are available to do so.
-
The node callback allows you to query and optionally overwrite the next node ILOG CPLEX will process during a branch & cut search.
-
IloCplex::NodeCallbackI
in the C++ API
-
IloCplex.NodeCallback
in the Java API
-
Cplex.NodeCallback
in the .NET API
-
CPXsetnodecallbackfunc
in the Callable Library (C API)
-
The solve callback allows you to specify and configure the optimizer option to be used for solving the LP at each individual node.
-
IloCplex::SolveCallbackI
in the C++ API
-
IloCplex.SolveCallback
in the Java API
-
Cplex.SolveCallback
in the .NET API
-
CPXsetsolvecallbackfunc
in the Callable Library (C API)
-
The cut callback allows you to add problem-specific cuts at each node.
-
IloCplex::CutCallbackI
in the C++ API
-
IloCplex.CutCallback
in the Java API
-
Cplex.CutCallback
in the .NET API
-
CPXsetcutcallbackfunc
in the Callable Library (C API)
-
The heuristic callback allows you to implement a heuristic that tries to generate a new incumbent from the solution of the LP relaxation at each node.
-
IloCplex::HeuristicCallbackI
in the C++ API
-
IloCplex.HeuristicCallback
in the Java API
-
Cplex.HeuristicCallback
in the .NET API
-
CPXsetheuristiccallback
in the Callable Library (C API)
-
The branch callback allows you to query and optionally overwrite the way ILOG CPLEX will branch at each node.
-
IloCplex::BranchCallbackI
in the C++ API
-
IloCplex.BranchCallback
in the Java API
-
Cplex.BranchCallback
in the .NET API
-
CPXsetbranchcallbackfunc
in the Callable Library (C API)
-
The incumbent callback allows you to check and optionally reject incumbents found by ILOG CPLEX during the search.
-
IloCplex::IncumbentCallbackI
in the C++ API
-
IloCplex.IncumbentCallback
in the Java API
-
Cplex.IncumbentCallback
in the .NET API
-
CPXsetincumbentcallbackfunc
in the Callable Library (C API)