Used input data

Name Symbol Details
MonitoredFlowCnecs \(c \in \mathcal{C} ^{m}\) Set of FlowCnecs which are ‘monitored’. MonitoredFlowCnecs is a subset of FlowCnecs: \(\mathcal{C} ^{o} \subset \mathcal{C}\)
Initial flow \(f_{0} (c)\) flow before RAO of MonitoredFlowCnec \(c\), in MW
Upper threshold \(f^{+}_{threshold} (c)\) Upper threshold of FlowCnec \(c\), in MW, defined in the CRAC
Lower threshold \(f^{-}_{threshold} (c)\) Lower threshold of FlowCnec \(c\), in MW, defined in the CRAC

Used parameters

Name Symbol Details
rao-with-mnec-limitation   This filler is only used if this parameter is activated
mnec-acceptable-margin-diminution \(c^{acc-augm}_{m}\) The decrease of the initial margin that is allowed by the optimisation on MNECs. 
mnec-constraint-adjustment-coefficient \(c^{adj-coeff}_{m}\) This coefficient is here to mitigate the approximation made by the linear optimization (approximation = use of sensitivities to linearize the flows, rounding of the PST taps).
It tightens the MNEC constraint, in order to take some margin for that constraint to stay respected once the approximations are removed (i.e. taps have been rounded and real flow calculated)
mnec-violation-cost \(c^{penalty}_{lf}\) penalisation, in the objective function, of the excess of 1 MW of a MNEC flow

Defined optimization variables

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

Used optimization variables

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

Defined constraints

Keeping the MNEC margin positive or above its initial value

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

Note that MonitoredFlowCnec might have only one threshold (upper or lower), in that case, only one of the two above constraints is defined.


With \(\overline{f(c)}\) and \(\underline{f(c)}\) the bounds of the previous constraints, defined a below:

\[\begin{matrix} \overline{f(c)} = \max(f^{+}_{threshold} (c) - c^{adj-coeff}_{m} \:, \: \: f_{0} (c) + c^{acc-augm}_{m} - c^{adj-coeff}_{m} \:, \: \: f_{0} (c)) \end{matrix}\] \[\begin{matrix} \underline{f(c)} = \min(f^{-}_{threshold} (c) + c^{adj-coeff}_{m} \:, \: \: f_{0} (c) - c^{acc-augm}_{m} + c^{adj-coeff}_{m} \:, \: \: f_{0} (c)) \end{matrix}\]

The first terms of the bounds define the actual MNEC flow limit:

  • either equal to the threshold defined in the CRAC,
  • or to the initial flow value of the FlowCnec, added to the acceptable margin diminution coefficient

The last terms ensure that the initial situation is always feasible, whatever the configuration parameters.


Contribution to the objective function

Penalisation of the MNEC excess in the objective function:

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



Code reference: MnecFiller