EPSDEG
EPSDEG (Epsilon Constrained Differential Evolution with Gradient-Based Mutation)
- class detpy.DETAlgs.eps_deg.EPSDEG(params: EPSDEGData, db_conn=None, db_auto_write=False)[source]
Bases:
BaseAlgEPSDEG - Epsilon Constrained Differential Evolution with Gradient-Based Mutation
Links: https://link.springer.com/chapter/10.1007/978-3-642-00619-7_3
References: T. Takahama and S. Sakai, “Solving difficult constrained optimization problems by the ε constrained differential evolution with gradient based mutation”
in Constraint-Handling in Evolutionary Optimization, E. Mezura-Montes, Ed. Springer-Verlag, 2009, pp. 51–72.
- property nfe: int
Number of function evaluations performed so far.
- run()
- write_results_to_database(results_data)
- class detpy.DETAlgs.data.alg_data.EPSDEGData(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, mutation_factor: float = 0.5, crossover_rate: float = 0.9, gradient_base_mutation_rate: float = 0.2, tolerance_h: float = 0.001, theta: int = None, penalty_power: int = 2, control_generations: int = 150, gradient_mutation_interval: int = 5, g_funcs: list[typing.Callable[[list[float]], float]] = <factory>, h_funcs: list[typing.Callable[[list[float]], float]] = <factory>)[source]
Bases:
BaseData- additional_stop_criteria: StopCondition = <detpy.models.stop_condition.never_stop_condition.NeverStopCondition object>
- boundary_constraints_fun: BoundaryFixing = 'random'
- control_generations: int = 150
- crossover_rate: float = 0.9
- derivative_method = 'numeric'
- dimension: int = 10
- function: FitnessFunctionBase = None
- g_funcs: list[Callable[[list[float]], float]]
- gradient_base_mutation_rate: float = 0.2
- gradient_mutation_interval: int = 5
- h_funcs: list[Callable[[list[float]], float]]
- lb: list
- log_population: bool = False
- max_nfe: int = 100000
- mutation_factor: float = 0.5
- optimization_type: OptimizationType = 'minimization'
- parallel_processing: list | None = None
- penalty_power: int = 2
- population_size: int = 100
- show_plots: bool = True
- theta: int = None
- tolerance_h: float = 0.001
- ub: list