Modelling loop-flows and their virtual cost


Used input data #

Name Symbol Details
LoopFlowCnecs \(c \in \mathcal{C} ^{lf}\) Set of FlowCnecs with a loop-flow threshold. (for example, in CORE CC, loop-flows are monitored on cross-border CNECs). LoopFlowCnecs is a subset of FlowCnecs: \(\mathcal{C} ^{lf} \subset \mathcal{C}\)
Reference commercial flow \(f^{commercial} (c)\) Commercial flow1, of LoopFlowCnec \(c\), at the beginning of the optimization, in MW.
initial loop-flow \(f^{loop} _ {0} (c)\) loop-flow before RAO of LoopFlowCnec \(c\), in MW
loop-flow threshold \(lf^{threshold} (c)\) loop-flow threshold of the LoopFlowCnec \(c\), in MW, as defined in the CRAC.

Used parameters #

Name Symbol Details
rao-loop-flow-parameters   This filler is only used if this extension is added.
acceptable-increase \(c^{acc-increase}_{lf}\) The increase of the initial loop-flow that is allowed by the optimisation, see loop-flow-acceptable-increase.
constraint-adjustment-coefficient \(c^{adj-coeff}_{lf}\) This parameter acts as a margin that tightens the loop-flow constraints bounds in the linear problem. It conceptually behaves as the coefficient \(c^{adjustment}\) from the constraint below:
\(abs(F_{loop-flow}(c)) <= lf^{threshold} (c) - c^{adjustment}\)
This parameter is a safety margin which can absorb some of the approximations made in the linear optimization problem such as non integer PST taps, flows approximated by sensitivity coefficients, etc. It therefore increases the probability that the loop-flow constraints respected in the linear optimisation problem, remain respected once the loop-flows are re-computed without the linear approximations.
violation-cost \(c^{penalty}_{lf}\) penalisation, in the objective function, of the excess of 1 MW of loop-flow

Defined optimization variables #

Name Symbol Details Type Index Unit Lower bound Upper bound
loop-flow excess \(S^{lf} (c)\) Slack variable for loop-flow constraint of FlowCnec c.
Defines the amount of MW by which a loop-flow constraint has been violated.
This makes the loop-flow constraints soft.
Real value One variable for every element of \(\mathcal{C} ^{lf}\) MW 0 \(+\infty\)

Used optimization variables #

Name Symbol Defined in
Flow \(F(c)\) CoreProblemFiller

Defined constraints #

Keeping the loop-flows within their bounds #

\[\begin{equation} F(c) - f^{commercial} (c) \leq \overline{f^{loop} (c)} + S^{lf} (c), \forall c \in \mathcal{C} ^{lf} \end{equation}\] \[\begin{equation} F(c) - f^{commercial} (c) \geq - \overline{f^{loop} (c)} - S^{lf} (c), \forall c \in \mathcal{C} ^{lf} \end{equation}\]

With \(\overline{f^{loop} (c)}\) the loop-flow threshold, constant defined as:

\[\begin{matrix} \overline{f^{loop} (c)} = \max(lf^{threshold} (c) - c^{adj-coeff}_{lf} \:, \: \: |f^{loop} _ {0} (c)| + c^{acc-increase}_{lf} - c^{adj-coeff}_{lf} \:, \: \: |f^{loop} _ {0} (c)|) \end{matrix}\]

The two first terms of the max define the actual loop-flow upper bound:

  • either as the threshold defined in the CRAC,
  • or as the initial loop-flow value of the FlowCnec, on which the acceptable increase coefficient is added

The last term ensures that the initial situation is always feasible, whatever the configuration parameters.

Contribution to the objective function #

Penalisation of the loop-flow excess in the objective function:

\[\begin{equation} \min (c^{penalty}_{lf} \sum_{c \in \mathcal{C} ^{lf}} S^{lf} (c)) \end{equation}\]

This penalisation is part of the virtual cost.

  1. The commercial flow is computed oustide the MILP, see loop-flow computation 

See also