EPSDEAG

EPSDEAG (Constrained Optimization by the ε Constrained Differential Evolution with an Archive and Gradient-Based Mutation)

class DETAlgs.eps_deag.EPSDEAG(params: EPSDEAGData, db_conn=None, db_auto_write=False)[source]

Bases: BaseAlg

EPSDEAG - Epsilon Constrained Differential Evolution with an Archive and Gradient-Based Mutation

Links: https://ieeexplore.ieee.org/document/5586484

References: Tetsuyuki Takahama; Setsuko Sakai; “Constrained optimization by the ε constrained differential evolution with an archive and gradient-based mutation”, 2010 IEEE Congress on Evolutionary Computation, 18-23 July 2010, Barcelona, Spain doi: 10.1109/CEC.2010.5586484.

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.EPSDEAGData(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, init_mutation_factor: float = 0.5, init_crossover_rate: float = 0.9, theta: float = 0.9, tolerance_h: float = 0.001, penalty_power: int = 2, control_generations: int = 150, archive_size: int = 300, gradient_base_mutation_rate: float = 0.2, number_of_repeating_mutation: int = 3, number_of_repeating_de_operations: int = 2, 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>
archive_size: int = 300
boundary_constraints_fun: BoundaryFixing = 'random'
control_generations: int = 150
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]]
init_crossover_rate: float = 0.9
init_mutation_factor: float = 0.5
lb: list
log_population: bool = False
max_nfe: int = 100000
number_of_repeating_de_operations: int = 2
number_of_repeating_mutation: int = 3
optimization_type: OptimizationType = 'minimization'
parallel_processing: list | None = None
penalty_power: int = 2
population_size: int = 100
show_plots: bool = True
theta: float = 0.9
tolerance_h: float = 0.001
ub: list