569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
|
debug!(" expected={}", self.expected_progress);
Ok(())
}
/// Reduce size of bundle.
fn compress_bundle(&mut self) {
if self.master.num_minorants() > 1 {
let n = self.master.num_minorants();
self.master.aggregate(0, &(0..n).collect::<Vec<_>>());
}
}
/// Perform a descent step.
fn descent_step(&mut self) {
let new_weight = self.weighter.weight(¤t_state!(self, Step::Descent), &self.params);
self.master.set_weight(new_weight);
|
|
|
>
|
>
|
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
|
debug!(" expected={}", self.expected_progress);
Ok(())
}
/// Reduce size of bundle.
fn compress_bundle(&mut self) {
for i in 0..self.problem.num_subproblems() {
let n = self.master.num_minorants(i);
if n >= self.params.max_bundle_size {
self.master.aggregate(0, &(self.params.max_bundle_size-2..n).collect::<Vec<_>>());
}
}
}
/// Perform a descent step.
fn descent_step(&mut self) {
let new_weight = self.weighter.weight(¤t_state!(self, Step::Descent), &self.params);
self.master.set_weight(new_weight);
|