1 | initial version |
Apparently Sage renames the variables in the order you actually provided them! In this example it's easier to see because I've given a different coefficient to w[2]
and w[3]
.
sage: p=MixedIntegerLinearProgram()
sage: w=p.new_variable()
sage: p.add_constraint(-w[0]+2*w[2]+3*w[3]==4) # - for the first, 2 for the second, 3 for the third
sage: p.add_constraint(w[0]+w[1]+w[3]==3)
sage: p.set_objective(w[0]- w[1]) # so if w[1] is the last variable to arrive, it will be x_3
sage: p.show()
Maximization:
x_0 -x_3 # and indeed it is
Constraints:
4.0 <= -x_0 +2.0 x_1 +3.0 x_2 <= 4.0
3.0 <= x_0 +x_2 +x_3 <= 3.0
Variables:
x_0 is a continuous variable (min=0.0, max=+oo)
x_1 is a continuous variable (min=0.0, max=+oo)
x_2 is a continuous variable (min=0.0, max=+oo)
x_3 is a continuous variable (min=0.0, max=+oo)
Now maybe that's a bug, or at least needs to be documented better.