Projet du cours MPRI 2.24.2 "Résolution de problèmes d'optimisation avec heuristiques de recherche" : https://wikimpri.dptinfo.ens-cachan.fr/doku.php?id=cours:c-2-24-2
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

analysis.h 1.4KB

  1. #ifndef ANALYSIS_H_INCLUDED
  2. #define ANALYSIS_H_INCLUDED
  3. #include <iostream>
  4. #include <chrono>
  5. #include <vector>
  6. #include <algorithm>
  7. #include <fstream>
  8. #include "SearchHeuristic.h"
  9. struct Statistic {
  10. Statistic() : Statistic(0,0,0,0,0,0,0) {};
  11. Statistic(double n, double s, double avg, double mini, double maxi, double med, double dev) :
  12. nb{n}, sum{s}, average{avg}, minimal{mini}, maximal{maxi}, median{med}, deviation{dev} {
  13. no_bias_deviation = 0;
  14. alea = 0;
  15. label = 0;
  16. };
  17. double nb;
  18. double sum;
  19. double average;
  20. double minimal;
  21. double maximal;
  22. double median;
  23. double deviation;
  24. double no_bias_deviation;
  25. double alea;
  26. double label;
  27. };
  28. std::chrono::time_point<std::chrono::system_clock> start_chrono();
  29. std::chrono::time_point<std::chrono::system_clock> stop_chrono();
  30. int interval_chrono(std::chrono::time_point<std::chrono::system_clock> start, std::chrono::time_point<std::chrono::system_clock> stop);
  31. Statistic avg_calls(SearchHeuristic* algo, int nb=100, double abortion_limit=-1, double student_law_quartile=-1);
  32. Statistic* avg_evolution(SearchHeuristic* algo, int max_evolution, int nb_tests = 100);
  33. Statistic* derivate(Statistic* curve, unsigned int length);
  34. Statistic* compress(Statistic* curve, unsigned int length);
  35. Statistic* smooth(Statistic* curve, unsigned int length);
  36. #endif // ANALYSIS_H_INCLUDED