From 8b88344aa34c2710dc64c803c2caaf1d747fcdba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Omn=C3=A8s?= Date: Mon, 30 Jan 2023 16:53:45 +0100 Subject: [PATCH] Release 8.5.0 (#1130) * change RC number * change beta release number * unit test for CSR-calculateAreaFlowBalance * small refacto * unit test bug fix * 4. remove unused * 6.1 MemAllocMemset * 5. remove return * 3. remove debug log * 2. move to csr * 1. refacto * 6.2 hide column * 6.2 * 3. move log * 3. move log.. * clean * small fix year count * hot start * relax var bounds * remove ENS <= densNew constraint, set as var bound * remove set values to NaN if csr solver fails * relax bining constrains for csr solver * make csr crash log more expressive * clean some logs * beta 3 -> beta 4 * wrong relaxation of bc - bug fix * logg out triggered csr hours * refacto 1e-3 * logg out csr warnings - refacto * update antares output dens value * more expressive log * update dens and use it as pto * dont include linear cost coeff - temporary beta6 only * beta5->beta6 * 10. bring back type of var to origin quad solver - mistake * 2. remove default values for the solver accuracy * change function name to ADQ_PATCH_CSR * 6. remove comments * 7. remove nused transport cost * 9. remove comments * 11. refacto - int NumberOfVariables * 8. remove NomDeLaContrainte * bring back linear hurdle costs * set to zero ENS & spillage if below threshold (avoid LOLP=100% dummy values) * small refacto * 4. make subfunction CSR_DEBUG_BLAH * 1. move csr problem functions to separate directory * 12. Add "Include hurdle cost" false/true button * refacto avoid bugs * refacto avoid bugs * refacto bugs * Fix build Rename LinkCapacityForAdequacyPatchFirstStep -> ntcSetToZeroStatus_AdqPatchStep1 * 1. Make NumberOfVariables a reference var * change function name CSR_DEBUG_ * 3. test Probleme.ExistenceDUneSolution directly * 2. Slightly clearer version * 4. make hoursRequiringCurtailmentSharing const var * 5. avoid cast sumENS[i] to int! * 17. move default thresholds to adequacy_patch.h * 20. use A.size() in addArray function * 19. create dedicated method solveCSR * 7. name change * 8. make methods of AdequacyPatchOptimization private * 11. 14. 16 delete unused logs * 9. delete forward declaration of HOURLY_CSR_PROBLEM * 15. remove Double definition. * 12. 13 update copyright & Authors for adq-patch files * make solveCSR private method * use auto instead of std::unique_ptr * float->double * remove saveIntermediateResults * code smells parameters.cpp * critical-CodeSmell-adequacy_patch.cpp * critical-codeSmells- set_problem_cost.cpp * info-CodeSmell - remove todo-s * CodeSmells - global var should be const * NULL->nullptr * use default destructor * protected->private in adq-patch-area-grid.h * use default constructor in adequacy-patch-areas * Add the "explicit" keyword to AdequacyPatchAreas constructor * NULL->nullptr in adequacy-patch-options.cpp * = default, AdequacyPatchOptions * Add the "explicit" keyword to AdequacyPatchOptions constructor * Remove these useless parentheses * Remove these useless parentheses * Remove the unused parameter "weekNb", * Move these 4 #include directives to the top of the file * declaration shadows a local variable * Value stored to 'ProblemeAResoudre' is never read * function should be declared "const" * Use "std::make_unique" to construct "std::unique_ptr * Value stored to 'out' during its initialization is never read * major-CodeSmells-adequacy-patch-options.cpp * remove "never read" variables * const& buttonType in updateButton * Replace this "enum" with "enum class" AdqPatchPTO * double*->const double* in addArray * MinorCodeSmell-s construct_LHS * MinorCodeSmell-s construct_RHS * MinorCodeSmell-s construct_variables * MinorCodeSmell-s cost_function * MinorCodeSmell-s set_var_bounds * MinorCodeSmell-s solve_problem * MinorCodeSmell-s economy.cpp * Remove redundant public access specifier * Remove this redundant access specifier * MinorCodeSmell-s adq-patch-unit-tests * Concatenate namespace with the nested ones. * Use "override" or "final" instead of "virtual". * Remove public redundant access specifier; * MinorCodeSmell-s adequacy-patch-areas.h * Concatenate namespace with the nested ones. * Make the type of auto& study ; a reference-to-const * MinorCodeSmell-s AdequacyPatchOptions * "not"-> "!" , "and"-> "&&" * Add adequacy-patch CSR study format changes (#817) * beta 7 * create GUI for csr var relax button * connect GUI to logic * threshold e-3 >e-5 * fix (GUI wont pass smaller than 10^-6) * Value stored to 'PaliersThermiquesDuPays' is never read * "std::string" -> "std::string_view" * make getHoursRequiringCurtailmentSharing const method * remove unused var * assign ProblemeAResoudre properly * Reporting of DENS_new in GUI result for all hours * Check CSR cost-fun-value prior&after CSR-opt - GUI * refacto due to pre-calculating dens_new for all hours prior to csr optim * add "SpilledenergyAfterCSR" column * TODO: densNewValues * Correction of MRG.PRICE Price Cap in hours LOLE>0.5 after CSR * refacto "DENS_new" parameter calc, same thing at the end!? * add DTG. MRG INT/FIN columns to GUI * copy-paste spilled Energy values into spilled Energy values after CSR prior to CSR * Check CSR cost value prior to and after - UNTESTED * refacto on DTG MRG CSR columns GUI * change log to info in "Check CSR cost value" * test implementation csr fun cost prior/after * refacto LMR violations according to the agreement with Daniel + clean * csr-postProcess - adjust ENS value and calc dtgMrgCsr * small refacto * refacto - adjust mrgPrice after caclulating dtgMrgCsr and new Ens * log update * refacto setToZeroIfBelowThreshold * update/refacto log csr-solver * refacto logs @ solve_problem.cpp * typo * beta7 -> beta8 * add prefix [adq-patch] to info logs * move adqPatchPostProcess after HydroRemix * refactor + change - storeOrDisregardInteriorPointResults * beta 9.1 * refactor solveCSR * add "- dtgMrg" to densNew formula * beta 10 * fix error * update 13-file-format.md for adq-patch CSR * update 14-adequacy-patch.md for adq-patch CSR * change CSR objective function (Elia) * change CSR objective function (Elia) - doc update * beta11 * change CSR objective function (Elia) - doc update * 14-adq-patch-doc-bug fix (unrecognized characters) * 14-adq-patch-doc-bug fix (unrecognized characters)-2 * Fix build (linking KO b/c of missing functions) * Fix build * Apply clang-format * [UI] Fix build * Fix code smells reported as bugs * Use BOOST_CHECK_EQUAL to check equality (#1056) To display a more expressive error message in case of failure, for example src/tests/src/solver/optimisation/adequacy_patch.cpp(481): error: in "calculateAreaFlowBalanceForOneTimeStep_outside_inside_IncludeOut_negativeFlow_initEnsEqualTo0": check densNew == 0.1 has failed [0 != 0.10000000000000001] * Adequacy patch refactoring (#962) * [FIX] Refactored var names * [REFAC] Changed class and var names in economy.h/cpp * [REFAC] More correction of PR 903 * Fix build after rebase Co-authored-by: Florian OMNES * Refactor adq patch (part 2) (#964) * [FIX] Refactored var names * [REFAC] Changed class and var names in economy.h/cpp * [REFAC] More correction of PR 903 * Fix build after rebase * Refactor adq patch (by gp) : lowering the solvers dependence to "state" * Refactor adq patch (by gp) : lowering the solvers dependence to "state" (part 2) * Refactor adq patch (by gp) : remove solveCSR from classic optimization problem * Restore function setBoundsAdqPatch * Fix build Co-authored-by: Vincent Payet Co-authored-by: Florian OMNES * Adequacy patch : refactor economy (weekly optimization) (#968) * [FIX] Refactored var names * [REFAC] Changed class and var names in economy.h/cpp * [REFAC] More correction of PR 903 * Fix build after rebase * Refactor adq patch (by gp) : lowering the solvers dependence to "state" * Refactor adq patch (by gp) : lowering the solvers dependence to "state" (part 2) * Refactor adq patch (by gp) : remove solveCSR from classic optimization problem * Refactor adq patch (by gp) : correction after merge (to get compilation done) * adq patch - refactor economy : renaming * adq patch - refactor economy : define a weekyOptimization for each problemeHebdo * solveCSR => implementation in separate file * adq patch - refactor economy : correction to avoid conflict in the next merge * adq patch - refactor economy : move declaration of class interfaceWeeklyOptimization in a new file * adq patch - refactor economy : extract weekly optimization classes in separate source files * adq patch - refactor economy : correction due to review * adq patch - refactor economy : remove useless function arguments due to sonar review * Fix build * Restore function setBoundsAdqPatch * Add virtual dtors * Remove useless return statement * Nested namespaces, formatting * Make protected members const Co-authored-by: Vincent Payet Co-authored-by: Florian OMNES * Adequacy patch : refactor curtailment sharing (#971) * Adequacy patch CSR - final (#958) * change origin/extremityAreaType to AreaMode * refacto function SetNTCForAdequacyFirstStep * LinkCapacityForAdqPatchFirstStepFromAreaOutsideToAreaInsideAdq name change * name change for LinkCapacityForAdequacyPatchFirstStep * remove returnNTC form adq functions. * remove unnecessary break * make readAdqPatchMode function * make ini file more expressive * remove additional check for ini file * refacto * make version 8.3.0 * Revert "make version 8.3.0" * fix * fix * synchronize names setToZeroNTCfrom.. * synchronize names pBtn... * synchronize adequacy-patch-options.cpp * synchronize names adqm.. * synchronize names AreaType to AreaMode * synchronize names LinkCapacity.. * synchronize name physicalAreaInsideAdqPatch * 1. do not modify Yuni library * 3. AdequacyPatchPTO name change * 3. update * 2-8. replace seeds with two thresholds * 9. resetAdqPatchParameters * 10. re-name lmrViolations.h * 25-26. re-name AdequacyPatchConfigure to AdequacyPatchOptions * 27. cellValue change * 28. is already implemented + small refacto * small refacto * 29. updateButton function * 13. renaming * 14. refactoring * 15. remove redundancy * 16. refactoring * 20. separate LHS to functions * 20. separate RHS to functions * clean * 23. separate Costs into functions * 22. separate Bounds into functions * 21. separate Construction of variables into functions * 19. separate quad-solver into sub-functions * 11. separate getHoursRequiringCurtailmentSharing into two sub-functions * 17+18+24. make OPT_ functions private methods and make public run method * clean * clean * clean * 0 as a default value, and (value > threshold) * 4. add else if for AdqPatchPTO::isDens * bring back some debugg logs for easy result check * 2. make calculateCsrParameters method of HOURLY_CSR_PROBLEM * clean * 1. use std::vector for sumENS * 9. repack CSR ui input data in parameters.h * 8. placing all functions inside adequacy_patch.h to namespace Adequcy patch * 7. re-pack CSR run into weeklyOptProblem->solve method * adopt RTE syntax for switch/case * remove comments * change RC number * change beta release number * unit test for CSR-calculateAreaFlowBalance * small refacto * unit test bug fix * 4. remove unused * 6.1 MemAllocMemset * 5. remove return * 3. remove debug log * 2. move to csr * 1. refacto * 6.2 hide column * 6.2 * 3. move log * 3. move log.. * clean * small fix year count * hot start * relax var bounds * remove ENS <= densNew constraint, set as var bound * remove set values to NaN if csr solver fails * relax bining constrains for csr solver * make csr crash log more expressive * clean some logs * beta 3 -> beta 4 * wrong relaxation of bc - bug fix * logg out triggered csr hours * refacto 1e-3 * logg out csr warnings - refacto * update antares output dens value * more expressive log * update dens and use it as pto * dont include linear cost coeff - temporary beta6 only * beta5->beta6 * 10. bring back type of var to origin quad solver - mistake * 2. remove default values for the solver accuracy * change function name to ADQ_PATCH_CSR * 6. remove comments * 7. remove nused transport cost * 9. remove comments * 11. refacto - int NumberOfVariables * 8. remove NomDeLaContrainte * bring back linear hurdle costs * set to zero ENS & spillage if below threshold (avoid LOLP=100% dummy values) * small refacto * 4. make subfunction CSR_DEBUG_BLAH * 1. move csr problem functions to separate directory * 12. Add "Include hurdle cost" false/true button * refacto avoid bugs * refacto avoid bugs * refacto bugs * Fix build Rename LinkCapacityForAdequacyPatchFirstStep -> ntcSetToZeroStatus_AdqPatchStep1 * 1. Make NumberOfVariables a reference var * change function name CSR_DEBUG_ * 3. test Probleme.ExistenceDUneSolution directly * 2. Slightly clearer version * 4. make hoursRequiringCurtailmentSharing const var * 5. avoid cast sumENS[i] to int! * 17. move default thresholds to adequacy_patch.h * 20. use A.size() in addArray function * 19. create dedicated method solveCSR * 7. name change * 8. make methods of AdequacyPatchOptimization private * 11. 14. 16 delete unused logs * 9. delete forward declaration of HOURLY_CSR_PROBLEM * 15. remove Double definition. * 12. 13 update copyright & Authors for adq-patch files * make solveCSR private method * use auto instead of std::unique_ptr * float->double * remove saveIntermediateResults * code smells parameters.cpp * critical-CodeSmell-adequacy_patch.cpp * critical-codeSmells- set_problem_cost.cpp * info-CodeSmell - remove todo-s * CodeSmells - global var should be const * NULL->nullptr * use default destructor * protected->private in adq-patch-area-grid.h * use default constructor in adequacy-patch-areas * Add the "explicit" keyword to AdequacyPatchAreas constructor * NULL->nullptr in adequacy-patch-options.cpp * = default, AdequacyPatchOptions * Add the "explicit" keyword to AdequacyPatchOptions constructor * Remove these useless parentheses * Remove these useless parentheses * Remove the unused parameter "weekNb", * Move these 4 #include directives to the top of the file * declaration shadows a local variable * Value stored to 'ProblemeAResoudre' is never read * function should be declared "const" * Use "std::make_unique" to construct "std::unique_ptr * Value stored to 'out' during its initialization is never read * major-CodeSmells-adequacy-patch-options.cpp * remove "never read" variables * const& buttonType in updateButton * Replace this "enum" with "enum class" AdqPatchPTO * double*->const double* in addArray * MinorCodeSmell-s construct_LHS * MinorCodeSmell-s construct_RHS * MinorCodeSmell-s construct_variables * MinorCodeSmell-s cost_function * MinorCodeSmell-s set_var_bounds * MinorCodeSmell-s solve_problem * MinorCodeSmell-s economy.cpp * Remove redundant public access specifier * Remove this redundant access specifier * MinorCodeSmell-s adq-patch-unit-tests * Concatenate namespace with the nested ones. * Use "override" or "final" instead of "virtual". * Remove public redundant access specifier; * MinorCodeSmell-s adequacy-patch-areas.h * Concatenate namespace with the nested ones. * Make the type of auto& study ; a reference-to-const * MinorCodeSmell-s AdequacyPatchOptions * "not"-> "!" , "and"-> "&&" * beta 7 * create GUI for csr var relax button * connect GUI to logic * threshold e-3 >e-5 * fix (GUI wont pass smaller than 10^-6) * Value stored to 'PaliersThermiquesDuPays' is never read * "std::string" -> "std::string_view" * make getHoursRequiringCurtailmentSharing const method * remove unused var * assign ProblemeAResoudre properly * Reporting of DENS_new in GUI result for all hours * Check CSR cost-fun-value prior&after CSR-opt - GUI * refacto due to pre-calculating dens_new for all hours prior to csr optim * add "SpilledenergyAfterCSR" column * TODO: densNewValues * Correction of MRG.PRICE Price Cap in hours LOLE>0.5 after CSR * refacto "DENS_new" parameter calc, same thing at the end!? * add DTG. MRG INT/FIN columns to GUI * copy-paste spilled Energy values into spilled Energy values after CSR prior to CSR * Check CSR cost value prior to and after - UNTESTED * refacto on DTG MRG CSR columns GUI * change log to info in "Check CSR cost value" * test implementation csr fun cost prior/after * refacto LMR violations according to the agreement with Daniel + clean * csr-postProcess - adjust ENS value and calc dtgMrgCsr * small refacto * refacto - adjust mrgPrice after caclulating dtgMrgCsr and new Ens * log update * refacto setToZeroIfBelowThreshold * update/refacto log csr-solver * refacto logs @ solve_problem.cpp * typo * beta7 -> beta8 * add prefix [adq-patch] to info logs * move adqPatchPostProcess after HydroRemix * refactor + change - storeOrDisregardInteriorPointResults * beta 9.1 * refactor solveCSR * add "- dtgMrg" to densNew formula * beta 10 Co-authored-by: hugo-antoine-rtei <73881097+hugo-antoine-rtei@users.noreply.github.com> Co-authored-by: rtei-pw Co-authored-by: rtei-pw Co-authored-by: Florian OMNES Co-authored-by: Hugo ANTOINE (RTEi) * [FIX] FIx compile error * [FIX] Refactored var names * [REFAC] Changed class and var names in economy.h/cpp * [REFAC] More correction of PR 903 * Refactor adq patch (by gp) : lowering the solvers dependence to "state" * Refactor adq patch (by gp) : lowering the solvers dependence to "state" (part 2) * Refactor adq patch (by gp) : correction after merge (to get compilation done) * adq patch - refactor economy : renaming * Refactor adq patch (by gp) : remove solveCSR from classic optimization problem * adq patch - refactor economy : define a weekyOptimization for each problemeHebdo * adq patch - refactor economy : correction to avoid conflict in the next merge * adq patch - refactor economy : move declaration of class interfaceWeeklyOptimization in a new file * adq patch - refactor economy : extract weekly optimization classes in separate source files * adq patch - refactor economy : correction due to review * adq patch - refactor economy : remove useless function arguments due to sonar review * adq patch - refactor csr : simplify and remove useless things * adq patch - refactor csr : split adequacy_patch.h/.cpp into local matching and curtailment sharing sources files * Clean up headers Co-authored-by: Milos <97689304+Milos-RTEi@users.noreply.github.com> Co-authored-by: hugo-antoine-rtei <73881097+hugo-antoine-rtei@users.noreply.github.com> Co-authored-by: rtei-pw Co-authored-by: rtei-pw Co-authored-by: Florian OMNES Co-authored-by: Hugo ANTOINE (RTEi) Co-authored-by: Vincent Payet * Adequacy patch vincent final (#1087) * [FIX] Namespace concatenation in src/solver/simulation/ * [DEV] Moved reset csr and lm in dedicated structs * [DEV] Create class CsrQuadraticProblem and moved functions in * [DEV] Refactored functions in CsrQuadraticProblem class * [DEV] FIx reference * Pass hourlyCsrProblem.hourInWeekTriggeredCsr, not hourlyCsrProblem * Nested namespaces * Fix build, use non-const ref in class `CsrQuadraticProblem` * [DEV] Concatenate namespace before merge Co-authored-by: Florian OMNES * Remove state from interpolateWaterValue * [DEV] Concatenate namespace done (#1094) * Check for incompatible hurdle cost options (#1096) * [DEV] Add rte banner in files missing it (#1097) * [FIX] Adequacy code smells (#1100) * [FIX] First batch of code smell * [FIX] More smell fixes * [FIX] Fix nested if and fort * [FIX] Remove using Antares::Data::AdequacyPatch and solved compiles errors related * [FIX] More code smells * [FIX] Compile errors * [FIX] Clarify condition * [CSR] Clarify implicit var convention (#1095) * CSR : clarify implicit convention on variable numbers for links * CSR: clarify debug logs * Renaming after PR remarks * Pass hour instead of hourlyCsrProblem (#1098) * Pass hour instead of hourlyCsrProblem * Pass int for hour instead of a struct containing it * move calculation of LMR violations from CSR source file to adq patch weekly problem (#1102) * Move var declaration to right scope (#1103) * [FIX] Move var declaration to right scope * Fix infinite loop, possible other bug (#1107) * Preparatory refactor to use own instance of PROBLEME_A_RESOUDRE (#1099) * Simplify UtiliserLaToleranceDAdmissibiliteParDefaut, etc. * Use PROBLEME_POINT_INTERIEUR for calculateCsrCostFunctionValue * Pass hour instead of HOURLY_CSR_PROBLEM& * Use PROBLEME_POINT_INTERIEUR for CSR_DEBUG_HANDLE, handleInteriorPointError * PR remarks (use ref on object, not unique_ptr) * Rename HOURLY_CSR_PROBLEM -> HourlyCSRProblem * Apply clang-format * Move files * Move csr_quadratic_problem.h,cpp * Remove unused fwd declaration * Don't instantiate HourlyCSRProblem for every hour, setHour instead * Rename OPT_ConstruireLaMatriceDesContraintesDuProblemeQuadratique_CSR * Use std::vector::data instead of malloc/free * Some renaming * Add forgotten '{' * Use our own instance of `PROBLEME_ANTARES_A_RESOUDRE` (#1105) * Simplify UtiliserLaToleranceDAdmissibiliteParDefaut, etc. * Use PROBLEME_POINT_INTERIEUR for calculateCsrCostFunctionValue * Pass hour instead of HOURLY_CSR_PROBLEM& * Use PROBLEME_POINT_INTERIEUR for CSR_DEBUG_HANDLE, handleInteriorPointError * PR remarks (use ref on object, not unique_ptr) * Rename HOURLY_CSR_PROBLEM -> HourlyCSRProblem * Apply clang-format * Move files * Move csr_quadratic_problem.h,cpp * Remove unused fwd declaration * Don't instantiate HourlyCSRProblem for every hour, setHour instead * Rename OPT_ConstruireLaMatriceDesContraintesDuProblemeQuadratique_CSR * Use std::vector::data instead of malloc/free * Some renaming * Use our own instance of PROBLEME_ANTARES_A_RESOUDRE * Refactor 2 more functions OPT_InitialiserLeSecondMembreDuProblemeQuadratique_CSR OPT_ConstruireLaListeDesVariablesOptimiseesDuProblemeQuadratique_CSR * Use reference instead of raw pointer * Extract allocation function for PROBLEME_ANTARES_A_RESOUDRE * Use std::fill_n instead of memset * PR remark * Extract OPT_FreeOptimizationData * Handle memory allocation/deallocation * UpperCamelCase for some classes, move sources to adequacy_patch_csr (#1108) * [FIX] UpperCamelCase for some classes * [FIX] Moved csr files in adequacy_patch_csr/ * [FIX] Swap DefaultWeeklyOptimization WeeklyOptimization names * [FIX] Add Antares::Data::Optimization namespace * Remove `OPT_*_CSR` functions (#1111) * Remove OPT_*_CSR functions * Rename hourInWeekTriggeredCsr -> triggeredHour * Fix regression related to while loop and unitialized quadratic costs (#1112) * Fix regression related to while loop * Fix 2nd regression related to unitialized quadratic cost * Fix build after merge * Fix a few more code smells (#1113) * Fix a few code smells * Apply clang-format * Remove unused function ResetButtonSpecify * Code smells (#1114) * [FIX] Code smells * Temporarily disable all release tests * Use simtest v8.5.0b * Version++, RC=1 * Fix version 8.5 * Add TODO in changelog * Move "older versions" comment * Update VCPKG cache key * Update version here and there * RC=2 * Update changelog * Remove useless file * Remove useless file (bis) * RC=3 * Fix tests --------- Co-authored-by: Milos <97689304+Milos-RTEi@users.noreply.github.com> Co-authored-by: Milos A Co-authored-by: rtei-pw Co-authored-by: Hugo ANTOINE (RTEi) Co-authored-by: hugo-antoine-rtei <73881097+hugo-antoine-rtei@users.noreply.github.com> Co-authored-by: payetvin <113102157+payetvin@users.noreply.github.com> Co-authored-by: guilpier-code <62292552+guilpier-code@users.noreply.github.com> Co-authored-by: Vincent Payet Co-authored-by: rtei-pw --- .github/workflows/ubuntu.yml | 16 +++++++-------- .github/workflows/windows-release.yml | 3 +-- docs/CHANGELOG.md | 11 ++++++++++ docs/reference-guide/13-file-format.md | 13 ++++++++++++ sonar-project.properties | 2 +- src/CMakeLists.txt | 8 ++++---- src/libs/antares/study/version.cpp | 20 +++++++++++++------ src/libs/antares/study/version.h | 4 +++- .../opt_appel_solveur_quadratique.cpp | 2 +- vcpkg_manifest/vcpkg.json | 2 +- 10 files changed, 57 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 591d497948..d1f77af3c8 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -139,14 +139,6 @@ jobs: path: 'simtest.json' prop_path: 'version' - - name: Run tests for adequacy patch (CSR) - if: ${{ env.IS_PUSH == 'true' }} - uses: ./.github/workflows/run-tests - with: - simtest-tag: ${{steps.simtest-version.outputs.prop}} - batch-name: adequacy-patch-CSR - os: ${{ matrix.test-platform }} - - name: Run tests about infinity on BCs RHS if: ${{ env.IS_PUSH == 'true' }} uses: ./.github/workflows/run-tests @@ -171,6 +163,14 @@ jobs: batch-name: valid-mps os: ${{ matrix.test-platform }} + - name: Run tests for adequacy patch (CSR) + if: ${{ env.IS_RELEASE == 'true' }} + uses: ./.github/workflows/run-tests + with: + simtest-tag: ${{steps.simtest-version.outputs.prop}} + batch-name: adequacy-patch-CSR + os: ${{ matrix.test-platform }} + - name: Run medium-tests if: ${{ env.IS_RELEASE == 'true' }} uses: ./.github/workflows/run-tests diff --git a/.github/workflows/windows-release.yml b/.github/workflows/windows-release.yml index ed39bc80f3..07190e3135 100644 --- a/.github/workflows/windows-release.yml +++ b/.github/workflows/windows-release.yml @@ -59,7 +59,7 @@ jobs: # The key includes: hash of the vcpkg.json file, the hash of the vcpkg Git commit id, and the used vcpkg's triplet. The vcpkg's commit id would suffice, but computing an hash out it does not harm. # Note: given a key, the cache content is immutable. If a cache entry has been created improperly, in order the recreate the right content the key must be changed as well, and it must be brand new (i.e. not existing already). key: | - ${{ hashFiles( 'vcpkg_manifest/vcpkg.json' ) }}-${{ hashFiles( '.git/modules/vcpkg/HEAD' )}}-${{ matrix.triplet }}-invalidate + ${{ hashFiles( 'vcpkg_manifest/vcpkg.json' ) }}-${{ hashFiles( '.git/modules/vcpkg/HEAD' )}}-${{ matrix.triplet }} - name: Setup Python 3.11 uses: actions/setup-python@v4 @@ -150,7 +150,6 @@ jobs: prop_path: 'version' - name: Run tests for adequacy patch (CSR) - if: ${{ env.IS_PUSH == 'true' }} uses: ./.github/workflows/run-tests with: simtest-tag: ${{steps.simtest-version.outputs.prop}} diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index d67cd1dfb4..fb095aef93 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,17 @@ Antares Changelog ================= +v8.5.0-rc2 (01/2022) +-------------------- +* Re-publish of v8.5.0-rc1. + +v8.5.0-rc1 (01/2022) +-------------------- +## New features +* Hydraulic patch (#697) +* Curtailment sharing rule for Adequacy Patch (#1062) + + v8.4.2 (01/2022) -------------------- diff --git a/docs/reference-guide/13-file-format.md b/docs/reference-guide/13-file-format.md index c60592fe27..8c2a3a19cc 100644 --- a/docs/reference-guide/13-file-format.md +++ b/docs/reference-guide/13-file-format.md @@ -36,10 +36,23 @@ In existing section `optimization`, remove property `include-split-exported-mps` #### Result format In file **settings/generaldata.ini**, in existing section `output`, add property `result-format` [str]. Default value = `txt-files`. If this property is set to `zip`, all results are written into a single zip archive, instead of multiple files. +In file **settings/generaldata.ini**, in section `adequacy patch`, add properties + +* `price-taking-order` [Enum[isDens = 0, isLoad = 1]]. Default value = `isDens` +* `include-hurdle-cost-csr` [bool]. Default value = `false` +* `check-csr-cost-function` [bool]. Default value = `false` +* `threshold-initiate-curtailment-sharing-rule` [double]. Default value = `0.0` +* `threshold-display-local-matching-rule-violations` [double]. Default value = `0.0` +* `threshold-csr-variable-bounds-relaxation` [int]. Default value = `3` + ### Output #### Result format If property `output/result-format` is set to `zip`, all results are stored in a single archive. The hierarchy within this archive remains identical, for example **economy/mc-all/areas/**. Otherwise, txt files are created like in previous versions. +* If `include-adq-patch` is set to `true`, add column `LMR VIOL.` in files **values-<period>.txt** (mc-all & mc-ind) +* If `include-adq-patch` is set to `true`, add column `SPIL. ENRG. CSR` in files **values-<period>.txt** (mc-all & mc-ind) +* If `include-adq-patch` is set to `true`, add column `DTG MRG CSR` in files **values-<period>.txt** (mc-all & mc-ind) + ## v8.3.2 ### Writing MPS files MPS files of first optimization used to be overwritten by MPS files of second optimization. Not anymore. diff --git a/sonar-project.properties b/sonar-project.properties index da34c616f7..7765f91c72 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,7 +1,7 @@ sonar.projectName=Antares_Simulator sonar.projectKey=AntaresSimulatorTeam_Antares_Simulator sonar.organization=antaressimulatorteam -sonar.projectVersion=8.4.2 +sonar.projectVersion=8.5.0 # ===================================================== # Properties that will be shared amongst all modules diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index aed9236665..071d13994d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,9 +2,9 @@ cmake_minimum_required(VERSION 3.14) # FetchContent_MakeAvailable # Version set(ANTARES_VERSION_HI 8) -set(ANTARES_VERSION_LO 4) -set(ANTARES_VERSION_REVISION 2) -set(ANTARES_VERSION_YEAR 2022) +set(ANTARES_VERSION_LO 5) +set(ANTARES_VERSION_REVISION 0) +set(ANTARES_VERSION_YEAR 2023) project(antares VERSION ${ANTARES_VERSION_HI}.${ANTARES_VERSION_LO}.${ANTARES_VERSION_REVISION}) @@ -15,7 +15,7 @@ set(ANTARES_ONLINE_DOC "https://antares-simulator.readthedocs.io/") # Beta release set(ANTARES_BETA 0) -set(ANTARES_RC 0) +set(ANTARES_RC 3) # OR-Tools tag file(READ "../ortools_tag" ORTOOLS_TAG) diff --git a/src/libs/antares/study/version.cpp b/src/libs/antares/study/version.cpp index dd4c047d8e..c405d9d6e8 100644 --- a/src/libs/antares/study/version.cpp +++ b/src/libs/antares/study/version.cpp @@ -97,7 +97,9 @@ const char* VersionToCStr(const Version v) switch (v) { case versionFutur: - return ">8.4"; + return ">8.5"; + case version850: + return "8.5"; case version840: return "8.4"; case version830: @@ -108,14 +110,14 @@ const char* VersionToCStr(const Version v) return "8.1"; case version800: return "8.0"; + + // older versions case version720: return "7.2"; case version710: return "7.1"; case version700: return "7.0"; - - // older versions case version650: return "6.5"; case version640: @@ -182,7 +184,9 @@ const wchar_t* VersionToWStr(const Version v) switch (v) { case versionFutur: - return L">8.3"; + return L">8.5"; + case version850: + return L"8.5"; case version840: return L"8.4"; case version830: @@ -193,14 +197,14 @@ const wchar_t* VersionToWStr(const Version v) return L"8.1"; case version800: return L"8.0"; + + // older versions case version720: return L"7.2"; case version710: return L"7.1"; case version700: return L"7.0"; - - // older versions case version650: return L"6.5"; case version640: @@ -266,6 +270,8 @@ Version VersionIntToVersion(uint version) // The list should remain ordered in the reverse order for performance reasons switch (version) { + case 850: + return version850; case 840: return version840; case 830: @@ -276,6 +282,8 @@ Version VersionIntToVersion(uint version) return version810; case 800: return version800; + + // older versions case 720: return version720; case 710: diff --git a/src/libs/antares/study/version.h b/src/libs/antares/study/version.h index 97da56c23b..80c155ed07 100644 --- a/src/libs/antares/study/version.h +++ b/src/libs/antares/study/version.h @@ -114,6 +114,8 @@ enum Version version830 = 830, //! Study version 8.4 version840 = 840, + //! Study version 8.5 + version850 = 850, // see versionLatest below // Constants @@ -125,7 +127,7 @@ enum Version enum { //! The latest version - versionLatest = version840, + versionLatest = version850, }; /*! diff --git a/src/solver/optimisation/opt_appel_solveur_quadratique.cpp b/src/solver/optimisation/opt_appel_solveur_quadratique.cpp index ba9063e954..509a8854e3 100644 --- a/src/solver/optimisation/opt_appel_solveur_quadratique.cpp +++ b/src/solver/optimisation/opt_appel_solveur_quadratique.cpp @@ -173,4 +173,4 @@ bool OPT_AppelDuSolveurQuadratique(PROBLEME_ANTARES_A_RESOUDRE* ProblemeAResoudr return false; } -} +} \ No newline at end of file diff --git a/vcpkg_manifest/vcpkg.json b/vcpkg_manifest/vcpkg.json index 48e01e8003..15837160b1 100644 --- a/vcpkg_manifest/vcpkg.json +++ b/vcpkg_manifest/vcpkg.json @@ -1,6 +1,6 @@ { "name": "antares-simulator", - "version-string": "8.3.1", + "version-string": "8.5.0", "dependencies": [ "wxwidgets", "boost-test"