\begin{description}
%
% zimpl.c
%
\item[101 Bad filename]\ \\
   The name given with the \code{-o} option is either missing, 
   a directory name, or starts with a dot.
\item[102 File write error]\ \\
   Some error occurred when writing to an output file. A description of 
   the error follows on the next line. For the meaning 
   consult your OS documentation.
\item[103 Output format not supported, using LP format]\ \\
   You tried to select another format than \code{lp}, \code{mps},
   \code{hum}, \code{rlp}, or \code{pip}.
\item[104 File open failed]\ \\
   Some error occurred when trying to open a file for writing. A description of 
   the error follows on the next line. For the meaning 
   consult your OS documentation.
%
% inst.c
%
\item[105 Duplicate constraint name ``xxx'']\ \\
   Two \code{subto} statements have the same name.
\item[106 Empty LHS, constraint trivially violated]\ \\
   One side of your constraint is empty and the other not equal to
   zero. Most frequently this happens, when a set to be summed up is empty.
\item[107 Range must be $l\leq x\leq u$, or $u \geq x\geq l$]\ \\
   If you specify a range you must have the same comparison operators
   on both sides.
\item[108 Empty Term with nonempty LHS/RHS, constraint trivially
   violated]\ \\
   The middle of your constraint is empty and either the left- or
   right-hand side of the range is not zero.
   This most frequently happens, when a set to be summed up is empty.
\item[109 LHS/RHS contradiction, constraint trivially violated]\ \\
   The lower side of your range is bigger than the upper side, e.g.
   $15\leq x\leq 2$. 
\item[110 Division by zero]\ \\
   You tried to divide by zero. This is not a good idea.
\item[111 Modulo by zero]\ \\
   You tried to compute a number modulo zero. This does not work well.
\item[112 Exponent value \code{xxx} is too big or not an integer]\ \\
   It is only allowed to raise a number to the power of integers. Also trying to
   raise a number to the power of more than two billion is 
   prohibited.\footnote{The behavior of this operation could 
   easily be implemented as \code{for(;;)} or in a more elaborate way as 
   \code{void f()\{f();\}}.}
\item[113 Factorial value \code{xxx} is too big or not an integer]\ \\
   You can only compute the factorial of integers.
   Also computing the factorial of a number bigger then two billion
   is generally a bad idea. See also Error 115.
\item[114 Negative factorial value]\ \\
   To compute the factorial of a number it has to be positive.
   In case you need it for a negative number, remember that for all 
   even numbers the outcome will be positive and for all odd number negative.
\item[115 Timeout!]\ \\
   You tried to compute a number bigger than $1000!$. 
   See also the footnote to Error 112.
\item[116 Illegal value type in min: \code{xxx} only numbers are
   possible]\ \\
   You tried to build the minimum of some strings.
\item[117 Illegal value type in max: \code{xxx} only numbers are
   possible]\ \\
   You tried to build the maximum of some strings.
\item[118 Comparison of different types]\ \\
   You tried to compare apples with oranges, i.e, numbers with
   strings. Note that the use of an undefined parameter can also
   lead to this message.
\item[119 \code{xxx} of sets with different dimension]\ \\
   To apply Operation \code{xxx} (union, minus, intersection, symmetric
   difference) on two sets, 
   both must have the same dimension tuples,\ie
   the tuples must have the same number of components.
\item[120 Minus of incompatible sets]\ \\
   To apply Operation \code{xxx} (union, minus, intersection, symmetric
   difference) on two sets, 
   both must have tuples of the same type,\ie
   the components of the tuples must have the same type (number,
   string).
\item[121 Negative exponent on variable]\ \\
   The exponent to a variable was negative. This is not supported.
%\item[122]\ \\
\item[123 ``from'' value \code{xxx} is too big or not an
   integer]\ \\
   To generate a set, the ``from'' number must be an integer with an
   absolute value of less than two billion.
\item[124 ``upto'' value \code{xxx} is too big or not an
   integer]\ \\
   To generate a set, the ``upto'' number must be an integer with an
   absolute value of less than two billion.
\item[125 ``step'' value \code{xxx} is too big or not an
   integer]\ \\
   To generate a set, the ``step'' number must be an integer with an
   absolute value of less than two billion.
\item[126 Zero ``step'' value in range]\ \\
   The given ``step'' value for the generation of a set is
   zero. So the ``upto'' value can never be reached. 
\item[127 Illegal value type in tuple: \code{xxx} only numbers are
   possible]\ \\
   The selection tuple in a call to the \code{proj} function can
   only contain numbers.
