AMPLRepnVisitor
(类来自 pyomo.repn.ampl)
- class pyomo.repn.ampl.AMPLRepnVisitor(subexpression_cache, external_functions, var_map, used_named_expressions, symbolic_solver_labels, use_named_exprs, sorter)[源代码]
基础类:
StreamBasedExpressionVisitor- __init__(subexpression_cache, external_functions, var_map, used_named_expressions, symbolic_solver_labels, use_named_exprs, sorter)[source]
方法
__init__(subexpression_cache, ...)beforeChild(node, child, child_idx)cache_fixed_var(_id, child)check_constant(ans, obj)enterNode(node)exitNode(node, data)finalizeResult(result)initializeWalker(expr)node_result_to_amplrepn(data)walk_expression(expr)遍历一个表达式,调用已注册的回调函数。
非递归地遍历表达式,调用已注册的回调函数。
属性
client_methods成员文档
- walk_expression(expr)
遍历一个表达式,调用已注册的回调函数。
这是运行访问者的标准接口。它默认使用访问者的高效递归实现,如果递归堆栈太深,则回退到
walk_expression_nonrecursive()。
- walk_expression_nonrecursive(expr)
非递归地遍历表达式,调用已注册的回调函数。
这个例程对于深度(或不平衡)树来说比递归遍历更安全。然而,它比递归实现稍微慢一些。