00001
00002
00003
00004
00005
00006 class Stat_GWW {
00007 public:
00008 int nb_pbs;
00009 int * trouve;
00010
00011 int stop_trouve;
00012 int current_pb;
00013
00014 int max_tries;
00015 int * cost_try;
00016 float * execution_time_try;
00017
00018 float cost_meanvalue;
00019 int current_try;
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;
00029 float average_execution_time;
00030
00031 int thresholdchanges;
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);