optiwindnet.MILP.scipΒΆ

Module ContentsΒΆ

optiwindnet.MILP.scip.make_min_length_model(A: networkx.Graph, capacity: int, *, topology: optiwindnet.MILP._core.Topology = Topology.BRANCHED, feeder_route: optiwindnet.MILP._core.FeederRoute = FeederRoute.SEGMENTED, feeder_limit: optiwindnet.MILP._core.FeederLimit = FeederLimit.UNLIMITED, balanced: bool = False, max_feeders: int = 0) tuple[pyscipopt.Model, optiwindnet.MILP._core.ModelMetadata][source]ΒΆ

Make discrete optimization model over link set A.

Build SCIP model for the collector system length minimization.

Parameters:
  • A – graph with the available edges to choose from

  • capacity – maximum link flow capacity

  • topology – one of Topology.{BRANCHED, RADIAL}

  • feeder_route – FeederRoute.SEGMENTED -> feeder routes may be detoured around subtrees; FeederRoute.STRAIGHT -> feeder routes must be straight, direct lines

  • feeder_limit – one of FeederLimit.{MINIMUM, UNLIMITED, SPECIFIED, MIN_PLUS1, MIN_PLUS2, MIN_PLUS3}

  • max_feeders – only used if feeder_limit is FeederLimit.SPECIFIED

optiwindnet.MILP.scip.warmup_model(model: pyscipopt.Model, metadata: optiwindnet.MILP._core.ModelMetadata, S: networkx.Graph) pyscipopt.Model[source]ΒΆ

Set initial solution into model.

Changes model and metadata in-place.

Parameters:
  • model – SCIP model to apply the solution to.

  • metadata – indices to the model’s variables.

  • S – solution topology

Returns:

The same model instance that was provided, now with a solution.

Raises:

OWNWarmupFailed – if some link in S is not available in model.