#include "cplan.h" #include "cgraphe.h" #include #include using namespace std ; CPlan::CArc::CArc(const CNoeud & depart, const CNoeud & fin, double _recharge, double _cout, double _reste) { m_type = depart.m_type ; m_k = depart.m_campaign ; m_date = depart.m_date ; m_date_fin = fin .m_date ; m_recharge = _recharge ; m_cout = _cout ; m_reste = _reste ; } CPlan::CPlan( powerplants2_t i, size_t taille_prod, powerplants2_t nb_centrales) { m_colonne = std::vector( taille_prod + nb_centrales, 0 ); m_colonne[ taille_prod + i ] = 1 ; m_i = i ; for (week_t h=(week_t)0; h<(week_t)taille_prod; ++h) m_colonne[h] = EMAX(m_i, h); m_cout_reduit = 0 ; m_cout = 0 ; m_reste = 0 ; } void CPlan::set_prod( size_t index, double prod ) { m_colonne[index] = prod ; } void CPlan::push_back( const CNoeud & dep, const CNoeud & fin, double _recharge, double _cout_reduit, double _cout, double _reste ) { m_arcs.push_back(CArc(dep, fin, _recharge, _cout, _reste)); m_cout_reduit += _cout_reduit ; m_cout += _cout ; m_reste = _reste ; if (fin.m_type==TYPE_DERNIER) m_cout -= (CiTp1(m_i)*_reste); } ostream & operator <<(ostream & out, CPlan & plan) { out << "***** Plan de production de la centrale " << (int) plan.m_i << " *****" << endl ; for (size_t i = 0; i