1

这就是我addVar用来将变量添加到模型中的方式:

my_set[j, t] = self.m.addVar(vtype=GRB.INTEGER, lb=min_value, ub=max_value, name='test')

这只能将值限制为介于 min_value 和 max_value 之间的整数,但实际上我想将可能的值限制在某些整数集中。我怎样才能做到?

4

1 回答 1

0

我不知道这是否直接可能(这在标准 ILP 中是不可能的,所以可能作为 gurobi 的扩展),但是您可以为您的程序添加一些约束。假设您要约束的变量是y并且变量集是D y = {v 1 , v 2 , ..., v |D y | },您可以添加以下x i变量和约束:

  • y = x i for i in 1 ... |D y |
  • sum (x i for i in 1 ... |D y |) = 1
  • x i = 0 或 1
于 2015-09-06T18:01:52.110 回答