边界预变换
(类来自 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__()apply(model, **kwds)已弃用。
apply_to(model, **kwds)将转换应用于给定的模型。
create_using(model, **kwds)使用此转换创建一个新模型
get_transformed_constraints(v, disjunction)属性
CONFIGtransformation_name成员文档
- apply(model, **kwds)
已弃用。
自版本4.3.11323起已弃用:Transformation.apply() 已被弃用。请使用 Transformation.apply_to() 进行原地转换,或使用 Transformation.create_using() 创建新的独立转换模型实例。
- apply_to(model, **kwds)
将转换应用于给定的模型。
- create_using(model, **kwds)
使用此转换创建一个新模型