Modelling the maximum minimum relative margin objective function#
Used input data#
Name |
Symbol |
Details |
---|---|---|
OptimisedFlowCnecs |
\(c \in \mathcal{C} ^{o}\) |
Set of FlowCnecs[1] which are ‘optimised’. OptimisedFlowCnecs is a subset of FlowCnecs: \(\mathcal{C} ^{o} \subset \mathcal{C}\) |
upper threshold |
\(f^{+}_{threshold} (c)\) |
Upper threshold of FlowCnec \(c\), in MW, as defined in the CRAC |
lower threshold |
\(f^{-}_{threshold} (c)\) |
Lower threshold of FlowCnec \(c\), in MW, defined in the CRAC |
nominal voltage |
\(U_{nom}(c)\) |
Nominal voltage of OptimizedFlowCnec \(c\) |
Absolute PTDF sum |
\(\sigma_{ptdf}(c)\) |
Absolute zone to zone PTDF sum[2] of FlowCnec \(c\). |
Highest threshold value |
\(MaxRAM\) |
A “bigM” which is computed (by OpenRAO) as the greatest absolute possible value of the CNEC threshold, among all CNECs in the CRAC. |
Used parameters#
Name |
Symbol |
Details |
---|---|---|
This filler is only used if the objective function is MAX_MIN_MARGIN_IN_MEGAWATT, or MAX_MIN_MARGIN_IN_AMPERE. This parameter is also used to set the unit (AMPERE/MW) of the objective function |
||
\(\varepsilon_{PTDF}\) |
zToz PTDF sum below this value are lifted to the ptdf-sum-lower-bound, to avoid a bad conditionning of the problem where the value of relative margins are very high. |
Defined optimization variables#
Name |
Symbol |
Details |
Type |
Index |
Unit |
Lower bound |
Upper bound |
---|---|---|---|---|---|---|---|
Minimum relative margin |
\(MRM\) |
the minimum negative margin over all OptimizedFlowCnecs |
Real value |
one scalar variable for the whole problem |
Relative MW or relative AMPERE (depending on objective-function |
0 |
\(+\infty\) |
Is minimum margin positive |
\(P\) |
binary variable, equal to 1 if the min margin is positive, 0 otherwise |
Binary |
one scalar variable for the whole problem |
no unit |
0 |
1 |
Used optimization variables#
Name |
Symbol |
Defined in |
---|---|---|
Flow |
\(F(c)\) |
|
Minimum margin |
\(MM\) |
Defined constraints#
Making the absolute minimum margin \(MM\) negative#
The absolute minimum margin defined in MaxMinMarginFiller will now only be used for when the minimum margin is negative. So the following constraints are added:
where \(m_{min}^{RAM}\) represents the maximum (absolute) value of the margin when it is negative. It is computed as follows:
Defining the minimum relative margin#
The following constraints define the new \(MRM\) variable:
where \(\sigma^{\prime}_{ptdf}(c)\) is a “safe” version of the zone-to-zone absolute PTDF sum, where small values are lifted to avoid bad conditioning of the MILP:
the max possible positive relative RAM is:
the max possible negative relative RAM is (in absolute value):
and the unit conversion coefficient is defined as follows:
If the objective-function is in MW: \(c^{unit}(c) = 1\)
If it is in AMPERE: \(c^{unit}(c) = \frac{U_{nom}(c) \sqrt{3}}{1000}\)
Note that an OptimizedFlowCnec might have only one threshold (upper or lower). In that case, only one of the two constraints above is defined.
Making \(MRM\) positive#
When the MM is negative, P is forced to 0 (see above). The following constraint sets the MRM to 0:
Contribution to the objective function#
The sum of minimum absolute & relative margins should be maximised: