|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectilog.cplex.IloCplex.Callback
ilog.cplex.IloCplex.MIPCallback
ilog.cplex.IloCplex.ControlCallback
ilog.cplex.IloCplex.UserCutCallback
This is the callback class to use to add user-written cuts during the branch-and-cut search.
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 user cut callback class.
Extensions of this class implement user-written user cut
callbacks. They allow you to add user cuts to the problem while
the problem is being solved with branch-and-cut search. User cuts
may not contribute to the model formulation; user cuts must
not restrict the feasible
region of the problem, but only strengthen the formulation. If
constraints that do restrict the feasible region of the problem
are to be added during the optimization, an instance of
IloCplex.LazyConstraintCallback
must be used instead.
Cuts are added from this callback by a call to the
method add
.
The added cuts must be globally valid because they are not removed
automatically during backtracking.
The constructor and 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.
When you use UserCutCallback
, you effectively promise
CPLEX that you are not adding cuts that reduce the solution space by
the callback, in contrast to LazyConstraintCallback
.
By using UserCutCallback
, you allow CPLEX to pursue
presolve more aggressively.
In the case of LazyConstraintCallback
, you are free
to add cuts that may chop off solutions that are otherwise feasible
with respect to the the model.
IloCplex.ControlCallback
,
IloCplex.CutCallback
Constructor Summary | |
protected |
IloCplex.UserCutCallback()
This is the constructor for user-written user cut callbacks. |
Method Summary | |
protected IloConstraint |
add(IloConstraint cut)
Adds cut as a global user cut to the problem being solved. |
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, getNcliques, getNcovers, getNdisjunctiveCuts, getNflowCovers, getNflowPaths, getNfractionalCuts, getNGUBcovers, getNimpliedBounds, getNiterations, getNMIRs, getNnodes, getNremainingNodes, getObjCoef, getObjCoefs, getObjCoefs, getPriority, hasIncumbent |
Methods inherited from class ilog.cplex.IloCplex.Callback |
abort, getModel, getNcols, getNQCs, getNrows, main |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
protected IloCplex.UserCutCallback()
IloCplex.CutCallback
objects directly.
Method Detail |
protected IloConstraint add(IloConstraint cut) throws IloException
cut
as a global user cut to the problem being solved.
This cut must be globally valid. It will not be removed by backtracking
or any other means during the search. The cut must also not cut off
any solution.
cut
- The constraint to be added as a global cut.
The constraint must be linear.
IloException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |