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);
Move
Definition: incop.h:185
OpProblem::domainsize
int domainsize
Definition: incop.h:229
OpProblem::compute_conflict
virtual Long compute_conflict(Configuration *configuration, int var, int val)
Definition: incop.h:287
SimulatedAnnealing
Definition: incop.h:552
ThresholdAccepting::acceptance
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:1084
Configuration::set_conflicts
virtual void set_conflicts(int var, int val, int index, Long nbconf)
Definition: incopalgo.cpp:223
Metropolis
Definition: incop.h:507
OpProblem::fullincr_update_conflicts
virtual void fullincr_update_conflicts(FullincrCSPConfiguration *configuration, Move *move)
Definition: incop.h:252
NeighborhoodSearch::finished
int finished
Definition: incop.h:324
GWWAlgorithm::initthreshold
void initthreshold(Configuration **population, int popsize)
Definition: incopalgo.cpp:852
SimulatedAnnealing::SimulatedAnnealing
SimulatedAnnealing(double initialtemperature, int walklength)
Definition: incopalgo.cpp:89
TabuAcceptingrate::Pd
float Pd
Definition: incop.h:591
GWWAlgorithm::total_nhtries
int total_nhtries
Definition: incop.h:657
Metaheuristic
Definition: incop.h:439
GWWAlgorithm::run
void run(OpProblem *problem, Configuration **population)
Definition: incopalgo.cpp:722
Metaheuristic::reinit
virtual void reinit(OpProblem *problem)
Definition: incopalgo.cpp:963
LSAlgorithm
Definition: incop.h:394
CSPMove
Definition: incop.h:203
GWWAlgorithm::thresholdupdate
virtual void thresholdupdate()
Definition: incopalgo.cpp:837
ThresholdAccepting::thresholdaccept
double thresholdaccept
Definition: incop.h:533
GWWAlgorithm::lastmovedescent
int lastmovedescent
Definition: incop.h:639
ThresholdAccepting::thresholdinit
double thresholdinit
Definition: incop.h:527
Metaheuristic::acceptance
virtual int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:973
GWWAlgorithm::populationsize
int populationsize
Definition: incop.h:630
GWWAlgorithm::regrouping
virtual void regrouping(Configuration **population)
Definition: incopalgo.cpp:890
Configuration::copy_element
virtual void copy_element(Configuration *config2)
Definition: incopalgo.cpp:321
TabuAcceptingrate::acceptance
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:1185
LSAlgorithm::configurationmove
virtual int configurationmove(OpProblem *problem, Configuration *configuration)
Definition: incopalgo.cpp:525
OpProblem::best_config
Configuration * best_config
Definition: incop.h:223
GreedySearch
Definition: incop.h:611
FastAdaptGWWAlgorithm
Definition: incop.h:747
OpProblem
Definition: incop.h:219
Configuration::get_conflicts
virtual Long get_conflicts(int var, int val, int index)
Definition: incopalgo.cpp:224
DynamicNeighborhoodSearch::dynamicmaxneighbors
void dynamicmaxneighbors(int &maxneigh, int &minneigh, int nbmoves)
Definition: incopalgo.cpp:438
LSAlgorithm::test_bestfound
int test_bestfound(Move *move)
Definition: incopalgo.cpp:372
MedianAdaptGWWAlgorithm
Definition: incop.h:759
DynamicNeighborhoodSearch::adjustperiod
int adjustperiod
Definition: incop.h:354
Configuration::valuation
Long valuation
Definition: incop.h:93
OpProblem::random_configuration
virtual void random_configuration(Configuration *configuration)
Definition: incop.h:268
LSAlgorithm::nbhsearch
NeighborhoodSearch * nbhsearch
Definition: incop.h:401
GWWAlgorithm::populationrandomwalk
virtual void populationrandomwalk(OpProblem *problem, Configuration **population)
Definition: incopalgo.cpp:874
ThresholdAccepting::delta
double delta
Definition: incop.h:530
OpProblem::adjust_parameters
virtual void adjust_parameters(Configuration *configuration, int &maxneighbors, int &minneighbors)
Definition: incop.h:262
NothresholdGWWAlgorithm::nbkilled
int nbkilled
Definition: incop.h:789
IncompleteAlgorithm::randomwalk
virtual void randomwalk(OpProblem *problem, Configuration *configuration)
Definition: incopalgo.cpp:351
IncompleteAlgorithm
Definition: incop.h:372
NeighborhoodSearch::var_conflict
int var_conflict
Definition: incop.h:327
IncompleteAlgorithm::threshold
Long threshold
Definition: incop.h:378
DynamicNeighborhoodSearch::initminneighbors
int initminneighbors
Definition: incop.h:351
NeighborhoodSearch::val_conflict
int val_conflict
Definition: incop.h:330
NeighborhoodSearch
Definition: incop.h:312
RandomSearch
Definition: incop.h:603
OpProblem::incr_update_conflicts
virtual void incr_update_conflicts(IncrCSPConfiguration *configuration, Move *move)
Definition: incop.h:249
GWWAlgorithm::elitism
int elitism
Definition: incop.h:642
GWWAlgorithm::nb_threshold_population
virtual int nb_threshold_population(Configuration **population)
Definition: incopalgo.cpp:708
Configuration::var_conflict
vector< int > var_conflict
Definition: incop.h:97
OpProblem::lower_bound
Long lower_bound
Definition: incop.h:232
CSPMove::computetabumove
Move * computetabumove(Configuration *config)
Definition: incopalgo.cpp:1149
TabuSearch::acceptance
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:1028
SimulatedAnnealing::temperature
double temperature
Definition: incop.h:562
ThresholdAccepting::executebeforemove
void executebeforemove(Move *move, Configuration *configuration, OpProblem *problem)
Definition: incopalgo.cpp:1089
NeighborhoodSearch::maxneighbors
int maxneighbors
Definition: incop.h:319
BestAdaptGWWAlgorithm
Definition: incop.h:770
LSAlgorithm::nhtries
int nhtries
Definition: incop.h:407
TabuSearch
Definition: incop.h:458
GWWAlgorithm::populationkeepbest
void populationkeepbest(OpProblem *problem, Configuration **population)
Definition: incopalgo.cpp:766
IncrCSPConfiguration
Definition: incop.h:144
AdaptiveGWWAlgorithm::nbkilled
int nbkilled
Definition: incop.h:737
OpProblem::value2index
virtual int value2index(int value, int var)
Definition: incop.h:299
OpProblem::next_move
virtual void next_move(Configuration *configuration, Move *move, NeighborhoodSearch *nbhs)
Definition: incop.h:265
OpProblem::config_evaluation
virtual Long config_evaluation(Configuration *configuration)
Definition: incop.h:290
StandardGWWAlgorithm::thresholddescent
double thresholddescent
Definition: incop.h:714
Metropolis::acceptance
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:992
GWWAlgorithm::total_nbmoves
int total_nbmoves
Definition: incop.h:660
GWWAlgorithm::thresholdchanges
int thresholdchanges
Definition: incop.h:654
GWWAlgorithm::walkalgorithm
LSAlgorithm * walkalgorithm
Definition: incop.h:663
OpProblem::move_execution
virtual void move_execution(Configuration *configuration, Move *move)
Definition: csproblem.cpp:197
GWWAlgorithm::thresholdchangesupdate
virtual void thresholdchangesupdate()
Definition: incopalgo.cpp:863
DynamicNeighborhoodSearch
Definition: incop.h:343
GWWAlgorithm::nomovestop
int nomovestop
Definition: incop.h:645
GWWAlgorithm::nbiteration
int nbiteration
Definition: incop.h:651
Configuration::regrouped
int regrouped
Definition: incop.h:101
Configuration::update_conflicts
virtual void update_conflicts(OpProblem *problem, Move *move)
Definition: incopalgo.cpp:230
TabuSearch::move_list
list< Move * > move_list
Definition: incop.h:465
LSAlgorithm::mheur
Metaheuristic * mheur
Definition: incop.h:404
GWWAlgorithm::thresholddelta
Long thresholddelta
Definition: incop.h:648
OpProblem::compute_var_conflict
virtual void compute_var_conflict(Configuration *configuration)
Definition: incop.h:302
Metaheuristic::executebeforemove
virtual void executebeforemove(Move *move, Configuration *configuration, OpProblem *problem)
Definition: incopalgo.cpp:968
LSAlgorithm::nbmoves
int nbmoves
Definition: incop.h:412
TabuSearch::reinit
void reinit(OpProblem *problem)
Definition: incopalgo.cpp:1010
BestAdaptGWWAlgorithm::bestdescent
double bestdescent
Definition: incop.h:775
SimulatedAnnealing::inittemperature
double inittemperature
Definition: incop.h:556
Configuration
Definition: incop.h:82
TabuAcceptingrate::P0
float P0
Definition: incop.h:594
OpProblem::currentmove
Move * currentmove
Definition: incop.h:235
SimulatedAnnealing::acceptance
int acceptance(Move *move, Configuration *config)
Definition: incopalgo.cpp:1103
OpProblem::bestmove
Move * bestmove
Definition: incop.h:241
LSAlgorithm::isfeasible
virtual int isfeasible(Move *move)
Definition: incopalgo.cpp:628
NothresholdGWWAlgorithm
Definition: incop.h:782
Move::computetabumove
virtual Move * computetabumove(Configuration *config)
Definition: incop.h:198
GWWAlgorithm
Definition: incop.h:626
SimulatedAnnealing::delta
double delta
Definition: incop.h:559
Move::copymove
virtual void copymove(Move *move)
Definition: incopalgo.cpp:1136
ThresholdAccepting
Definition: incop.h:523
StandardGWWAlgorithm::thresholdmin
Long thresholdmin
Definition: incop.h:717
FullincrCSPConfiguration::get_conflicts
Long get_conflicts(int var, int val, int index)
Definition: incopalgo.cpp:299
FastStandardGWWAlgorithm
Definition: incop.h:725
AdaptiveGWWAlgorithm
Definition: incop.h:733
TabuAcceptingrate
Definition: incop.h:587
NeighborhoodSearch::minneighbors
int minneighbors
Definition: incop.h:316
MedianAdaptGWWAlgorithm::mediandescent
double mediandescent
Definition: incop.h:763
TabuSearch::tabulength
int tabulength
Definition: incop.h:462
StandardGWWAlgorithm
Definition: incop.h:710
Configuration::get_conflicts_problem
virtual Long get_conflicts_problem(OpProblem *problem, int var, int val)
Definition: incopalgo.cpp:225
Configuration::init_conflicts
virtual void init_conflicts()
Definition: incopalgo.cpp:221
FullincrCSPConfiguration
Definition: incop.h:165
LSAlgorithm::walklength
int walklength
Definition: incop.h:398
ThresholdAccepting::reinit
void reinit(OpProblem *problem)
Definition: incopalgo.cpp:1095
SimulatedAnnealing::executebeforemove
void executebeforemove(Move *move, Configuration *configuration, OpProblem *problem)
Definition: incopalgo.cpp:1114
Configuration::config
int * config
Definition: incop.h:90
TabuSearch::nontabumove
int nontabumove(Move *move)
Definition: incopalgo.cpp:1050
OpProblem::firstmove
Move * firstmove
Definition: incop.h:238
CSPConfiguration
Definition: incop.h:133
IncompleteAlgorithm::run
virtual void run(OpProblem *problem, Configuration **population)
Definition: incopalgo.cpp:356
Configuration::incr_conflicts
virtual void incr_conflicts(int var, int val, int index, Long incr)
Definition: incopalgo.cpp:222
GWWAlgorithm::randomwalk
void randomwalk(OpProblem *problem, Configuration *configuration)
Definition: incopalgo.cpp:679
GWWAlgorithm::thresholdcomputedelta
virtual void thresholdcomputedelta(Configuration **population)
Definition: incopalgo.cpp:778
FastAdaptGWWAlgorithm::thresholddescent
double thresholddescent
Definition: incop.h:751
TabuSearch::executebeforemove
void executebeforemove(Move *move, Configuration *configuration, OpProblem *problem)
Definition: incopalgo.cpp:1059
Move::eqmove
virtual int eqmove(Move *move1)
Definition: incopalgo.cpp:1158
ThresholdAccepting::ThresholdAccepting
ThresholdAccepting(double maxthreshold, int walklength)
Definition: incopalgo.cpp:82
DynamicNeighborhoodSearch::initmaxneighbors
int initmaxneighbors
Definition: incop.h:348
GWWAlgorithm::regrouptest
int regrouptest
Definition: incop.h:635