Click or drag to resize

MultiFunctionMath.FindGlobalMinimum Method (Func<IReadOnlyList<Double>, Double>, IReadOnlyList<Interval>, MultiExtremumSettings)

Finds the minimum of a function within the given volume, subject to the given evaluation constraints.

Namespace:  Meta.Numerics.Analysis
Assembly:  Meta.Numerics (in Meta.Numerics.dll) Version: 4.1.4
Syntax
public static MultiExtremum FindGlobalMinimum(
	Func<IReadOnlyList<double>, double> function,
	IReadOnlyList<Interval> volume,
	MultiExtremumSettings settings
)

Parameters

function
Type: System.Func<IReadOnlyList<Double>, Double>
The function.
volume
Type: System.Collections.Generic.IReadOnlyList<Interval>
The volume to search.
settings
Type: Meta.Numerics.Analysis.MultiExtremumSettings
The evaluation constraints to apply.

Return Value

Type: MultiExtremum
The global minimum.
Exceptions
ExceptionCondition
ArgumentNullExceptionfunction or volume is null.
NonconvergenceExceptionThe minimum could not be found within the given evaluation budget.
Remarks

This algorithm attempts to find the global minimum of the given function within the entire given hyper-cube. It generally requires many more function evaluations than FindGlobalMinimum(Func<IReadOnlyList<Double>, Double>, IReadOnlyList<Interval>, MultiExtremumSettings), but is much more likely to find a global minimum in situations where multiple local minima exist.

Unlike FindGlobalMinimum(Func<IReadOnlyList<Double>, Double>, IReadOnlyList<Interval>, MultiExtremumSettings), this method does not return an approximate Hessian matrix near the minimum.

See Also