From f7ee47238a87e400655a5bd17090c73a4679caea Mon Sep 17 00:00:00 2001 From: Koen van Greevenbroek Date: Thu, 10 Feb 2022 15:57:16 +0100 Subject: [PATCH] Fix random state for kmean clustering When the kmeans algorithm is used to cluster networks, this is not deterministic by default. The result is that repeated runs of the `simplify_network` and `cluster_network` rules can and usually do produce different results that vary somewhat randomly. This makes results less reproducible when given only a pypsa-eur configuration file. The fix is to supply a fixed random state to the k-means algorithm. --- scripts/cluster_network.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/cluster_network.py b/scripts/cluster_network.py index 525196fc..99d428d4 100644 --- a/scripts/cluster_network.py +++ b/scripts/cluster_network.py @@ -226,6 +226,7 @@ def busmap_for_n_clusters(n, n_clusters, solver_name, focus_weights=None, algori algorithm_kwds.setdefault('n_init', 1000) algorithm_kwds.setdefault('max_iter', 30000) algorithm_kwds.setdefault('tol', 1e-6) + algorithm_kwds.setdefault('random_state', 0) n.determine_network_topology()