Pyomo整数编程-启发式地将特定变量设置为固定数

问题描述 投票:0回答:1

使用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 pyomo
1个回答
1
投票

不用担心。 Cplex将解决此问题。在Cplex开始迭代之前,这些变量将从模型中删除。

© www.soinside.com 2019 - 2024. All rights reserved.