表达式值访问器
(类来自 pyomo.core.expr.visitor)
- class pyomo.core.expr.visitor.ExpressionValueVisitor[源代码]
基础类:
object注意
这个类是PyUtilib
ValueVisitor类的定制版本,专门用于高效遍历Pyomo表达式树。然而,这个类并不是PyUtilibValueVisitor类的子类,因为所有关键方法都已被重新实现。- __init__()
方法
__init__()dfs_postorder_stack(node)使用栈实现进行后序深度优先搜索。
finalize(ans)此方法定义了此类中搜索方法的返回值。
visit(node, values)访问树中的一个节点,并使用其子节点的值计算其值。
visiting_potential_leaf(node)访问一个节点,如果它是叶子节点,则返回其值。
成员文档
- dfs_postorder_stack(node)[source]
使用栈实现进行后序的深度优先搜索。
注意
此方法与PyUtilib的
ValueVisitor.dfs_postorder_stack方法具有相同的功能。不同之处在于,此方法专门为高效遍历Pyomo表达式树而设计。- Parameters:
node – 表达式树的根节点 被搜索的。
- Returns:
返回值由
finalize()函数确定,该函数可以由用户定义。
- finalize(ans)[source]
此方法定义了此类中搜索方法的返回值。
默认实现返回初始节点(也称为根节点)的值,因为此访问者模式计算并返回每个节点的值,以便能够计算此值。
- Parameters:
ans – 搜索方法计算的最终值。
- Returns:
搜索后的最终值。默认情况下,简单地返回
ans。