Hello Andrew,

if the condition

// glpnpp03.c, line 667
/* column must not be fixed */
xassert(q->lb < q->ub);

can only occur due to a rounding failure, shouldn't this check be deleted? The subsequent code will handle this case anyway but more gracefully:

/* check current column lower bound */
if (q->lb != -DBL_MAX)
{ eps = (q->is_int ? 1e-5 : 1e-5 + 1e-8 * fabs(q->lb));
if (u < q->lb - eps)
{ ret = 4; /* infeasible */
goto done;
}
/* if u'[q] is close to l[q], fix column at its lower bound */
if (u < q->lb + 1e-3 * eps)
{ q->ub = q->lb;
ret = 3; /* fixed */
goto done;
}
}

Best regards

Xypron



Andrew Makhorin wrote:

Most likely an error in the mip preprocessor happens because your mip
instance is badly scaled (amax/amin ~= 1e6). Please note, however, that
the lp relaxation of your instance has no feasible solution:



_______________________________________________
Bug-glpk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-glpk

Reply via email to