clone_without_expression_components

(函数来自 pyomo.gdp.util)

pyomo.gdp.util.clone_without_expression_components(expr, substitute=None)[source]

用于克隆表达式的函数。

克隆大致相当于调用copy.deepcopy。 然而,clone_leaves参数可以用来 仅克隆表达式树中的内部(即非叶子)节点。 注意,当clone_leavesTrue时, 命名表达式对象被视为叶子节点,因此 这些子表达式不会被克隆。

此函数使用非递归逻辑,这使得它比copy.deepcopy中的逻辑更具可扩展性。

Parameters:
  • expr – 将被克隆的表达式。

  • substitute (dict) – 一个将对象ID映射到对象的字典。这个字典的语义与copy.deepcopy使用的memo对象相同。默认为None,表示不使用用户定义的字典。

Returns:

克隆的表达式。