powsybl / powsybl-open-rao

A toolbox based on powsybl framework dedicated to power systems coordinated capacity calculation and security analysis projects
Mozilla Public License 2.0
17 stars 6 forks source link

Add RA usage limit on the number of applicable elementary actions per TSO #1009

Closed bqth29 closed 4 months ago

bqth29 commented 6 months ago

Please check if the PR fulfills these requirements

What kind of change does this PR introduce? This PR introduced a new RA usage limit called max-elementary-actions-per-tso. An elementary action is defined as follows:

For CSA, TSOs may want to limit the number of elementary actions they will use for curative remedial actions.

"ra-usage-limits-per-instant" : [ {
    "instant": "preventive",
    "max-elementary-actions-per-tso" : {"TSO": 3}
} ]

In this example, the TSO can apply at most 3 elementary actions during the preventive optimization. This may be for example:

⚠️ Warning: To use this RA usage limit, the "pst-model" RAO parameter must be set to "APPROXIMATED_INTEGERS" because this constraint would be intractable if PSTs were modelled using continuous values.

What is the new behavior (if this is a feature change)? The limit has been defined in the CRAC API and the CRAC creation parameters. In the optimization, this limit is a constraint that appears both in the search tree bloomer (for network actions) and in the linear programming model (for PSTs' taps).

Does this PR introduce a breaking change or deprecate an API?