- Procedure GMP::Instance::SetCallbackBranch(GMP, callback)
GMP::Instance::SetCallbackBranch
The procedure GMP::Instance::SetCallbackBranch
installs a callback
procedure to be called after a branch has been selected but before the
branch is carried out during the MIP optimization. In the callback
routine, the branch selected by the solver can be changed to a
user-selected branch.
GMP::Instance::SetCallbackBranch(
GMP, ! (input) a generated mathematical program
callback ! (input) an AIMMS procedure
)
Arguments
- GMP
An element in
AllGeneratedMathematicalPrograms
.- callback
A reference to a procedure in the set
AllIdentifiers
.
Return Value
The procedure returns 1 on success, or 0 otherwise.
Note
This callback is not called when the subproblem is infeasible.
In the callback procedure at most 2 branches can be specified.
The callback procedure should have exactly one argument; a scalar input element parameter into the set
AllSolverSessions
.The
CallbackBranch
callback procedure should have a return value of0, if you want the solution process to stop, or
1, if you want the solution process to continue.
To remove the callback the empty element should be used as the callback argument.
The
CallbackBranch
callback procedure cannot be used to get the column on which the solver will branch.A
CallbackBranch
callback procedure will only be called when solving mixed integer programs with CPLEX.
See also
The routines GMP::Solution::RetrieveFromSolverSession
, GMP::Solution::SendToModel
, GMP::Solution::RetrieveFromModel
, GMP::Solution::SendToSolverSession
, GMP::SolverSession::GenerateBranchLowerBound
,
GMP::SolverSession::GenerateBranchUpperBound
, GMP::SolverSession::GenerateBranchRow
, GMP::SolverSession::GetNumberOfBranchNodes
, GMP::Instance::Generate
, GMP::Instance::SetCallbackAddCut
, GMP::Instance::SetCallbackAddLazyConstraint
,
GMP::Instance::SetCallbackCandidate
, GMP::Instance::SetCallbackHeuristic
and GMP::Instance::SetCallbackIncumbent
.