@@ -15,6 +15,9 @@ use std::sync::Arc;
1515/// Represents a genome for an optimizer configuration
1616#[ derive( Clone , Debug , Serialize , Deserialize ) ]
1717pub struct OptimizerGenome {
18+ pub success_rate : Option < f64 > ,
19+ pub mean_final_value : Option < f64 > ,
20+ pub total_evaluations : Option < usize > ,
1821 pub optimizer_type : OptimizerType ,
1922 pub parameters : HashMap < String , f64 > ,
2023 pub fitness : Option < f64 > ,
@@ -67,6 +70,9 @@ impl OptimizerGenome {
6770 parameters
6871 ) ;
6972 Self {
73+ success_rate : None ,
74+ mean_final_value : None ,
75+ total_evaluations : None ,
7076 optimizer_type,
7177 parameters,
7278 fitness : None ,
@@ -565,6 +571,9 @@ impl ParameterEvolution {
565571
566572 // Create offspring with selected type
567573 let mut offspring = OptimizerGenome {
574+ success_rate : None ,
575+ mean_final_value : None ,
576+ total_evaluations : None ,
568577 optimizer_type : offspring_type. clone ( ) ,
569578 parameters : HashMap :: new ( ) ,
570579 fitness : None ,
@@ -849,6 +858,9 @@ mod tests {
849858
850859 for i in 0 ..5 {
851860 let mut genome = OptimizerGenome {
861+ success_rate : None ,
862+ mean_final_value : None ,
863+ total_evaluations : None ,
852864 optimizer_type : OptimizerType :: QQN ,
853865 parameters : HashMap :: new ( ) ,
854866 fitness : Some ( i as f64 ) ,
0 commit comments