SimpleExpressionVisitor

(类来自 pyomo.core.expr.visitor)

class pyomo.core.expr.visitor.SimpleExpressionVisitor[源代码]

基础类:object

注意

该类是对PyUtilib SimpleVisitor类的定制,专门用于高效遍历Pyomo表达式树。然而,该类并不是PyUtilib SimpleVisitor类的子类,因为所有关键方法都已重新实现。

__init__()

方法

__init__()

finalize()

返回搜索的“最终值”。

visit(node)

访问表达式树中的一个节点并对其执行某些操作。

xbfs(node)

广度优先搜索表达式树,除了叶节点会立即被访问。

xbfs_yield_leaves(node)

广度优先搜索表达式树,除了叶节点会立即被访问。

成员文档

finalize()[source]

返回搜索的“最终值”。

默认实现返回None,因为传统的访问者模式不返回值。

Returns:

搜索后的最终值。默认是 None

visit(node)[source]

访问表达式树中的一个节点并对其执行一些操作。

此方法应由创建子类的用户重写。

Parameters:

node – 表达式树中的一个节点

Returns:

xbfs(node)[source]

广度优先搜索表达式树,除了叶节点会立即被访问。

注意

此方法与PyUtilib的SimpleVisitor.xbfs方法具有相同的功能。不同之处在于,此方法专门为高效遍历Pyomo表达式树而设计。

Parameters:

node – 被搜索的表达式树的根节点。

Returns:

返回值由finalize()函数决定,该函数可以由用户定义。默认值为None

xbfs_yield_leaves(node)[source]

广度优先搜索表达式树,除了叶子节点会立即被访问。

注意

此方法与PyUtilib的SimpleVisitor.xbfs_yield_leaves方法具有相同的功能。不同之处在于,此方法专门用于高效遍历Pyomo表达式树。

Parameters:

node – 表达式树的根节点 被搜索的。

Returns:

返回值由finalize()函数决定,该函数可以由用户定义。默认为None