use std::fmt::Debug;
use std::ops::Sub;
pub trait Solution: PartialOrd + Sub<Output = f64> + Sized + Send + Ord + Clone + Debug {
const NUMBER_OF_MOVE_OPERATORS: usize;
const NUMBER_OF_OBJECTIVES: usize;
fn new() -> Self;
fn apply_move_operator(&mut self, move_index: usize, temperature: f64);
fn get_quality_scalar(&self) -> f64;
}