分类有效组件

(函数来自 pyomo.repn.util)

pyomo.repn.util.categorize_valid_components(model, active=True, sort=None, valid={}, targets={})[源代码]

遍历模型并检查有效的组件类型

此例程将遍历模型并检查所有组件类型。 valid 集合中的组件类型将被忽略,包含在 targets 集合中的组件的块将被收集,所有其他 组件类型将被添加到 unrecognized 组件的字典中。

组件类型不能同时出现在validtargets集合中。

Parameters:
  • model (BlockData) – 要遍历的模型树

  • active (TrueNone) – 如果为 True,则在 uncategorized 字典中仅返回未识别的活动组件。此外,如果为 True,则仅深入到活动的 Blocks。

  • sort (boolSortComponents) – 传递给块遍历器的排序标志

  • valid (Set[type]) – “有效”组件类型的集合。这些被分类器忽略。

  • targets (Set[type]) – 要“收集”的组件类型集合。包含在targets集合中的组件的块将在component_map中返回。

Returns:

  • component_map (Dict[type, List[BlockData]]) – 一个字典,将组件类型映射到包含该类型声明的组件的块数据对象列表。

  • unrecognized (Dict[type, List[ComponentData]]) – 一个字典,将未识别的组件类型映射到在模型上找到的(非空)组件数据对象列表。