gurobipy.Column#

class Column#

Gurobi列对象。列由一系列系数和约束对组成。列用于表示变量参与的约束集及其相关系数。它们是临时对象,通常具有较短的寿命。

通常使用Column构造函数来构建列。 可以使用addTerms向现有列添加项。 也可以使用remove从列中移除项。

可以使用getConstrgetCoeff方法查询列中的单个项。可以使用size方法查询列中的项数。

Column(coeffs=None, constrs=None)#

列构造函数。

Parameters:
  • coeffs – (可选)列出与constrs成员关联的系数。

  • constrs – (可选)参与表达式的约束或约束集合。如果 constrs 是一个列表,那么 coeffs 必须包含一个相同长度的列表。如果 constrs 是单个约束,那么 coeffs 必须是一个标量。

Returns:

一个表达式对象。

Example:
constrs = model.getConstrs()

c = Column()
c.addTerms(3.0, constrs[0])
model.addVar(vtype=GRB.BINARY, obj=1.0, column=c)

model.addVar(vtype=GRB.INTEGER, column=Column(3.0, constrs[0]))

model.addVar(obj=3.0, column=Column([1.0, 2.0], constrs[1:3]))
addTerms(coeffs, constrs)#

向列中添加新术语。

Parameters:
  • coeffs – 添加约束的系数;可以是系数列表或单个系数。这两个参数必须具有相同的大小。

  • constrs – 要添加到列的约束;可以是约束列表或单个约束。这两个参数必须具有相同的大小。

Example:
col.addTerms(1.0, x)
col.addTerms([2.0, 3.0], [y, z])
clear()#

从列中移除所有术语。

Example:
col.clear()
copy()#

复制一列。

Returns:

输入列的副本。

Example:
col0 = Column(1.0, c0)
col1 = col0.copy()
getCoeff(i)#

从列中的单个项中检索系数。

Returns:

列中索引为 i 的项的系数。

Example:
col = Column([1.0, 2.0], [c0, c1])
print(col.getCoeff(1))
getConstr(i)#

从列中的单个项中检索约束对象。

Returns:

列中索引为 i 的项的约束。

Example:
col = Column([1.0, 2.0], [c0, c1])
print(col.getConstr(1))
remove(item)#

从列中移除一个术语。

Parameters:

item – 如果 item 是一个整数,则删除存储在列索引 item 处的项。如果 item 是一个 Constr,则删除所有涉及 item 的项。

Example:
col = Column([1.0, 2.0], [c0, c1])
col.remove(c0)
size()#

检索列中的术语数量。

Returns:

列中的术语数量。

Example:
print(Column([1.0, 2.0], [c0, c1]).size())