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 NonLinear error and Xpress NonLinear 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 Xpress 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 XSLPprintmemory 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) ≤ 0
-
This may be caused by incorrect setting of the XSLP_EXTRA* control parameters to negative numbers. Use XSLPprintmemory 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 Xpress 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 Xpress support office.
- E-12008 cannot open file name
-
This message appears when Xpress NonLinear 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 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 NonLinear function func which is referencing the SLP item (row, column variable, 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 NonLinear items count from 1.
- 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-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 NonLinear. 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 Xpress 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.
- 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 NonLinear 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 NonLinear 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-12084 Xpress NonLinear has not been initialized
-
An attempt has been made to use Xpress NonLinear 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 NonLinear has not been licensed for use here
-
Either Xpress NonLinear 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 Fair Isaac sales office if necessary. This error message normally produces return code 352.
- E-12105 Xpress NonLinear 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 NonLinear 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 or COM and is run on a non-Windows platform.
- E-12110 Xpress NonLinear error: unidentified section in REVISE: name
-
The file provided to XSLPrevise contains an unsupported MPS section.
- E-12111 Xpress NonLinear error: unidentified row type in REVISE: name
-
The file provided to XSLPrevise contains an unsupported row type.
- E-12112 Xpress NonLinear error: unidentified row in REVISE: name
-
The file provided to XSLPrevise contains a row name not found in the current problem.
- E-12113 Xpress NonLinear error: unidentified bound in REVISE: name
-
The file provided to XSLPrevise contains an unsupported bound type.
- E-12114 Xpress NonLinear error: unidentified column in REVISE: name
-
The file provided to XSLPrevise contains a column name not found in the current problem.
- E-12121 Xpress NonLinear 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 NonLinear 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 NonLinear 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 NonLinear 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 NonLinear error: incompatible arguments in user function func
-
This message is produced if a user function is called without providing the arguments required by the function.
- E-12151 Xpress NonLinear error: column is not defined for formula in row
-
This error is produced when an mps file has an incomplete or incorrect record for a nonlinear formula.
- E-12156 Xpress NonLinear error: invalid double value
-
This error is produced when a string value that was expected to represent a double does not.
- E-12157 Xpress NonLinear error: invalid integer value
-
This error is produced when a string value that was expected to represent an integer does not.
- E-12150 Xpress NonLinear error: problem contains undefined user functions
-
This error is produced if an mps or lp file is read that contains user functions that are later not defined before optimization.
- E-12158 Xpress NonLinear 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 where the name is incorrect.
- E-12159 Xpress NonLinear error: unknown parameter type name
-
A parameter has an unexpected type and cannot be retrieved. This is an internal error, please contanct FICO support.
- E-12159 Xpress NonLinear 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 NonLinear 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
- E-12161 Xpress NonLinear error: parameter num is not available
-
The parameter corresponding to the provided ID is aninternal, not readable parameter.
- E-12163 Xpress NonLinear error: PWL functions can only take constant values following the determining variable: PWL(x, base1, value1, ..., basek, valuek)
-
The values following the variable in a piecewise linear function (PWL) describe the breakpoints of the PWL, and so can only be constants.
- E-12164 Xpress NonLinear error: PWL functions must take an odd number of arguments: PWL(x, base1, value1, ..., basek, valuek)
-
The values following the variable in a piecewise linear function (PWL) describe the breakpoints of the PWL in pairs, making the total number of arguments odd.
- E-12165 Xpress NonLinear error: PWL functions must take the following form: PWL(x, base1, value1, ..., basek, valuek)
-
The piecewise linear function (PWL) defined is likely missing any break points, or has unexpected tokens.
- E-12166 Xpress NonLinear error: PWL functions's first argument must be a variable: PWL(x, base1, value1, ..., basek, valuek)
-
A piecewise linear function (PWL) argument list must start with the determining variable.
- E-12167 Xpress NonLinear error: The base points of a PWL function must be monotonically increasing
-
A piecewise linear function (PWL) must list its breakpoints first values in monotonically increasing order.
- E-12168 Xpress NonLinear error: NLP with general constraints and piecewise linear not allowed with presolve off
-
A model with general constraints and piecewise linear functions depends on presolve for reformulation.
- E-12169 Xpress NonLinear error: error removing columns in unconstruct
-
A call to unconstruct failed to remove columns added by construct. This is an unexpected error, please contact FICO support.
- E-12170 Xpress NonLinear error: error removing rows in unconstruct
-
A call to unconstruct failed to remove rows added by construct. This is an unexpected error, please contact FICO support.
- E-12171 Xpress NonLinear error: compute server returned an error
-
An error occured while solving remotely using a compute server.
- E-12173 Xpress NonLinear error: Multistart is not supported in compute mode
-
Multistart is currently not supported in compute mode.
- E-12174 Xpress NonLinear error: User functions with named arguments are no longer supported
-
User functions with named input and output arguments are no longer supported in the C API.
- E-12192 Xpress NonLinear error: no problem or solution read
-
No problem or solution has been read. If a problem read fails, it is not valid to continue with any problem building or solving functions.
- E-12193 Xpress NonLinear error: this version of SLP requires XPRS version num or newer
-
Altough not recommended, Xpress SLP can work with different xprs library versions. This error is issued when a tool old xpres library is found.
- E-12194 Xpress NonLinear error: provided buffer is too short
-
The provided buffer is too short. This error may occur if a formula is retrieved from Xpress, into a buffer that is not large enough.
- E-12195 Xpress NonLinear error: type index value is invalid
-
The index provided is not valid for the this type.
- E-12196 Xpress NonLinear error: error in problem transformation
-
An error occurred while the problem was attempted to be reformulated as part of the nonlinear presolver. Please contact FICO support.
- E-12197 Xpress NonLinear error: request index invalid
-
The requested information cannot be retrieved as it is not valid or not availanble.
- E-12198 Xpress NonLinear error: error while cascading. Cannot evaluate coefficient at row rowname column.
-
Evaluating an expression in cascading has returned an error. There is likely a user function in the expression returning an error.
- E-12199 Xpress NonLinear error: nonlinear coefficient in neutral objective row 'rowname'. Please use an objective transfer row instead.
-
A nonlinear objective function in SLP needs to be modelled using an objective transfer row.
- E-12200 Xpress NonLinear error: problem is not augmented.
-
The operation is only valid for augmented problems. Please call the construct method first, or solve using SLP.
- E-12201 Xpress NonLinear error: an internal error has occured.
-
An internal error has occured that is not expected to have been caused by incorrect input. Please contact FICO support.
- E-12202 Xpress NonLinear error: attribute i cannot be changed.
-
Attributes normally cannot be changed, as they are set up by the solver. There are a few exceptions to this rule, the requested attribute is not among the exceptions.
- E-12203 Xpress NonLinear error: no problem or solution written.
-
No problem or solution was written to disk due to an error processing the data.
© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.