Jabr SOCP#

API path: power_flow_relaxations.models.jabr

class Jabr(scenario, configuration, **kwargs)[source]#

Bases: NodalBaseModel

Jabr-style SOCP relaxation of ACOPF on the nodal market model.

The model introduces auxiliary voltage-product variables: - c_vw for cosine-like real products, - s_vw for sine-like imaginary products, and enforces second-order cone envelopes that relax nonconvex AC equalities.

Initialize Jabr relaxation variables on top of the base nodal model.

Parameters:
  • scenario – Unit-based scenario (network, bids, periods).

  • configuration – Solver configuration object.

  • **kwargs – Extra options forwarded to NodalBaseModel.

Notes

Creates per-period dense matrices c_vwt and s_vwt of shape [n_nodes, n_nodes] used in relaxed AC flow equations.

get_V_vt_values()[source]#

Recover approximate bus voltages from solved (c_vw, s_vw) values.

Starts from the reference bus voltage, traverses the network graph, and reconstructs neighboring complex voltages using local c_vw/s_vw relationships. Returns (V_d, V_q) per node and period.

Return type:

dict

power_constraints()[source]#

Add Jabr SOCP power-flow constraints for every period and branch.

Includes: - active/reactive flow consistency with (c_vw, s_vw) terms, - cone constraints coupling diagonal and off-diagonal voltage products, - symmetry/skew-symmetry structure (c = c^T, s = -s^T), - voltage magnitude bounds on diagonal entries of c.

Finally delegates thermal current limits to NodalBaseModel.current_rating_constraints().

reference_constraints()[source]#

Set reference-bus voltage magnitude in lifted coordinates.

For each period, constrains the reference-bus diagonal c_rr entry to 1, corresponding to unit voltage magnitude at the slack bus.