ExpressionBoundsVisitor
(类来自 pyomo.contrib.fbbt.expression_bounds_walker)
- class pyomo.contrib.fbbt.expression_bounds_walker.ExpressionBoundsVisitor(leaf_bounds=None, feasibility_tol=1e-08, use_fixed_var_values_as_bounds=False)[源代码]
基础类:
StreamBasedExpressionVisitorWalker 用于从叶节点到根节点计算表达式的边界,并缓存终端节点的边界(变量和表达式)。
注意:如果模型上有任何变化(例如,变量边界、固定、可变参数值等),那么你需要创建一个新的walker实例,或者清除self.leaf_bounds!
- Parameters:
方法
__init__([leaf_bounds, feasibility_tol, ...])beforeChild(node, child, child_idx)exitNode(node, data)initializeWalker(expr)walk_expression(expr)遍历一个表达式,调用已注册的回调函数。
非递归地遍历表达式,调用已注册的回调函数。
属性
client_methods成员文档
- walk_expression(expr)
遍历一个表达式,调用已注册的回调函数。
这是运行访问者的标准接口。它默认使用访问者的高效递归实现,如果递归堆栈太深,则回退到
walk_expression_nonrecursive()。
- walk_expression_nonrecursive(expr)
非递归地遍历表达式,调用已注册的回调函数。
这个例程对于深度(或不平衡)树来说比递归遍历更安全。然而,它比递归实现稍微慢一些。