在Python Gurobi中删除变量

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

我正在使用Python / Gurobi优化问题。我通过以下代码使用GRBaddVar生成了变量:

x[1,i,j,t] = model.addVar(vtype="B", name="x(1,%s,%s,%s)" % (i,j,t)) 

我也想删除一些变量以节省空间。当某个条件为真时,将删除该变量。假设条件为R =1。要删除变量,请使用以下代码。

if R == 1:
    x[1,i,j,t] = model.delVars(vtype="B", name="x(1,%s,%s,%s)" % (i,j,t))

但是,它导致以下错误:

AttributeError: 'gurobipy.Model' object has no attribute 'delVars'

我不知道代码有什么问题,因为我只是遵循Gurobi的文档(如下所示)。感谢您的帮助!

Gurobi Documentation: addVar

Gurobi Documentation: delVar

python variables add gurobi
1个回答
0
投票

正如David所指出的,您正在查看C API的文档。

在Python API中,您可以使用Var对象的参数使用Model.remove()方法删除单个变量。例如,

model.remove(x[1,i,j,t])

您可以使用相同的方法立即删除例如Var对象列表。

注意,在以这种方式删除变量之前,应先调用Model.update()

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