|
|
|
@ -41,7 +41,7 @@ namespace MathNet.Numerics.UnitTests.OptimizationTests |
|
|
|
public void FindMinimum_Rosenbrock_Easy() |
|
|
|
{ |
|
|
|
var obj = new SimpleObjectiveFunction(RosenbrockFunction.Value, RosenbrockFunction.Gradient); |
|
|
|
var solver = new BfgsMinimizer(1e-5, 1000); |
|
|
|
var solver = new BfgsMinimizer(1e-5, 1e-5, 1000); |
|
|
|
var result = solver.FindMinimum(obj, new LinearAlgebra.Double.DenseVector(new[] { 1.2, 1.2 })); |
|
|
|
|
|
|
|
Assert.That(Math.Abs(result.MinimizingPoint[0] - 1.0), Is.LessThan(1e-3)); |
|
|
|
@ -52,7 +52,7 @@ namespace MathNet.Numerics.UnitTests.OptimizationTests |
|
|
|
public void FindMinimum_Rosenbrock_Hard() |
|
|
|
{ |
|
|
|
var obj = new SimpleObjectiveFunction(RosenbrockFunction.Value, RosenbrockFunction.Gradient); |
|
|
|
var solver = new BfgsMinimizer(1e-5, 1000); |
|
|
|
var solver = new BfgsMinimizer(1e-5, 1e-5, 1000); |
|
|
|
var result = solver.FindMinimum(obj, new LinearAlgebra.Double.DenseVector(new[] { -1.2, 1.0 })); |
|
|
|
|
|
|
|
Assert.That(Math.Abs(result.MinimizingPoint[0] - 1.0), Is.LessThan(1e-3)); |
|
|
|
@ -63,7 +63,7 @@ namespace MathNet.Numerics.UnitTests.OptimizationTests |
|
|
|
public void FindMinimum_Rosenbrock_Overton() |
|
|
|
{ |
|
|
|
var obj = new SimpleObjectiveFunction(RosenbrockFunction.Value, RosenbrockFunction.Gradient); |
|
|
|
var solver = new BfgsMinimizer(1e-5, 1000); |
|
|
|
var solver = new BfgsMinimizer(1e-5, 1e-5, 1000); |
|
|
|
var result = solver.FindMinimum(obj, new LinearAlgebra.Double.DenseVector(new[] { -0.9, -0.5 })); |
|
|
|
|
|
|
|
Assert.That(Math.Abs(result.MinimizingPoint[0] - 1.0), Is.LessThan(1e-3)); |
|
|
|
|