> I have a problem with running glpk-4.10: > > I run the following MIP instance using command (glpsol --cpxlp > ~/tmp_prob.lp): > > Minimize > obj: x_1 > > Subject To > r_1: - 1003 x_1 + x_2 >= 0 > r_2: - 1999 x_2 + x_3 >= 0 > r_3: - 4000 x_3 + x_4 >= 0 > r_4: + 8000 x_4 + x_5 <= 0 > r_5: + 2 x_5 + x_6 >= 0 > r_6: - x_1 <= -1002 > r_7: - x_2 <= -1005006 > r_8: - x_3 <= 138476654 > r_9: - x_4 <= -144165184 > r_10: - x_6 <= -1 > > Bounds > x_1 free > x_2 free > x_3 free > x_4 free > x_5 free > x_6 free > > Generals > x_1 > x_2 > x_3 > x_4 > x_5 > x_6 > > End > > and I get the following output (error): > > lpx_read_cpxlp: 10 rows, 6 columns, 15 non-zeros > lpx_read_cpxlp: 6 integer columns, none of which are binary > lpx_read_cpxlp: 32 lines were read > lpx_simplex: original LP has 10 rows, 6 columns, 15 non-zeros > lpx_simplex: presolved LP has 5 rows, 6 columns, 10 non-zeros > lpx_adv_basis: size of triangular part = 5 > 0: objval = 1.002000000e+03 infeas = 1.000000000e-00 (0) > Assertion failed: spx->p != 0; file glpspx2.c; line 668 > > It seems like an error in glpk or is there anything I should do to be able > to > solve this problem?
The error is caused by extremely bad properties of your problem. Using free integral variables is a not good idea. Besides, as it follows, for example, from constraint r_9, x4 being declared as integral variable must be greater than 144165184; it is very problematic for any solver based on finite precision arithmetic to satisfy such condition. Try to reformulate your problem. In particular, if a value of some variable is expected to be greater than 100 in optimal solution, there is no reason in most cases to consider it as integral. Andrew Makhorin _______________________________________________ Help-glpk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-glpk
