quantrs2_anneal/bayesian_hyperopt/
convergence.rs1#[derive(Debug, Clone)]
5pub struct ConvergenceConfig {
6 pub objective_tolerance: f64,
8 pub parameter_tolerance: f64,
10 pub max_stagnation: usize,
12 pub confidence_level: f64,
14 pub early_stopping: EarlyStoppingCriteria,
16}
17
18impl Default for ConvergenceConfig {
19 fn default() -> Self {
20 Self {
21 objective_tolerance: 1e-6,
22 parameter_tolerance: 1e-8,
23 max_stagnation: 20,
24 confidence_level: 0.95,
25 early_stopping: EarlyStoppingCriteria::default(),
26 }
27 }
28}
29
30#[derive(Debug, Clone)]
32pub struct EarlyStoppingCriteria {
33 pub enabled: bool,
35 pub min_iterations: usize,
37 pub improvement_threshold: f64,
39 pub patience: usize,
41}
42
43impl Default for EarlyStoppingCriteria {
44 fn default() -> Self {
45 Self {
46 enabled: true,
47 min_iterations: 20,
48 improvement_threshold: 1e-4,
49 patience: 10,
50 }
51 }
52}