边界预变换

(类来自 pyomo.gdp.plugins.bound_pretransformation)

class pyomo.gdp.plugins.bound_pretransformation.BoundPretransformation[source]

基础类:Transformation

实现了[1]中提到的用于处理具有共同左侧(即约束体)的析取约束的转换的特殊情况。自动检测单变量析取约束(涉及一个变量的边界或等式),并根据[1]进行转换。转换后的约束被停用,但GDP的其余部分保持不变。也就是说,为了完全转换GDP,需要一个GDP到MIP的转换,该转换将转换剩余的析取约束以及任何逻辑约束和析取本身的逻辑。

注意:由于此转换允许在GDP层次结构中较高的更严格的边界值取代较低的较松的边界值,因此在存在可变参数的情况下,转换后的模型不一定仍然有效,这些可变参数位于分离变量边界或转换后的约束中,并且这些可变参数的值随后被更改。同样,如果在变量固定时调用此转换,则仅当这些变量保持固定为相同值时,才能保证其有效性。

[1] Egon Balas, “On the convex hull of the union of certain polyhedra,”

运筹学通讯,第7卷,1988年,第279-283页

__init__()[source]

方法

__init__()

apply(model, **kwds)

已弃用。

apply_to(model, **kwds)

将转换应用于给定的模型。

create_using(model, **kwds)

使用此转换创建一个新模型

get_transformed_constraints(v, disjunction)

属性

CONFIG

transformation_name

成员文档

apply(model, **kwds)

已弃用。

自版本4.3.11323起已弃用:Transformation.apply() 已被弃用。请使用 Transformation.apply_to() 进行原地转换,或使用 Transformation.create_using() 创建新的独立转换模型实例。

apply_to(model, **kwds)

将转换应用于给定的模型。

create_using(model, **kwds)

使用此转换创建一个新模型