First, I'll try my MILP problems in double-precision (probably using CPLEX). I'll re-post my question about arbitrary precision if it turns out that I need it.
We definitely needed arbitrary precision when we did some related problems using semi-definite programming (over the real numbers -- without the integrality constraints). To use arbitrary precision floating point arithmetic, we had to employ SDPA-GMP as our SDP-solver, invoking it from Sage via a shell script. Thanks again for the help. Daniel On Tuesday, January 29, 2013 3:12:45 PM UTC, Daniel Friedan wrote: > > The following example from Sage Reference v5.6 >> Numerical Optimization > >> Mixed integer linear programming > http://www.sagemath.org/doc/reference/sage/numerical/mip.html > gives a wrong answer when solver = 'PPL' is used. The equality > constraints are violated. > > Sage 5.6-OSX-64bit-10.6 under OS X 10.6.8 > > sage: p = MixedIntegerLinearProgram(maximization=False, solver = "PPL") > sage: print p.base_ring() > sage: w = p.new_variable() > sage: p.add_constraint(w[0] + w[1] + w[2] - 14*w[3] == 0) > sage: p.add_constraint(w[1] + 2*w[2] - 8*w[3] == 0) > sage: p.add_constraint(2*w[2] - 3*w[3] == 0) > sage: p.add_constraint(w[0] - w[1] - w[2] >= 0) > sage: p.add_constraint(w[3] >= 1) > sage: _ = [ p.set_min(w[i], None) for i in range(1,4) ] > sage: p.set_objective(w[3]) > sage: p.show() > sage: print 'Objective Value:', p.solve() > sage: for i, v in p.get_values(w).iteritems():\ > sage: print 'w_%s = %s' % (i, int(round(v))) > > Rational Field > Minimization: > x_3 > Constraints: > constraint_0: 0 <= x_0 + x_1 + x_2 - 14 x_3 <= 0 > constraint_1: 0 <= x_1 + 2 x_2 - 8 x_3 <= 0 > constraint_2: 0 <= 2 x_2 - 3 x_3 <= 0 > constraint_3: - x_0 + x_1 + x_2 <= 0 > constraint_4: - x_3 <= -1 > Variables: > x_0 is a continuous variable (min=0, max=+oo) > x_1 is a continuous variable (min=-oo, max=+oo) > x_2 is a continuous variable (min=-oo, max=+oo) > x_3 is a continuous variable (min=-oo, max=+oo) > Objective Value: 1 > w_0 = 8 > w_1 = 5 > w_2 = 2 > w_3 = 1 > > > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support?hl=en. For more options, visit https://groups.google.com/groups/opt_out.