Skip to content

Commit

Permalink
Use reference for variable `NbTermesContraintesPourLesCoutsDeDemarrag…
Browse files Browse the repository at this point in the history
…e` (#1881)

Instead of a raw pointer that ignores the constness of `PROBLEME_HEBDO`.
  • Loading branch information
flomnes authored Jan 19, 2024
1 parent 34b868c commit b774fdc
Show file tree
Hide file tree
Showing 10 changed files with 19 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ namespace Antares::Solver::Optimization
class CsrQuadraticProblem
{
public:
CsrQuadraticProblem(const PROBLEME_HEBDO* p, PROBLEME_ANTARES_A_RESOUDRE& pa, HourlyCSRProblem& hourly) :
CsrQuadraticProblem(PROBLEME_HEBDO* p, PROBLEME_ANTARES_A_RESOUDRE& pa, HourlyCSRProblem& hourly) :
problemeHebdo_(p), problemeAResoudre_(pa), hourlyCsrProblem_(hourly)
{
}

void buildConstraintMatrix();

private:
const PROBLEME_HEBDO* problemeHebdo_;
PROBLEME_HEBDO* problemeHebdo_;
PROBLEME_ANTARES_A_RESOUDRE& problemeAResoudre_;
HourlyCSRProblem& hourlyCsrProblem_;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ void ConsistenceNumberOfDispatchableUnits::add(int pays, int index, int pdt)
}
else
{
*builder.data.NbTermesContraintesPourLesCoutsDeDemarrage += 4;
builder.data.NbTermesContraintesPourLesCoutsDeDemarrage += 4;
builder.data.nombreDeContraintes++;
}
}
2 changes: 1 addition & 1 deletion src/solver/optimisation/constraints/ConstraintBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ class ConstraintBuilderData
const std::vector<const char*>& NomsDesPays;
const uint32_t& weekInTheYear;
const uint32_t& NombreDePasDeTemps;
uint32_t* NbTermesContraintesPourLesCoutsDeDemarrage = nullptr;
uint32_t& NbTermesContraintesPourLesCoutsDeDemarrage;
};

/*! \verbatim
Expand Down
2 changes: 1 addition & 1 deletion src/solver/optimisation/constraints/MinDownTime.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ void MinDownTime::add(int pays, int index, int pdt)
}
else
{
*builder.data.NbTermesContraintesPourLesCoutsDeDemarrage
builder.data.NbTermesContraintesPourLesCoutsDeDemarrage
+= 1 + DureeMinimaleDArretDUnGroupeDuPalierThermique;
builder.data.nombreDeContraintes++;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ void NbDispUnitsMinBoundSinceMinUpTime::add(int pays, int index, int pdt)
}
else
{
*builder.data.NbTermesContraintesPourLesCoutsDeDemarrage
builder.data.NbTermesContraintesPourLesCoutsDeDemarrage
+= 1 + 2 * DureeMinimaleDeMarcheDUnGroupeDuPalierThermique;
builder.data.nombreDeContraintes++;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ void NbUnitsOutageLessThanNbUnitsStop::add(int pays, int index, int pdt)
}
else
{
*builder.data.NbTermesContraintesPourLesCoutsDeDemarrage += 2;
builder.data.NbTermesContraintesPourLesCoutsDeDemarrage += 2;
builder.data.nombreDeContraintes++;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ void PMaxDispatchableGeneration::add(int pays, int index, int pdt)
}
else
{
*builder.data.NbTermesContraintesPourLesCoutsDeDemarrage += 2;
builder.data.NbTermesContraintesPourLesCoutsDeDemarrage += 2;
builder.data.nombreDeContraintes++;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ void PMinDispatchableGeneration::add(int pays, int index, int pdt)
}
else
{
*builder.data.NbTermesContraintesPourLesCoutsDeDemarrage += 2;
builder.data.NbTermesContraintesPourLesCoutsDeDemarrage += 2;
builder.data.nombreDeContraintes++;
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#include "constraint_builder_utils.h"

ConstraintBuilderData NewGetConstraintBuilderFromProblemHebdoAndProblemAResoudre(
const PROBLEME_HEBDO* problemeHebdo,
PROBLEME_ANTARES_A_RESOUDRE& ProblemeAResoudre)
ConstraintBuilderData NewGetConstraintBuilderFromProblemHebdoAndProblemAResoudre(PROBLEME_HEBDO* problemeHebdo,
PROBLEME_ANTARES_A_RESOUDRE& ProblemeAResoudre)
{
return {ProblemeAResoudre.Pi,
ProblemeAResoudre.Colonne,
Expand All @@ -24,5 +23,5 @@ ConstraintBuilderData NewGetConstraintBuilderFromProblemHebdoAndProblemAResoudre
problemeHebdo->NomsDesPays,
problemeHebdo->weekInTheYear,
problemeHebdo->NombreDePasDeTemps,
nullptr};
}
problemeHebdo->NbTermesContraintesPourLesCoutsDeDemarrage};
}
17 changes: 6 additions & 11 deletions src/solver/optimisation/constraints/constraint_builder_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@
#include "ConstraintBuilder.h"
#include <memory>

ConstraintBuilderData NewGetConstraintBuilderFromProblemHebdoAndProblemAResoudre(
const PROBLEME_HEBDO* problemeHebdo,
PROBLEME_ANTARES_A_RESOUDRE& ProblemeAResoudre);
ConstraintBuilderData NewGetConstraintBuilderFromProblemHebdoAndProblemAResoudre(PROBLEME_HEBDO* problemeHebdo,
PROBLEME_ANTARES_A_RESOUDRE& ProblemeAResoudre);

inline ConstraintBuilderData NewGetConstraintBuilderFromProblemHebdoAndProblemAResoudre(
const PROBLEME_HEBDO* problemeHebdo,
std::unique_ptr<PROBLEME_ANTARES_A_RESOUDRE>& ProblemeAResoudre)
inline ConstraintBuilderData NewGetConstraintBuilderFromProblemHebdoAndProblemAResoudre(PROBLEME_HEBDO* problemeHebdo,
std::unique_ptr<PROBLEME_ANTARES_A_RESOUDRE>& ProblemeAResoudre)
{
/* not good!!!!!!!!!!*/
auto& problemAResoudreRef = *ProblemeAResoudre.get();
Expand All @@ -19,9 +17,6 @@ inline ConstraintBuilderData NewGetConstraintBuilderFromProblemHebdoAndProblemAR
inline ConstraintBuilderData NewGetConstraintBuilderFromProblemHebdo(PROBLEME_HEBDO* problemeHebdo)
{
auto& ProblemeAResoudre = problemeHebdo->ProblemeAResoudre;
auto data = NewGetConstraintBuilderFromProblemHebdoAndProblemAResoudre(problemeHebdo,
ProblemeAResoudre);
data.NbTermesContraintesPourLesCoutsDeDemarrage
= &problemeHebdo->NbTermesContraintesPourLesCoutsDeDemarrage;
return data;
return NewGetConstraintBuilderFromProblemHebdoAndProblemAResoudre(problemeHebdo,
ProblemeAResoudre);
}

0 comments on commit b774fdc

Please sign in to comment.