toulbar2
incoputil.h
1 
2 
3 //---------------------------------------------------------------------------------------------
4 // trombe : les stats sous forme de classe (... enfin une struct quoi !)
5 
6 class Stat_GWW {
7 public:
8  int nb_pbs; // Nb de problèmes différents essayés (pour les CSP aléatoires)
9  int* trouve; // trouve[i] (i ds [0,nb_pbs[) : contient le nombre de fois que
10  // le pb i est résolu (entre 0 et max_tries)
11  int stop_trouve;
12  int current_pb; // Le numéro de problème courant (ds [0,nb_pbs[)
13  //
14  int max_tries; // Le nombre d'essais par problème
15  Long* cost_try; // cost_try [j] (j ds [0,max_tries[): le meilleur cout trouvé à l'essai j
16  float* execution_time_try; // execution_time_try [j] (j ds [0,max_tries[): temps d'exécution
17  // de l'essai j
18  float cost_meanvalue; // la moyenne des meilleurs couts des essais
19  int current_try; // Le numéro d'essai courant (ds [0,max_tries[) pour le problème 'current_pb'
20  int* nb_moves;
21  int* nb_moves_up;
22  int* nb_moves_down;
23 
24  double nb_moves_avg;
25  float* total_problem_time;
26  vector<Long> costvalues;
27  vector<int> examinedneighbors;
28  float total_execution_time; // temps d'execution total depuis le début
29  float average_execution_time; // temps d'execution total depuis le début
30  // ofstream* stat_file; // le fichier où s'affiche les stat
31  int thresholdchanges; // nombre de changements de seuil pour l'ensemble des essais
32  Stat_GWW(int number_pbs, int number_tries);
33  void init_pb(int t);
34  void init_run();
35  void init_try(int trynumber);
36  void execution_report(int ntry, Long lower_bound);
37 };
38 
39 void sigaction();
40 int argument2ul(char* arg, char* message);
41 double argument2d(char* arg, char* message);
42 double argument2bd(char* arg, char* message, double min1, double max1);
43 int argument2bul(char* arg, char* message, int min1, int max1);
44 string argument2lp(char* arg, char* message, list<string>& possibles);
45 void handler_stat(int sig);
46 IncompleteAlgorithm* algo_creation(char** argv, int& narg, int& taille, int& graine1, int& nbessais);
47 void executer_essai(OpProblem* problem, IncompleteAlgorithm* algo, Configuration** population, int taille, int graine1, int nessai, vector<int>* initconfig = NULL);
48 
49 void ecriture_stat_probleme();
50 void ecriture_statistiques_global();
51 void arguments_tracemode(char** argv, int& narg);
52 void arguments_tempscpu(char** argv, int& narg, double& maxtime);
53 void arguments_arret(char** argv, int& narg, int& stop);
54 void arguments_borneinf(char** argv, int& narg, Long& borneinf);
55 
56 Long valeur_max(Configuration** population, int taille);
57 Long valeur_min(Configuration** population, int taille);
58 Long valeur_mediane(Configuration** population, int taille);
59 void populationsort(Configuration** population, int taille);
60 
61 void ecriture_changement_seuil(Long seuil, Long delta, Long meilleur, Long pire, Long mediane, int nbessaisvoisins, int nb_au_seuil);
62 void ecriture_nb_tues(int nb_tues);
63 void ecriture_fin_gww(int nb_chang_seuil, int nb_mouv);
64 void ecriture_meilleure_valeur(string& method, Long valeur, Long seuil, int nbmouv, int maxvoisins);
65 void ecriture_fin_lsrun(double avgnhtries, double avgsqnhtries);
66 void ecriture_stat_essai();
67 void ofile_name(char* filename, int argc, char** argv);
Definition: incop.h:372
Definition: incop.h:219
Definition: incop.h:82