Re: Controlling Precision of Variable Bounds

Andrew Makhorin <[email protected]>
Newsgroups gmane.comp.gnu.glpk
Message-ID <1522856868.3575.1.camel@corvax>
On Wed, 2018-04-04 at 10:41 -0400, marky1991 . wrote:
> I'm trying to solve a problem that has noninteger bounds for its
> variables, the problem and the outputted solution attached. I'm
> invoking glpsol with the command "glpsol --lp
> parents_allocated-pulp.lp -o parents_allocated-pulp.sol --mipgap
> 0.000001". 
> 
> 
> The trouble is that the upper bound for my "x2" variable is being
> limited to "217.351" instead of the given "217.3512" and I'm not sure
> why. Is there some parameter I can pass to make it go past 3 decimal
> places for the upper bound? 

There is nothing wrong. You see 217.351 rather than 217.3512 because
glpsol prints the solution report only with 6 decimal places.

> 
> 
> I tried --exact and every other parameter that I could see but none
> helped. Is there some way to increase the number of digits in the
> bounds? 
> 
> 
> My output with 4.65:
> 
> GLPSOL: GLPK LP/MIP Solver, v4.65
> Parameter(s) specified in the command line:
>  --lp parents_allocated-pulp.lp -o parents_allocated-pulp2.sol
> --mipgap 0.000001
> Reading problem data from 'parents_allocated-pulp.lp'...
> 2 rows, 7 columns, 8 non-zeros
> 6 integer variables, none of which are binary
> 22 lines were read
> GLPK Integer Optimizer, v4.65
> 2 rows, 7 columns, 8 non-zeros
> 6 integer variables, none of which are binary
> Preprocessing...
> 1 row, 2 columns, 2 non-zeros
> 2 integer variables, none of which are binary
> Scaling...
>  A: min|aij| =  1.000e+00  max|aij| =  7.000e+00  ratio =  7.000e+00
> Problem data seem to be well scaled
> Constructing initial basis...
> Size of triangular part is 1
> Solving LP relaxation...
> GLPK Simplex Optimizer, v4.65
> 1 row, 2 columns, 2 non-zeros
> *     0: obj =   1.100000000e+01 inf =   0.000e+00 (1)
> *     1: obj =   3.300000000e+01 inf =   0.000e+00 (0)
> OPTIMAL LP SOLUTION FOUND
> Integer optimization begins...
> Long-step dual simplex will be used
> +     1: mip =     not found yet <=              +inf        (1; 0)
> +     1: >>>>>   3.300000000e+01 <=   3.300000000e+01   0.0% (1; 0)
> +     1: mip =   3.300000000e+01 <=     tree is empty   0.0% (0; 1)
> INTEGER OPTIMAL SOLUTION FOUND
> Time used:   0.0 secs
> Memory used: 0.1 Mb (59394 bytes)
> Writing MIP solution to 'parents_allocated-pulp.sol'...
> 
> 
> Thanks for the help.
> 
> _______________________________________________
> Help-glpk mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/help-glpk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.