✨ New Features
MARMOT time-coupled module: handle new MIP constraints and make computation faster with multithreading
- Handle new MIP generator constraints, by @bqth29 #1528 and @Godelaine #1642 #1643
- Add
LazyNetworkimplementation for a more efficient memory management
Computation unit aligned with objective function:
Flows and sensitivity coefficients will be computed in the same unit as the objective function and LP model will be adapted accordingly to avoid sub-optimal roundings. This will force to align the computation unit with the load flow mode: AC -> A / DC -> MW.
- Allow loopflow computation in A, by @RoxaneChen02 #1550
- Allow PTDF computation in A , by @RoxaneChen02 #1544
- Align MIP unit with objective function unit, by @RoxaneChen02 #1570
- Forbid RAO in AC/MW, by @RoxaneChen02 #1582
Multithreading sensitivity computations
CRAC creation
- New crac importer to create CRAC from network automatically, by @pet-mit #1612 #1638
- Range Type available for all range actions by @phiedw #1672
Handle German point-to-point HVDC equivalent model
- Import of German HVDC equivalent model from Core input files, by @vbochetRTE #1627
- Update CNE export with German HVDC equivalent elements, by @vbochetRTE #1653
Handle max-ra-usage-limitation with multi-curative optimization in 2P
- Introduce the cumulative effect of the RA limitation in the multi-curative optimization in 2P, by @RoxaneChen02 #1617
♻️ Refactoring
- Simplify cost evaluation to make it faster, by @phiedw #1575
- Rename intertemporal to time-coupled, by @bqth29 #1625
- Clean up pom files and remove deprecated method calls, by @pet-mit #1634
- Remove max-tso limit and update CRAC version to v2.10 @RoxaneChen02 #1663
- Add side when checking flow value, by @RoxaneChen02 #1572
- Remove unit from objective function parameters, bump rao parameter version 3.2.1 -> 3.3 , by @RoxaneChen02 #1594
💾 Data I/O
- Read lead time, lag time and pMin in ICS importer, by @bqth29 #1613
- Update reason code and text in SWE CNE, by @kahyami #1651
- Filter out zero limits in CBCORA reader, by @RoxaneChen02 #1601
- Check for temporary/permanent limits before falling back to default in CBCORA reader, by @phiedw #1610
- Remove non-null constraint for NodeName in VirtualHubs importer, by @vbochetRTE #1635
🐞 Bug Fixes
- Enable to define a custom ComputationManager parameter for angle and voltage monitoring, by @vbochetRTE #1574
- Fix HVDC sign convention management, by @RoxaneChen02 #1577
- Forbid DC computation with HVDC in AC emulation mode, by @RoxaneChen02 #1593
- Modify getComputationStatus to only check states with flowCnecs, by @phiedw #1611
- Skip PST iteration if no PST is optimised in MIP, by @pet-mit #1621
- Use all CNECs for the full objective function used in MARMOT (including curative), by @phiedw #1624
- Set systematic sensitivity result status to success if at least one perimeter succeeds, by @phiedw #1631
- Fix inconsistent RA activation condition, by @RoxaneChen02 #1630
- Consider contingencies with same content (ID and elements) but different implementations as equal, by @pet-mit #1637
- Restrict CNEC monitoring to preventive and last curative states, in monitoring and result serialisation, by @RoxaneChen02 #1605
📄 Documentation
🗂️ Miscellaneous, performance and repository quality
- Add AssertJ Core dependency, by @vbochetRTE #1571
- Add third-party license files, by @rolnico #1595
- Downgrade OR-tools version, by @pet-mit #1650
- Adapt code base to new checkstyle, by @phiedw #1636
- Remove old XSD files from FlowBasedConstraintDocument in the importer, by @vbochetRTE #1599
- Remove unnecessary future in PostPerimeterSensitivityAnalysis, by @RoxaneChen02 #1585
- Remove useless leaf re-evaluation during 2P, by @RoxaneChen02 #1597
Tests
- Add missing search-tree-rao tag in cucumber tests, by @RoxaneChen02 #1600
- Fix monitoring tests by using a countDownLatch, by @vbochetRTE #1578
- Fix MARMOT export RaoResult step for cucumber tests, by @RoxaneChen02 #1576
- Setup of uber-jar for open-rao-tests, by @danielthirion #1516
- Refactor and enhance the cucumber tests, by @terriervik #1603 #1656 #1662
- Add test for shorter time gaps in GeneratorConstraintsFiller, by @Godelaine #1623
- Add voltage monitoring cucumber test, by @RoxaneChen02 #1606
- Add test to dev max RA usage limit in 2P and curative, by @RoxaneChen02 #1616
- Add HVDC test with activation of AC emulation but not HVDC range action, by @RoxaneChen02 #1583
🚀 Bumped Dependencies
| Dependency | Version |
|---|---|
powsybl-core |
7.2.0 |
powsybl-entsoe |
3.2.0 |
powsybl-open-loadflow |
2.2.0 |
⚠️ Breaking changes migration guide
- Bump rao parameter from 3.2.1 to 3.3 : remove "unit" field.
- Use "time-coupled" objects rather than "intertemporal" wording
max-tsousage limit is no longer supported from JSON CRAC version 2.10 onwards- danglingLineActions must be replaced by boundaryLineActions from JSON CRAC version 2.10 onwards