00001 #ifndef GLPARAMETERSGENETICALGORITHM_H_ 00002 #define GLPARAMETERSGENETICALGORITHM_H_ 00003 00004 #include "GLBaseParameters.h" 00005 #include "GLConstants.h" 00010 struct GLParametersGeneticAlgorithm:public GLBaseParameters 00011 { 00012 public: 00016 GLParametersGeneticAlgorithm() 00017 { setDefaultValues(); } 00018 00023 GLParametersGeneticAlgorithm(const GLParametersGeneticAlgorithm* source); 00024 00028 virtual ~GLParametersGeneticAlgorithm(); 00029 00034 virtual GLBaseParameters* copy() const 00035 { return new GLParametersGeneticAlgorithm(this); } 00036 00040 void setDefaultValues(); 00041 public: 00043 GLBaseParameters* m_breeder_params; 00045 int m_breeder_type; 00047 int m_children_per_generation; 00049 GLBaseParameters* m_crossover_params; 00051 int m_crossover_type; 00053 int m_initial_population_size; 00056 bool m_keep_last_generation; 00058 int m_maximum_population_size; 00060 int m_minimum_population_size; 00062 int m_mutants_per_generation; 00064 int m_mutation_policy; 00066 double m_mutation_rate; 00068 GLBaseParameters* m_mutator_params; 00070 int m_mutator_type; 00072 GLBaseParameters* m_other_params; 00074 GLBaseParameters* m_population_params; 00076 int m_population_type; 00078 GLBaseParameters* m_ranker_params; 00080 int m_ranker_type; 00082 GLBaseParameters* m_selectionist_params; 00084 int m_selectionist_type; 00086 GLBaseParameters* m_variator_params; 00088 int m_variator_type; 00089 }; 00090 00091 #endif /*GLPARAMETERSGENETICALGORITHM_H_*/