The LP and MPS
input formats do not require that all variable upper and lower
bounds be given explicitly. The QSopt parser assumes by
default that variables are greater than or equal
to zero and have no upper bound. Integer variables are assumed to be binary,
that is, they have a lower bound of 0 and an upper bound of 1. The bounds
sections in LP and MPS files are used to define different variable bounds.
When defining variable bounds keep the following rules in mind.
-
A variable's upper bound must be greater than or equal to its lower bound.
-
Negative infinity may not be used as an upper bound and positive infinity may
not be used as lower bound.
-
If a variable's upper bound is defined either as a nonnegative number or as
positive infinity, then its lower bound defaults to zero. Thus defining a zero
upper bound without defining a lower bound fixes a variable to zero.
-
If a variable's upper bound is defined as negative number its lower bound
defaults to negative infinity.
-
If a variable's lower bound is defined either as a negative number or as
negative infinity, then its upper bound defaults to zero.
-
If a variable's lower bound is defined either as zero or as a positive number,
then its upper bound is assumed to be positive infinity.