NO FRAMES

Class IloCplex::MIPCallbackI

Definition file: ilcplex/ilocplexi.h

An instance of the class IloCplex::MIPCallbackI represents a user-written callback in an application that uses an instance of IloCplex to solve a mixed integer program (MIP). IloCplex calls the user-written callback prior to solving each node in branch & cut search.

User-written callbacks of this class or any of its subclasses are not compatible with MIP dynamic search. If you are looking for support for callbacks compatible with dynamic search, consider the class IloCplex::MIPInfoCallbackI instead.

This class offers member functions for accessing an incumbent solution and its objective value from a user-written callback. It also offers methods for accessing priority orders and statistical information, such as the number of cuts. Methods are also available to query the number of generated cuts for each type of cut CPLEX generates. See the ILOG CPLEX User's Manual for more information about cuts.

The methods of this class are protected for use in deriving a user-written callback class and in implementing the main method there.

If an attempt is made to access information not available to an instance of this class, an exception is thrown. For example, if there is no incumbent, the methods that query about incumbents will throw an exception.

This class also provides the common application programming interface (API) for these callback classes:

See Also:

Constructor Summary
protected MIPCallbackI(IloEnv env)
Method Summary
protected IloIntgetNcliques() const
protected IloIntgetNcovers() const
protected IloIntgetNdisjunctiveCuts() const
protected IloIntgetNflowCovers() const
protected IloIntgetNflowPaths() const
protected IloIntgetNfractionalCuts() const
protected IloIntgetNGUBcovers() const
protected IloIntgetNimpliedBounds() const
protected IloIntgetNMIRs() const
protected IloNumgetObjCoef(const IloIntVar var) const
protected IloNumgetObjCoef(const IloNumVar var) const
protected voidgetObjCoefs(IloNumArray val, const IloIntVarArray vars) const
protected voidgetObjCoefs(IloNumArray val, const IloNumVarArray vars) const
protected IloIntgetUserThreads() const
Inherited Methods from MIPInfoCallbackI
getBestObjValue, getCutoff, getDirection, getDirection, getIncumbentObjValue, getIncumbentSlack, getIncumbentSlacks, getIncumbentValue, getIncumbentValue, getIncumbentValues, getIncumbentValues, getMyThreadNum, getNiterations, getNnodes, getNremainingNodes, getPriority, getPriority, hasIncumbent
Inherited Methods from OptimizationCallbackI
getModel, getNcols, getNQCs, getNrows
Inherited Methods from CallbackI
abort, duplicateCallback, getEnv, main
Inner Class
MIPCallbackI::NodeData
Constructor Detail

MIPCallbackI

protected MIPCallbackI(IloEnv env)

This constructor creates a callback for use in an application that uses an instance of IloCplex to solve a mixed integer program (MIP).


Method Detail

getNGUBcovers

protected IloInt getNGUBcovers() const

Returns the total number of GUB cover cuts that have been added to the model so far during the current optimization.


getNMIRs

protected IloInt getNMIRs() const

Returns the total number of MIR cuts that have been added to the model so far during the current optimization.


getNcliques

protected IloInt getNcliques() const

Returns the total number of clique cuts that have been added to the model so far during the current optimization.


getNcovers

protected IloInt getNcovers() const

Returns the total number of cover cuts that have been added to the model so far during the current optimization.


getNdisjunctiveCuts

protected IloInt getNdisjunctiveCuts() const

Returns the total number of disjunctive cuts that have been added to the model so far during the current optimization.


getNflowCovers

protected IloInt getNflowCovers() const

Returns the total number of flow cover cuts that have been added to the model so far during the current optimization.


getNflowPaths

protected IloInt getNflowPaths() const

Returns the total number of flow path cuts that have been added to the model so far during the current optimization.


getNfractionalCuts

protected IloInt getNfractionalCuts() const

Returns the total number of fractional cuts that have been added to the model so far during the current optimization.


getNimpliedBounds

protected IloInt getNimpliedBounds() const

Returns the total number of implied bound cuts that have been added to the model so far during the current optimization.


getObjCoef

protected IloNum getObjCoef(const IloIntVar var) const

Returns the linear objective coefficient for var in the model currently being solved.


getObjCoef

protected IloNum getObjCoef(const IloNumVar var) const

Returns the linear objective coefficient for var in the model currently being solved.


getObjCoefs

protected void getObjCoefs(IloNumArray val, const IloIntVarArray vars) const

Puts the linear objective coefficient of each of the variables in the array vars into the corresponding element of the array vals.


getObjCoefs

protected void getObjCoefs(IloNumArray val, const IloNumVarArray vars) const

Puts the linear objective coefficient of each of the variables in the array vars into the corresponding element of the array vals.


getUserThreads

protected IloInt getUserThreads() const

Returns the total number of parallel threads currently running.