将表达式转换为前缀表示法
(函数来自 pyomo.core.expr.compare)
- pyomo.core.expr.compare.convert_expression_to_prefix_notation(expr, include_named_exprs=True)[source]
此函数将pyomo表达式转换为看起来非常像前缀表示法的列表。结果可用于等式比较以比较表达式树。
请注意,此函数返回的数据结构将来可能会发生变化。然而,我们将确保结果可以用于相等比较。
还请注意,如果期望相等比较返回True,则结果应仅用于相等比较。如果被比较的表达式预期不同,则相等比较通常会返回错误,而不是返回False。
m = ConcreteModel() m.x = Var() m.y = Var()
e1 = m.x * m.y e2 = m.x * m.y e3 = m.x + m.y
convert_expression_to_prefix_notation(e1) == convert_expression_to_prefix_notation(e2) # 正确 convert_expression_to_prefix_notation(e1) == convert_expression_to_prefix_notation(e3) # 错误
然而,可以使用compare_expressions函数:
compare_expressions(e1, e2) # 真 compare_expressions(e1, e3) # 假
- Parameters:
expr (NumericValue) – 一个Pyomo表达式、变量或参数
- Returns:
prefix_notation – 前缀表示法中的表达式
- Return type: