/** * * main * */ #include #include #include #include "cteamid.h" // numéro identifiant de l'équipe #include "params/cparams.h" // options de lancement #include "instance/cinstance.h" // classe contenant le problème #include "instance/cinstancereduite.h" // problème réduit #include "optimizer/coptimizer.h" // classe réalisant l'optimization #include "optimizer/clique.h" #ifndef UNIT_TEST int main( int nbargs, char ** args ) { #ifdef CATCH_EXCEPTION try { #endif /* lecture des arguments */ CParams params(nbargs, args); if ( params.hasInstance() ) { /* instance du problème */ CInstance::lire(params) ; /* création d'une instance réduite */ CInstanceReduite::init() ; /* Initialisation de la classe Clique */ Clique::init(); if ( params.analyse() ) { /* prévu pour afficher quelques stats */ CInstance::analyse() ; } if ( params.optimize() ) { /* lancement de l'optimisation */ COptimizer optimizer(params.getDeadline()); optimizer.start(); } } #ifdef CATCH_EXCEPTION } catch (string & err) { std::cerr << "Exception levée : " << err << std::endl; } #endif /* retourne l'id de l'équipe */ return CTeamId::getTeamId(); } #endif