def check_simple_marquardt(self): startPoint = numpy.zeros(2, numpy.float) optimi = optimizer.StandardOptimizer(function = Quadratic(), step = step.MarquardtStep(), criterion = criterion.criterion(gtol=0.00001, iterations_max=200), x0 = startPoint, line_search = line_search.BacktrackingSearch()) opt = optimi.optimize() assert_almost_equal(optimi.optimize(), numpy.array([1, 3], dtype = numpy.float), decimal = 5)
def check_swpr_dygradient(self): startPoint = numpy.empty(2, numpy.float) startPoint[0] = -1.01 startPoint[-1] = 1.01 optimi = optimizer.StandardOptimizer(function = Rosenbrock(2), step = step.DYConjugateGradientStep(), criterion = criterion.criterion(iterations_max = 1000, ftol = 0.00000001, gtol = 0.0001), x0 = startPoint, line_search = line_search.StrongWolfePowellRule()) assert_array_almost_equal(optimi.optimize(), numpy.ones(2, numpy.float), decimal = 4)
def check_swp_dypgradient_relative(self): startPoint = numpy.zeros(2, numpy.float) optimi = optimizer.StandardOptimizer(function = Quadratic(), step = step.DYConjugateGradientStep(), criterion = criterion.criterion(ftol=0.000001, iterations_max=1000, gtol = 0.0001), x0 = startPoint, line_search = line_search.StrongWolfePowellRule()) assert_almost_equal(optimi.optimize(), numpy.array([1, 3], dtype = numpy.float))