> I think I've come across a bug with the function 'lpx_write_cpxlp' for
> writing linear programs in CPLEX LP format. The problem is with upper 
> bounded variables that do not have lower bound. Such a variable say x is 
> written by GLPK as  x <=  upper_bound in the  Bounds section of the LP 
> file.  But since variables in LP format are understood to be 
> non-negative, in fact CPLEX understands  0 <= x <= upper_bound, which is 
> not the intended meaning. Instead, GLPK should write something like -Inf 
> <= x <= upper_bound. I attach a program that produces an LP file which, 
> once fed into CPLEX, allows one to see the error if CPLEX is asked to 
> write the linear program again (or if it is asked for the lower bound of 
> the variable).

Thank you for your bug report.

The bug will be fixed in a next release of the package.

To fix the bug right now please replace line 1134 (file glplpx16.c,
routine lpx_write_cpxlp):

   fprintf(fp, " %s <= %.*g\n", cname, DBL_DIG, ub);

by the following line:

   fprintf(fp, " -inf <= %s <= %.*g\n", cname, DBL_DIG, ub);

> By the way, congratulations on your excellent code. :-)

Thank you for your interest in glpk.



_______________________________________________
Bug-glpk mailing list
Bug-glpk@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-glpk

Reply via email to