繁体   English   中英

使用gurobi我如何在一组值中约束变量的域

[英]With gurobi how can I constraint the domain of a variable in a set of value

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

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

而且这只能将值限制为介于min_value和max_value之间的整数,但实际上我想将可能的值限制为某些整数集。 我该怎么做?

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

  • y = x i for 1 in ... | D y |
  • 总和(x i for i in 1 ... | D y |)= 1
  • x i = 0或1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM