1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
pub trait Solver<N, R, V> { fn best_result_objs(&self) -> &[N]; fn best_result_objs_avg(&self) -> N; /// Do solving work after stoping criteria verification. fn do_work_after(&mut self); /// Do solving work before stoping criteria verification. fn do_work_before(&mut self); fn initialize(&mut self) {} fn into_result(self) -> R; fn terminate(&mut self) {} }