culebra.trainer.ea module

Implementation of some evolutionary trainers.

This module is composed by:

  • The abc sub-module, where some abstract base classes are defined to support the evolutionary trainers developed in this module

  • Some popular single-population evolutionary algorithms:

    • The SimpleEA class, which implements the simplest EA

    • The ElitistEA class, which provides an elitist EA

    • The NSGA class, which implements a multi-objective EA, based on Non-dominated sorting, able to run both the NSGA-II and the NSGA-III algorithms

  • Some variants of the multi-population island-based EA:

  • A couple of cooperative co-evolutionary implementations:

    • The SequentialCooperativeEA class, which implements a sequential implementation of the cooperative co-evolutionary model

    • The ParallelCooperativeEA class, which provides a parallel implementation of the cooperative co-evolutionary model

Attributes

DEFAULT_POP_SIZE = 100

Default population size.

DEFAULT_CROSSOVER_PROB = 0.8

Default crossover probability.

DEFAULT_MUTATION_PROB = 0.2

Default mutation probability.

DEFAULT_GENE_IND_MUTATION_PROB = 0.1

Default gene independent mutation probability.

DEFAULT_SELECTION_FUNC = <function selTournament>¶

Default selection function.

DEFAULT_SELECTION_FUNC_PARAMS = {'tournsize': 2}

Default selection function parameters.

DEFAULT_ELITE_SIZE = 5

Default number of elite individuals.

DEFAULT_NSGA_SELECTION_FUNC = <function selNSGA2>

Default selection function for NSGA-based algorithms.

DEFAULT_NSGA_SELECTION_FUNC_PARAMS = {}

Default selection function parameters for NSGA-based algorithms.

DEFAULT_NSGA3_REFERENCE_POINTS_P = 4

Default number of divisions along each objective for the reference points of NSGA-III.