pwrs.power_models.constraints#

Backend-neutral domain constraints for PowerModels formulations.

pwrs.power_models.constraints.constraint_active_generation_sum(problem, name, *, generator_rows=None, minimum_mw=None, maximum_mw=None)[source]#

Bound total active generation for selected source generator rows.

Parameters:
  • problem (PowerModel)

  • name (str)

  • generator_rows (int | Iterable[int] | None)

  • minimum_mw (float | None)

  • maximum_mw (float | None)

Return type:

Any

pwrs.power_models.constraints.constraint_branch_active_power_bounds(problem, name, *, branch_rows=None, end='from', minimum_mw=None, maximum_mw=None)[source]#

Add active-power bounds at an original MATPOWER branch end.

Parameters:
  • problem (PowerModel)

  • name (str)

  • branch_rows (int | Iterable[int] | None)

  • end (str)

  • minimum_mw (float | Iterable[float] | None)

  • maximum_mw (float | Iterable[float] | None)

Return type:

Any

pwrs.power_models.constraints.constraint_branch_apparent_power_limit(problem, name, *, branch_rows=None, end='both', maximum_mva)[source]#

Add apparent-power limits at one or both original branch ends.

Parameters:
  • problem (PowerModel)

  • name (str)

  • branch_rows (int | Iterable[int] | None)

  • end (str)

  • maximum_mva (float | Iterable[float])

Return type:

Any

pwrs.power_models.constraints.constraint_branch_reactive_power_bounds(problem, name, *, branch_rows=None, end='from', minimum_mvar=None, maximum_mvar=None)[source]#

Add reactive-power bounds at an original MATPOWER branch end.

Parameters:
  • problem (PowerModel)

  • name (str)

  • branch_rows (int | Iterable[int] | None)

  • end (str)

  • minimum_mvar (float | Iterable[float] | None)

  • maximum_mvar (float | Iterable[float] | None)

Return type:

Any

pwrs.power_models.constraints.constraint_gen_active_bounds(problem, name, *, generator_rows=None, minimum_mw=None, maximum_mw=None)[source]#

Add per-generator active-power bounds in MW.

Parameters:
  • problem (PowerModel)

  • name (str)

  • generator_rows (int | Iterable[int] | None)

  • minimum_mw (float | Iterable[float] | None)

  • maximum_mw (float | Iterable[float] | None)

Return type:

Any

pwrs.power_models.constraints.constraint_gen_reactive_bounds(problem, name, *, generator_rows=None, minimum_mvar=None, maximum_mvar=None)[source]#

Add per-generator reactive-power bounds in MVAr.

Parameters:
  • problem (PowerModel)

  • name (str)

  • generator_rows (int | Iterable[int] | None)

  • minimum_mvar (float | Iterable[float] | None)

  • maximum_mvar (float | Iterable[float] | None)

Return type:

Any

pwrs.power_models.constraints.constraint_gen_setpoint_active(problem, name, *, generator_row, value_mw)[source]#

Fix one active source generator row to an MW setpoint.

Parameters:
  • problem (PowerModel)

  • name (str)

  • generator_row (int)

  • value_mw (float)

Return type:

Any

pwrs.power_models.constraints.constraint_gen_setpoint_reactive(problem, name, *, generator_row, value_mvar)[source]#

Fix one reactive source generator row to an MVAr setpoint.

Parameters:
  • problem (PowerModel)

  • name (str)

  • generator_row (int)

  • value_mvar (float)

Return type:

Any

pwrs.power_models.constraints.constraint_interface_active_power(problem, name, *, branch_rows, weights=1.0, end='from', minimum_mw=None, maximum_mw=None)[source]#

Bound a weighted sum of original-direction branch active flows.

Parameters:
  • problem (PowerModel)

  • name (str)

  • branch_rows (Iterable[int])

  • weights (float | Iterable[float])

  • end (str)

  • minimum_mw (float | None)

  • maximum_mw (float | None)

Return type:

Any

pwrs.power_models.constraints.constraint_voltage_angle_difference(problem, name, *, branch_rows=None, minimum_degrees=None, maximum_degrees=None)[source]#

Bound original-direction voltage-angle differences in degrees.

Parameters:
  • problem (PowerModel)

  • name (str)

  • branch_rows (int | Iterable[int] | None)

  • minimum_degrees (float | Iterable[float] | None)

  • maximum_degrees (float | Iterable[float] | None)

Return type:

Any

pwrs.power_models.constraints.constraint_voltage_magnitude_bounds(problem, name, *, bus_ids=None, minimum_pu=None, maximum_pu=None)[source]#

Add voltage-magnitude bounds at active MATPOWER bus numbers.

Parameters:
  • problem (PowerModel)

  • name (str)

  • bus_ids (int | Iterable[int] | None)

  • minimum_pu (float | Iterable[float] | None)

  • maximum_pu (float | Iterable[float] | None)

Return type:

Any

pwrs.power_models.constraints.constraint_voltage_magnitude_setpoint(problem, name, *, bus_id, value_pu)[source]#

Fix the voltage magnitude at one active MATPOWER bus number.

Parameters:
  • problem (PowerModel)

  • name (str)

  • bus_id (int)

  • value_pu (float)

Return type:

Any