pub trait WriteSolverLog {
Show 14 methods
// Required methods
fn log_candidate(&mut self, costs: &[usize], phase: Phase) -> Result<()>;
fn log_oracle_call(&mut self, result: SolverResult) -> Result<()>;
fn log_solution(&mut self) -> Result<()>;
fn log_non_dominated(&mut self, pareto_point: &NonDomPoint) -> Result<()>;
fn log_fence(&mut self, fence: &[usize]) -> Result<()>;
fn log_routine_start(&mut self, desc: &'static str) -> Result<()>;
fn log_routine_end(&mut self) -> Result<()>;
fn log_end_solve(&mut self) -> Result<()>;
fn log_ideal(&mut self, ideal: &[usize]) -> Result<()>;
fn log_nadir(&mut self, nadir: &[usize]) -> Result<()>;
fn log_core(
&mut self,
weight: usize,
len: usize,
red_len: usize,
) -> Result<()>;
fn log_core_exhaustion(
&mut self,
exhausted: usize,
weight: usize,
) -> Result<()>;
fn log_inprocessing(
&mut self,
cls_before_after: (usize, usize),
fixed_lits: usize,
obj_range_before_after: Vec<(usize, usize)>,
) -> Result<()>;
fn log_message(&mut self, msg: &str) -> Result<()>;
}
Expand description
A logger to attach to a solver
Required Methods§
Sourcefn log_candidate(&mut self, costs: &[usize], phase: Phase) -> Result<()>
fn log_candidate(&mut self, costs: &[usize], phase: Phase) -> Result<()>
Adds a candidate cost point to the log
Sourcefn log_oracle_call(&mut self, result: SolverResult) -> Result<()>
fn log_oracle_call(&mut self, result: SolverResult) -> Result<()>
Adds an oracle call to the log
Sourcefn log_solution(&mut self) -> Result<()>
fn log_solution(&mut self) -> Result<()>
Adds a solution to the log
Sourcefn log_non_dominated(&mut self, pareto_point: &NonDomPoint) -> Result<()>
fn log_non_dominated(&mut self, pareto_point: &NonDomPoint) -> Result<()>
Adds a non-dominated point to the log
Sourcefn log_fence(&mut self, fence: &[usize]) -> Result<()>
fn log_fence(&mut self, fence: &[usize]) -> Result<()>
Adds a fence change in the lower-bounding algorithm to the log
Sourcefn log_routine_start(&mut self, desc: &'static str) -> Result<()>
fn log_routine_start(&mut self, desc: &'static str) -> Result<()>
Adds a new routine starting to the log
Sourcefn log_routine_end(&mut self) -> Result<()>
fn log_routine_end(&mut self) -> Result<()>
Adds a new routine ending to the log
Sourcefn log_end_solve(&mut self) -> Result<()>
fn log_end_solve(&mut self) -> Result<()>
Adds end of solving to the log
Sourcefn log_core(&mut self, weight: usize, len: usize, red_len: usize) -> Result<()>
fn log_core(&mut self, weight: usize, len: usize, red_len: usize) -> Result<()>
Adds an extracted core to the log
Sourcefn log_core_exhaustion(&mut self, exhausted: usize, weight: usize) -> Result<()>
fn log_core_exhaustion(&mut self, exhausted: usize, weight: usize) -> Result<()>
Adds a core exhaustion to the log
Sourcefn log_inprocessing(
&mut self,
cls_before_after: (usize, usize),
fixed_lits: usize,
obj_range_before_after: Vec<(usize, usize)>,
) -> Result<()>
fn log_inprocessing( &mut self, cls_before_after: (usize, usize), fixed_lits: usize, obj_range_before_after: Vec<(usize, usize)>, ) -> Result<()>
Adds an inprocessing step to the log
Sourcefn log_message(&mut self, msg: &str) -> Result<()>
fn log_message(&mut self, msg: &str) -> Result<()>
Logs any string