MGDE

MGDE (A many-objective guided differential evolution)

class DETAlgs.mgde.MGDE(params: MGDEData, db_conn=None, db_auto_write=False)[source]

Bases: BaseAlg

Links: https://link.springer.com/article/10.1007/s10479-022-04641-3

References: Zouache, D., Ben Abdelaziz, F. MGDE: a many-objective guided differential evolution with strengthened dominance relation and bi-goal evolution. Ann Oper Res (2022). https://doi.org/10.1007/s10479-022-04641-3

next_epoch()[source]
property nfe: int

Number of function evaluations performed so far.

run()
write_results_to_database(results_data)
class detpy.DETAlgs.data.alg_data.MGDEData(population_size: int = 100, max_nfe: int = 100000, dimension: int = 10, additional_stop_criteria: detpy.models.stop_condition.stop_condition.StopCondition = <detpy.models.stop_condition.never_stop_condition.NeverStopCondition object at 0x7f136577ee40>, lb: list = <factory>, ub: list = <factory>, optimization_type: detpy.models.enums.optimization.OptimizationType = <OptimizationType.MINIMIZATION: 'minimization'>, boundary_constraints_fun: detpy.models.enums.boundary_constrain.BoundaryFixing = <BoundaryFixing.RANDOM: 'random'>, function: detpy.models.fitness_function.FitnessFunctionBase = None, log_population: bool = False, parallel_processing: Optional[list] = None, show_plots: bool = True, crossover_rate: float = 0.1, crossing_type: detpy.models.enums.crossingtype.CrossingType = <CrossingType.BINOMIAL: 'binomial'>, mutation_factor_f: float = 0.1, mutation_factor_k: float = 0.1, threshold: float = 0.1, mu: float = 0.1)[source]

Bases: BaseData

additional_stop_criteria: StopCondition = <detpy.models.stop_condition.never_stop_condition.NeverStopCondition object>
boundary_constraints_fun: BoundaryFixing = 'random'
crossing_type: CrossingType = 'binomial'
crossover_rate: float = 0.1
dimension: int = 10
function: FitnessFunctionBase = None
lb: list
log_population: bool = False
max_nfe: int = 100000
mu: float = 0.1
mutation_factor_f: float = 0.1
mutation_factor_k: float = 0.1
optimization_type: OptimizationType = 'minimization'
parallel_processing: list | None = None
population_size: int = 100
show_plots: bool = True
threshold: float = 0.1
ub: list