我想解决一个整数规划问题,其中决策变量被限制在一个特定的集合中。
例如,必须在 [2,5,7,10] 中选择决策变量 xi。
为了测试,我使用 Pyomo 编写了 python 代码,如下所示:
from pyomo.environ import *
model = AbstractModel()
model.X = Set(initialize=[2, 5, 7, 10])
model.x = Var(within=model.X)
model.obj = Objective(expr=model.x+1)
m = model.create_instance()
opt = SolverFactory("glpk")
results = opt.solve(m)
执行这些代码时,我收到一条错误消息:“TypeError: Invalid domain type for variable with name 'x'. Variable is not Continuous, integer, or binary”
以下是我的问题:
- 这个错误的原因是什么?
- 如何处理?
- 是否有任何其他优化工具可以处理此类问题?
感谢您的帮助!