Error Messages



If the optimization procedure or some other library function encounters an error, then the procedure normally terminates with a nonzero return code and sets an error code. For most functions, the return code is 32 for an error; those functions which can return Optimizer return codes (such as the functions for accessing attributes and controls) will return the Optimizer code in such circumstances.

If an error message is produced, it will normally be output to the message handler; for console-based output, it will appear on the console. The error message and the error code can also be obtained using the function XSLPgetlasterror. This allows the user to retrieve the message number and/or the message text. The format is:

XSLPgetlasterror(Prob, &ErrorCode, &ErrorMessage);

The following is a list of the error codes and an explanation of the message. In the list, error numbers are prefixed by E- and warnings by W-. The printed messages are generally prefixed by Xpress-SLP error and Xpress-SLP warning respectively.

E-12001   invalid parameter number num

This message is produced by the functions which access SLP or Optimizer controls and attributes. The parameter numbers for SLP are given in the header file xslp.h. The parameter is of the wrong type for the function, or cannot be changed by the user.

E-12002   internal hash error

This is a non-recoverable program error. If this error is encountered, please contact your local Dash support office.

E-12003   XSLPprob problem pointer is NULL

The problem pointer has not been initialized and contains a zero address. Initialize the problem using XSLPcreateprob.

E-12004   XSLPprob is corrupted or is not a valid problem

The problem pointer is not the address of a valid problem. The problem pointer has been corrupted, and no longer contains the correct address; or the problem has not been initialized correctly; or the problem has been corrupted in memory. Check that your program is using the correct pointer and is not overwriting part of the memory area.

E-12005   memory manager error - allocation error

This message normally means that the system has run out of memory when trying to allocate or reallocate arrays. Use XSLPuprintmemory to obtain a list of the arrays and amounts of memory allocated by the system. Ensure that any memory allocated by user programs is freed at the appropriate time.

E-12006   memory manager error - Array expansion size (num) Maths/leq.png 0

This may be caused by incorrect setting of the XSLP_EXTRA* control parameters to negative numbers. Use XSLPuprintmemory to obtain a list of the arrays and amounts of memory allocated by the system for the specified array. If the problem persists, please contact your local Dash support office.

E-12007   memory manager error - object Obj size not defined

This is a non-recoverable program error. If this error is encountered, please contact your local Dash support office.

E-12008   cannot open file name

This message appears when Xpress-SLP is required to open a file of any type and encounters an error while doing so. Check that the file name is spelt correctly (including the path, directory or folder) and that it is accessible (for example, not locked by another application).

E-12009   cannot open problem file name

This message is produced by XSLPreadprob if it cannot find name.mat, name.mps or name. Note that "lp" format files are not accepted for SLP input.

E-12010   internal I/O error

This error is produced by XSLPreadprob if it is unable to read or write intermediate files required for input.

E-12011   XSLPreadprob unknown record type name

This error is produced by XSLPreadprob if it encounters a record in the file which is not identifiable. It may be out of place (for example, a matrix entry in the BOUNDS section), or it may be a completely invalid record type.

E-12012   XSLPreadprob invalid function argument type name

This error is produced by XSLPreadprob if it encounters a user function definition with an argument type that is not one of NULL, DOUBLE, INTEGER, CHAR or VARIANT.

E-12013   XSLPreadprob invalid function linkage type name

This error is produced by XSLPreadprob if it encounters a user function with a linkage type that is not one of DLL, XLS, XLF, MOSEL, VB or COM.

E-12014   XSLPreadprob unrecognized function name

This error is produced by XSLPreadprob if it encounters a function reference in a formula which is not a pre-defined internal function nor a defined user function. Check the formula and the function name, and define the function if required.

E-12015   func: item num out of range

This message is produced by the Xpress-SLP function func which is referencing the SLP item (row, column variable, XV, etc). The index provided is out of range (less than 1 unless zero is explicitly allowed, or greater than the current number of items of that type). Remember that most Xpress-SLP items count from 1, and are not sensitive to the setting of XPRS_CSTYLE.

E-12016   missing left bracket in formula

This message is produced during parsing of formulae provided in character or unparsed internal format. A right bracket is not correctly paired with a corresponding left bracket. Check the formulae.

E-12017   missing left operand in formula

This message is produced during parsing of formulae provided in character or unparsed internal format. An operator which takes two operands is missing the left hand one (and so immediately follows another operator or a bracket). Check the formulae.

E-12018   missing right operand in formula

This message is produced during parsing of formulae provided in character or unparsed internal format. An operator is missing the right hand (following) operand (and so is immediately followed by another operator or a bracket). Check the formulae.

E-12019   missing right bracket in formula

This message is produced during parsing of formulae provided in character or unparsed internal format. A left bracket is not correctly paired with a corresponding right bracket. Check the formulae.

E-12020   column #n is defined more than once as an SLP variable

This message is produced by XSLPaddvars or XSLPloadvars if the same column appears more than once in the list, or has already been defined as an SLP variable. Although XSLPchgvar is less efficient, it can be used to set the properties of an SLP variable whether or not it has already been declared.

E-12021   row #num is defined more than once as an SLP delayed constraint

This message is produced by XSLPadddcs or XSLPloaddcs if the same row appears more than once in the list, or has already been defined as a delayed constraint. Although XSLPchgdc is less efficient, it can be used to set the properties of an SLP delayed constraint whether or not it has already been declared.

E-12022   undefined tolerance type name

This error is produced by XSLPreadprob if it encounters a tolerance which is not one of the 9 defined types (TC, TA, TM, TI, TS, RA, RM, RI, RS). Check the two-character code for the tolerance.

W-12023   name has been given a tolerance but is not an SLP variable

This error is produced by XSLPreadprob if it encounters a tolerance for a variable which is not an SLP variable (it is not in a coefficient, it does not have a non-constant coefficient and it has not been given an initial value). If the tolerance is required (that is, if the variable is to be monitored for convergence) then give it an initial value so that it becomes an SLP variable. Otherwise, the tolerance will be ignored.

W-12024   name has been given SLP data of type ty but is not an SLP variable

This error is produced by XSLPreadprob if it encounters SLPDATA for a variable which has not been defined as an SLP variable. Typically, this is because the variable would only appear in coefficients, and the relevant coefficients are missing. The data item will be ignored.

E-12025   func has the same source and destination problems

This message is produced by XSLPcopycallbacks, XSLPcopycontrols and XSLPcopyprob if the source and destination problems are the same. If they are the same, then there is no point in copying them.

E-12026   invalid or corrupt SAVE file

This message is produced by XSLPrestore if the SAVE file header is not valid, or if internal consistency checks fail. Check that the file exists and was created by XSLPsave.

E-12027   SAVE file version is too old

This message is produced by XSLPrestore if the SAVE file was produced by an earlier version of Xpress-SLP. In general, it is not possible to restore a file except with the same version of the program as the one which SAVEd it.

W-12028   problem already has augmented SLP structure

This message is produced by XSLPconstruct if it is called for a second time for the same problem. The problem can only be augmented once, which must be done after all the variables and coefficients have been loaded. XSLPconstruct is called automatically by XSLPmaxim and XSLPminim if it has not been called earlier.

E-12029   zero divisor

This message is produced by the formula evaluation routines if an attempt is made to divide by a value less than XSLP_ZERO. A value of +/-XSLP_INFINITY is returned as the result and the calculation continues.

E-12030   negative number, fractional exponent - truncated to integer

This message is produced by the formula evaluation routines if an attempt is made to raise a negative number to a non-integer exponent. The exponent is truncated to an integer value and the calculation continues.

E-12031   binary search failed

This is a non-recoverable program error. If this error is encountered, please contact your local Dash support office.

E-12032   wrong number (num) of arguments to function func

This message is produced by the formula evaluation routines if a formula contains the wrong number of arguments for an internal function (for example, SIN(A,B)). Correct the formula.

E-12033   argument value out of range in function func

This message is produced by the formula evaluation routines if an internal function is called with an argument outside the allowable range (for example, LOG of a negative number). The function will normally return zero as the result and, if XSLP_STOPOUTOFRANGE is set, will set the function error flag.

W-12034   terminated following user return code num

This message is produced by XSLPmaxim and XSLPminim if a nonzero value is returned by the callback defined by XSLPsetcbiterend or XSLPsetcbslpend.

W-12036   the number of items in XV #num cannot be increased

This message is produced by XSLPchgxv if the number of XVitems specified is larger than the current number. XSLPchgxv can only reduce the number of items; use XSLPchgxvitem to add new items.

E-12037   failed to load library/file/program "name" containing function "func"

This message is produced if a user function is defined to be in a file, but Xpress-SLP cannot the specified file. Check that the correct file name is specified (also check the search paths such as $PATH and %path% if necessary).
This message may also be produced if the specified library exists but is dependent on another library which is missing.

E-12038   function "func" is not correctly defined or is not in the specified location

This message is produced if a user function is defined to be in a file, but Xpress-SLP cannot find it in the file. Check that the number and type of the arguments is correct, and that the (external) name of the user function matches the name by which it is known in the file.

