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
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.