public OptimizationProgressEventArgs[] Actual(Specification problem)
{
BroydenFletcherGoldfarbShanno target = new BroydenFletcherGoldfarbShanno(problem.Variables)
{
Corrections = m,
Epsilon = epsilon,
Past = past,
Delta = delta,
MaxIterations = max_iterations,
LineSearch = (LineSearch)linesearch,
MaxLineSearch = max_linesearch,
MinStep = min_step,
MaxStep = max_step,
ParameterTolerance = ftol,
Wolfe = wolfe,
GradientTolerance = gtol,
FunctionTolerance = xtol,
OrthantwiseC = orthantwise_c,
OrthantwiseStart = orthantwise_start,
OrthantwiseEnd = orthantwise_end
};
target.Function = problem.Function;
target.Gradient = problem.Gradient;
actual.Clear();
target.Progress += new EventHandler<OptimizationProgressEventArgs>(target_Progress);
target.Minimize((double[])problem.Start.Clone());
ActualMessage = target.Status.GetDescription();
return actual.ToArray();
}