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