bug-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-glpk] Re: MI variables are incorrectly processed in glpk mip solver


From: Andrew Makhorin
Subject: [Bug-glpk] Re: MI variables are incorrectly processed in glpk mip solver
Date: Tue, 11 Feb 2003 01:28:08 +0300

>I guess I was not completely clear in my previous email.  I run GLPK v3.2.3
>twice on the transp12.mps model :
>
>
>1) The IP/barrier solver gives the incorrect value -109600
>
>2) The simplex solver gives the correct value 1093300.
>
>
>I use scaling and advanced basis in both cases.  With and without scaling
>produces the same result.  Can you reproduce this?


Thank you for your information! In fact, there is a bug in the interior
point solver: MI variables are incorrectly processed on converting lp to
standard formulation.

To fix the bug please replace lines 269-285 in glplpx6b.c (glpk 3.2.3)
by the following fragment:

            case LPX_UP:
               /* source: -inf < x <= ub */
               /* result: x = ub - x', x' >= 0 */
               j++;
               ref[k] = j;
               beg = A_ptr[k];
               end = beg + A_len[k] - 1;
               for (ptr = beg; ptr <= end; ptr++)
               {  t = ref[A_ndx[ptr]];
                  if (t != 0)
                  {  new_elem(A, t, j, -A_val[ptr]);
                     b[t] -= A_val[ptr] * ub[k];
                  }
               }
               c[j] = -coef[k];
               c[0] -= c[j] * ub[k];
               break;

After fixing the bug I obtained identical results of your problem with
both simplex and interior point. In both cases the objective is 193300.


Andrew Makhorin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]