在Python Gurobi中删除变量

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

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

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

if R == 1:
    x[1,t] = model.delVars(vtype="B",t))

但是,它导致了以下错误:

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

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

在Python Gurobi中删除变量

在Python Gurobi中删除变量

wenboylqx 回答:在Python Gurobi中删除变量

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

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

output = get_img_data('/tmp/')
print(output)
>>> '[{'xmin': 0,'xmax': 199,'ymin': 0,'ymax': 199,'name': 'a.png'},{'xmin': 0,'name': 'b.png'}]'

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

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

本文链接:https://www.f2er.com/2818265.html

大家都在问