Initializing help system before first use

The Xpress NonLinear problem pointer

Xpress NonLinear uses the same concept as the Optimizer library, with a "pointer to a problem". The optimizer problem must be initialized first in the normal way. Then the corresponding Xpress NonLinear problem must be initialized, including a pointer to the underlying optimizer problem. For example:

{
	...
	XPRSprob prob=NULL;
	XSLPprob SLPprob=NULL;

	XPRSinit("");
	XSLPinit();
	XPRScreateprob(&prob);
	XSLPcreateprob(&SLPprob,&prob);
	...
}

At the end of the program, the Xpress NonLinear problem should be destroyed. You are responsible for destroying the underlying XPRSprob linear problem afterwards. For example:

{
...
  XSLPdestroyprob(SLPprob);
  XPRSdestroyprob(prob);
  XSLPfree();
  XPRSfree();
  ...
}

The following functions are provided to manage Xpress NonLinear problems. See the documentation below on the individual functions for more details.

XSLPcopycontrols(XSLPprob prob1, XSLPprob prob2)
   Copy the settings of control variables

XSLPcopycallbacks(XSLPprob prob1, XSLPprob prob2)
   Copy the callback settings

XSLPcopyprob(XSLPprob prob1, XSLPprob prob2, char *ProbName)
   Copy a problem completely

XSLPcreateprob(XSLPprob *prob1, XPRSprob *prob2)
   Create an Xpress NonLinear problem

XSLPdestroyprob(XSLPprob prob1)
   Delete an Xpress NonLinear problem from memory

XSLPrestore(XSLPprob prob1)
   Restore Xpress NonLinear data structures from file

XSLPsave(XSLPprob prob1)
   Save Xpress NonLinear data structures to file