删除Python Gurobi中的变量

2024-06-11 11:12:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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


Tags: 代码namemodelif错误空间条件attributeerror
1条回答
网友
1楼 · 发布于 2024-06-11 11:12:54

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

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

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

您可以使用相同的方法来删除,例如,一次删除Var对象列表

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

相关问题 更多 >