#ifndef CPLAN_H #define CPLAN_H #include "../instance/indices.h" #include #include #include struct CNoeud ; // types de campagne de production enum noeud_t { TYPE_PREMIER, TYPE_OUTAGE, TYPE_BO, TYPE_DERNIER } ; #define TYPE(X) (X==TYPE_PREMIER ? "PREMIER" : X==TYPE_OUTAGE ? "OUTAGE" : X==TYPE_BO ? "BO" : X==TYPE_DERNIER ? "DERNIER" : "ERREUR") /** @author Antoine Rozenknop */ struct CPlan { friend std::ostream & operator <<(std::ostream & out, CPlan & plan) ; struct CArc { CArc(const CNoeud & depart, const CNoeud & fin, double _recharge, double _cout, double _reste); noeud_t m_type ; campaign_t m_k ; week_t m_date ; week_t m_date_fin ; double m_recharge ; double m_cout ; double m_reste ; }; CPlan( powerplants2_t i, size_t taille_prod, powerplants2_t nb_centrales); void set_prod( size_t index, double prod ) ; void push_back( const CNoeud & dep, const CNoeud & fin, double _recharge, double _cout_reduit, double _cout, double _reste = -1 ); powerplants2_t m_i ; std::vector m_colonne ; std::vector m_arcs ; double m_cout ; double m_cout_reduit ; double m_reste ; }; std::ostream & operator <<(std::ostream & out, CPlan & plan) ; #endif