cluster_network: tidy up
This commit is contained in:
parent
81e7c4eb67
commit
ca1628a585
@ -122,6 +122,7 @@ Exemplary unsolved network clustered to 37 nodes:
|
||||
"""
|
||||
|
||||
import logging
|
||||
import os
|
||||
import warnings
|
||||
from functools import reduce
|
||||
|
||||
@ -259,12 +260,14 @@ def distribute_clusters(n, n_clusters, focus_weights=None, solver_name="scip"):
|
||||
lower=1, upper=N, coords=[L.index], name="n", integer=True
|
||||
)
|
||||
m.add_constraints(clusters.sum() == n_clusters, name="tot")
|
||||
m.objective = (
|
||||
clusters * clusters - 2 * clusters * L * n_clusters
|
||||
) # + (L * n_clusters) ** 2 (constant)
|
||||
# leave out constant in objective L * n_clusters ** 2
|
||||
m.objective = (clusters * clusters - 2 * clusters * L * n_clusters).sum()
|
||||
if solver_name == "gurobi":
|
||||
logging.getLogger("gurobipy").propagate = False
|
||||
else:
|
||||
elif solver_name != "scip":
|
||||
logger.info(
|
||||
f"The configured solver `{solver_name}` does not support quadratic objectives. Falling back to `scip`."
|
||||
)
|
||||
solver_name = "scip"
|
||||
m.solve(solver_name=solver_name)
|
||||
return m.solution["n"].to_series().astype(int)
|
||||
@ -374,7 +377,7 @@ def clustering_for_n_clusters(
|
||||
aggregate_carriers=None,
|
||||
line_length_factor=1.25,
|
||||
aggregation_strategies=dict(),
|
||||
solver_name="cbc",
|
||||
solver_name="scip",
|
||||
algorithm="hac",
|
||||
feature=None,
|
||||
extended_link_costs=0,
|
||||
@ -451,7 +454,6 @@ if __name__ == "__main__":
|
||||
|
||||
params = snakemake.params
|
||||
solver_name = snakemake.config["solving"]["solver"]["name"]
|
||||
solver_name = "appsi_highs" if solver_name == "highs" else solver_name
|
||||
|
||||
n = pypsa.Network(snakemake.input.network)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user