Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
a-zakir committed Jan 29, 2025
1 parent 7e6b57e commit 63ddf48
Showing 1 changed file with 30 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -386,22 +386,16 @@ BOOST_FIXTURE_TEST_CASE(MultipleAreasTest, BB)
BOOST_CHECK_EQUAL(builder.data.Sens[3], '>');
}

BOOST_AUTO_TEST_CASE(TestShortTermStorageCumulation)
{
// Setup test data
PROBLEME_HEBDO problemeHebdo;
void setupProblemHebdo(PROBLEME_HEBDO& problemeHebdo,
int numberOfAreas,
int numberOfConstraints,

int numberOfTimeSteps)
{
problemeHebdo.ProblemeAResoudre = std::make_unique<PROBLEME_ANTARES_A_RESOUDRE>();

PROBLEME_ANTARES_A_RESOUDRE& problemeAResoudre = *problemeHebdo.ProblemeAResoudre;

// Initialize problem size
const int numberOfAreas = 2;
const int numberOfConstraints = 10;
const int weekFirstHour = 168; // One week worth of hours

const int numberOfTimeSteps = 24;

// Setup second member vector
problemeAResoudre.SecondMembre.resize(numberOfConstraints, 0.0);
problemeAResoudre.AdresseOuPlacerLaValeurDesCoutsMarginaux.resize(numberOfConstraints, nullptr);
Expand Down Expand Up @@ -454,13 +448,31 @@ BOOST_AUTO_TEST_CASE(TestShortTermStorageCumulation)
{
resultats.CoutsMarginauxHoraires.resize(numberOfTimeSteps, 0.0);
}
//
// // Add initialization for ResultatsContraintesCouplantes
// problemeHebdo.ResultatsContraintesCouplantes.resize(1); // At least one for binding
// constraints problemeHebdo.ResultatsContraintesCouplantes[0].resize(numberOfTimeSteps, 0.0);

// Setup short term storage data
problemeHebdo.ShortTermStorage.resize(numberOfAreas);
problemeHebdo.NombreDePays = numberOfAreas;
problemeHebdo.OptimisationAvecCoutsDeDemarrage = false;
problemeHebdo.NombreDePasDeTempsDUneJournee = 24;
problemeHebdo.NombreDePasDeTempsPourUneOptimisation = 24;
problemeHebdo.NombreDeContraintesCouplantes = 0;
problemeHebdo.NombreDInterconnexions = 0;
problemeHebdo.OptimisationAuPasHebdomadaire = false;
problemeHebdo.YaDeLaReserveJmoins1 = false;
problemeHebdo.weekInTheYear = 0;
}

BOOST_AUTO_TEST_CASE(TestShortTermStorageCumulation)
{
// Setup test data
PROBLEME_HEBDO problemeHebdo;
// Initialize problem size
const int numberOfAreas = 2;
const int numberOfConstraints = 10;

const int numberOfTimeSteps = 24;

setupProblemHebdo(problemeHebdo, numberOfAreas, numberOfConstraints, numberOfTimeSteps);

// Area 0 setup
ShortTermStorage::AREA_INPUT& area0 = problemeHebdo.ShortTermStorage[0];
Expand All @@ -483,34 +495,23 @@ BOOST_AUTO_TEST_CASE(TestShortTermStorageCumulation)
// Area 1 setup
ShortTermStorage::AREA_INPUT& area1 = problemeHebdo.ShortTermStorage[1];
area1.resize(1);
Antares::Data::ShortTermStorage::AdditionalConstraints additionalConstraint1;
Data::ShortTermStorage::AdditionalConstraints additionalConstraint1;
additionalConstraint1.rhs = {5.0, 8.0, 12.0, 15.0}; // RHS values for the first few hours

Antares::Data::ShortTermStorage::SingleAdditionalConstraint constraint1;
Data::ShortTermStorage::SingleAdditionalConstraint constraint1;
constraint1.globalIndex = 2;
constraint1.hours = {1, 2}; // First two hours
additionalConstraint1.constraints.push_back(constraint1);

auto& storage1_area1 = area1[0];
storage1_area1.series = std::make_shared<Antares::Data::ShortTermStorage::Series>();
storage1_area1.series = std::make_shared<Data::ShortTermStorage::Series>();

// Initialize series data for the full year
storage1_area1.series->inflows.resize(HOURS_PER_YEAR, 0.0); // Default inflow value
storage1_area1.series->maxInjectionModulation.resize(HOURS_PER_YEAR, 0.0);
storage1_area1.series->maxWithdrawalModulation.resize(HOURS_PER_YEAR, 0.0);
storage1_area1.additionalConstraints.push_back(additionalConstraint1);

// Setup remaining problem parameters
problemeHebdo.weekInTheYear = 0;
problemeHebdo.NombreDePays = numberOfAreas;
problemeHebdo.OptimisationAvecCoutsDeDemarrage = false;
problemeHebdo.NombreDePasDeTempsDUneJournee = 24;
problemeHebdo.NombreDePasDeTempsPourUneOptimisation = 24;
problemeHebdo.NombreDeContraintesCouplantes = 0;
problemeHebdo.NombreDInterconnexions = 0;
problemeHebdo.OptimisationAuPasHebdomadaire = false;
problemeHebdo.YaDeLaReserveJmoins1 = false;

// Call the function
OPT_InitialiserLeSecondMembreDuProblemeLineaire(&problemeHebdo,
0, // PremierPdtDeLIntervalle
Expand Down

0 comments on commit 63ddf48

Please sign in to comment.