Modelling loop-flows 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 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
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.
-
The commercial flow is computed oustide the MILP, see loop-flow computation ↩
See also