修复管道加权计算逻辑bug,优化邻接关系处理
This commit is contained in:
@@ -85,16 +85,25 @@ def metis_grouping_pipe_weight(
|
||||
correspond_dic = {}
|
||||
count_node = 0
|
||||
w = []
|
||||
for line in generate_adjlist_with_all_edges(G1, delimiter):
|
||||
temp_node_name = line.split(sep=delimiter)
|
||||
for node_name, neighbors in G1.adjacency():
|
||||
w_temp = []
|
||||
for i in range(len(temp_node_name) - 1):
|
||||
temp_name_1 = temp_node_name[0] + "," + temp_node_name[i + 1]
|
||||
w_temp.append(couple_node_length[temp_name_1])
|
||||
n_t = [node_dict[node_name]]
|
||||
for neighbor_name, edge_data in neighbors.items():
|
||||
edge_key = f"{node_name},{neighbor_name}"
|
||||
reverse_edge_key = f"{neighbor_name},{node_name}"
|
||||
if edge_key in couple_node_length:
|
||||
edge_weight = couple_node_length[edge_key]
|
||||
elif reverse_edge_key in couple_node_length:
|
||||
edge_weight = couple_node_length[reverse_edge_key]
|
||||
elif edge_data.get("weight") is not None:
|
||||
edge_weight = float(edge_data["weight"])
|
||||
else:
|
||||
raise KeyError(
|
||||
f"Missing edge weight for partition edge '{edge_key}' in burst locator."
|
||||
)
|
||||
w_temp.append(edge_weight)
|
||||
n_t.append(node_dict[neighbor_name])
|
||||
w.append(w_temp)
|
||||
n_t = []
|
||||
for each_node in temp_node_name:
|
||||
n_t.append(node_dict[each_node])
|
||||
correspond_dic[n_t[0]] = count_node
|
||||
count_node = count_node + 1
|
||||
# del n_t[0]
|
||||
|
||||
Reference in New Issue
Block a user