#ifndef FILTRE_AVAL_H #define FILTRE_AVAL_H #include #include #include #include #include class CPlan; struct detailProdParScenario { std::vector > prod_nucleaire ; // taille I() std::vector > stock ; // taille I() std::vector > prod_thermique ; // taille J() std::vector prod_nucleaire_totale; // taille T() std::vector prod_thermique_totale; // taille T() euros costPourScenario ; }; class FiltreAval { protected: std::map annuaireColonnesSelectionnees ; std::vector m_plans ; public : std::vector reponse ; std::vector > recharges ; // taille I() euros valeurObjectif ; FiltreAval(); virtual euros calcule_solution(std::vector x, double prev_recharges=-1, bool multithread = false); virtual ~FiltreAval() {} void printOutput(std::ofstream& ofs, time_t heureDebut); void exportePlans(); }; /** * Retourne le numéro de la centrale correspondant à la colonne fournie en argument */ powerplants2_t col2powerplant2(const std::vector& colonne); /** * Prend un nombre, et l'imprime ajoutant des 0 si nécessaires au début */ std::string printIntSurDeuxChiffres(int chiffre); std::string printIntSurQuatreChiffres(int chiffre); #endif