E-12039   incorrect OLE version

This message is produced if a user function is specified using an OLE linkage (Excel or COM) but the OLE version is not compatible with the version used by Xpress-SLP. If this error is encountered, please contact your local Dash support office.

E-12040   unable to initialize OLE - code num

This message is produced if the OLE initialization failed. The initialization error code is printed in hexadecimal. Consult the appropriate OLE documentation to establish the cause of the error.

E-12041   unable to open Excel/COM - code num

This message is printed if the initialization of Excel or COM failed after OLE was initialized successfully. The error code is printed in hexadecimal. Consult the appropriate documentation to establish the cause of the error.

E-12042   OLE/Excel/COM error: msg

This message is produced if OLE automation produces an error during transfer of data to or from Excel or COM. The message text gives more information about the specific error.

E-12084   Xpress-SLP has not been initialized

An attempt has been made to use Xpress-SLP functions without a previous call to XSLPinit. Only a very few functions can be called before initialization. Check the sequence of calls to ensure that XSLPinit is called first, and that it completed successfully. This error message normally produces return code 279.

E-12085   Xpress-SLP has not been licensed for use here

Either Xpress-SLP is not licensed at all (although the Xpress-Optimizer may be licensed), or the particular feature (such as MISLP) is not licensed. Check the license and contact the local Dash sales office if necessary. This error message normally produces return code 352.

E-12105   Xpress-SLP error: I/O error on file

The message is produced by XSLPsave or XSLPwriteprob if there is an I/O error when writing the output file (usually because there is insufficient space to write the file).

E-12107   Xpress-SLP error: user function type name not supported on this platform

This message is produced if a user function defined as being of type XLS, XLF, VB or COM and is run on a non-Windows platform.

E-12111   Xpress-SLP error: unidentified section in REVISE: name

This message is produced by XSLPrevise if it encounters a section other than NAME, ROWS, COLUMNS, RHS, RANGES, BOUNDS, ENDATA, MODIFY, BEFORE or AFTER.

E-12112   Xpress-SLP error: unidentified row type in REVISE: name

This message is produced by XSLPrevise if it encounters a row type other than L, G, E or N.

E-12113   Xpress-SLP error: unidentified row in REVISE: name

This message is produced by XSLPrevise if it encounters a row name which is not already in the problem. XSLPrevise cannot add new rows to the problem.

E-12114   Xpress-SLP error: unidentified bound type in REVISE: name

This message is produced by XSLPrevise if it encounters a bound type that is not LO, UP, FX or FR. It is not possible to change bounds for global variables using XSLPrevise.

E-12115   Xpress-SLP error: unidentified column in REVISE: name

This message is produced by XSLPrevise if it encounters a column name which is not already in the problem. XSLPrevise cannot add new columns to the problem.

E-12121   Xpress-SLP error: bad return code num from user function func

This message is produced during evaluation of a complicated user function if it returns a value (-1) indicating that the system should estimate the result from a previous function call, but there has been no previous function call.

E-12124   Xpress-SLP error: augmented problem not set up

The message is produced by XSLPvalidate if an attempt is made to validate the problem without a preceding call to XSLPconstruct. In fact, unless a solution to the linearized problem is available, XSLPvalidate will not be able to give useful results.

E-12125   Xpress-SLP error: user function func terminated with errors

This message is produced during evaluation of a user function if it sets the function error flag (see XSLPsetfunctionerror).

W-12142   Xpress-SLP warning: invalid record: text

This error is produced by XSLPreadprob if it encounters a record in the file which is identifiable but invalid (for example, a BOUNDS record without a bound set name). The record is ignored.

E-12147   Xpress-SLP error: incompatible arguments in user function func

This message is produced if a user function is called by XSLPcalluserfunc but the function call does not provide the arguments required by the function.

E-12148   Xpress-SLP error: user function func should return an array not a single value

This message is produced if a user function is defined within Xpress-SLP as returning an array, but the function is returning a single value. This message is produced only when it is possible to identify the type of value being returned by the function (for example, the value from an Excel macro).

E-12158   Xpress-SLP error: unknown parameter name name

This message is produced if an attempt is made to set or retrieve a value for a control parameter or attribute given by name (XSLPgetparam or XSLPsetparam where the name is incorrect.

E-12159   Xpress-SLP error: parameter number is not writable

This message is produced if an attempt is made to set a value for an attribute.

E-12160   Xpress-SLP error: parameter num is not available

This message is produced if an attempt is made to retrieve a value for a control or attribute which is not readable



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