Main Page | Class Hierarchy | Class List | File List | Class Members

incoputil.h

00001 
00002 
00003 //---------------------------------------------------------------------------------------------
00004 //    trombe : les stats sous forme de classe (... enfin une struct quoi !)
00005 
00006 class Stat_GWW {
00007  public:
00008   int nb_pbs;      // Nb de problèmes différents essayés (pour les CSP aléatoires)
00009   int * trouve;   // trouve[i] (i ds [0,nb_pbs[) : contient le nombre de fois que 
00010                    //           le pb i est résolu (entre 0 et max_tries)
00011   int stop_trouve;
00012   int current_pb;  // Le numéro de problème courant (ds [0,nb_pbs[)
00013                    //
00014   int max_tries;   // Le nombre d'essais par problème
00015   int *  cost_try; // cost_try [j] (j ds [0,max_tries[): le meilleur cout trouvé à l'essai j 
00016   float * execution_time_try; // execution_time_try [j] (j ds [0,max_tries[): temps d'exécution
00017                              //                                              de l'essai j
00018   float cost_meanvalue; // la moyenne des meilleurs couts des essais
00019   int current_try; // Le numéro d'essai courant (ds [0,max_tries[) pour le problème 'current_pb'
00020   int* nb_moves;
00021   int* nb_moves_up;
00022   int* nb_moves_down;
00023   
00024   double nb_moves_avg;  
00025   float* total_problem_time;
00026   vector<int> costvalues;
00027   vector<int> examinedneighbors;
00028   float total_execution_time; // temps d'execution total depuis le début  
00029   float average_execution_time; // temps d'execution total depuis le début  
00030   // ofstream* stat_file;           // le fichier où s'affiche les stat
00031   int thresholdchanges;   // nombre de changements de seuil pour l'ensemble des essais
00032   Stat_GWW (int number_pbs, int number_tries);
00033   void init_pb (int t);
00034   void init_run();
00035   void init_try(int trynumber);
00036   void execution_report(int ntry, int lower_bound);
00037 };
00038 
00039 
00040 
00041 
00042 void sigaction();
00043 int argument2ul(char* arg, char* message);
00044 double argument2d(char* arg, char* message);
00045 double argument2bd(char* arg, char* message, double min1, double max1);
00046 int argument2bul(char* arg, char* message, int min1, int max1);
00047 string argument2lp(char* arg, char* message, list<string>& possibles);
00048 void handler_stat (int sig);
00049 IncompleteAlgorithm* algo_creation(char** argv, int& narg, int& taille, int& graine1, int & nbessais);
00050 void executer_essai
00051    (OpProblem* problem,IncompleteAlgorithm* algo, Configuration** population, int taille, int graine1, int nessai);
00052 
00053 void ecriture_stat_probleme();
00054 void ecriture_statistiques_global();
00055 void arguments_tracemode(char** argv, int& narg);
00056 void arguments_tempscpu(char** argv, int& narg, double& maxtime);
00057 void arguments_arret(char** argv, int& narg, int& stop);
00058 void arguments_borneinf(char** argv, int& narg, int& borneinf);
00059 
00060 int valeur_max(Configuration** population, int taille);
00061 int valeur_min(Configuration** population, int taille);
00062 int valeur_mediane(Configuration** population, int taille);
00063 void populationsort(Configuration** population, int taille);
00064 
00065 void ecriture_changement_seuil (int seuil, int delta, int meilleur, int pire,int mediane, int nbessaisvoisins, int nb_au_seuil);
00066 void ecriture_nb_tues(int nb_tues);
00067 void ecriture_fin_gww( int nb_chang_seuil, int nb_mouv);
00068 void ecriture_meilleure_valeur (string & method, int valeur, int seuil, int nbmouv, int maxvoisins);
00069 void ecriture_fin_lsrun(double avgnhtries, double avgsqnhtries);
00070 void ecriture_stat_essai();
00071 void ofile_name (char* filename, int argc, char** argv);

Generated on Wed Sep 15 17:58:38 2004 for INCOP by doxygen 1.3.5