Optimization of the Ackley function based SADE

 1from detpy.DETAlgs.data.alg_data import SADEData
 2from detpy.DETAlgs.sade import SADE
 3from detpy.functions import FunctionLoader
 4from detpy.models.enums.boundary_constrain import BoundaryFixing
 5from detpy.models.enums.optimization import OptimizationType
 6from detpy.models.fitness_function import BenchmarkFitnessFunction
 7
 8function_loader = FunctionLoader()
 9ackley_function = function_loader.get_function(function_name="ackley", n_dimensions=2)
10fitness_fun = BenchmarkFitnessFunction(ackley_function)
11
12params = SADEData(
13    epoch=100,
14    population_size=100,
15    dimension=2,
16    lb=[-32.768, -32.768],
17    ub=[32.768, 32.768],
18    mode=OptimizationType.MINIMIZATION,
19    boundary_constraints_fun=BoundaryFixing.RANDOM,
20    function=fitness_fun,
21    log_population=True,
22    parallel_processing=['thread', 4]
23)
24
25default2 = SADE(params, db_conn="Differential_evolution.db", db_auto_write=False)
26results = default2.run()