Releases: powsybl/powsybl-open-rao
Releases · powsybl/powsybl-open-rao
v4.0.0
Updated supported PowSyBl versions:
PowSyBl core: v4.9.2
PowSyBl GLSK: v1.5.2
PowSyBl Hades2: v3.9.0
RAO
Search Tree
- The RAO now checks if a network action has an impact on the RAO before trying to evaluate it, skipping it if it has no impact (for instance, opening a switch that is already open)
- The search tree will now accept a topological combination that does not increase the cost more than the required amount, but that makes the network secure
CNEC side
- When getting intensity on a CNEC from sensitivity provider, fetch the maximum of both sides
Range action automatons
- The CimCracCreationParameters can now contain a speed used to define how fast automatons act on the network (to be able to define an order of application)
- Range action automatons are now optimized
CRAC object
Angle cnecs
- The CRAC can now contain AngleCnecs and the API to import them has been developped
- The CRAC can now contain OnAngleConstraints
FRM
- FRM has been renamed to reliability margin to make sense for angle cnecs
Bug fixes
CSE CracCreationContext
- Changed branch cnec ID to "branch name - from - to - outage name" for uniqueness
Second preventive
- Fixed a bug where the second preventive hint (trying optimal first preventive topological combination first in second preventive) would not work when the optimal first preventive topological combination only contained one action
CIM CRAC import
- Fixed a bug where contingencies defined on a tie line's half line was not imported
RAO
- Fixed a bug that could cause the whole RAO to fail when one post contingency scenario fails
v3.9.4
v3.9.3
v3.9.2
CRAC object & RAO
OnFlowConstraintInCountry
- It is now possible to use the new usage rule "OnFlowconstraintInCountry". A remedial action with this usage rule will be available if any flow CNEC in this country is overloaded. This implementation is more user-friendly and memory-friendly than the previous one, where it was necessary to create one OnFlowConstraint usage rule for every flow CNEC in the country.
- The CRAC JSON format has been updated accordingly
- The RAO has been updated accordingly
- The CSE CRAC creator has been updated accordingly
CSE CRAC format
XSD
- A new xsd version is used (4.22)
OnFlowConstraintInCountry
- The CSE CRAC creator has been updated to use the new OnFlowConstraintInCountry usage rule (when reading a SharedWith tag), instead of creating one OnFlowConstraint for every flow CNEC in the country
CIM CRAC format
Aligned range actions
- It is now possible to define an extra parameter when calling the CIM CRAC creator, to define aligned range actions (such rules cannot be defined in the native CIM format)
HVDC remedial actions
- HVDC remedial actions are now imported from CIM CRAC
Specific usage rules
- Remedial actions available OnFlowConstraint for a specific CNEC are now imported
- Remedial actions available OnFlowConstraintInCountry for a specific country are now imported
- Remedial actions defined in multiple locations of the CRAC file are now supported, they are merged into one FARAO remedial actions, with all the defined usage rules
Bug fixes
Null operator
- Search-tree bloomer no longer fails when remedial actions have a null operator
v3.9.1
v3.9.0
Breaking changes
- Farao now uses OR-Tools 9, update your application accordingly
- Two new parameters allow fine-tuning the second preventive RAO (see following sections)
RAO
Global 2nd preventive optimization
- It is now possible to optimize all PSTs (preventive and curative) during the second preventive RAO, at once.
- Activate this feature using the new parameter: global-opt-in-second-preventive
2nd preventive hint from 1st preventive
- It is now possible to use the result of the 1st preventive RAO as a hint for the 2nd preventive RAO.
- This adds a network action combination to test at the first depth of the 2nd preventive RAO, possibly improving the performance of the search-tree.
- Activate this feature using the new parameter: second-preventive-hint-from-first-preventive
Forced network actions
- It is now possible to force the usage of network actions if they are available.
- Use the new newOnStateUsageRule() method on the remedial action, coupled with a FORCED usage method.
CRAC
CIM CRAC
A new CRAC importer has been implemented for the CIM format. This importer actually handles importing:
- Contingencies
- Flow CNECs
- All topological range actions (OnFlowConstraint usage rules are not yet handled)
- PST range actions (OnFlowConstraint usage rules are not yet handled)
Bug fixes
Improving perimeters with virtual costs
- When a perimeter only has MNECs, the functional cost is now finitely negative (instead of zero) so that there is no ambiguity with a perimeter with a zero margin on CNECs.
- When a perimeter is purely virtual, the search tree now does not stop until it has eliminated all virtual cost. This prevents the RAO from stopping prematurely while it could have eliminated a virtual cost.
v3.8.0
General
- Updated to PowSyBl 4.7.0
CRAC creator API
- Added a branch helper for cgmes networks, mainly to help with tie lines.
CRAC export
- New CNE exporter for CORE region
Remedial actions optimization
- In order to respect the maximum number of RAs to use, the implementation now uses a MIP approach instead of the sensitivity heuristic. This allows a more optimal solution.
- Relative margin now uses a MIP approach too, and does not need a big coefficient. This allows a more optimal solution.
- Previously, in relative margin mode, when the margin was positive, the sensitivity threshold was divided by the sum of PTDFs. Now the sensitivity threshold is considered as is, in oder to keep the same approximation of the flows, whatever the PTDF sum, so that all loop-flows are estimated in a consistent way.
Bug fixes
- Minor bug fixes and improvements in logging
v3.7.1
V3.7.0
Release Note
CRAC object model
- CSE CRAC model has been updated to the latest version (xsd 4.21)
GLSK
- Hybrid GLSK (proportional / reserve blocks) are now handled by FARAO
Remedial action optimization
- When RAO stop criterion is "SECURE", curative RAO is not conducted anymore if the preventive result is not secure. This helps save time when the objective is not attained.
- Curative perimeters with only "unoptimized" CNECs now have a finite functional cost (instead of -infinity), allowing them to better be optimized
Bug fixes
- Logs have been corrected to better print infinite values and some annoying logs have been demoted to technical logs
- Sensitivity provider parameter is now taken into account in second preventive RAO
- Rounding issues, preventing PSTs in some cases from attaining their min/max allowable tap positions, have been corrected
- CSE CRAC creator now ignores empty remedial actions instead of failing
- A bug in GLSK reserve blocks imports has been fixed
V3.6.0
Release Note
CRAC object model
- addition of a new type of RangeAction, the InjectionRangeAction. This new RangeAction acts on a set of Injections (Loads of Generators), proportionally to given distribution keys. It could notably be used to model remedial actions on HVDCs in UCTE convention
- addition of adders, adaptation of JSON i/o for this new RangeAction
- adaptation of the RAO and the RaoResult to take into account this new RangeAction
CRAC creation
- Adaptation of the CSE Crac Creator, which now creates an InjectionRangeAction instead of the HvdcRangeAction
- Addition of the farao-crac-creator-fb-constraint, with the creation of a CRAC from a fb-constraint file
RAO features
- Improvement of the logs of the RAO, logging of
business logs
,business warns
andtechnical logs
in separates channels. - possibility to add in the RaoParameters the name of the sensitvityAnalysis implementation to be used by the RAO
- If stop criterion is 'SECURE', the search-tree now gets interrupted within a depth as soon as it finds a secure solution. Reproducibility of this behaviour is ensured, even in multi-threaded mode.
Breaking change
- CRAC API: change of the import path of the classes related to Ranges
- CRAC API: modification of the newHvdcRange(), for the more generic newRange() method
- CRAC JSON: new version, with addition of InjectionRangeAction
- RaoResult JSON: new version, with standardization of HvdcRangeAction and InjectionRangeAction results into a same dedicated field
- RaoParameters : new parameters
injection-ra-penalty-cost
,injection-ra-sensitivity-threshold
,sensitivity-provider