NO FRAMES

CPXsetlpcallbackfunc

public int CPXsetlpcallbackfunc(CPXENVptr env, int(CPXPUBLIC *callback)(CPXCENVptr, void *, int, void *), void * cbhandle)
Definition file: cplex.h

The routine CPXsetlpcallbackfunc modifies 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 (CPXCENVptr 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 specifying from which optimization algorithm the user-written callback function was called. Possible values and their meaning appear in the table below.

ValueSymbolic ConstantMeaning
1CPX_CALLBACK_PRIMALFrom primal simplex
2CPX_CALLBACK_DUALFrom dual simplex
4CPX_CALLBACK_PRIMAL_CROSSOVERFrom primal crossover
5CPX_CALLBACK_DUAL_CROSSOVERFrom dual crossover
6CPX_CALLBACK_BARRIERFrom barrier
7CPX_CALLBACK_PRESOLVEFrom presolve
8CPX_CALLBACK_QPBARRIERFrom QP barrier
9CPX_CALLBACK_QPSIMPLEXFrom 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:

Returns:

The routine returns zero if successful and nonzero if an error occurs.