Why need expansion in GoldenSectionMinimizer?


(Leonid Eremin) #1

Hello

Can you explain to me why need this cycle:

while ((expansion_steps < maxExpansionSteps) && (upper.Value < middle.Value || lower.Value < middle.Value))

in MathNet.Numerics.Optimization.GoldenSectionMinimizer.Minimum(…)?

For example, i have data, where minimum point = lowerBound. But GoldenSectionMinimizer.Minimum() return minimumPoint, that it < lowerBound.

Could i use GoldenSectionMinimizer, that result always was in range [lowerBound; upperBound]?
If i set lowerExpansionFactor = 1.0, that i have OptimizationException.
If i remove this cycle and throwing exception, than i have what i want.