我正在使用 Gurobi 解决大规模混合整数线性规划 (MILP) 问题。决策变量向量
x
是二进制的,维度约为 n = 40,000,000
。目标函数定义为:
obj = c * x
其中
c
是与 x
大小相同的系数向量。
我还需要以批量形式添加大量约束。具体来说,约束的形式如下:
A * x <= b
地点:
A 是维度为 n x n_col 的矩阵,其中 n_col 约为 3,000,000。
B 是大小为 n 的向量。
考虑到问题的规模,我需要避免迭代地添加约束,而是以批量的方式处理它们。我正在寻找将这些约束添加到 Gurobi 模型中的最有效方法。
我的问题是:
是否可以使用 Gurobi 的 API 在单个批次中添加类似
A * x <= B
的约束?
在 Gurobi 中处理如此大的约束最有效的方法是什么?
是否有任何性能技巧或方法(例如,使用稀疏矩阵)来有效地管理这个大规模问题?