EF替换

(类来自 pyomo.contrib.trustregion.interface)

class pyomo.contrib.trustregion.interface.EFReplacement(trfData, efSet)[source]

基础类: ExpressionReplacementVisitor

该类是ExpressionReplacementVisitor的子类。 它将表达式树中的外部函数表达式替换为“holder”变量(记录在ComponentMap中),并在可能的情况下,将树中新节点的初始值设置为原始节点的值。

NOTE: We use an empty substitution map. The EFs to be substituted are

被识别为exitNode的一部分。

__init__(trfData, efSet)[来源]

方法

__init__(trfData, efSet)

acceptChildResult(node, data, child_result, ...)

beforeChild(node, child, child_idx)

dfs_postorder_stack(expr)

已弃用。

enterNode(node)

exitNode(node, data)

initializeWalker(expr)

walk_expression(expr)

遍历一个表达式,调用已注册的回调函数。

walk_expression_nonrecursive(expr)

非递归地遍历表达式,调用已注册的回调函数。

属性

client_methods

成员文档

dfs_postorder_stack(expr)

已弃用。

自版本6.2起已弃用:ExpressionReplacementVisitor:此遍历器已移植为从StreamBasedExpressionVisitor派生。dfs_postorder_stack()已被walk_expression()替换

walk_expression(expr)

遍历一个表达式,调用已注册的回调函数。

这是运行访问者的标准接口。它默认使用访问者的高效递归实现,如果递归堆栈太深,则回退到walk_expression_nonrecursive()

walk_expression_nonrecursive(expr)

非递归地遍历表达式,调用已注册的回调函数。

这个例程对于深度(或不平衡)树来说比递归遍历更安全。然而,它比递归实现稍微慢一些。