ImprovedDE

ImprovedDE (DE with dynamic mutation parameters)

class DETAlgs.improved_de.ImprovedDE(params: ImprovedDEData, db_conn=None, db_auto_write=False)[source]

Bases: BaseAlg

Links: https://link.springer.com/article/10.1007/s00500-023-09080-1

References: Yifeng Lin · Yuer Yang · Yinyan Zhang Improved differential evolution with dynamic mutation parameters Soft Computing Optimization Published: 17 August 2023 Volume 27, pages 17923–17941, (2023) https://doi.org/10.1007/s00500-023-09080-1

dynamic_mutation_factor(iteration)[source]

Implements dynamic mutation factor based on Scheme 6: FS(k) = 1 - 1 / (1 + exp(-iteration))

next_epoch()[source]
run()
write_results_to_database(results_data)
class detpy.DETAlgs.data.alg_data.ImprovedDEData(epoch: int = 100, population_size: int = 100, dimension: int = 10, lb: list = <factory>, ub: list = <factory>, mode: 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, mutation_factor: float = 0.1, crossover_rate: float = 0.5)[source]

Bases: BaseData

boundary_constraints_fun: BoundaryFixing = 'random'
crossover_rate: float = 0.5
dimension: int = 10
epoch: int = 100
function: FitnessFunctionBase = None
lb: list
log_population: bool = False
mode: OptimizationType = 'minimization'
mutation_factor: float = 0.1
parallel_processing: list | None = None
population_size: int = 100
ub: list