社区地图
(类来自 pyomo.contrib.community_detection.detection)
- class pyomo.contrib.community_detection.detection.CommunityMap(community_map, type_of_community_map, with_objective, weighted_graph, random_seed, use_only_active_components, model, graph, graph_node_mapping, constraint_variable_map, graph_partition)[source]
基础类:
object此类用于创建由detect_communities函数返回的CommunityMap对象。此类的实例允许类似字典的使用,并存储有关给定社区地图的相关信息,例如用于创建它们的模型、它们的networkX表示等。
CommunityMap对象充当Python字典,将整数键映射到包含两个列表(这些列表包含给定社区中的组件)的元组 - 一个约束列表和一个变量列表。
方法: generate_structured_model visualize_model_graph
- __init__(community_map, type_of_community_map, with_objective, weighted_graph, random_seed, use_only_active_components, model, graph, graph_node_mapping, constraint_variable_map, graph_partition)[源代码]
CommunityMap类的构造方法
- Parameters:
community_map (dict) – 一个Python字典,将任意键(在这种情况下是从零到社区数量减一的整数)映射到包含给定社区中Pyomo组件的两元素元组
type_of_community_map (str) – 一个字符串,指定要返回的社区地图类型,默认是‘constraint’。 ‘constraint’ 返回一个基于约束节点的字典(community_map), ‘variable’ 返回一个基于变量节点的字典(community_map), ‘bipartite’ 返回一个基于二分图(包含约束节点和变量节点)的字典(community_map)
with_objective (bool) – 一个布尔参数,用于指定目标函数是否包含在模型图中(从而包含在‘community_map’中);默认值为True
weighted_graph (bool) – 一个布尔参数,用于指定是否基于加权模型图或无加权模型图创建community_map;默认值为True(type_of_community_map=’bipartite’ 无论此参数如何,都会创建一个无加权模型图)
random_seed (int 或 None) – 一个整数,用作(启发式)Louvain社区检测的随机种子
use_only_active_components (bool, optional) – 一个布尔参数,指定是否在社区地图中包含非活动的约束/目标
model (Block) – 用于社区检测的Pyomo模型或块
graph (nx.Graph) – 一个基于Pyomo优化模型的节点和边的NetworkX图
graph_node_mapping (dict) – 一个字典,它将一个数字(对应于模型的networkX图表示中的节点)映射到模型中的一个组件
constraint_variable_map (dict) – 一个字典,将编号的约束映射到出现在该约束中的(编号的)变量列表
graph_partition (dict) – 基于Louvain社区检测的网络X模型图的分区
方法
__init__(community_map, ...)CommunityMap类的构造方法
使用社区地图和用于创建此社区地图的原始模型,我们将创建structured_model,它将基于原始模型,但会根据社区地图将变量、约束和目标放入或移出各个块(社区)。
items()keys()values()visualize_model_graph([type_of_graph, ...])此函数绘制Pyomo模型的社区图。
成员文档
- generate_structured_model()[source]
使用社区地图和用于创建此社区地图的原始模型,我们将创建structured_model,它将基于原始模型,但会根据社区地图将变量、约束和目标放入或放置在各种块(社区)之外。
- Returns:
structured_model – 一个反映社区地图性质的Pyomo模型
- Return type:
- visualize_model_graph(type_of_graph='constraint', filename=None, pos=None)[源代码]
此函数绘制Pyomo模型的社区图。
type_of_graph 参数用于创建 Pyomo 模型的变量节点图、约束节点图或二分图。然后,节点根据它们所在的社区进行着色 - 这是基于社区映射(self.community_map)。可以提供一个文件名来保存图形,否则图形将使用 matplotlib 进行展示。
- Parameters:
- Returns:
fig (matplotlib figure) – 用于模型图绘制的图形
pos (dict) – 一个将节点键映射到它们在插图上位置的字典 - 可用于为给定模型的图创建一致的布局