def test_constraints_management(self): builder = MPModelBuilder() x = builder.add_binary_variable("x") y = builder.add_binary_variable("y") c1 = builder.add_constraint(5.0 * x + 3.0 * y <= 7, "c1") self.assert_equal(1, builder.get_num_constraints()) self.assert_true(set([id(var) for var in c1.get_variables()]) == set([id(x), id(y)])) c3 = builder.add_constraint(4.0 * x + 6.0 * y <= 5, "c3") c2 = builder.add_constraint(2.0 * x + 2.0 * y <= 4, "c2") self.assert_equal([c1, c3, c2], builder.get_constraints())
def test_build_simple_2x2_model(self): builder = MPModelBuilder() x1, x2 = builder.x1(), builder.x2() builder.set_objective(2 * x1 + 3 * x2) builder.set_constraints([4 * x1 + 6 * x2 <= 5, 2 * x1 + 2 * x2 <= 4]) for constraint in builder.get_constraints(): self.assert_equal(set([id(var) for var in constraint.get_variables()]), set([id(x1), id(x2)])) self.assert_equal(2, builder.get_num_variables()) self.assert_equal(2, builder.get_num_constraints()) for var in builder.get_variables(): var.set_type(MPVariable.BINARY) self.assert_true(builder.is_binary())