\item[128 Index value \code{xxx} in proj too big or not an integer]\ \\
   The value given in a selection tuple of a \code{proj} function is
   not an integer or bigger than two billion.
\item[129 Illegal index \code{xxx}, set has only dimension
   \code{yyy}]\ \\
   The index value given in a selection tuple is bigger than the
   dimension of the tuples in the set.
% Removed in 2.02
%\item[130 Duplicate index \code{xxx} for initialization]\ \\
%   In the initialization of a indexed set, two initialization elements
%   have the same index. 
%   E.g, \code{set A[] := $<$1$>$ \{ 1 \}, $<$1$>$ \{ 2 \};}
\item[131 Illegal element \code{xxx} for symbol]\ \\
   The index tuple used in the initialization list of a index set, is
   not member of the index set of the set.
   E.g, \code{set A[\{ 1 to 5 \}] := $<$1$>$ \{ 1 \}, $<$6$>$ \{ 2 \};}
\item[132 Values in parameter list missing, probably wrong read
  template]\ \\
  Probably the template of a read statement looks
  like \code{"$<$1n$>$"} only having a tuple, instead of \code{"$<$1n$>$ 2n"}.
\item[133 Unknown symbol \code{xxx}]\ \\
  A name was used that is not defined anywhere in scope.
\item[134 Illegal element \code{xxx} for symbol]\ \\
  The index tuple given in the initialization is not member of the
  index set of the parameter.
\item[135 Index set for parameter \code{xxx} is empty]\ \\
  The attempt was made to declare an indexed parameter with the
  empty set as index set. Most likely the index set has a \code{with}
  clause which has rejected all elements.
\item[136 Permutation on non one-dimensional set]\ \\
  Only sets with one dimension elements can be permuted.
\item[137 Set to permute is empty]\ \\
  The set to be permuted is empty.
\item[138 Set size \code{xxx} > 12 is too big]\ \\
  Since the resulting set will have number of elements of input set
  factorial elements, a set size of 12 is the maximum allowed.
\item[139 Lower bound for integral var \code{xxx} truncated to
  \code{yyy}] (warning)\ \\
  An integral variable can only have an integral bound. So the given
  non integral bound was adjusted.
\item[140 Upper bound for integral var \code{xxx} truncated to
  \code{yyy}] (warning)\ \\
  An integral variable can only have an integral bound. So the given
  non integral bound was adjusted.
\item[141 Infeasible due to conflicting bounds for var \code{xxx}]\ \\
  The upper bound given for a variable was smaller than the lower bound.
\item[142 Unknown index \code{xxx} for symbol \code{yyy}]\ \\
  The index tuple given is not member of the index set of the symbol.
\item[143 Size for subsets \code{xxx} is too big or not an integer]\ \\
  The cardinality for the subsets to generate must be given as an
  integer smaller than two billion.
\item[144 Tried to build subsets of empty set]\ \\
  The set given to build the subsets of, was the empty set.
\item[145 Illegal size for subsets \code{xxx}, should be between 1 
  and \code{yyy}]\ \\
  The cardinality for the subsets to generate must be between 1 
  and the cardinality of the base set.
\item[146 Tried to build powerset of empty set ]\ \\
  The set given to build the powerset of, was the empty set.
%
% iread.c
%
\item[147 use value \code{xxx} is too big or not an integer]\ \\
  The use value must be given as an integer smaller than two billion.
\item[148 use value \code{xxx} is not positive]\ \\
  Negative or zero values for the use parameter are not allowed.
\item[149 skip value \code{xxx} is too big or not an integer]\ \\
  The skip value must be given as an integer smaller than two billion.
\item[150 skip value \code{xxx} is not positive]\ \\
  Negative or zero values for the skip parameter are not allowed.
\item[151 Not a valid read template]\ \\
  A read template must look something like \code{"$<$1n,2n$>$"}.
  There have to be a $<$ and a $>$ in this order.
\item[152 Invalid read template syntax]\ \\
  Apart from any delimiters like \code{$<$}, \code{$>$}, and commas a
  template must consists of number character pairs like \code{1n}, \code{3s}.
\item[153 Invalid field number \code{xxx}]\ \\
  The field numbers in a template have to be between 1 and 255.
\item[154 Invalid field type \code{xxx}]\ \\
  The only possible field types are \code{n} and \code{s}.
\item[155 Invalid read template, not enough fields]\ \\
  There has to be at least one field inside the delimiters.
\item[156 Not enough fields in data]\ \\
  The template specified a field number that is higher than the actual
  number of field found in the data. 
