2024-05-23 20:43:38 发布
网友
我正在使用Gurobi和Python,我需要在我的MILP模型的所有约束中得到一个特定变量的系数。我知道有一些函数像m.gtCol或m.getCoeff来获得所需的输出。但是,我无法以正确的方式使用它们来返回系数。我这样定义变量:
m.gtCol
m.getCoeff
w = {} for i in I: for n in N: for j in J: w[i,n,j] = m.addVar(vtype=GRB.BINARY, name='w_%d_%d_%d' % (i,n,j))
有人能帮我吗?你知道吗
您应该看看gurobipy的Column类。它允许您访问给定Var对象的关联信息。以下是一个简单的示例,可以作为起点:
Var
import gurobipy as gp m = gp.Model() x = m.addVars(3) m.addConstr(2 * x[0] + x[1] == 9, name="Cone") m.addConstr(-x[0] + x[2] >= 1, name="Ctwo") m.update() col = m.getCol(x[0]) for i in range(col.size()): coef = col.getCoeff(i) row = col.getConstr(i) print("x[0] coef/row pair: {}/{}".format(coef, row.ConstrName))
因此,我们创建一个包含三个变量和两个约束的模型,并希望打印第一个变量x[0]的所有系数,以及该变量所关联的约束名称。在我的机器上运行上面的代码片段,我看到:
x[0]
x[0] coef/row pair: 2.0/Cone x[0] coef/row pair: -1.0/Ctwo
你可以看看:https://groups.google.com/forum/#!topic/gurobi/pQXRd37BQL8
[x for x in model.getVars() if x.VarName.find('w_1_1_1') != -1]
应该给出包含模式w_1_1_1的变量列表。你知道吗
w_1_1_1
您应该看看gurobipy的Column类。它允许您访问给定
Var
对象的关联信息。以下是一个简单的示例,可以作为起点:因此,我们创建一个包含三个变量和两个约束的模型,并希望打印第一个变量
x[0]
的所有系数,以及该变量所关联的约束名称。在我的机器上运行上面的代码片段,我看到:你可以看看:https://groups.google.com/forum/#!topic/gurobi/pQXRd37BQL8
应该给出包含模式
w_1_1_1
的变量列表。你知道吗相关问题 更多 >
编程相关推荐