654
655
656
657
658
659
660
661
662
663
664
665
666
667
|
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
|
+
+
+
+
+
+
+
|
self.data.new_cutval = self.data.nxt_cutvals.iter().sum::<Real>();
debug!("Step");
debug!(" cur_val ={}", self.data.cur_val);
debug!(" nxt_mod ={}", self.data.nxt_mod);
debug!(" nxt_ub ={}", nxt_ub);
debug!(" descent_bnd={}", descent_bnd);
if self.data.nxt_mod > nxt_ub + 1e-9 {
warn!(
"Function value ({}) in candidate higher than model value ({})",
nxt_ub, self.data.nxt_mod
);
}
self.data.updated = false;
let step;
if self.data.cur_val.is_infinite() {
// This is the first evaluation. We effectively get
// the function value at the current center but
// we do not have a model estimate yet. Hence, we do not know
|