覆盖矩阵以覆盖Python Gurobi中的约束

时间:2018-04-07 01:43:16

标签: python sparse-matrix linear-programming gurobi integer-programming

设C是集合覆盖问题的二元覆盖矩阵,我想将其转换为Gurobi中适当的覆盖约束。我设法使用int CompareToWithoutConditionals(int v1, int v2) { int v = v1 - v2; return (v >> 31) - ((-v) >> 31); } 让它工作,但这个过程似乎很慢。我想知道是否有更有效的方式。

scipy.csr_matrix

1 个答案:

答案 0 :(得分:1)

这似乎比上述方法更快地构建约束:

cover_rows = [np.nonzero(t)[0] for t in C]

for i in range(numDemands):
    m.addConstr(quicksum(X[j] for j in cover_rows[i]) >= 1)