启用表达式优化
(函数来自 pyomo.core.expr.numeric_expr)
- pyomo.core.expr.numeric_expr.enable_expression_optimizations(zero=None, one=None)[source]
启用(禁用)表达式生成优化
目前,在表达式生成过程中有两种优化可用:
zero: 积极地将0*f(.)表达式解析为0,将0/f(.)表达式解析为0,并将f(.)**0表达式解析为1
一:积极解析身份:1*f(.) 表达式到 f(.),f(.)/1 表达式到 f(.),以及 f(.)**1 表达式 到 f(.)。
默认的优化是 zero=False 和 one=True。
注释
启用zero优化可能会掩盖某些建模错误。 特别是,如果f(.)解析为0(在0/f(.)的情况下),优化将抑制应该引发的ZeroDivisionError,以及任何在评估f(.)期间本应引发的错误。此外,优化f(.)**0 == 1仅在f(.)!=0时有效。启用此优化的用户需负责确保这些优化对模型有效。
one 优化通常应该是安全的。