向模型添加约束
向模型添加约束
示例中的下一步是添加我们的两个线性约束。这是通过构建一个稀疏矩阵来捕获约束矩阵来实现的:
#创建(稀疏)约束矩阵data = np.array([1.0, 2.0, 3.0, -1.0, -1.0]) row = np.array([1.0, 2.0, 3.0, -1.0, -1.0])。数组([0,0,0,1,1])col = np。数组([0,1,2,0,1])
矩阵有两行,每一行对应一个约束,三列对应矩阵变量中的每个变量。注意,我们将大于的约束乘上将其转换为小于约束。
我们还捕获NumPy数组的右边:
#构建rhs矢量
然后使用重载的@
运算符构建一个线性矩阵表达式,然后使用重载的小于或等于运算符添加两个约束(矩阵表达式中每一行对应一个约束):
#添加约束m.addConstr(A @ x <= rhs, name="c")