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 @@ - +