Initializing help system before first use

New functionality for the Mosel language

A nonlinear model may employ one or more black box evaluation functions, which can be used to provide function evaluations to the solver. These are represented in mmxnlp by the new userfunc type. The implementation of each userfunc must be described by calling one of:

  • userfuncMosel: to declare that a user function is implemented as a Mosel function
  • userfuncExcel: to declare that a user function is implemented in an Excel file
  • userfuncExcelMacro: to declare that a user function is implemented as a Visual Basic macro in Excel
  • userfuncDLL: to declare that a user function is implemented in a dynamically linked library (DLL)
Note that user functions returning multiple arguments are support by the mmxnlp module. The F construction allows a userfunc to be included in any nonlinear (nlctr) expression, and groups each occurrence of the userfunc with its parameters . During the solve, the parameters (which are of type nlctr themselves) will be evaluated at the current solution, and the real-valued results passed to the userfunc implementation. The function userfuncinfo can be used to find out which parameters the system has deduced it needs to pass to a particular userfunc.

The tolset type

The module provides a large number of configurable tolerances for users of the Xpress NonLinear SLP solver. A tolset describes a convergence tolerance set, which can be used for those nonlinear solvers supporting variable-specific convergence tolerances. The elements of a tolerance set are defined by using settol, and assigned to a variable or list of variables using settolset. For more details on tolerance sets, please refer to the Xpress NonLinear Reference Manual.

  • XNLP_TOL_TC: The absolute closure tolerance
  • XNLP_TOL_TA: The absolute delta tolerance
  • XNLP_TOL_RA: The relative delta tolerance
  • XNLP_TOL_TM: The absolute matrix tolerance
  • XNLP_TOL_RM: The relative matrix tolerance
  • XNLP_TOL_TI: The absolute impact tolerance
  • XNLP_TOL_RI: The relative impact tolerance
  • XNLP_TOL_TS: The relative slack impact tolerance
  • XNLP_TOL_RS: The absolute slack impact tolerance

The mpproblem.xprs.xnlp problem type

When using the mmxnlp module, the type of the active Mosel problem is changed from mpproblem.xprs to the extended type mpproblem.xprs.xnlp. This means that all of the routines presented in this section operate in the context of the current Mosel problem.