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()