使用pyomo / cplex:
假设我有一个代价函数,需要求解25个整数,每个整数都可以是(0到4)
实际模型比这要复杂得多,但是我正试图将其最小化。
model.x = Var(range(25), range(5), domain=Binary, initialize=0)
for i in range(25):
model.constraint.add(sum([model.x[i, j] for j in range(5)]) == 1)
假设我发现使用不同的逻辑方法,整数0、1、2应该等于4。我所做的是我将约束设置如下:
model.constraint.add(model.x[0, 4]) == 1
model.constraint.add(model.x[1, 4]) == 1
model.constraint.add(model.x[2, 4]) == 1
我的想法是,我想为固定的解决方案设置预定义的整数,我通过其他方法发现该解决方案可以加快计算时间。但是,我已经读到,通过添加更多约束,您应该花更多时间才能找到解决方案。
如果有更好的方法,有经验的人可以给我好的意见吗?
不用担心。 Cplex将解决此问题。在Cplex开始迭代之前,这些变量将从模型中删除。