多重BigM转换
(类来自 pyomo.gdp.plugins.multiple_bigm)
- class pyomo.gdp.plugins.multiple_bigm.MultipleBigMTransformation[source]
基础类:
GDP_to_MIP_Transformation,_BigM_MixIn实现了来自[1]的多重大M变换。请注意,这种变换与两项析取的大M变换并无不同,但对于包含三项或更多项析取的模型,它可能提供更紧密的松弛。
- [1] Francisco Trespalaios and Ignacio E. Grossmann, “Improved Big-M
广义析取程序的重新表述,”计算机与化学工程,卷76,2015年,第98-103页。
方法
__init__()初始化转换对象。
apply(model, **kwds)已弃用。
apply_to(model, **kwds)将转换应用于给定的模型。
create_using(model, **kwds)使用此转换创建一个新模型
get_all_M_values(model)返回一个字典,将每个约束、分离对(其中约束位于一个分离上,且该分离与另一个分离位于同一个分离中)映射到一个元组:(lower_M_value, upper_M_value),如果约束没有下限或上限(分别对应),则其中任何一个都可以为None。
返回其转换后的对应项为transformedConstraint的原始Constraint
get_src_constraints(transformedConstraint)返回原始约束,其转换后的对应项是transformedConstraint
返回其转换后的组件位于transBlock上的Disjunct对象。
返回与xor_constraint对应的Disjunction
返回srcConstraint的转换版本
属性
CONFIGtransformation_name成员文档
- apply(model, **kwds)
已弃用。
自版本4.3.11323起已弃用:Transformation.apply() 已被弃用。请使用 Transformation.apply_to() 进行原地转换,或使用 Transformation.create_using() 创建新的独立转换模型实例。
- apply_to(model, **kwds)
将转换应用于给定的模型。
- create_using(model, **kwds)
使用此转换创建一个新模型
- get_all_M_values(model)[source]
返回一个字典,将每个约束、分离对(其中约束位于一个分离上,且该分离与另一个分离处于同一分离中)映射到一个元组:(lower_M_value, upper_M_value),如果约束没有下限或上限(分别对应),则其中任何一个都可以为None。
- Parameters:
model (一个经过多重BigM转换的GDP模型)
- get_src_constraint()
返回其转换后的对应项为transformedConstraint的原始Constraint
- Parameters:
transformedConstraint (Constraint, 必须是其中一个组件)
的 (在relaxedDisjuncts块中的BlockDatas)
block (一种转换)
- get_src_constraints(transformedConstraint)[source]
返回原始约束,其转换后的对应项是transformedConstraint
- Parameters:
transformedConstraint (Constraint, 必须是其中一个组件)
的 (在relaxedDisjuncts块中的BlockDatas)
block (一种转换)
- get_src_disjunct()
返回转换后的组件位于transBlock上的Disjunct对象。
- Parameters:
transBlock (BlockData 位于 relaxedDisjuncts IndexedBlock 中) – 在转换块上。
- get_src_disjunction()
返回与xor_constraint对应的Disjunction
- Parameters:
xor_constraint (Constraint, 必须是逻辑约束) – (位于转换块上)的某个 Disjunction
- get_transformed_constraints()
返回srcConstraint的转换版本
- Parameters:
srcConstraint (ScalarConstraint 或 ConstraintData, 必须是其中的)
分离 (转换后的子树)