gurobipy.Column#
- class Column#
Gurobi列对象。列由一系列系数和约束对组成。列用于表示变量参与的约束集及其相关系数。它们是临时对象,通常具有较短的寿命。
通常使用
Column
构造函数来构建列。 可以使用addTerms
向现有列添加项。 也可以使用remove
从列中移除项。可以使用
getConstr
和getCoeff
方法查询列中的单个项。可以使用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())