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.

  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. #include <numeric>
  5. #include <algorithm>
  6. #include <vector>
  7. #include <random>
  8. #include <chrono>
  9. #include <cmath>
  10. #include <windows.h>
  11. #include <limits>
  12. #include <fstream>
  13. #include <sstream>
  14. #include <stdlib.h>
  15. #include "heuristics/RLS.h"
  16. #include "heuristics/EA.h"
  17. #include "heuristics/PEA.h"
  18. #include "analysis/analysis.h"
  19. #include "experiences/complexity-rls.h"
  20. #include "experiences/complexity-ea.h"
  21. #include "experiences/complexity-ga.h"
  22. #include "experiences/crossover-rate.h"
  23. #include "experiences/scripts.h"
  24. #include "experiences/bestPGA.h"
  25. #include "experiences/bestPEA.h"
  26. using namespace std;
  27. int main(int argc, char** argv) {
  28. srand(time(NULL));
  29. std::default_random_engine randomizer{static_cast<long unsigned int>(time(0))};
  30. if(argc >= 2) {
  31. int num_experiment = atoi(argv[1]);
  32. switch(num_experiment) {
  33. case 1:
  34. cout << "Experiment: Optimal Crossover probability" << endl;
  35. crossover_model(randomizer, atoi(argv[2]), argc, argv);
  36. return 0;
  37. case 2:
  38. cout << "Experiment: RLS Complexity" << endl;
  39. study_complexity_of_rls(randomizer, atoi(argv[2]), argc, argv);
  40. return 0;
  41. case 3:
  42. cout << "Experiment: EA Complexity" << endl;
  43. study_complexity_of_ea(randomizer, atoi(argv[2]), argc, argv);
  44. return 0;
  45. case 4:
  46. cout << "Experiment: GA Complexity" << endl;
  47. study_complexity_of_ga(randomizer, atoi(argv[2]), argc, argv);
  48. return 0;
  49. }
  50. }
  51. return 0;
  52. }