Optimization of functions from Opfunu

 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)