def test_simple_newton(): startPoint = numpy.zeros(2, numpy.float) optimi = optimizer.StandardOptimizer( function=Quadratic(), step=step.NewtonStep(), criterion=criterion.RelativeValueCriterion(0.00001), x0=startPoint, line_search=line_search.SimpleLineSearch()) assert_almost_equal(optimi.optimize(), numpy.array([1, 3], dtype=numpy.float))
def test_simple_newton_relative(): startPoint = numpy.empty(2, numpy.float) startPoint[0] = -1.01 startPoint[-1] = 1.01 optimi = optimizer.StandardOptimizer( function=Rosenbrock(2), step=step.NewtonStep(), criterion=criterion.RelativeValueCriterion(0.00001), x0=startPoint, line_search=line_search.SimpleLineSearch()) assert_almost_equal(optimi.optimize(), numpy.ones(2, numpy.float))
def test_simple_gradient_monotony(): startPoint = numpy.empty(2, numpy.float) startPoint[0] = -1.01 startPoint[-1] = 1.01 optimi = optimizer.StandardOptimizer( function=Rosenbrock(2), step=step.GradientStep(), criterion=criterion.OrComposition(criterion.MonotonyCriterion(0.00001), criterion.IterationCriterion(10000)), x0=startPoint, line_search=line_search.SimpleLineSearch(alpha_step=0.001)) assert_almost_equal(optimi.optimize(), numpy.ones(2, numpy.float), decimal=1)
def test_simple_newton(): startPoint = numpy.empty(4, numpy.float) startPoint[0] = 3. startPoint[1] = -1. startPoint[2] = 0. startPoint[3] = 1. optimi = optimizer.StandardOptimizer( function=Powell(), step=step.NewtonStep(), criterion=criterion.OrComposition( criterion.RelativeValueCriterion(0.00000001), criterion.IterationCriterion(1000)), x0=startPoint, line_search=line_search.SimpleLineSearch()) assert_array_almost_equal(optimi.optimize(), numpy.zeros(4, numpy.float), decimal=2)