help-glpk
[Top][All Lists]

## Re: [Help-glpk] glpsol, arbitrary precision and large numbers

 From: Michael Hennebry Subject: Re: [Help-glpk] glpsol, arbitrary precision and large numbers Date: Sat, 30 Jun 2012 14:20:09 -0500 (CDT) User-agent: Alpine 1.00 (DEB 882 2007-12-20)

```On Fri, 29 Jun 2012, Andrew Makhorin wrote:

```
```When this is solved (with --exact --noscale), glpsol tells me "INTEGER
OPTIMAL SOLUTION FOUND" and the variable assignments in the solution are
as follows:

No.    Column name       Activity     Lower bound   Upper bound
------ ------------    ------------- ------------- -------------
18 dcsn_lte_0   *              0             0             1
35 u_EAX_4008e0                9             0   4.29497e+09

and the row solution:

No.    Row name        Activity      Lower bound   Upper bound
------ ------------    ------------- ------------- -------------
15     c13                   9                           4

If we plug the assignment into the original constraint, then we get:

-4294967296 * 0 + 1 * 9 <= 4
therefore: 9 <= 4

Which is false, so under this assignment the system in infeasible. The solver
should have either tried a different assignment of either variables, or if it
could not, then it should have reported the problem infeasible? Right?
```
```
```
```Is this a bug, a misuse of glpk or a misunderstanding?

```
```
Being numerical procedures both the glpk integer optimizer and
underlying simplex solver work with a finite relative precision, and you
should not expect that the simplex solver is able to obtain an exact
solution even if your input data are integral (i.e. free of round-off
errors). In other word, the constraint actually used on obtaining basic
solutions is the following:
```
```
I thought that that was the point of --exact.
Even if the input routines are  double precision,
the given numbers are representable.
Perhaps there is a presolve that is not done with exact arithmetic.

--