Purpose
Set a user callback to be called at the start of the SLP optimization
Synopsis
int XPRS_CC XSLPsetcbslpstart(XSLPprob Prob,
int (XPRS_CC *UserFunc) (XSLPprob myProb, void *myObject),
void *Object);
Arguments
|
Prob
|
The current SLP problem.
|
|
UserFunc
|
The function to be called at the start of the SLP optimization.
UserFunc returns an integer value.
If the return value is nonzero, the optimization will not be carried out.
|
|
myProb
|
The problem passed to the callback function.
|
|
myObject
|
The user-defined object passed as Object to
XSLPsetcbslpstart.
|
|
Object
|
Address of a user-defined object, which can be used for any purpose
by the function. Object is passed to UserFunc as myObject.
|
Example
The following example sets up a callback to be executed at the start of the
SLP optimization. It allocates memory to a user-defined object to be used during the
optimization:
void *ObjData;
ObjData = NULL;
XSLPsetcbslpstart(Prob, CBSlpStart, &ObjData);
A suitable callback function might resemble this:
int XPRS_CC CBSlpStart(XSLPprob MyProb, void *Obj) {
void *ObjData;
ObjData = * (void **) Obj;
if (ObjData) free(ObjData);
* (void **) Obj = malloc(99*sizeof(double));
return 0;
}
Further information
This callback can be used at the start of the SLP optimization to carry out any
housekeeping before the optimization actually starts. Note that a nonzero return code
from the callback will terminate the optimization immediately.
When used with VB, the callback function has the prototype:
Public Function mycbfunc (ByVal prob As Long, ByVal object As Long) As Long
Related topics
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.