ilog.cplex
Class IloCplex.LazyConstraintCallback
java.lang.Object
|
+--ilog.cplex.IloCplex.Callback
|
+--ilog.cplex.IloCplex.MIPCallback
|
+--ilog.cplex.IloCplex.ControlCallback
|
+--ilog.cplex.IloCplex.CutCallback
|
+--ilog.cplex.IloCplex.LazyConstraintCallback
- All Implemented Interfaces:
- java.lang.Cloneable
- Enclosing class:
- IloCplex
- public abstract static class IloCplex.LazyConstraintCallback
- extends IloCplex.CutCallback
This is an advanced method.
Important:
Advanced methods 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 methods instead.
This is the lazy constraint callback class.
Extensions of this class implement user-written lazy constraint
callbacks. These allow you to add lazy constraint to the problem while
the problem is being solved with branch-and-cut search. These lazy
constraints may contribute to the model formulation and restrict the
feasible region of the problem. By contrast, if a constraint to be added
during branch-and-cut search does not change the feasible region of the
active model but only strengthens the formulation, it is referred to
as a user cut. Such constraints should better be added through
a IloCplex.UserCutCallback
because this allows IloCplex
to potentially perform more presolve reductions. It is an error,
however, to add lazy constraints using a user cut callback.
The idea behind lazy constraints is that the LPs that are solved when
solving the MIP can be kept smaller when these constraints are not
included. IloCplex
will, however, include a lazy constraint
in the LP as soon as it becomes violated. In other words, the solution
computed by IloCplex
makes sure
that all the lazy constraints that have been added are satisfied.
The IloCplex.CutCallback
is just another name for the
IloCplex.LazyConstraintCallback
class.
- See Also:
IloCplex.ControlCallback
,
IloCplex.CutCallback
,
IloCplex.UserCutCallback
Methods inherited from class ilog.cplex.IloCplex.ControlCallback |
getDownPseudoCost, getFeasibilities, getFeasibilities, getFeasibility, getLB, getLBs, getLBs, getNodeData, getObjValue, getSlack, getSlacks, getSlacks, getSOSFeasibility, getSOSFeasibility, getUB, getUBs, getUBs, getUpPseudoCost, getValue, getValue, getValues, getValues |
Methods inherited from class ilog.cplex.IloCplex.MIPCallback |
getBestObjValue, getCutoff, getDirection, getIncumbentObjValue, getIncumbentValue, getIncumbentValues, getIncumbentValues, getMyThreadNum, getNcliques, getNcovers, getNdisjunctiveCuts, getNflowCovers, getNflowPaths, getNfractionalCuts, getNGUBcovers, getNimpliedBounds, getNiterations, getNMIRs, getNnodes, getNremainingNodes, getObjCoef, getObjCoefs, getObjCoefs, getPriority, getUserThreads, hasIncumbent |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
IloCplex.LazyConstraintCallback
public IloCplex.LazyConstraintCallback()