pub fn global_minimum<F: FnMut(&[f64]) -> f64>(
f: F,
lower: &[f64],
upper: &[f64],
tolerance: f64,
max_evaluations: usize,
) -> OgeomResult<Minimum>Expand description
The least value of f over the box, to within tolerance, by
Lipschitz branch and bound with local polishing.
A box’s floor is the tighter of two: its centre’s value less a slope
bound times its half-diagonal, and less the centre’s gradient times the
half-diagonal and half a curvature bound times its square, which closes
on a smooth minimum as the box shrinks. Both bounds are estimated from
finite differences over a sampling of the box and doubled; a function
steeper or more sharply bent somewhere than any sample shows can hide a
minimum from the certificate. max_evaluations
caps the work; a search stopped by it reports certified: false.
§Errors
OgeomError::Construction if the
box is malformed or the tolerance is not positive.