[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug-glpk] Re: MI variables are incorrectly processed in glpk mip solver,
Andrew Makhorin <=