def optimize(self, run_f, params):
        search_tree = SearchSpace(params)

        lb = search_tree.get_lb()
        ub = search_tree.get_ub()
        f = param_decorator(run_f, search_tree)

        gs = RandomSearch(self.num_runs, lb, ub, self.sobol)

        start = timeit.default_timer()
        best_params, score = gs.optimize(f)
        end = timeit.default_timer() - start

        best_params = search_tree.transform(best_params)
        Result = namedtuple('Result', ['params', 'score', 'time'])

        return Result(best_params, score, end)
Exemple #2
0
    def optimize(self, run_f, params, parallel=False):

        search_tree = SearchSpace(params)

        lb = search_tree.get_lb()
        ub = search_tree.get_ub()
        f = Evaluator(run_f, search_tree)

        algorithm = self.algorithm(lb, ub, parallel, *self.args, **self.kwargs)

        start = timeit.default_timer()
        best_params, score = algorithm.run(f)
        end = timeit.default_timer() - start

        best_params = search_tree.transform(best_params)
        # Result = namedtuple('Result', ['params', 'score', 'time'])

        return Result(best_params, score, end)
Exemple #3
0
    def optimize(self, run_f, params):
        search_tree = SearchSpace(params)

        lb = search_tree.get_lb()
        ub = search_tree.get_ub()
        f = param_decorator(run_f, search_tree)

        pso = PSO(self.num_generations, self.num_particles, lb, ub, self.phi1,
                  self.phi2)

        start = timeit.default_timer()
        best_params, score = pso.optimize(f)
        end = timeit.default_timer() - start

        best_params = search_tree.transform(best_params)
        Result = namedtuple('Result', ['params', 'score', 'time'])

        return Result(best_params, score, end)