diff --git a/distribution/src/main/resources/config.yml b/distribution/src/main/resources/config.yml
index 6519739212..ef10652b15 100755
--- a/distribution/src/main/resources/config.yml
+++ b/distribution/src/main/resources/config.yml
@@ -35,7 +35,7 @@ rao:
default: SearchTreeRao
rao-parameters:
- objective-function: MAX_MIN_MARGIN_IN_MEGAWATT
+ objective-function: MAX_MIN_MARGIN
max-number-of-iterations: 2
pst-penalty-cost: 0.01
pst-sensitivity-threshold : 0.2
diff --git a/docs/castor/linear-problem/max-min-relative-margin-filler.md b/docs/castor/linear-problem/max-min-relative-margin-filler.md
index aa4f3917b3..c2432beb78 100644
--- a/docs/castor/linear-problem/max-min-relative-margin-filler.md
+++ b/docs/castor/linear-problem/max-min-relative-margin-filler.md
@@ -19,9 +19,9 @@ And $PTDF_{zTos}(z1, c)$, the zone-to-slack PTDF of bidding zone $z1$ on CNEC $c
## Used parameters
-| Name | Symbol | Details |
-|------------------------------------------------------------------------|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| [type](/parameters.md#type) | | 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 |
+| Name | Symbol | Details |
+|------------------------------------------------------------------------|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| [type](/parameters.md#type) | | This filler is only used if the objective function is MAX_MIN_MARGIN |
| [ptdf-sum-lower-bound](/parameters.md#ptdf-sum-lower-bound) | $\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.
*Its impact on the accuracy of the problem is insignificant, as high relative margins do not usually define the min. relative margin.* |
## Defined optimization variables
diff --git a/docs/parameters.md b/docs/parameters.md
index b9cd8e0051..e6ba6c2166 100644
--- a/docs/parameters.md
+++ b/docs/parameters.md
@@ -21,24 +21,15 @@ These parameters should be always set in the RAO parameters file or object.
These parameters (objective-function) configure the remedial action optimisation's objective function.
#### type
-
- **Expected value**: one of the following:
- - "MAX_MIN_MARGIN_IN_MEGAWATT"
- - "MAX_MIN_MARGIN_IN_AMPERE"
- - "MAX_MIN_RELATIVE_MARGIN_IN_MEGAWATT"
- - "MAX_MIN_RELATIVE_MARGIN_IN_AMPERE"
-- **Default value**: "MAX_MIN_MARGIN_IN_MEGAWATT"
+ - "MAX_MIN_MARGIN"
+ - "MAX_MIN_RELATIVE_MARGIN"
+- **Default value**: "MAX_MIN_MARGIN"
- **Usage**: this parameter sets the objective function of the RAO. For now, the existing objective function are:
- - **MAX_MIN_MARGIN_IN_MEGAWATT**: maximization of the min(margin), where min(margin) is the smallest margin of all
- CNECs and the margins are considered in MW.
- - **MAX_MIN_MARGIN_IN_AMPERE**: maximization of the min(margin), where min(margin) is the smallest margin of all CNECs
- and the margins are considered in A. Note that this objective function is not just a homothety of the previous one,
- as CNECs from different voltage levels will not have the same weight in the objective function depending on the unit
- considered (MW or A). This objective function only works in AC-load-flow mode (see [sensitivity-parameters](#sensitivity-parameters)).
- - **MAX_MIN_RELATIVE_MARGIN_IN_MEGAWATT**: same as MAX_MIN_MARGIN_IN_MEGAWATT, but the margins will be relative
+ - **MAX_MIN_MARGIN**: maximization of the min(margin), where min(margin) is the smallest margin of all
+ CNECs.
+ - **MAX_MIN_RELATIVE_MARGIN**: same as MAX_MIN_MARGIN, but the margins will be relative
(divided by the absolute sum of PTDFs) when they are positive.
- - **MAX_MIN_RELATIVE_MARGIN_IN_AMPERE**: same as MAX_MIN_MARGIN_IN_AMPERE, but the margins will be relative (divided
- by the absolute sum of PTDFs) when they are positive.
#### preventive-stop-criterion
- **Expected value**: one of the following:
@@ -551,7 +542,7 @@ Zones are seperated by + or -.
{
"version" : "2.4",
"objective-function" : {
- "type" : "MAX_MIN_RELATIVE_MARGIN_IN_AMPERE",
+ "type" : "MAX_MIN_RELATIVE_MARGIN",
"curative-min-obj-improvement" : 0.0,
"preventive-stop-criterion" : "SECURE",
"enforce-curative-security" : true
@@ -669,7 +660,7 @@ Zones are seperated by + or -.
Based on PowSyBl's [configuration mechanism](inv:powsyblcore:std:doc#user/configuration/index).
~~~yaml
rao-objective-function:
- type: MAX_MIN_MARGIN_IN_AMPERE
+ type: MAX_MIN_MARGIN
preventive-stop-criterion: SECURE
rao-range-actions-optimization:
diff --git a/docs/tutorial.md b/docs/tutorial.md
index fe5822d206..768fa41d7b 100644
--- a/docs/tutorial.md
+++ b/docs/tutorial.md
@@ -293,9 +293,9 @@ loadFlowAndSensitivityParameters.setLoadFlowProvider("OpenLoadFlow");
loadFlowAndSensitivityParameters.setSensitivityWithLoadFlowParameters(sensitivityAnalysisParameters);
raoParameters.setLoadFlowAndSensitivityParameters(loadFlowAndSensitivityParameters);
-// Ask the RAO to maximize minimum margin in MW, and to stop when network is secure (i.e. when margins are positive)
+// Ask the RAO to maximize minimum margin, and to stop when network is secure (i.e. when margins are positive)
ObjectiveFunctionParameters objectiveFunctionParameters = new ObjectiveFunctionParameters();
-objectiveFunctionParameters.setType(ObjectiveFunctionParameters.ObjectiveFunctionType.MAX_MIN_MARGIN_IN_MEGAWATT);
+objectiveFunctionParameters.setType(ObjectiveFunctionParameters.ObjectiveFunctionType.MAX_MIN_MARGIN);
objectiveFunctionParameters.setPreventiveStopCriterion(ObjectiveFunctionParameters.PreventiveStopCriterion.SECURE);
objectiveFunctionParameters.setCurativeStopCriterion(ObjectiveFunctionParameters.CurativeStopCriterion.SECURE);
raoParameters.setObjectiveFunctionParameters(objectiveFunctionParameters);
@@ -575,9 +575,9 @@ public class Main {
loadFlowAndSensitivityParameters.setSensitivityWithLoadFlowParameters(sensitivityAnalysisParameters);
raoParameters.setLoadFlowAndSensitivityParameters(loadFlowAndSensitivityParameters);
- // Ask the RAO to maximize minimum margin in MW, and to stop when network is secure (i.e. when margins are positive)
+ // Ask the RAO to maximize minimum margin, and to stop when network is secure (i.e. when margins are positive)
ObjectiveFunctionParameters objectiveFunctionParameters = new ObjectiveFunctionParameters();
- objectiveFunctionParameters.setType(ObjectiveFunctionParameters.ObjectiveFunctionType.MAX_MIN_MARGIN_IN_MEGAWATT);
+ objectiveFunctionParameters.setType(ObjectiveFunctionParameters.ObjectiveFunctionType.MAX_MIN_MARGIN);
objectiveFunctionParameters.setPreventiveStopCriterion(ObjectiveFunctionParameters.PreventiveStopCriterion.SECURE);
objectiveFunctionParameters.setCurativeStopCriterion(ObjectiveFunctionParameters.CurativeStopCriterion.SECURE);
raoParameters.setObjectiveFunctionParameters(objectiveFunctionParameters);
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic13_curative/US13_8.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic13_curative/US13_8.feature
index 8f81c0b485..84c63324d7 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic13_curative/US13_8.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic13_curative/US13_8.feature
@@ -45,12 +45,14 @@ Feature: US 13.8: cross-validation curative and relative margin
And the remedial action "open_be1_be4" is used in preventive
And the remedial action "open_fr1_fr2" is used in preventive
And the tap of PstRangeAction "pst_be" should be -15 in preventive
- Then 0 remedial actions are used after "co1_fr2_fr3_1" at "curative"
+ Then 2 remedial actions are used after "co1_fr2_fr3_1" at "curative"
+ And the remedial action "open_fr1_fr3" is used after "co1_fr2_fr3_1" at "curative"
+ And the tap of PstRangeAction "pst_fr" should be 12 after "co1_fr2_fr3_1" at "curative"
And the worst margin is 300 A on cnec "BBE4AA1 FFR5AA1 1 - preventive"
And the margin on cnec "BBE4AA1 FFR5AA1 1 - preventive" after PRA should be 300 A
And the margin on cnec "BBE2AA1 FFR3AA1 1 - preventive" after PRA should be 308 A
- Then the margin on cnec "FFR2AA1 DDE3AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 659 A
- Then the margin on cnec "BBE4AA1 FFR5AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 344 A
+ Then the margin on cnec "FFR2AA1 DDE3AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 408 A
+ Then the margin on cnec "BBE4AA1 FFR5AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 411 A
And the margin on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be 470 A
And the value of the objective function after CRA should be -300
@@ -67,13 +69,15 @@ Feature: US 13.8: cross-validation curative and relative margin
And the remedial action "open_be1_be4" is used in preventive
And the remedial action "open_fr1_fr2" is used in preventive
And the tap of PstRangeAction "pst_be" should be -16 in preventive
- Then 0 remedial actions are used after "co1_fr2_fr3_1" at "curative"
+ Then 2 remedial actions are used after "co1_fr2_fr3_1" at "curative"
+ And the remedial action "open_fr1_fr3" is used after "co1_fr2_fr3_1" at "curative"
+ And the tap of PstRangeAction "pst_fr" should be 12 after "co1_fr2_fr3_1" at "curative"
And the worst relative margin is 278 A on cnec "BBE2AA1 FFR3AA1 1 - preventive"
And the relative margin on cnec "BBE2AA1 FFR3AA1 1 - preventive" after PRA should be 278 A
- Then the relative margin on cnec "FFR2AA1 DDE3AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 793 A
- Then the relative margin on cnec "BBE2AA1 FFR3AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 372 A
+ Then the relative margin on cnec "FFR2AA1 DDE3AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 494 A
+ Then the relative margin on cnec "BBE2AA1 FFR3AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 508 A
And the relative margin on cnec "BBE4AA1 FFR5AA1 1 - preventive" after PRA should be 514 A
And the relative margin on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be 543 A
- Then the relative margin on cnec "FFR3AA1 FFR5AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 433 A
- Then the relative margin on cnec "BBE4AA1 FFR5AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 604 A
+ Then the relative margin on cnec "FFR3AA1 FFR5AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 604 A
+ Then the relative margin on cnec "BBE4AA1 FFR5AA1 1 - co1_fr2_fr3_1 - curative" after CRA should be 726 A
And the value of the objective function after CRA should be -278
\ No newline at end of file
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic15_specific_network_elements/epic15_11/US15_11_4.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic15_specific_network_elements/epic15_11/US15_11_4.feature
index 705bd5980f..c14b0e3b0d 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic15_specific_network_elements/epic15_11/US15_11_4.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic15_specific_network_elements/epic15_11/US15_11_4.feature
@@ -25,7 +25,7 @@ Feature: US 15.11.4: ARAO with 2P
And the margin on cnec "NL2-BE3-O - curative" after CRA should be 8.9 MW
Then the optimization steps executed by the RAO should be "SECOND_PREVENTIVE_IMPROVED_FIRST"
- @fast @rao @mock @ac @second-preventive @mnec
+ @fast @rao @mock @dc @second-preventive @mnec
Scenario: US 15.11.4.2: ARAO2
Given network file is "common/TestCase12Nodes2PSTs.uct"
Given crac file is "epic15/jsonCrac_ep15us11-4case2.json"
@@ -40,5 +40,5 @@ Feature: US 15.11.4: ARAO with 2P
And the remedial action "PRA_CRA_PST_BE" is not used after "Contingency_FR1_FR3" at "curative"
And the worst margin is -141 MW
And the value of the objective function after CRA should be 141
- And the margin on cnec "NL2-BE3-O - curative" after CRA should be 224 MW
+ And the margin on cnec "NL2-BE3-O - curative" after CRA should be 205 MW
Then the optimization steps executed by the RAO should be "SECOND_PREVENTIVE_IMPROVED_FIRST"
\ No newline at end of file
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic19_specific_rao_parameters/US19_7.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic19_specific_rao_parameters/US19_7.feature
index 4a1fab822d..fe66939e6c 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic19_specific_rao_parameters/US19_7.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic19_specific_rao_parameters/US19_7.feature
@@ -132,7 +132,7 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 603 A
And the margin on cnec "fr1_fr4_CO1 - curative" after CRA should be 610 A
- @fast @rao @mock @ac @contingency-scenarios
+ @fast @rao @mock @dc @contingency-scenarios
Scenario: 19.7.1.MW: All CNECs belong to one operator not sharing CRAs - MW
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic13/CBCORA_ep13us3case10.xml"
@@ -144,13 +144,13 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the tap of PstRangeAction "pst_fr" should be 15 in preventive
And 0 remedial actions are used after "CO1_fr2_fr3_1" at "curative"
And the worst margin is -339 MW
- And the value of the objective function after CRA should be -682.0
+ And the value of the objective function after CRA should be -984
And the margin on cnec "fr1_fr4_CO1 - curative" after CRA should be -339 MW
And the margin on cnec "fr3_fr5_CO1 - DIR - curative" after CRA should be 543 MW
And the margin on cnec "fr3_fr5_CO1 - DIR - outage" after PRA should be 682 MW
And the margin on cnec "fr4_de1_N - preventive" after PRA should be 682 MW
- @fast @rao @mock @ac @contingency-scenarios
+ @fast @rao @mock @dc @contingency-scenarios
Scenario: 19.7.2.MW: All CNECs belong to one operator sharing one CRA - MW
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case2.xml"
@@ -158,7 +158,7 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
When I launch search_tree_rao at "2019-01-08 12:00"
Then the optimization steps executed by the RAO should be "FIRST_PREVENTIVE_FELLBACK_TO_INITIAL_SITUATION"
- @fast @rao @mock @ac @contingency-scenarios
+ @fast @rao @mock @dc @contingency-scenarios
Scenario: 19.7.3.MW: Most limiting CNEC belongs to operator not sharing CRAs - MW
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case3.xml"
@@ -171,13 +171,13 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And 1 remedial actions are used after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_be" should be -16 after "CO1_fr2_fr3_1" at "curative"
And the worst margin is -310 MW
- And the value of the objective function after CRA should be -682.0
+ And the value of the objective function after CRA should be -984
And the margin on cnec "fr1_fr4_CO1 - curative" after CRA should be -310 MW
And the margin on cnec "fr3_fr5_CO1 - DIR - curative" after CRA should be 691 MW
And the margin on cnec "fr3_fr5_CO1 - DIR - outage" after PRA should be 682 MW
And the margin on cnec "fr4_de1_N - preventive" after PRA should be 682 MW
- @fast @rao @mock @ac @contingency-scenarios
+ @fast @rao @mock @dc @contingency-scenarios
Scenario: 19.7.4.MW: Second most limiting CNEC belongs to operator not sharing CRAs - MW
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case4.xml"
@@ -185,7 +185,7 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
When I launch search_tree_rao at "2019-01-08 12:00"
Then the optimization steps executed by the RAO should be "FIRST_PREVENTIVE_FELLBACK_TO_INITIAL_SITUATION"
- @fast @rao @mock @ac @contingency-scenarios
+ @fast @rao @mock @dc @contingency-scenarios
Scenario: 19.7.5.MW: Second most limiting CNEC after PRA belongs to operator not sharing CRAs, and is improved in CRAO - MW
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case5.xml"
@@ -201,14 +201,14 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the tap of PstRangeAction "pst_fr" should be -5 after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_fr_cur" should be -5 after "CO1_fr2_fr3_1" at "curative"
And the worst margin is 31 MW
- And the value of the objective function after CRA should be -498.0
+ And the value of the objective function after CRA should be -718
And the margin on cnec "fr1_fr4_CO1 - curative" after CRA should be 512 MW
And the margin on cnec "fr3_fr5_CO1 - DIR - curative" after CRA should be 31 MW
And the margin on cnec "fr3_fr5_CO1 - DIR - outage" after PRA should be 682 MW
And the margin on cnec "fr4_de1_CO1 - curative" after CRA should be 498 MW
And the margin on cnec "fr4_de1_N - preventive" after PRA should be 682 MW
- @fast @rao @mock @ac @contingency-scenarios
+ @fast @rao @mock @dc @contingency-scenarios
Scenario: 19.7.6.MW: Second most limiting CNEC after PRA belongs to operator not sharing CRAs, and can become most limiting in CRAO - MW
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case6.xml"
@@ -216,21 +216,21 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
When I launch search_tree_rao at "2019-01-08 12:00"
Then the optimization steps executed by the RAO should be "FIRST_PREVENTIVE_FELLBACK_TO_INITIAL_SITUATION"
- @fast @rao @mock @ac @contingency-scenarios
+ @fast @rao @mock @dc @contingency-scenarios
Scenario: 19.7.7.MW: Only PSTs - All CNECs belong to one operator sharing a CRA - MW
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case7.xml"
Given configuration file is "epic19/RaoParameters_maxMargin_megawatt_shareCra.json"
When I launch search_tree_rao at "2019-01-08 12:00" after "CO1_fr2_fr3_1" at "curative"
Then 2 remedial actions are used after "CO1_fr2_fr3_1" at "curative"
- And the tap of PstRangeAction "pst_be" should be -2 after "CO1_fr2_fr3_1" at "curative"
+ And the tap of PstRangeAction "pst_be" should be -3 after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_fr" should be -5 after "CO1_fr2_fr3_1" at "curative"
And the worst margin is 420 MW
- And the value of the objective function after CRA should be -420.0
+ And the value of the objective function after CRA should be -603.0
And the margin on cnec "fr1_fr4_CO1 - curative" after CRA should be 420 MW
- And the margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 430 MW
+ And the margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 418 MW
- @fast @rao @mock @ac @contingency-scenarios
+ @fast @rao @mock @dc @contingency-scenarios
Scenario: 19.7.8.MW: Only PSTs - Most limiting CNEC belongs to an operator not sharing CRAs - MW
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case8.xml"
@@ -240,24 +240,24 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the tap of PstRangeAction "pst_be" should be 9 after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_fr" should be 4 after "CO1_fr2_fr3_1" at "curative"
And the worst margin is 91 MW
- And the value of the objective function after CRA should be -572.0
+ And the value of the objective function after CRA should be -827.0
And the margin on cnec "fr4_de1_CO1 - curative" after CRA should be 573 MW
And the margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 572 MW
And the margin on cnec "fr1_fr4_CO1 - curative" after CRA should be 91 MW
- @fast @rao @mock @ac @contingency-scenarios
+ @fast @rao @mock @dc @contingency-scenarios
Scenario: 19.7.9.MW: Only PSTs - Second most limiting CNEC belongs to an operator not sharing CRAs - MW
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case9.xml"
Given configuration file is "epic19/RaoParameters_maxMargin_megawatt_shareCra.json"
When I launch search_tree_rao at "2019-01-08 12:00" after "CO1_fr2_fr3_1" at "curative"
Then 2 remedial actions are used after "CO1_fr2_fr3_1" at "curative"
- And the tap of PstRangeAction "pst_be" should be -2 after "CO1_fr2_fr3_1" at "curative"
+ And the tap of PstRangeAction "pst_be" should be -3 after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_fr" should be -5 after "CO1_fr2_fr3_1" at "curative"
And the worst margin is 420 MW
- And the value of the objective function after CRA should be -420.0
+ And the value of the objective function after CRA should be -603.0
And the margin on cnec "fr1_fr4_CO1 - curative" after CRA should be 420 MW
- And the margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 430 MW
+ And the margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 418 MW
@fast @rao @mock @ac @contingency-scenarios @relative
Scenario: 19.7.1.A.R: All CNECs belong to one operator not sharing CRAs - AMP - relative
@@ -403,7 +403,7 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the relative margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 843 A
And the relative margin on cnec "fr1_fr4_CO1 - curative" after CRA should be 833 A
- @fast @rao @mock @ac @contingency-scenarios @relative
+ @fast @rao @mock @dc @contingency-scenarios @relative
Scenario: 19.7.1.MW.R: All CNECs belong to one operator not sharing CRAs - MW - relative
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic13/CBCORA_ep13us3case10.xml"
@@ -417,13 +417,13 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the tap of PstRangeAction "pst_fr" should be 15 in preventive
And 0 remedial actions are used after "CO1_fr2_fr3_1" at "curative"
And the worst margin is -622 MW
- And the value of the objective function after CRA should be -879.0
+ And the value of the objective function after CRA should be -1270.0
And the margin on cnec "fr1_fr4_CO1 - curative" after CRA should be -622 MW
And the relative margin on cnec "fr3_fr5_CO1 - DIR - curative" after CRA should be 749 MW
And the relative margin on cnec "fr4_de1_N - preventive" after PRA should be 879 MW
And the relative margin on cnec "fr4_de1_CO1 - curative" after CRA should be 879 MW
- @fast @rao @mock @ac @contingency-scenarios @relative
+ @fast @rao @mock @dc @contingency-scenarios @relative
Scenario: 19.7.2.MW.R: All CNECs belong to one operator sharing one CRA - MW - relative
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case2.xml"
@@ -433,7 +433,7 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
Then the optimization steps executed by the RAO should be "FIRST_PREVENTIVE_FELLBACK_TO_INITIAL_SITUATION"
And the worst relative margin is 112.23 MW
- @fast @rao @mock @ac @contingency-scenarios @relative
+ @fast @rao @mock @dc @contingency-scenarios @relative
Scenario: 19.7.3.MW.R: Most limiting CNEC belongs to operator not sharing CRAs - MW - relative
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case3.xml"
@@ -448,13 +448,13 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And 1 remedial actions are used after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_be" should be -9 after "CO1_fr2_fr3_1" at "curative"
And the worst margin is -606 MW
- And the value of the objective function after CRA should be -851.0
+ And the value of the objective function after CRA should be -1230.0
And the margin on cnec "fr1_fr4_CO1 - curative" after CRA should be -606 MW
And the relative margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 851 MW
And the relative margin on cnec "fr4_de1_N - preventive" after PRA should be 879 MW
And the relative margin on cnec "fr4_de1_CO1 - curative" after CRA should be 907 MW
- @fast @rao @mock @ac @contingency-scenarios @relative
+ @fast @rao @mock @dc @contingency-scenarios @relative
Scenario: 19.7.4.MW.R: Second most limiting CNEC belongs to operator not sharing CRAs - MW - relative
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case4.xml"
@@ -464,7 +464,7 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
Then the optimization steps executed by the RAO should be "FIRST_PREVENTIVE_FELLBACK_TO_INITIAL_SITUATION"
And the worst relative margin is 112.23 MW
- @fast @rao @mock @ac @contingency-scenarios @relative
+ @fast @rao @mock @dc @contingency-scenarios @relative
Scenario: 19.7.5.MW.R: Second most limiting CNEC after PRA belongs to operator not sharing CRAs, and is improved in CRAO - MW - relative
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case5R.xml"
@@ -482,11 +482,11 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the tap of PstRangeAction "pst_fr" should be -10 after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_fr_cur" should be -10 after "CO1_fr2_fr3_1" at "curative"
And the worst relative margin is 355 MW
- And the value of the objective function after CRA should be -491.0
+ And the value of the objective function after CRA should be -709.0
And the relative margin on cnec "fr4_de1_CO1 - curative" after CRA should be 491 MW
And the relative margin on cnec "fr3_fr5_CO1 - DIR - curative" after CRA should be 355 MW
- @fast @rao @mock @ac @contingency-scenarios @relative
+ @fast @rao @mock @dc @contingency-scenarios @relative
Scenario: 19.7.6.MW.R: Second most limiting CNEC after PRA belongs to operator not sharing CRAs, and can become most limiting in CRAO - MW - relative
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case6R.xml"
@@ -496,7 +496,7 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
Then the optimization steps executed by the RAO should be "FIRST_PREVENTIVE_FELLBACK_TO_INITIAL_SITUATION"
And the worst relative margin is 289.88 MW
- @fast @rao @mock @ac @contingency-scenarios @relative
+ @fast @rao @mock @dc @contingency-scenarios @relative
Scenario: 19.7.7.MW.R: Only PSTs - All CNECs belong to one operator sharing a CRA - MW - relative
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case7.xml"
@@ -507,11 +507,11 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the tap of PstRangeAction "pst_be" should be 2 after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_fr" should be -5 after "CO1_fr2_fr3_1" at "curative"
And the worst relative margin is 578 MW
- And the value of the objective function after CRA should be -578.0
+ And the value of the objective function after CRA should be -833.0
And the relative margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 585 MW
And the relative margin on cnec "fr1_fr4_CO1 - curative" after CRA should be 578 MW
- @fast @rao @mock @ac @contingency-scenarios @relative
+ @fast @rao @mock @dc @contingency-scenarios @relative
Scenario: 19.7.8.MW.R: Only PSTs - Most limiting CNEC belongs to an operator not sharing CRAs - MW - relative
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case8.xml"
@@ -522,12 +522,12 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the tap of PstRangeAction "pst_be" should be 13 after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_fr" should be 4 after "CO1_fr2_fr3_1" at "curative"
And the worst relative margin is 115 MW
- And the value of the objective function after CRA should be -751.0
+ And the value of the objective function after CRA should be -1084.0
And the relative margin on cnec "fr4_de1_CO1 - curative" after CRA should be 751 MW
And the relative margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 760 MW
And the relative margin on cnec "fr1_fr4_CO1 - curative" after CRA should be 115 MW
- @fast @rao @mock @ac @contingency-scenarios @relative
+ @fast @rao @mock @dc @contingency-scenarios @relative
Scenario: 19.7.9.MW.R: Only PSTs - Second most limiting CNEC belongs to an operator not sharing CRAs - MW - relative
Given network file is "epic13/TestCase16Nodes_with_different_imax.uct" for CORE CC
Given crac file is "epic19/CBCORA_ep19us7case9.xml"
@@ -538,6 +538,6 @@ Feature: US 19.7: handle CNECs belonging to TSOs that don't share CRAs
And the tap of PstRangeAction "pst_be" should be 2 after "CO1_fr2_fr3_1" at "curative"
And the tap of PstRangeAction "pst_fr" should be -5 after "CO1_fr2_fr3_1" at "curative"
And the worst relative margin is 578 MW
- And the value of the objective function after CRA should be -578.0
+ And the value of the objective function after CRA should be -833.0
And the relative margin on cnec "fr3_fr5_CO1 - OPP - curative" after CRA should be 585 MW
And the relative margin on cnec "fr1_fr4_CO1 - curative" after CRA should be 578 MW
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic20_advanced_search_tree/US20_4.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic20_advanced_search_tree/US20_4.feature
index 85143e2d0d..010af9b221 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic20_advanced_search_tree/US20_4.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic20_advanced_search_tree/US20_4.feature
@@ -5,7 +5,7 @@
Feature: US 20.4: Handle MNECs in second preventive optimization
- @fast @rao @mock @ac @second-preventive @mnec
+ @fast @rao @mock @dc @second-preventive @mnec
Scenario: US 20.4.1: MNEC constraint in curative is solved by 2P
Given network file is "common/TestCase12Nodes.uct" for CORE CC
Given crac file is "epic20/CBCORA_ep20us4case1.xml"
@@ -21,7 +21,7 @@ Feature: US 20.4: Handle MNECs in second preventive optimization
And the margin on cnec "NL2-BE3-O - curative" after CRA should be 7 MW
Then the optimization steps executed by the RAO should be "SECOND_PREVENTIVE_IMPROVED_FIRST"
- @fast @rao @mock @ac @second-preventive @mnec
+ @fast @rao @mock @dc @second-preventive @mnec
Scenario: US 20.4.2: MNEC constraint in curative is solved by CRA + 2P
Given network file is "common/TestCase12Nodes2PSTs.uct" for CORE CC
Given crac file is "epic20/CBCORA_ep20us4case2.xml"
@@ -38,7 +38,7 @@ Feature: US 20.4: Handle MNECs in second preventive optimization
And the margin on cnec "NL2-BE3-O - curative" after CRA should be 7 MW
Then the optimization steps executed by the RAO should be "SECOND_PREVENTIVE_IMPROVED_FIRST"
- @fast @rao @mock @ac @second-preventive @mnec
+ @fast @rao @mock @dc @second-preventive @mnec
Scenario: US 20.4.3: MNEC constraint avoided on preventive MNEC in 2P
Given network file is "common/TestCase12Nodes2PSTs.uct" for CORE CC
Given crac file is "epic20/CBCORA_ep20us4case3.xml"
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic4_dc_mw/US4_2.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic4_dc_mw/US4_2.feature
index 00ffc45a6d..dc7f7cb07c 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic4_dc_mw/US4_2.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic4_dc_mw/US4_2.feature
@@ -18,7 +18,7 @@ Feature: US 4.2: Optimization in A/MW, thresholds in A/MW, computation in AC/DC
And the margin on cnec "NNL2AA1 BBE3AA1 1 - preventive" after PRA should be 20.0 MW
And the margin on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be 44.0 MW
- @fast @rao @mock @ac @preventive-only
+ @fast @rao @mock @dc @preventive-only
Scenario: US 4.2.2: MW thresholds in AC mode and min margin in MW
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic4/SL_ep4us2_4MR_MW.json"
@@ -26,10 +26,10 @@ Feature: US 4.2: Optimization in A/MW, thresholds in A/MW, computation in AC/DC
When I launch search_tree_rao
Then the worst margin is 19.0 MW
And the value of the objective function after CRA should be -19.0
- And the tap of PstRangeAction "PRA_PST_BE" should be 4 in preventive
+ And the tap of PstRangeAction "PRA_PST_BE" should be 5 in preventive
And the margin on cnec "FFR2AA1 DDE3AA1 1 - N-1 NL1-NL3 - outage" after PRA should be 25.0 MW
- And the margin on cnec "NNL2AA1 BBE3AA1 1 - preventive" after PRA should be 19.0 MW
- And the margin on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be 49.0 MW
+ And the margin on cnec "NNL2AA1 BBE3AA1 1 - preventive" after PRA should be 24.0 MW
+ And the margin on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be 44.0 MW
@fast @rao @mock @dc @preventive-only
Scenario: US 4.2.3: A thresholds in DC mode and min margin in MW
@@ -78,6 +78,6 @@ Feature: US 4.2: Optimization in A/MW, thresholds in A/MW, computation in AC/DC
When I launch search_tree_rao
Then the worst margin is 19.0 MW
Then the value of the objective function after CRA should be -19.0
- Then the tap of PstRangeAction "PRA_PST_BE" should be 4 in preventive
- And the margin on cnec "NNL2AA1 BBE3AA1 1 - preventive" after PRA should be 19.0 MW
+ Then the tap of PstRangeAction "PRA_PST_BE" should be 5 in preventive
+ And the margin on cnec "NNL2AA1 BBE3AA1 1 - preventive" after PRA should be 24.0 MW
And the margin on cnec "FFR2AA1 DDE3AA1 1 - N-1 NL1-NL3 - outage" after PRA should be 23.0 MW
\ No newline at end of file
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic5_max_margin_stop_criterion/US5_1.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic5_max_margin_stop_criterion/US5_1.feature
index 03872509f7..36ae1a9148 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic5_max_margin_stop_criterion/US5_1.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic5_max_margin_stop_criterion/US5_1.feature
@@ -60,7 +60,7 @@ Feature: US 5.1: Maximum margin stop criterion
Then the remedial action "Open tie-line FR1 FR2" is used in preventive
Then the remedial action "Open tie-line FR1 FR3" is used in preventive
- @fast @rao @mock @ac @preventive-only
+ @fast @rao @mock @dc @preventive-only
Scenario: US 5.1.4.b: maximum margin stop criterion: absolute minimum impact threshold not reached
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic5/SL_ep5us1.json"
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_10.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_10.feature
index ba1ea2356a..3a0576d0cc 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_10.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_10.feature
@@ -5,33 +5,33 @@
Feature: US 7.10: Search-tree RAO with loopflow limitation
- @fast @rao @mock @ac @preventive-only
+ @fast @rao @mock @dc @preventive-only
Scenario: US 7.10.1: Simple search tree RAO without LF limitation
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic7/crac_lf_rao_3.json"
Given configuration file is "common/RaoParameters_maxMargin_megawatt.json"
When I launch search_tree_rao
Then its security status should be "UNSECURED"
- Then the worst margin is -143.0 MW
- Then the worst margin is -143.0 MW on cnec "FFR2AA1 DDE3AA1 1 - preventive"
+ Then the worst margin is -160.0 MW
+ Then the worst margin is -160.0 MW on cnec "FFR2AA1 DDE3AA1 1 - preventive"
Then the tap of PstRangeAction "PRA_PST_BE" should be -16 in preventive
Then 2 remedial actions are used in preventive
Then the remedial action "Open FR1 FR2" is used in preventive
Then the remedial action "PRA_PST_BE" is used in preventive
- @fast @rao @mock @ac @preventive-only @loopflow
+ @fast @rao @mock @dc @preventive-only @loopflow
Scenario: US 7.10.2: Simple search tree RAO with LF limited by a predefined threshold
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic7/crac_lf_rao_3.json"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_mw_dc_lf_false_5_100.json"
When I launch loopflow search_tree_rao with default loopflow limit as 50.0 percent of pmax
Then its security status should be "UNSECURED"
- Then the worst margin is -349.0 MW
- Then the worst margin is -349.0 MW on cnec "FFR2AA1 DDE3AA1 1 - preventive"
- Then the tap of PstRangeAction "PRA_PST_BE" should be 4 in preventive
- Then 2 remedial actions are used in preventive
- Then the remedial action "Open FR1 FR2" is used in preventive
+ Then the worst margin is -401.0 MW
+ Then the worst margin is -401.0 MW on cnec "FFR2AA1 DDE3AA1 1 - preventive"
+ Then the tap of PstRangeAction "PRA_PST_BE" should be -10 in preventive
+ Then 1 remedial actions are used in preventive
+ Then the remedial action "PRA_PST_BE" is used in preventive
And the loopflow threshold on cnec "DDE2AA1 NNL3AA1 1 - preventive" should be 2000.0 MW
And the loopflow threshold on cnec "NNL2AA1 BBE3AA1 1 - preventive" should be 2000.0 MW
And the loopflow threshold on cnec "FFR2AA1 DDE3AA1 1 - preventive" should be 500.0 MW
@@ -40,17 +40,17 @@ Feature: US 7.10: Search-tree RAO with loopflow limitation
And the initial loopflow on cnec "NNL2AA1 BBE3AA1 1 - preventive" should be -391.0 MW
And the initial loopflow on cnec "FFR2AA1 DDE3AA1 1 - preventive" should be -391.0 MW
And the initial loopflow on cnec "BBE2AA1 FFR3AA1 1 - preventive" should be -391.0 MW
- And the loopflow on cnec "DDE2AA1 NNL3AA1 1 - preventive" after PRA should be -498.0 MW
- And the loopflow on cnec "NNL2AA1 BBE3AA1 1 - preventive" after PRA should be -498.0 MW
- And the loopflow on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be -498.0 MW
- And the loopflow on cnec "BBE2AA1 FFR3AA1 1 - preventive" after PRA should be -498.0 MW
+ And the loopflow on cnec "DDE2AA1 NNL3AA1 1 - preventive" after PRA should be -490.0 MW
+ And the loopflow on cnec "NNL2AA1 BBE3AA1 1 - preventive" after PRA should be -490.0 MW
+ And the loopflow on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be -490.0 MW
+ And the loopflow on cnec "BBE2AA1 FFR3AA1 1 - preventive" after PRA should be -490.0 MW
@fast @rao @mock @ac @preventive-only @loopflow
Scenario: US 7.10.3: Simple search tree RAO with LF limited by their initial value
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic7/crac_lf_rao_3.json"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_ac_lf_false_5_100.json"
When I launch loopflow search_tree_rao with default loopflow limit as 25.0 percent of pmax
Then its security status should be "UNSECURED"
Then the worst margin is -463.0 MW
@@ -75,12 +75,12 @@ Feature: US 7.10: Search-tree RAO with loopflow limitation
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic7/crac_lf_rao_3.json"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_true_5_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_mw_dc_lf_true_5_100.json"
When I launch loopflow search_tree_rao with default loopflow limit as 50.0 percent of pmax
Then its security status should be "UNSECURED"
Then the worst margin is -391.0 MW
Then the worst margin is -391.0 MW on cnec "FFR2AA1 DDE3AA1 1 - preventive"
- Then the tap of PstRangeAction "PRA_PST_BE" should be -10 in preventive
+ Then the tap of PstRangeAction "PRA_PST_BE" should be -11 in preventive
And the loopflow threshold on cnec "DDE2AA1 NNL3AA1 1 - preventive" should be 2000.0 MW
And the loopflow threshold on cnec "NNL2AA1 BBE3AA1 1 - preventive" should be 2000.0 MW
And the loopflow threshold on cnec "FFR2AA1 DDE3AA1 1 - preventive" should be 500.0 MW
@@ -97,7 +97,7 @@ Feature: US 7.10: Search-tree RAO with loopflow limitation
Scenario: US 7.10.5: Complex search tree RAO without LF limitation
Given network file is "common/TestCase12Nodes2PSTs.uct"
Given crac file is "epic7/crac_lf_rao_4.json"
- Given configuration file is "common/RaoParameters_maxMargin_megawatt.json"
+ Given configuration file is "common/RaoParameters_maxMargin_ampere.json"
When I launch search_tree_rao
Then its security status should be "UNSECURED"
Then the worst margin is -251.0 MW
@@ -110,17 +110,17 @@ Feature: US 7.10: Search-tree RAO with loopflow limitation
Then the remedial action "Open_BE1_BE3" is used in preventive
Then the remedial action "Open_NL1_NL2" is used in preventive
- @fast @rao @mock @ac @preventive-only @loopflow
+ @fast @rao @mock @dc @preventive-only @loopflow
Scenario: US 7.10.6: Complex search tree RAO with LF limitation
Given network file is "common/TestCase12Nodes2PSTs.uct"
Given crac file is "epic7/crac_lf_rao_4.json"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_mw_dc_lf_false_5_100.json"
When I launch loopflow search_tree_rao with default loopflow limit as 35.0 percent of pmax
Then its security status should be "UNSECURED"
Then the worst margin is -290.0 MW
Then the worst margin is -290.0 MW on cnec "FFR1AA1 FFR2AA1 1 - preventive"
- Then the tap of PstRangeAction "PRA_PST_DE" should be -11 in preventive
+ Then the tap of PstRangeAction "PRA_PST_DE" should be -12 in preventive
Then the tap of PstRangeAction "PRA_PST_BE" should be -1 in preventive
Then 2 remedial actions are used in preventive
And the loopflow threshold on cnec "BBE2AA1 FFR3AA1 1 - preventive" should be 525.5 MW
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_11.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_11.feature
index 024b55219e..09b42cee25 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_11.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_11.feature
@@ -10,7 +10,7 @@ Feature: US 7.11: Additional tests with CBCORA input files and FRM
Given network file is "common/TestCase12Nodes.uct" for CORE CC
Given crac file is "epic7/crac_lf_rao_3_cbcora.xml"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_ac_lf_false_5_100.json"
When I launch loopflow search_tree_rao at "2019-01-08 00:00" with default loopflow limit as 0.0 percent of pmax
# if the loopflow limit is defined equal to zero, josiris-server will not create LoopFlowExtensions
@@ -34,31 +34,31 @@ Feature: US 7.11: Additional tests with CBCORA input files and FRM
And the initial loopflow on cnec "BBE2AA1 FFR3AA1 1 - preventive" should be -391.0 MW
And the loopflow on cnec "BBE2AA1 FFR3AA1 1 - preventive" after PRA should be -384.0 MW
- @fast @rao @mock @ac @preventive-only @loopflow
+ @fast @rao @mock @dc @preventive-only @loopflow
Scenario: 7.11.2 : Loop-flow limitation with FRM
Given network file is "common/TestCase12Nodes.uct" for CORE CC
Given crac file is "epic7/crac_lf_rao_3_with_frm_cbcora.xml"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_mw_dc_lf_false_5_100.json"
When I launch loopflow search_tree_rao at "2019-01-08 12:00" with default loopflow limit as 0.0 percent of pmax
# if the loopflow limit is defined equal to zero, josiris-server will not create LoopFlowExtensions
# and the limits given in the CBCORA file will be used instead
Then its security status should be "UNSECURED"
- Then the worst margin is -451.0 MW
- Then the worst margin is -451.0 MW on cnec "FFR2AA1 DDE3AA1 1 - preventive"
- Then the tap of PstRangeAction "PRA_PST_BE" should be 9 in preventive
+ Then the worst margin is -505.0 MW
+ Then the worst margin is -505.0 MW on cnec "FFR2AA1 DDE3AA1 1 - preventive"
+ Then the tap of PstRangeAction "PRA_PST_BE" should be 14 in preventive
Then the remedial action "Open FR1 FR2" is used in preventive
And the loopflow threshold on cnec "DDE2AA1 NNL3AA1 1 - preventive" should be 900.0 MW
And the loopflow threshold on cnec "NNL2AA1 BBE3AA1 1 - preventive" should be 800.0 MW
And the loopflow threshold on cnec "FFR2AA1 DDE3AA1 1 - preventive" should be 450.0 MW
And the loopflow threshold on cnec "BBE2AA1 FFR3AA1 1 - preventive" should be 650.0 MW
And the initial loopflow on cnec "DDE2AA1 NNL3AA1 1 - preventive" should be -391.0 MW
- And the loopflow on cnec "DDE2AA1 NNL3AA1 1 - preventive" after PRA should be -446.0 MW
+ And the loopflow on cnec "DDE2AA1 NNL3AA1 1 - preventive" after PRA should be -437.0 MW
And the initial loopflow on cnec "NNL2AA1 BBE3AA1 1 - preventive" should be -391.0 MW
- And the loopflow on cnec "NNL2AA1 BBE3AA1 1 - preventive" after PRA should be -446.0 MW
+ And the loopflow on cnec "NNL2AA1 BBE3AA1 1 - preventive" after PRA should be -437.0 MW
And the initial loopflow on cnec "FFR2AA1 DDE3AA1 1 - preventive" should be -391.0 MW
- And the loopflow on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be -446.0 MW
+ And the loopflow on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be -437.0 MW
And the initial loopflow on cnec "BBE2AA1 FFR3AA1 1 - preventive" should be -391.0 MW
- And the loopflow on cnec "BBE2AA1 FFR3AA1 1 - preventive" after PRA should be -446.0 MW
\ No newline at end of file
+ And the loopflow on cnec "BBE2AA1 FFR3AA1 1 - preventive" after PRA should be -437.0 MW
\ No newline at end of file
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_14.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_14.feature
index 8ba5f65d0e..9888aecf60 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_14.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_14.feature
@@ -34,7 +34,7 @@ Feature: US 7.14: Use a refProg file to calculate the loop-flows
Given crac file is "epic7/crac_lf_rao_3_cbcora.xml"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
Given RefProg file is "epic7/refProg_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_ac_lf_false_5_100.json"
When I launch loopflow search_tree_rao at "2019-01-08 21:30" with default loopflow limit as 0.0 percent of pmax
Then the worst margin is -473.0 MW
@@ -64,7 +64,7 @@ Feature: US 7.14: Use a refProg file to calculate the loop-flows
Given crac file is "epic7/crac_lf_rao_3_with_frm_cbcora.xml"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
Given RefProg file is "epic7/refProg_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_ac_lf_false_5_100.json"
When I launch loopflow search_tree_rao at "2019-01-08 21:30" with default loopflow limit as 0.0 percent of pmax
Then the worst margin is -378.0 MW
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_7.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_7.feature
index 8bf4f97e6b..25c86129b4 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_7.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_7.feature
@@ -5,16 +5,16 @@
Feature: US 7.7: Handle optimisation unfeasibility with loopflow constraints
- @fast @rao @mock @ac @preventive-only @loopflow
+ @fast @rao @mock @dc @preventive-only @loopflow
Scenario: US 7.7.1: Simple search tree RAO with LF limitation and infeasible linear problem
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic7/crac_lf_rao_3bis.json"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_mw_dc_lf_false_5_100.json"
When I launch loopflow search_tree_rao with default loopflow limit as 50.0 percent of pmax
Then the worst margin is -402.0 MW
Then the margin on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be -402.0 MW
- Then the tap of PstRangeAction "PRA_PST_BE" should be -9 in preventive
+ Then the tap of PstRangeAction "PRA_PST_BE" should be -10 in preventive
And the loopflow threshold on cnec "FFR2AA1 DDE3AA1 1 - preventive" should be 500.0 MW
And the initial loopflow on cnec "FFR2AA1 DDE3AA1 1 - preventive" should be -391.0 MW
And the loopflow on cnec "FFR2AA1 DDE3AA1 1 - preventive" after PRA should be -490.0 MW
\ No newline at end of file
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_8.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_8.feature
index c544918be4..b93e661c2c 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_8.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_8.feature
@@ -9,7 +9,7 @@ Feature: US 7.8: Loopflow computation (not within the RAO)
Scenario: US 7.8.1: optimise network action without loop flow limitation
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic7/crac_lf_rao_2.json"
- Given configuration file is "common/RaoParameters_posMargin_megawatt_ac.json"
+ Given configuration file is "common/RaoParameters_posMargin_ac.json"
When I launch search_tree_rao
Then its security status should be "SECURED"
Then the worst margin is 92.0 MW
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_9.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_9.feature
index 481995fdb9..4353c619a0 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_9.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic7_loopflow/US7_9.feature
@@ -5,15 +5,15 @@
Feature: US 7.9: Linear RAO with loopflow limitation
- @fast @rao @mock @ac @preventive-only
+ @fast @rao @mock @dc @preventive-only
Scenario: US 7.9.1: linear RAO without LF limitation
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic7/crac_lf_rao_1.json"
Given configuration file is "common/RaoParameters_maxMargin_megawatt.json"
When I launch search_tree_rao
Then its security status should be "SECURED"
- And the worst margin is 224.0 MW
- And the margin on cnec "FFR1AA1 FFR2AA1 1 - preventive" after PRA should be 224.0 MW
+ And the worst margin is 219.0 MW
+ And the margin on cnec "FFR1AA1 FFR2AA1 1 - preventive" after PRA should be 219.0 MW
And the tap of PstRangeAction "PRA_PST_BE" should be -16 in preventive
@fast @rao @mock @ac @preventive-only @loopflow
@@ -21,7 +21,7 @@ Feature: US 7.9: Linear RAO with loopflow limitation
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic7/crac_lf_rao_1.json"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_10_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_ac_lf_false_10_100.json"
When I launch loopflow search_tree_rao with default loopflow limit as 10.0 percent of pmax
Then the worst margin is 198.0 MW
And the margin on cnec "FFR1AA1 FFR2AA1 1 - preventive" after PRA should be 198.0 MW
@@ -44,7 +44,7 @@ Feature: US 7.9: Linear RAO with loopflow limitation
Given network file is "common/TestCase12Nodes.uct"
Given crac file is "epic7/crac_lf_rao_1.json"
Given Glsk file is "common/glsk_lots_of_lf_12nodes.xml"
- Given configuration file is "epic7/RaoParameters_maxMargin_mw_ac_lf_false_10_100.json"
+ Given configuration file is "epic7/RaoParameters_maxMargin_ac_lf_false_10_100.json"
When I launch loopflow search_tree_rao with default loopflow limit as 5.0 percent of pmax
Then the worst margin is 166.0 MW
And the margin on cnec "FFR1AA1 FFR2AA1 1 - preventive" after PRA should be 166.0 MW
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic8_core_d2_io/US8_3.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic8_core_d2_io/US8_3.feature
index ad613c151e..b7b6cba4b6 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic8_core_d2_io/US8_3.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic8_core_d2_io/US8_3.feature
@@ -10,5 +10,5 @@ Feature: US 8.3: Handle elementName tag
Given network file is "epic8/US2-3-case1-elementName.uct" for CORE CC
Given crac file is "epic8/12nodes_pst_topo_frm_cbcora_elementName.xml"
When I launch search_tree_rao at "2019-01-08 12:00"
- Then the value of the objective function after CRA should be 24.0
+ Then the value of the objective function after CRA should be 44.0
Then the margin on cnec "Cnec1 - preventive" after PRA should be -24.0 MW
\ No newline at end of file
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic8_core_d2_io/US8_5.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic8_core_d2_io/US8_5.feature
index 6b37130fc8..56fc808a85 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic8_core_d2_io/US8_5.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic8_core_d2_io/US8_5.feature
@@ -18,5 +18,5 @@ Feature: US 8.5: Management of FRM during computation
Given network file is "epic2/US2-3-case1-standard.uct" for CORE CC
Given crac file is "epic8/12nodes_pst_topo_frm_cbcora.xml"
When I launch search_tree_rao at "2019-01-08 12:00"
- Then the value of the objective function after CRA should be 24.0
+ Then the value of the objective function after CRA should be 44.0
Then the margin on cnec "Cnec1 - preventive" after PRA should be -24.0 MW
diff --git a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic91_rao_enhancements/US91_11.feature b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic91_rao_enhancements/US91_11.feature
index b09f7554d6..ee290f451d 100644
--- a/tests/src/test/resources/com/powsybl/openrao/tests/features/epic91_rao_enhancements/US91_11.feature
+++ b/tests/src/test/resources/com/powsybl/openrao/tests/features/epic91_rao_enhancements/US91_11.feature
@@ -27,7 +27,7 @@ Feature: US 91.11: optimize computations for SECURE stop criterion
Scenario: US 91.11.3: Skip curative optimization
Given network file is "epic13/TestCase12NodesForCurative.uct"
Given crac file is "epic91/CBCORA_ep91us11case3.xml"
- Given configuration file is "common/RaoParameters_posMargin_megawatt_ac.json"
+ Given configuration file is "common/RaoParameters_posMargin_ac.json"
When I launch search_tree_rao at "2019-01-08 00:30"
Then its security status should be "UNSECURED"
And 0 remedial actions are used in preventive
diff --git a/tests/src/test/resources/files/configurations/common/RaoParameters_posMargin_megawatt_ac.json b/tests/src/test/resources/files/configurations/common/RaoParameters_posMargin_ac.json
similarity index 100%
rename from tests/src/test/resources/files/configurations/common/RaoParameters_posMargin_megawatt_ac.json
rename to tests/src/test/resources/files/configurations/common/RaoParameters_posMargin_ac.json
diff --git a/tests/src/test/resources/files/configurations/epic15/RaoParameters_ep15us11-4.json b/tests/src/test/resources/files/configurations/epic15/RaoParameters_ep15us11-4.json
index 6a481da087..9ff52fcdba 100644
--- a/tests/src/test/resources/files/configurations/epic15/RaoParameters_ep15us11-4.json
+++ b/tests/src/test/resources/files/configurations/epic15/RaoParameters_ep15us11-4.json
@@ -2,7 +2,7 @@
"version" : "2.5",
"objective-function" : {
"type" : "MAX_MIN_MARGIN",
- "curative-min-obj-improvement" : 10000.0,
+ "curative-min-obj-improvement" : 200.0,
"preventive-stop-criterion" : "MIN_OBJECTIVE",
"enforce-curative-security" : false
},
diff --git a/tests/src/test/resources/files/configurations/epic20/RaoParameters_20_4.json b/tests/src/test/resources/files/configurations/epic20/RaoParameters_20_4.json
index d8e801f389..6fc16286b4 100644
--- a/tests/src/test/resources/files/configurations/epic20/RaoParameters_20_4.json
+++ b/tests/src/test/resources/files/configurations/epic20/RaoParameters_20_4.json
@@ -60,7 +60,7 @@
"shuntCompensatorVoltageControlOn" : false,
"readSlackBus" : true,
"writeSlackBus" : true,
- "dc" : false,
+ "dc" : true,
"distributedSlack" : true,
"balanceType" : "PROPORTIONAL_TO_GENERATION_P",
"dcUseTransformerRatio" : true,
diff --git a/tests/src/test/resources/files/configurations/epic5/RaoParameters_maxMargin_absoluteMinImpact195.json b/tests/src/test/resources/files/configurations/epic5/RaoParameters_maxMargin_absoluteMinImpact195.json
index f0fa5bde70..26dc8524a1 100644
--- a/tests/src/test/resources/files/configurations/epic5/RaoParameters_maxMargin_absoluteMinImpact195.json
+++ b/tests/src/test/resources/files/configurations/epic5/RaoParameters_maxMargin_absoluteMinImpact195.json
@@ -60,7 +60,7 @@
"shuntCompensatorVoltageControlOn" : false,
"readSlackBus" : true,
"writeSlackBus" : true,
- "dc" : false,
+ "dc" : true,
"distributedSlack" : true,
"balanceType" : "PROPORTIONAL_TO_GENERATION_P",
"dcUseTransformerRatio" : true,
diff --git a/tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_ac_lf_false_10_100.json b/tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_ac_lf_false_10_100.json
similarity index 100%
rename from tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_ac_lf_false_10_100.json
rename to tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_ac_lf_false_10_100.json
diff --git a/tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json b/tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_ac_lf_false_5_100.json
similarity index 100%
rename from tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_ac_lf_false_5_100.json
rename to tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_ac_lf_false_5_100.json
diff --git a/tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_ac_lf_true_5_100.json b/tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_dc_lf_true_5_100.json
similarity index 99%
rename from tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_ac_lf_true_5_100.json
rename to tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_dc_lf_true_5_100.json
index 9e2f04286a..266e8e83df 100644
--- a/tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_ac_lf_true_5_100.json
+++ b/tests/src/test/resources/files/configurations/epic7/RaoParameters_maxMargin_mw_dc_lf_true_5_100.json
@@ -60,7 +60,7 @@
"shuntCompensatorVoltageControlOn" : false,
"readSlackBus" : true,
"writeSlackBus" : true,
- "dc" : false,
+ "dc" : true,
"distributedSlack" : true,
"balanceType" : "PROPORTIONAL_TO_GENERATION_P",
"dcUseTransformerRatio" : true,
diff --git a/tests/src/test/resources/logback.xml b/tests/src/test/resources/logback.xml
index cb6b9ea36b..8ca2df9347 100644
--- a/tests/src/test/resources/logback.xml
+++ b/tests/src/test/resources/logback.xml
@@ -9,6 +9,6 @@
-
+