pypsa.optimization.optimize.OptimizationAccessor.optimize_security_constrained

pypsa.optimization.optimize.OptimizationAccessor.optimize_security_constrained#

OptimizationAccessor.optimize_security_constrained(snapshots: Sequence | None = None, branch_outages: Sequence | pd.Index | pd.MultiIndex | None = None, multi_investment_periods: bool = False, model_kwargs: dict = {}, **kwargs: Any) tuple[str, str]#

Computes Security-Constrained Linear Optimal Power Flow (SCLOPF).

This ensures that no branch is overloaded even given the branch outages.

Parameters:
  • n (pypsa.Network)

  • snapshots (list-like, optional) – Set of snapshots to consider in the optimization. The default is None.

  • branch_outages (list-like/pandas.Index/pandas.MultiIndex, optional) – Subset of passive branches to consider as possible outages. If a list or a pandas.Index is passed, it is assumed to identify lines. If a multiindex is passed, its first level has to contain the component names, the second the assets. The default None results in all passive branches to be considered.

  • multi_investment_periods (bool, default False) – Whether to optimise as a single investment period or to optimise in multiple investment periods. Then, snapshots should be a pd.MultiIndex.

  • model_kwargs (dict) – Keyword arguments used by linopy.Model, such as solver_dir or chunk.

  • **kwargs – Keyword argument used by linopy.Model.solve, such as solver_name, problem_fn or solver options directly passed to the solver.

Return type:

None