后缀查找器

(类来自 pyomo.core.base.suffix)

class pyomo.core.base.suffix.SuffixFinder(name, default=None, context=None)[source]

基础类:object

__init__(name, default=None, context=None)[源代码]

这提供了一个高效的实用工具,用于在(分层)Pyomo模型上查找后缀值。

Parameters:
  • name (str) – 要搜索的后缀名称。

  • default – 如果没有找到匹配的 Suffix,从 .find() 返回的默认值。

  • 上下文 (BlockData) – 在搜索后缀组件时使用的块层次结构的根。此层次结构之外的后缀将不会被查询,并且使用find(component_data)()查询的组件将返回默认值。

方法

__init__(名称[, 默认值, 上下文])

这提供了一个高效的实用工具,用于在(分层的)Pyomo模型上查找后缀值。

find(component_data)

在模型树中查找给定组件数据对象的后缀值

成员文档

find(component_data)[source]

在模型树中查找给定组件数据对象的后缀值

后缀通过遍历模型层次结构的三次传递来搜索:

  1. 搜索与特定component_data匹配的后缀, 从root开始并沿着树向下到 component_data。返回找到的第一个匹配项。

  2. 搜索与组件数据的容器匹配的后缀, 从开始,沿着树向下到 组件数据。返回找到的第一个匹配项。

  3. component_data开始,沿着树向上搜索到root,寻找键为None的后缀。返回找到的第一个匹配项。

  4. 返回默认值

Parameters:

component_data (ComponentDataBase) – 用于查找后缀值的组件或组件数据对象。

Return type:

如果找到与组件数据相关的后缀值,则返回该值,否则返回 None。