Harald, this is very informative for me. Maybe something stepwise like this should be at the top of http://www.sagemath.org/doc/reference/sage/numerical/mip.html so that it's very visible as an example of doing everything, or at least as an additional example in sage.numerical.mip.MixedIntegerLinearProgram . Not everyone using these will be experts in such things.
It would also be worth including references to programming stuff in general in the solve() documentation, so people who aren't familiar would know where to go. - kcrisman On Jul 30, 6:00 am, Harald Schilly <harald.schi...@gmail.com> wrote: > On 30 Jul., 00:01, Johannes <dajo.m...@web.de> wrote: > > > Hi list, > > i try to solve a linear equation in ZZ in the variables w_i: > > Here is a MILP formulation of your problem, I've pasted the input cell > in {{{}}} and the output in between > > {{{ > p = MixedIntegerLinearProgram(maximization=False) > # not reals, we want integers > w = p.new_variable(integer=True) > p.add_constraint(w[0] + w[1] + w[2] - 14*w[3] == 0) > p.add_constraint(w[1] + 2*w[2] - 8*w[3] == 0) > p.add_constraint(2*w[2] - 3*w[3] == 0) > # we don't want the trivial solution > p.add_constraint(w[3] >= 1) > # minimum of each variable is 0 by default, make it +infinity > [p.set_min(w[i], None) for i in range(1,4) ] > # minimize w3 > p.set_objective(w[3]) > # show what we have created so far > p.show() > > }}} > > Minimization: > x_3 > Constraints: > 0 <= x_0 +x_1 +x_2 -14 x_3 <= 0 > 0 <= x_1 +2 x_2 -8 x_3 <= 0 > 0 <= 2 x_2 -3 x_3 <= 0 > -1 x_3 <= -1 > Variables: > x_0 is an integer variable (min=0.0, max=+oo) > x_1 is an integer variable (min=-oo, max=+oo) > x_2 is an integer variable (min=-oo, max=+oo) > x_3 is an integer variable (min=-oo, max=+oo) > > {{{ > # solve it (default is GLPK, there are other solvers, too) > print 'Objective Value:', p.solve() > > }}} > > Objective Value: 2.0 > > {{{ > p.get_values(w) > > }}} > > {0: 15.0, 1: 10.0, 2: 3.0, 3: 2.0} > > {{{ > # to get one value as integer > w_sol = p.get_values(w) > int(round(w_sol[2])) > > }}} > > 3 > > greetings H -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org