use crate::configuration::ProblemSolving;
#[derive(Debug, Clone)]
pub struct PermutateConfiguration {
pub safety_gate: usize,
pub problem_solving: ProblemSolving,
pub fitness_target: Option<f64>,
}
impl Default for PermutateConfiguration {
fn default() -> Self {
Self {
safety_gate: 100_000,
problem_solving: ProblemSolving::Minimization,
fitness_target: None,
}
}
}
impl PermutateConfiguration {
pub fn with_safety_gate(mut self, gate: usize) -> Self {
self.safety_gate = gate;
self
}
pub fn with_problem_solving(mut self, ps: ProblemSolving) -> Self {
self.problem_solving = ps;
self
}
pub fn with_fitness_target(mut self, t: f64) -> Self {
self.fitness_target = Some(t);
self
}
}