#ifndef CDUALCPLEXSCENARIO_H #define CDUALCPLEXSCENARIO_H #include #include #include /** @author Antoine Rozenknop */ class CDualCplexScenario : public CDualCalc { public: CDualCplexScenario(scenario_t, bool internal_silent, bool silent, bool writeToFile); ~CDualCplexScenario(); virtual std::vector< euros_par_kWh > calculeDuals() const; virtual void ajoutcolonne(CPlan* cplan); /// retrait d'un plan de production nucléaire virtual void retraitColonne(const CPlan* cplan); void set_dates_ref(const std::vector > & dates_ref) {m_dates_ref = dates_ref;} virtual void ajoute_thermiques(); virtual void ajoute_contraintes(); virtual void ajoute_deltas(); virtual std::vector getReducedCosts() const; virtual std::vector getResults() const; /// récupère la valeur de la fonction objectif virtual double getObjectiveValue() const ; /// récupère les valeurs des duales corresponant aux contraintes 14 à 21 /// et les stocke dans les contraintes virtual void collecte_duales_14_a_21() const; std::pair,std::vector> getDualsDates(powerplants2_t i); std::vector> getMoyenneDates(); void set_name(std::string s) {m_cplex->set_name(s);} protected: CPlexMutable * m_cplex ; scenario_t m_s; std::vector > m_dates_ref ; // dates de références passées par le maître ("a barre" du papier) }; #endif