#include "selecteur_thermiques.h" #include #include #include #include #include Selecteur_Thermiques::Selecteur_Thermiques() : Selecteur() { } Selecteur_Thermiques::~Selecteur_Thermiques() { } void Selecteur_Thermiques::setproblemdata() { /* Création des vecteurs de contraintes de clique */ m_cliques.clear(); ajoute_contraintes ( C14, C21 ); /* définition des zones */ m_cplex.addZoneVerticale( string("production=demande"), H()); for (powerplants1_t j=(powerplants1_t)0; jm_cout.v ); // coeff: coût de la production thermique unitaire par semaine / nbre de scenarios // variables associées : énergie produite, continue (entre pmin et pmax) for (powerplants1_t j=(powerplants1_t)0; jm_colonne[h].v ); // production des centrales thermiques par semaine (matrices identité) for (powerplants1_t j=(powerplants1_t)0; jm_i, p, 1 ); /// contraintes de cliques m_cplex.setZoneVerticale( "contraintes de clique" ); m_cplex.setZoneHorizontale( "colonnes nucléaires" ); // partie droite : partie droite de la contrainte de clique // partie gauche : partie gauche de la contrainte de clique size_t c=0 ; for (std::map, double>::iterator it=m_cliques.begin(); it!=m_cliques.end(); c++, it++) { m_cplex.addToRHS( c, CPlexModel::LowerThan, it->second ); for (size_t p=0; pfirst[p] ); } }