XPRSsetcblplog


Purpose
Declares a simplex log callback function which is called after every LPLOG iterations of the simplex algorithm.
Synopsis
int XPRS_CC XPRSsetcblplog(XPRSprob prob, int (XPRS_CC *fuil)(XPRSprob my_prob, void *my_object), void *object);
Arguments
prob 
The current problem.
fuil 
The callback function which takes two arguments, my_prob and my_object, and has an integer return value. This function is called every LPLOG simplex iterations including iteration 0 and the final iteration.
my_prob 
The problem passed to the callback function, fuil.
my_object 
The user-defined object passed as object when setting up the callback with XPRSsetcblplog.
object 
A user-defined object to be passed to the callback function, fuil.
Related Controls
Integer
Frequency and type of simplex algorithm log.

Example
The following code sets a callback function, lpLog, to be called every 10 iterations of the optimization:
XPRSsetintcontrol(prob,XPRS_LPLOG,10);
XPRSsetcblplog(prob,lpLog,NULL);
XPRSreadprob(prob,"problem","");
XPRSminim(prob,"");
The callback function may resemble:
int XPRS_CC lpLog(XPRSprob my_prob, void *my_object)
{
  int iter; double obj;

  XPRSgetintattrib(my_prob, XPRS_SIMPLEXITER, &iter); 
  XPRSgetdblattrib(my_prob, XPRS_LPOBJVAL, &obj);
  printf("At iteration %d objval is %g\n", iter, obj);
  return 0;
}
Further information
If the callback function returns a nonzero value the solution process will be interrupted.
Related topics
XPRSsetcbbarlog, XPRSsetcbgloballog, XPRSsetcbmessage.


If you have any comments or suggestions about these pages, please send mail to docs@dashoptimization.com.