矩阵友好的API函数#

实现了一小组与numpy等效的函数,这些函数操作于类似数组的矩阵友好的API类MVarMLinExprMQuadExprMConstrMQConstrMGenConstr

hstack(tup)#

按水平顺序(列方向)堆叠数组。这相当于沿第二轴进行连接,除了在一维数组中它是沿第一轴进行连接。

此方法与numpy.hstack具有相同的行为,不同之处在于它始终返回一个适合gurobipy矩阵的API对象。

Parameters:

tup – 一系列矩阵友好的API对象

Returns:

返回一个矩阵友好的API对象。请注意,返回类型取决于输入对象的类型。

Example:
X = model.addMVar((k, n))
Y = model.addMVar((k, m))
XY = gp.hstack((X, Y))     # (k, n+m) MVar
vstack(tup)#

按垂直顺序(行方向)堆叠数组。这相当于在将形状为(N,)的一维数组重塑为(1,N)后,沿第一个轴进行连接。

此方法与numpy.vstack的行为相同,除了它总是返回一个适合gurobipy矩阵的API对象。

Parameters:

tup – 一系列矩阵友好的API对象

Returns:

返回一个矩阵友好的API对象。请注意,返回类型取决于输入对象的类型。

Example:
X = model.addMVar((n, k))
Y = model.addMVar((m, k))
XY = gp.vstack((X, Y))     # (n+m, k) MVar
concatenate(tup, axis)#

沿着现有轴连接一系列数组。

此方法与numpy.concatenate具有相同的行为, 不同之处在于它始终返回一个适合gurobipy矩阵的API对象。

Parameters:
  • tup – 一系列矩阵友好的API对象

  • axis – 数组将沿其连接的轴。如果 axis 为 None,数组在使用前会被展平。默认值为 0。

Returns:

返回一个矩阵友好的API对象。请注意,返回类型取决于输入对象的类型。

Example:
X = model.addMVar((k, n))
Y = model.addMVar((k, m))
XY = gp.concatenate((X, Y), axis=1)  # (k, n+m) MVar