Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refs/heads/feature/reserve model lot2 scalian #2506

Closed
wants to merge 109 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
e43dd6f
Add reserves as NewReserve type as Reserve type already existed
h-fournier Mar 19, 2024
383ec23
Merge remote-tracking branch 'rte/develop' into feature/reserve_model…
h-fournier Mar 19, 2024
1272341
A clusterReserveParticipation is now associated to a cluster and not …
h-fournier Mar 22, 2024
9c9587d
Merge remote-tracking branch 'rte/develop' into feature/reserve_model…
h-fournier Mar 22, 2024
8909410
Added the loading of reserve chronicles as time series
sylvmara Mar 25, 2024
f455f4d
Loading reserves into the problem hebdo
sylvmara Mar 28, 2024
70ea5bd
New naming + internal review
h-fournier Apr 2, 2024
28208e6
Adding the first constraint (16bis) and counting the number of reserv…
sylvmara Apr 8, 2024
95d3ff1
Implementation of the linear problem matrix for the reserves, for coh…
sylvmara Apr 11, 2024
85ec9fb
Add variables to take into account the participation to reserves from…
h-fournier Apr 16, 2024
199b78e
Implement equation 17 bis
h-fournier Apr 17, 2024
b021930
Fix cluster index
h-fournier Apr 18, 2024
1a9b819
Clean code duplication
h-fournier Apr 18, 2024
9eaeeaa
Implement equation 17 quater
h-fournier Apr 18, 2024
a635acc
Implement equation 24
h-fournier Apr 19, 2024
e1a6613
Adjusting constraint 24, added global reserve index for index uniform…
sylvmara Apr 24, 2024
2840e41
Implementing reserve costs for excess and failure
sylvmara Apr 24, 2024
0a91049
Adding reserve participation costs
sylvmara Apr 25, 2024
f429eac
Fix include
h-fournier Apr 29, 2024
3761e7c
Fix variable initialization and counting variables
h-fournier Apr 30, 2024
4de9dc7
Fix ClusterParticipationIndex
h-fournier May 6, 2024
7a6238c
Correct number of terms for reserve constraints and renaming of varia…
sylvmara May 13, 2024
3670324
Add NeedReserve name using the variableNamer
h-fournier May 13, 2024
f3096b3
Fix counting nbTermes for equation 24
h-fournier May 13, 2024
85f3dcd
Multiple fixes
h-fournier May 15, 2024
6f11633
Fix missing a max boundary initialization
h-fournier May 15, 2024
df30984
Work on retrocompatibility
h-fournier May 16, 2024
ebbaa11
Add constraint 17 ter : Power output is bounded by must-run commitmen…
h-fournier May 17, 2024
1d7dbcd
Add Reserve cost :
h-fournier May 29, 2024
aa3807a
Working outputs to the ui for reservation costs overall and by cluste…
sylvmara Jun 5, 2024
299664d
Hiding outputs for clusters when reserves are not activated
sylvmara Jun 6, 2024
be5d670
Added reserves outputs as files for unsupplied, spillage costs and re…
sylvmara Jun 12, 2024
50d661d
Solved bug where need values for reserves were repeating
sylvmara Jun 13, 2024
0bb5a73
Removed bug index for cluster reserve participation
sylvmara Jun 17, 2024
1fbd4cf
Add a colomn for each each cluster participation to reserves to the o…
h-fournier Jun 21, 2024
60eff8e
Add a column for each group fo each reserve for the participation to …
h-fournier Jun 24, 2024
e7ea4b3
Added outputs for spilled and unsupplied volumes into the interface a…
sylvmara Jun 24, 2024
8cfba68
Rename VCardReserveParticipationUnsuppliedSpilled.h to vCardReservePa…
sylvmara Jun 26, 2024
502207c
Changeed the cmake list in order to pass the CI
sylvmara Jun 26, 2024
5c27d68
Fixed bugs in indexes of reserves participations
sylvmara Jul 1, 2024
af6acc8
fix bugs related to the use of reserves with different areas.
bencamus Jul 8, 2024
377a131
complement of bug fixing related to the use of the reserves with seve…
bencamus Jul 9, 2024
be85e72
Load ShortTerm Storage Reserve Participation into the problem
h-fournier Jul 12, 2024
fe1479e
CapacityReservation with template to deal with thermal clusters or Sh…
h-fournier Jul 17, 2024
5ecf704
Implementation of equations 15(k) and 15(l)
h-fournier Jul 17, 2024
3d86906
Implementation of equations 15(m), 15(n), 15(o) and 15(p)
h-fournier Jul 18, 2024
a6d0e6c
Complete the equations 24 by adding the participation of the short te…
h-fournier Jul 18, 2024
9ca64ec
Small bug fix, big change incoming.
h-fournier Jul 19, 2024
36cb290
Refactor Capacity Reservations structures to hold both thermal and sh…
h-fournier Jul 19, 2024
7ea3613
Fix creation of the variables for the reserves
h-fournier Jul 19, 2024
6c73745
Continued fix
h-fournier Jul 19, 2024
6f03e66
Continued fix + add bounds
h-fournier Jul 23, 2024
a164492
Add Short Term Reserve Participation cost to the operational cost
h-fournier Jul 23, 2024
8d0e978
Merging develop into reservesd lot 1
sylvmara Jul 24, 2024
9f1d36a
Corrected merge bugs and applied format-code
sylvmara Jul 24, 2024
0a45d9c
Rename thermal spilled and unspilled reserves into spilled or unspill…
h-fournier Jul 25, 2024
1e9c7b6
Output reserve participation by short term storage
h-fournier Jul 25, 2024
13ed16e
Output reserve participation by short term storage group
h-fournier Jul 26, 2024
96b85b0
Bug correction for indexes of clusters with no reserves participations
sylvmara Aug 7, 2024
74730ec
add participation hydro aux reserves, exception a gerer
VincentPeron-dev Aug 9, 2024
27e7f43
add long term reserve participation to eco pb
VincentPeron-dev Aug 19, 2024
9a53215
Merge branch 'feature/reserve_model_lot2_scalian' of https://github.c…
VincentPeron-dev Aug 19, 2024
7c453bf
Housekeeping: Clean up debugging artifacts
VincentPeron-dev Aug 21, 2024
368bbd1
Add reserve participation of off units in thermal clusters and its ou…
h-fournier Aug 23, 2024
1f0eb02
add card and vcard, no output yet, exeception surveyResult
VincentPeron-dev Aug 29, 2024
cdb0a30
add equation 15, pb cd compilation+ exception outputs
VincentPeron-dev Aug 30, 2024
57dccaa
minor correction: ne compile pas chez moi
VincentPeron-dev Aug 30, 2024
2225459
merge all.h Merge branch 'feature/reserve_model_lot2_scalian' of htt…
VincentPeron-dev Aug 30, 2024
72cea83
LTStorage implementation with outputs
h-fournier Sep 9, 2024
78292bf
Merge branch 'feature/reserve_model_lot1_scalian' into feature/reserv…
h-fournier Sep 9, 2024
3f94c75
replace LonTerm by hydro continuing fix of duplicated data
h-fournier Sep 17, 2024
001f883
Continue fix and complete outputs for LongTerm Storage participation …
h-fournier Sep 17, 2024
52bb617
Add LTStorage participation cost to operating cost
h-fournier Sep 18, 2024
e79821e
Continue fix
h-fournier Sep 19, 2024
c8db22e
Fix continue
h-fournier Sep 20, 2024
51df46e
Clean code
h-fournier Sep 20, 2024
5b22c91
Some fix related to the deletion of so condution before building cons…
h-fournier Oct 11, 2024
bce2257
Correcting bug with the initialisation of hydro costs
sylvmara Oct 16, 2024
33a0e9c
Corrected a bug with the reset of clusters after each year on outputs…
sylvmara Oct 21, 2024
b3dbd57
fix issue with accesses to All...ReserveParticipation using clusterId…
h-fournier Oct 25, 2024
688d3c9
Fix issue strange behaviour with multiple thermal clusters and reserves
h-fournier Oct 25, 2024
7ad09d5
Fix enabled/disabled cluster
h-fournier Oct 25, 2024
4aa1a89
fix using enum not supported by g++10
h-fournier Oct 28, 2024
61da385
continue fix
h-fournier Oct 28, 2024
e2d5eb2
continue fix CI linux build
h-fournier Oct 28, 2024
63ecd53
Fix
h-fournier Oct 28, 2024
24048fb
Merge remote-tracking branch 'rte/release/9.3.x' into feature/reserve…
h-fournier Oct 29, 2024
b62e684
Fix
h-fournier Oct 29, 2024
2387087
Fix
h-fournier Oct 29, 2024
1c94357
fix to pass the CI tests
h-fournier Oct 30, 2024
6b4a1c1
Fix load area
h-fournier Oct 30, 2024
0c9eca8
fix bug occuring when not all the thermal clusters are participating …
bencamus Nov 6, 2024
d031b91
remove duplicate code caused by merge error
bencamus Nov 6, 2024
5de9853
Work in progress : fixed bugs on loading empty reserves and on hydro …
sylvmara Nov 7, 2024
98fab55
Correcting bug in cases of multiple hydro reserves
sylvmara Nov 13, 2024
65d2843
Correcting constraint implemented but not counted when no cluster are…
sylvmara Nov 14, 2024
d8e5806
Merge remote-tracking branch 'rte/feature/reserve_model_lot2_scalian'…
h-fournier Nov 25, 2024
b4e646f
Fix pdt issue
h-fournier Nov 29, 2024
9c3a50a
Typo Fix pdt issue
h-fournier Nov 29, 2024
f3edc0e
Corrected a bug where part of the reserves were transmitted from one …
sylvmara Dec 4, 2024
d05df33
Fix issue with multiple areas when exporting results with participati…
h-fournier Dec 9, 2024
45073bf
typo
h-fournier Dec 9, 2024
b16f18d
Logs warnings instead of crashing when the bimap is empty when in sho…
sylvmara Dec 11, 2024
80e6f34
Added failsafe for hydro reserves bimap
sylvmara Dec 11, 2024
55a216c
Ignores reserves when thermal cluster is mustrun, but puts a warning
sylvmara Dec 11, 2024
5d1c1ff
Modified the girt properties to build on centos
sylvmara Dec 12, 2024
6cb7587
Modified the centos build on the CI
sylvmara Dec 12, 2024
9a3998c
Fix/centos build (#2509) (#2510)
a-zakir Dec 4, 2024
c40619e
IS_RELEASE true to publish assets
h-fournier Dec 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Implement equation 17 quater
  • Loading branch information
h-fournier committed Apr 18, 2024
commit 9eaeeaa5f75c043fa0fcf13712c8d734e0327693
2 changes: 2 additions & 0 deletions src/solver/optimisation/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ set(RTESOLVER_OPT
constraints/PMaxReserve.cpp
include/antares/solver/optimisation/constraints/POutCapacityThreasholds.h
constraints/POutCapacityThreasholds.cpp
include/antares/solver/optimisation/constraints/PRunningUnits.h
constraints/PRunningUnits.cpp

include/antares/solver/optimisation/ProblemMatrixEssential.h
ProblemMatrixEssential.cpp
Expand Down
46 changes: 46 additions & 0 deletions src/solver/optimisation/constraints/PRunningUnits.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#include "antares/solver/optimisation/constraints/PRunningUnits.h"

void PRunningUnits::add(int pays, int reserve, int cluster, int pdt, bool isUpReserve)
{
if (!data.Simulation)
{
// 17 Quater
// Participation to the reserve is bounded for a cluster
// constraint : P - P^on = 0
// P : Participation power
// P^on : Participation of running units

CAPACITY_RESERVATION capacityReservation
= isUpReserve
? data.areaReserves.thermalAreaReserves[pays].areaCapacityReservationsUp[reserve]
: data.areaReserves.thermalAreaReserves[pays].areaCapacityReservationsDown[reserve];

RESERVE_PARTICIPATION reserveParticipation
= capacityReservation.AllReservesParticipation[cluster];

int globalClusterIdx = data.thermalClusters[pays]
.NumeroDuPalierDansLEnsembleDesPaliersThermiques[cluster];

builder.updateHourWithinWeek(pdt)
.RunningClusterReserveParticipation(globalClusterIdx, 1.0)
.ClusterReserveParticipation(globalClusterIdx, -1.0)
.equalTo();

if (builder.NumberOfVariables() > 0)
{
ConstraintNamer namer(builder.data.NomDesContraintes);
const int hourInTheYear = builder.data.weekInTheYear * 168 + pdt;
namer.UpdateTimeStep(hourInTheYear);
namer.UpdateArea(builder.data.NomsDesPays[pays]);
namer.PMaxReserve(builder.data.nombreDeContraintes,
reserveParticipation.clusterName,
capacityReservation.reserveName);
}
builder.build();
}
else
{
builder.data.NbTermesContraintesPourLesReserves += 1;
builder.data.nombreDeContraintes++;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ void ReserveParticipationGroup::BuildConstraints()
{
auto data = GetReserveDataFromProblemHebdo();
PMaxReserve pMaxReserve(builder_, data);
PRunningUnits pRunningUnits(builder_,data);

for (int pdt = 0; pdt < problemeHebdo_->NombreDePasDeTempsPourUneOptimisation; pdt++)
{
Expand All @@ -66,6 +67,9 @@ void ReserveParticipationGroup::BuildConstraints()
{
// 16 bis
pMaxReserve.add(pays, reserve, cluster, pdt, true);

// 17 quater
pRunningUnits.add(pays, reserve, cluster, pdt, true);
}
cluster++;
}
Expand Down Expand Up @@ -105,6 +109,7 @@ void ReserveParticipationGroup::BuildConstraints()
for (int cluster = 0; cluster < PaliersThermiquesDuPays.NombreDePaliersThermiques;
cluster++)
{
// 17 bis
pOutCapacityThreasholds.add(pays, cluster, pdt);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#pragma once
#include "ConstraintBuilder.h"

/*!
* represent 'PRunningUnits' Constraint type
*/
class PRunningUnits : private ConstraintFactory
{
public:
PRunningUnits(ConstraintBuilder& builder, ReserveData& data) :
ConstraintFactory(builder), data(data)
{
}

/*!
* @brief Add variables to the constraint and update constraints Matrix
* @param pays : area
* @param reserve : capacity reservation
* @param isUpReserve : true if ReserveUp, false if ReserveDown
* @param cluster : global index of the cluster
* @param pdt : timestep
*/
void add(int pays, int reserve, int cluster, int pdt, bool isUpReserve);

private:
ReserveData& data;
};
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include "ConstraintGroup.h"
#include "PMaxReserve.h"
#include "POutCapacityThreasholds.h"
#include "PRunningUnits.h"

/**
* @brief Group of reserve constraints
Expand Down
Loading