src/prox_penalty/radon_squared.rs

changeset 72
e9a460a0e638
parent 63
7a8a55fd41c0
child 75
677a5fd1b014
equal deleted inserted replaced
71:e2953ffd4e0b 72:e9a460a0e638
54 stats: &mut IterInfo<F>, 54 stats: &mut IterInfo<F>,
55 ) -> DynResult<(Option<Self::ReturnMapping>, bool)> 55 ) -> DynResult<(Option<Self::ReturnMapping>, bool)>
56 where 56 where
57 I: AlgIterator, 57 I: AlgIterator,
58 { 58 {
59 let violation = reg.find_tolerance_violation(τv, τ, ε, true, config); 59 // If no merging heuristic is used, let's be more conservative about spike insertion,
60 // and skip it after first round. If merging is done, being more greedy about spike
61 // insertion also seems to improve performance.
62 let skip_by_rough_check = !config.merging.enabled;
63 let violation = reg.find_tolerance_violation(τv, τ, ε, skip_by_rough_check, config);
60 reg.solve_oc_radonsq(μ, τv, τ, ε, violation, config, stats); 64 reg.solve_oc_radonsq(μ, τv, τ, ε, violation, config, stats);
61 65
62 Ok((None, true)) 66 Ok((None, true))
63 } 67 }
64 68

mercurial