diff --git a/app/algorithms/burst_location/burst_locator.py b/app/algorithms/burst_location/burst_locator.py index fc51e02..c7307b6 100644 --- a/app/algorithms/burst_location/burst_locator.py +++ b/app/algorithms/burst_location/burst_locator.py @@ -140,7 +140,7 @@ def area_output_num_ki_improve( final_center = [] all_node_iter = [] if similarity.index.is_unique == False: - total_center_num = len(list(set(similarity.index))) + total_center_num = len(set(similarity.index)) else: total_center_num = len(similarity.index) @@ -155,7 +155,7 @@ def area_output_num_ki_improve( final_area = final_area + candidate_group[top_center_index[j]] all_node_iter = all_node_iter + list(new_all_node[top_center_index[j]]) final_center.append(top_center) - final_area = list(set(final_area)) + final_area = sorted(set(final_area)) if len(final_area) > top_pipe_num_max: if_end = 0 @@ -171,7 +171,7 @@ def area_output_num_ki_improve( top_center = similarity.index[i] top_center_index = candidate_center.index(top_center) temp_group = final_area + candidate_group[top_center_index] - temp_area = list(set(temp_group)) + temp_area = sorted(set(temp_group)) if len(temp_area) < top_pipe_num_min: @@ -196,8 +196,8 @@ def area_output_num_ki_improve( final_area = temp_area break - final_center = list(set(final_center)) - all_node_iter = list(set(all_node_iter)) + final_center = sorted(set(final_center)) + all_node_iter = sorted(set(all_node_iter)) return final_area, final_center, all_node_iter, if_end @@ -592,8 +592,8 @@ def DN_search_multi_simple_add_flow_count_new( final_area = final_area + final_area_t final_center = final_center + final_center_t - final_area = list(set(final_area)) - final_center = list(set(final_center)) + final_area = sorted(set(final_area)) + final_center = sorted(set(final_center)) if if_end == 1: exit_condition = "candidate_area_if_end" break diff --git a/app/algorithms/burst_location/network_model.py b/app/algorithms/burst_location/network_model.py index 4c22513..993c06f 100644 --- a/app/algorithms/burst_location/network_model.py +++ b/app/algorithms/burst_location/network_model.py @@ -32,7 +32,7 @@ def read_inf_inp(wn): pipe = wn.get_link(p) if pipe.initial_status == 0: # 状态为'Closed' n_pipe.append(p) - candidate_pipe_init = list(set(all_pipe) - set(n_pipe)) + candidate_pipe_init = sorted(set(all_pipe) - set(n_pipe)) pipe_start_node = wn.query_link_attribute( "start_node_name", link_type=wntr.network.model.Pipe ) diff --git a/app/algorithms/burst_location/network_partitioner.py b/app/algorithms/burst_location/network_partitioner.py index a399252..81d4cf5 100644 --- a/app/algorithms/burst_location/network_partitioner.py +++ b/app/algorithms/burst_location/network_partitioner.py @@ -37,7 +37,7 @@ def pick_center_pipe(node_x, node_y, candidate_pipe, pipe_start_node, pipe_end_n def find_new_center_pipe( node_x, node_y, candidate_pipe, pipe_start_node, pipe_end_node, record_center ): - new_candidate_pipe = list(set(candidate_pipe) - set(record_center)) + new_candidate_pipe = sorted(set(candidate_pipe) - set(record_center)) if new_candidate_pipe == []: new_candidate_pipe = candidate_pipe center_t = pick_center_pipe(