Modelling loopflows and their virtual cost
Contents
 Used input data
 Used parameters
 Defined optimization variables
 Used optimization variables
 Defined constraints
 Contribution to the objective function
Used input data #
Name  Symbol  Details 

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

raoloopflowparameters  This filler is only used if this extension is added.  
acceptableincrease  \(c^{accincrease}_{lf}\)  The increase of the initial loopflow that is allowed by the optimisation, see loopflowacceptableincrease. 
constraintadjustmentcoefficient  \(c^{adjcoeff}_{lf}\)  This parameter acts as a margin that tightens the loopflow constraints bounds in the linear problem. It conceptually behaves as the coefficient \(c^{adjustment}\) from the constraint below: \(abs(F_{loopflow}(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 loopflow constraints respected in the linear optimisation problem, remain respected once the loopflows are recomputed without the linear approximations. 
violationcost  \(c^{penalty}_{lf}\)  penalisation, in the objective function, of the excess of 1 MW of loopflow 
Defined optimization variables #
Name  Symbol  Details  Type  Index  Unit  Lower bound  Upper bound 

loopflow excess  \(S^{lf} (c)\)  Slack variable for loopflow constraint of FlowCnec c. Defines the amount of MW by which a loopflow constraint has been violated. This makes the loopflow 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 loopflows within their bounds #
With \(\overline{f^{loop} (c)}\) the loopflow threshold, constant defined as:
\[\begin{matrix} \overline{f^{loop} (c)} = \max(lf^{threshold} (c)  c^{adjcoeff}_{lf} \:, \: \: f^{loop} _ {0} (c) + c^{accincrease}_{lf}  c^{adjcoeff}_{lf} \:, \: \: f^{loop} _ {0} (c)) \end{matrix}\]The two first terms of the max define the actual loopflow upper bound:
 either as the threshold defined in the CRAC,
 or as the initial loopflow 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 loopflow 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.

The commercial flow is computed oustide the MILP, see loopflow computation ↩
See also