Python Gurobi设置目标函数

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

我使用以下代码来定义目标函数:

objective = GBR.QUICKSUM(x[i,j] * c[i][j] for i in range(50) for j in range(50))
m.setObjective(objective)

但是,它给我一个错误说明name 'GBR' is not defined

我已经将gurobipy作为*进口了。

我没有定义变量的问题:

for i in range(50):
  for j in range(50):

    x[(i,j)] = m.addVar(lb=0, vtype=GRB.INTEGER, name='x_'+str(i)+'_'+str(j))

cost function c[i][j]是每个链接X[i,j]的成本列表

我该如何定义它的工作目标?

python linear-programming gurobi
2个回答
2
投票

确实没有定义'GBR',尝试GRB


1
投票

Gurobi的quicksum是一个全球性的职能。这意味着之后

from gurobipy import *
m = Model()             # Creates a Gurobi Model object.
# ... create your variables etc here

你可以用它

m.setObjective(quicksum(x[i,j] * c[i][j] for i in range(50) for j in range(50)))

顺便说一句:您可以使用addVars()方法而不是两个嵌套的for循环来创建变量。

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