向模型添加约束

向模型添加约束

示例中的下一步是添加我们的两个线性约束。这是通过构建一个稀疏矩阵来捕获约束矩阵来实现的:

#创建(稀疏)约束矩阵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])

矩阵有两行,每一行对应一个约束,三列对应矩阵变量中的每个变量。注意,我们将大于的约束乘上< span > < / span > 1美元美元< span > < / span >将其转换为小于约束。

我们还捕获NumPy数组的右边:

#构建rhs矢量

然后使用重载的运算符构建一个线性矩阵表达式,然后使用重载的小于或等于运算符添加两个约束(矩阵表达式中每一行对应一个约束):

#添加约束m.addConstr(A @ x <= rhs, name="c")