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.

mutation-rate.h 1.2KB

  1. #ifndef MUTATION_RATE_H_INCLUDED
  2. #define MUTATION_RATE_H_INCLUDED
  3. #include <sstream>
  4. #include <string>
  5. #include "analysis/ParameterOptimizer.h"
  6. #include "heuristics/EA.h"
  7. #include "problems/MasterMind.h"
  8. class ProbaOptimizer : public ParameterOptimizer {
  9. public:
  10. ProbaOptimizer(int initial_n, std::default_random_engine& randomizer) : ParameterOptimizer(randomizer), m_initial_n{initial_n} {};
  11. SearchHeuristic* get_context(unsigned int i, double parameter, std::default_random_engine& randomizer) {
  12. EA* algo = new EA(1, 1, PLUS, parameter, randomizer);
  13. MasterMind* mm = new MasterMind(m_initial_n+i, m_initial_n+i, randomizer);
  14. algo->set_problem(mm);
  15. return algo;
  16. }
  17. virtual std::string display_context(unsigned int context) {
  18. std::stringstream ss;
  19. ss << "n=" << context+m_initial_n;
  20. return ss.str();
  21. }
  22. std::string get_context_for_csvfile(unsigned int num_context) {
  23. return std::to_string(m_initial_n+num_context);
  24. }
  25. private:
  26. int m_initial_n;
  27. };
  28. #endif // MUTATION_RATE_H_INCLUDED