Overview | Group | Tree | Graph | Index | Concepts |
The routine CPXsetlpcallbackfunc
is used to modify the
user-written callback routine to be called after each iteration during the
optimization of a linear program, and also periodically during the CPLEX
presolve algorithm.
Callback description
int callback (CPXENVptr env, void *cbdata, int wherefrom, void *cbhandle);
This is the user-written callback routine.
Callback return value
A nonzero terminates the optimization.
Callback arguments
env
A pointer to the CPLEX environment that was passed into the associated optimization routine.
cbdata
A pointer passed from the optimization routine to the user-written
callback function that identifies the problem being optimized. The only
purpose for the cbdata
pointer is to pass it to the routine
CPXgetcallbackinfo
.
wherefrom
An integer value indicating from which optimization algorithm the user-written callback function was called. Possible values and their meaning appear in the table below.
Value | Symbolic Constant | Meaning |
1 | CPX_CALLBACK_PRIMAL | From primal simplex |
2 | CPX_CALLBACK_DUAL | From dual simplex |
4 | CPX_CALLBACK_PRIMAL_CROSSOVER | From primal crossover |
5 | CPX_CALLBACK_DUAL_CROSSOVER | From dual crossover |
6 | CPX_CALLBACK_BARRIER | From barrier |
7 | CPX_CALLBACK_PRESOLVE | From presolve |
8 | CPX_CALLBACK_QPBARRIER | From QP barrier |
9 | CPX_CALLBACK_QPSIMPLEX | From QP simplex |
cbhandle
Pointer to user private data, as passed to
CPXsetlpcallbackfunc
.
Parameters
env
A pointer to the CPLEX environment as returned by CPXopenCPLEX
.
myfunc
A pointer to a user-written callback function. Setting
callback
to NULL prevents any callback function from being
called during optimization. The call to callback
occurs after
every iteration during optimization and periodically during the CPLEX
presolve algorithms. This function is written by the user, and is
prototyped as documented here.
cbhandle
A pointer to user private data. This pointer is passed to the callback function.
Example
status = CPXsetlpcallbackfunc (env, myfunc, NULL);
See Also:
CPXgetcallbackinfo, CPXsetmipcallbackfunc, CPXsetnetcallbackfunc