1from detpy.DETAlgs.data.alg_data import MGDEData
2from detpy.DETAlgs.mgde import MGDE
3from detpy.models.enums.boundary_constrain import BoundaryFixing
4from detpy.models.enums.optimization import OptimizationType
5from detpy.models.fitness_function import FitnessFunctionOpfunu
6from opfunu.cec_based import F82014
7
8if __name__ == "__main__":
9 fitness_fun_opf = FitnessFunctionOpfunu(
10 func_type=F82014,
11 ndim=10
12 )
13
14 params = MGDEData(
15 epoch=10,
16 population_size=10,
17 dimension=10,
18 lb=[-5, -100, -100, -100, -100, -100, -100, -100, -100, -100],
19 ub=[5, 100, 100, 100, 100, 100, 100, 100, 100, 100],
20 mode=OptimizationType.MINIMIZATION,
21 boundary_constraints_fun=BoundaryFixing.RANDOM,
22 function=fitness_fun_opf,
23 crossover_rate=0.8,
24 log_population=True,
25 )
26 params.parallel_processing = ['thread', 5]
27
28 default2 = MGDE(params, db_conn="Differential_evolution.db", db_auto_write=False)
29 results = default2.run()
30 default2.write_results_to_database(results.epoch_metrics)