\item[157 Not enough fields in data (value)]\ \\
  The template specified a field number that is higher than the actual
  number of field found in the data. The error occurred after the 
  index tuple in the value field.
%\item[158 ]\ \\

%
% code.c
%  
\item[159 Type error, expected \code{xxx} got \code{yyy}]\ \\
  The type found was not the expected one, e.g. subtracting 
  a string from a number would result in this message.
%
% elem.c
% 
\item[160 Comparison of elements with different types \code{xxx} /
  \code{yyy}]\ \\
  Two elements from different tuples were compared and found to be 
  of different types. 
%
% load.c
%
\item[161 Line \code{xxx}: Unterminated string]\ \\
  This line has an odd number of \code{"} characters. 
  A String was started, but not ended.
\item[162 Line \code{xxx}: Trailing \code{"yyy"} ignored] (warning)\ \\
  Something was found after the last semicolon in the file.
\item[163 Line \code{xxx}: Syntax Error]\ \\
  A new statement was not started with one of the keywords:
  \code{set}, \code{param}, \code{var}, \code{minimize}, 
  \code{maximize}, \code{subto}, or \code{do}.
%
% set.c
%
\item[164 Duplicate element \code{xxx} for set rejected] (warning)\ \\
   An element was added to a set that was already in it.
\item[165 Comparison of different dimension sets] (warning)\ \\
   Two sets were compared, but have different dimension tuples.
   (This means they never had a chance to
   be equal, other than being empty sets.)
%
% symbol.c
%
\item[166 Duplicate element \code{xxx} for symbol \code{yyy} rejected]
   (warning)\ \\
  An element that was already there was added to a symbol.
%
% tuple.c
%
\item[167 Comparison of different dimension tuples] (warning)\ \\
  Two tuples with different dimensions were compared.
%
% zimpl.c
%
\item[168 No program statements to execute]\ \\
  No \zimpl statements were found in the files loaded.
%
% code.c
%
\item[169 Execute must return void element]\ \\
  This should not happen. If you encounter
  this error please email the \code{.zpl} file to \url{mailto:koch@zib.de}.
%
% inst.c
%
\item[170 Uninitialized local parameter \code{xxx} in call of
  define \code{yyy}]\ \\
  A define was called and one of the arguments was a ``name'' 
  (of a variable) for which no value was defined.
\item[171 Wrong number of arguments (\code{xxx} instead of \code{yyy})
  for call of define \code{zzz}]\ \\
  A define was called with a different number of arguments than in
  its definition.
\item[172 Wrong number of entries (\code{xxx}) in table line, 
  expected \code{yyy} entries]\ \\
  Each line of a parameter initialization table must have
  exactly the same number of entries as the index (first) line of
  the table.
\item[173 Illegal type in element \code{xxx} for symbol]\ \\
  A parameter can only have a single value type. Either numbers or
  strings. In the initialization both types were present.
%
% iread.c
%
\item[174 Numeric field \code{xxx} read as \code{"yyy"}. This is not a
  number]\ \\
  It was tried to read a field with an 'n' designation in the template,
  but what was read is not a valid number.
%
% zimpl.c
%
\item[175 Illegal syntax for command line define \code{"xxx"} --
  ignored] (warning)\\
  A parameter definition using the command line \code{-D} flag, must
  have the form \code{name=value}. The \code{name} must be a legal
  identifier, \ie it has to start with a letter and may consist only out
  of letters and numbers including the underscore. 
%
% vinst.c
%
\item[176 Empty LHS, in Boolean constraint] (warning)\ \\
   The left hand side, \ie the term with the variables, is empty. 
\item[177 Boolean constraint not all integer]\ \\
   No continuous (real) variables are allowed in a Boolean constraint.
\item[178 Conditional always true or false due to bounds] (warning)\ \\
   All or part of a Boolean constraint are always either true or
   false, due to the bounds of variables.
\item[179 Conditional only possible on bounded constraints]\ \\
   A Boolean constraint has at least one variable without finite bounds.
\item[180 Conditional constraint always true due to bounds] (warning)\ \\
   The result part of a conditional constraint is always true anyway. 
   This is due to the bounds of the variables involved.
\item[181 Empty LHS, not allowed in conditional constraint]\ \\
   The result part of a conditional constraint may not be empty.
\item[182 Empty LHS, in variable vabs]\ \\
   There are no variables in the argument to a \code{vabs} function.
   Either everything is zero, or just use \code{abs}.
\item[183 vabs term not all integer]\ \\
   There are non integer variables in the argument to a \code{vabs} function.
   Due to numerical reasons continuous variables are not allowed as
   arguments to \code{vabs}. 
\item[184 vabs term not bounded]\ \\
   The term inside a \code{vabs} has at least one unbounded variable.
\item[185 Term in Boolean constraint not bounded]\ \\
   The term inside a \code{vif} has at least one unbounded variable.
%
% inst.c
%
\item[186 Minimizing over empty set -- zero assumed] (warning)\ \\
   The index expression for the minimization was empty. The result
   used for this expression was zero.
\item[187 Maximizing over empty set -- zero assumed] (warning)\ \\
   The index expression for the maximization was empty. The result
   used for this expression was zero.
\item[188 Index tuple has wrong dimension]\ \\
   The number of elements in an index tuple is different from the
   dimension of the tuples in the set that is indexed.
   This might occur, when the index tuple of an entry in a parameter initialization list has
   not the same dimension as the indexing set of the parameter. 
   This might occur, when the index tuple of an entry in a set
   initialization list has
   not the same dimension as the indexing set of the set. 
   If you use a \code{powerset} or \code{subset} instruction, the index
   set has to be one dimension.
\item[189 Tuple number \code{xxx} is too big or not an integer]\ \\
  The tuple number must be given as an integer smaller than two
  billion.
\item[190 Component number \code{xxx} is too big or not an integer]\ \\
  The component number must be given as an integer smaller than two
  billion.
\item[191 Tuple number \code{xxx} is not a valid value between 1..\code{yyy}]\ \\
  The tuple number must be between one and the cardinality of the set.
\item[192 Component number \code{xxx} is not a valid value between 1..\code{yyy}]\ \\
  The component number must be between one and the dimension of the set.
\item[193 Different dimension tuples in set initialization]\ \\
  The tuples that should be part of the list have different dimension.
\item[195 Genuine empty set as index set] (warning)\ \\
  The set of an index set is always the empty set.
\item[197 Empty index set for set]\ \\
  The index set for a set is empty.
\item[198 Incompatible index tuple]\ \\
  The index tuple given had fixed components. The type of such a
  component was not the same as the type of the same component of tuples
  from the set.
\item[199 Constants are not allowed in SOS declarations]\ \\
  When declaring an SOS, weights are only allowed together with
  variables. A weight alone does not make sense.
\item[200 Weights are not unique for SOS \code{xxx} (warning)]\ \\
  All weights assigned to variables in an special ordered set have to
  be unique. 
\item[201 Invalid read template, only one field allowed]\ \\
  When reading a single parameter value, the read template must
  consist of a single field specification.
\item[202 Indexing over empty set] (warning)\ \\
  The indexing set turns out to be empty.
\item[203 Indexing tuple is fixed] (warning)\ \\
  The indexing tuple of an index expression is completely fixed. As a
  result only this one element will be searched for.
\item[204 Random function parameter minimum= \code{xxx} $>=$ maximum=
  \code{yyy}]\ \\
  The second parameter to the function \code{random} has to be
  strictly greater than the first parameter.
\item[205 \code{xxx} excess entries for symbol \code{yyy} ignored ]
  (warning)\ \\
  When reading the data for symbol \code{yyy} there were 
  \code{xxx} more entries in the file than indices for the symbol.
  The excess entries were ignored.  
\item[206 argmin/argmax over empty set] (warning)\ \\
   The index expression for the \code{argmin} or \code{argmax} was
   empty. The result is the empty set.
\item[207 ``size'' value \code{xxx} is too big or not an integer]\ \\
   The size argument for an \code{argmin} or \code{argmax} function
   must be an integer with an absolute value of less than two billion.
\item[208 ``size'' value \code{xxx} not >= 1]\ \\
   The size argument for an \code{argmin} or \code{argmax} function
   must be at least one, since it represents the maximum cardinality
   of the resulting set.
\item[209 MIN of set with more than one dimension]\ \\
   The expressions \code{min(A)} is only allowed if the elements of 
   set A consist of 1-tuples containing numbers.  
\item[210 MAX of set with more than one dimension]\ \\
   The expressions \code{max(A)} is only allowed if the elements of 
   set A consist of 1-tuples containing numbers.  
\item[211 MIN of set containing non number elements]\ \\
   The expressions \code{min(A)} is only allowed if the elements of 
   set A consist of 1-tuples containing numbers.  
\item[212 MAX of set containing non number elements]\ \\
   The expressions \code{max(A)} is only allowed if the elements of 
   set A consist of 1-tuples containing numbers.  
\item[213 More than 65535 input fields in line \code{xxx} of
   \code{yyy} (warning)]\ \\
   Input data beyond field number 65535 in line \code{xxx} of file
   \code{yyy} are ignored. Insert some newlines into your data!
\item[214 Wrong type of set elements -- wrong read template?]\ \\
   Most likely you have tried read in a set from a stream using
   \code{"n+"} instead of \code{"<n+>"} in the template. 
\item[215 Startvals violate constraint, \ldots (warning)]\ \\
   If the given startvals are summed up, they violate the
   constraint. Details about the sum of the LHS and the RHS are given
   in the message.
\item[216 Redefinition of parameter \code{xxx} ignored]\ \\
   A parameter was declared a second time with the same name. The
   typical use would be to declare default values for a parameter in
   the \zimpl file and override them by command-line defined.
\item[217 begin value \code{xxx} in substr too big or not an integer]\ \\
   The begin argument for an \code{substr} function
   must be an integer with an absolute value of less than two billion.
\item[218 length value \code{xxx} in substr too big or not an integer]\ \\
   The length argument for an \code{substr} function
   must be an integer with an absolute value of less than two billion.
\item[219 length value \code{xxx} in substr is negative]\ \\
   The length argument for an \code{substr} function
   must be greater or equal to zero.
\item[220 Illegal size for subsets \code{xxx}, should be between \code{yyy} 
  and \code{zzz}]\ \\
  The cardinality of the subsets to generate must be between the
  given lower bound and the cardinality of the base set.
%\item[221 The objective function has to be linear or quadratic]\ \\
%   Only objective functions with linear or quadratic constraints are allowed.
% vinst.c
\item[222 Term inside a then or else constraint not linear]\ \\
  The term inside a \code{then} or \code{else} is not linear.
% inst.c
\item[223 Objective function \code{xxx} overwrites existing one
  (warning)]\ \\
  Another objective function declaration has been encountered,
  superceeding the previous one. 
% xlpglue.c
\item[301 variable priority has to be integral] (warning)\ \\
   If branching priorities for variables are given, these have to be integral.
\item[302 SOS priority has to be integral] (warning)\ \\
   If SOS priorities are given, these have to be integral.
   %
\item [401 Slack too large (\code{xxx}) for QUBO conversion]
   The upper bound of the slack needed for this constraint is more then
   $2^{30}$.   
\item [403 Non linear term can't be converted to QUBO]\ \\
  Only linear terms can be automatically converted into a QUBO.
\item [404 Non linear expressions can't be converted to QUBO]\ \\
  Only linear expressions without indicator constraints can be
  automatically converted into a QUBO. 
\item[600 File format can only handle linear and quadratic constraints
         (warning)]\ \\
  The chosen file format can currently only handle linear and
  quadratic constraints. Higher degree constraints were ignored.
\item[601 File format can only handle binary variables] (warning)]\ \\
  The chosen file format can only handle binary variables. 
  Variables of other types will be ignored.
\item[602 QUBO file format can only handle linear and quadratic term
         (warning)]\ \\
  By definition the QUBO file format can only handle linear and
  quadratic terms. No file can be written.
%
% space here
%
% 
% numbgmp.c
%
\item[700 log(): \code{OS specific domain or range error message}]\ \\
  Function \code{log} was called with a zero or negative argument, or
the argument was too small to be represented as a \code{double}.
\item[701 sqrt(): \code{OS specific domain error message}]\ \\
  Function \code{sqrt} was called with a negative argument.
\item[702 ln(): \code{OS specific domain or range error message}]\ \\
  Function \code{ln} was called with a zero or negative argument, or
  the argument was too small to be represented as a \code{double}.
%\item[]\ \\
%\item[]\ \\
%\item[]\ \\
%\item[]\ \\
%\item[]\ \\
%\item[]\ \\
%\item[]\ \\
% mmlscan.l
\item[800 parse error: expecting \code{xxx} (or \code{yyy})]\ \\
  Parsing error. What was found was not what was expected.
  The statement you entered is not valid.
\item[801 Parser failed]\ \\
  The parsing routine failed. This should not happen. If you encounter
  this error, please email the \code{.zpl} file to \url{mailto:koch@zib.de}.
\item[802 Regular expression error]\ \\
  A regular expression given to the \code{match} parameter of a
  \code{read} statement was not valid. See error messages for details.
\item[803 String too long \code{xxx} $>$ \code{yyy}]\ \\
  The program encountered a string which is larger than 1 GB. 
%
% inst.c
%
\item[900 Check failed!]\ \\
  A \code{check} instruction did not evaluate to true. 
\end{description}

