culebra.trainer.aco module

Implementation of some ant colony optimization trainers.

This module is composed by:

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

  • Some popular single-objective ACO algorithms:

    • The AntSystem class, which implements the Ant System algorithm

    • The ElitistAntSystem class, which implements the Elitist Ant System algorithm

    • The MMAS class, which implements the \({\small \mathcal{MAX}{-}\mathcal{MIN}}\) Ant System algorithm

    • The AgeBasedPACO class, which implements a PACO approach with an age-based population update strategy

    • The QualityBasedPACO class, which implements a PACO approach with a quality-based population update strategy

  • Some multi-objective ACO algorithms:

    • The PACO_MO class, which implements the PACO-MO algorithm

    • The CPACO class, which implements the Crowding PACO algorithm

  • ACO-based wrappers for Feature Selection problems:

    • The PACO_FS class. A new population-based wrapper ACO approach for Feature Selection problems

    • The ElitistACO_FS class. A new elitist ACO-based wrapper for Feature Selection problems

    • The ACO_FSConvergenceDetector class, designed to enable stopping ACO_FS trainers upon convergence

Attributes

DEFAULT_PHEROMONE_INFLUENCE = 1.0

Default pheromone influence (\({\alpha}\)).

DEFAULT_HEURISTIC_INFLUENCE = 2.0

Default heuristic influence (\({\beta}\)).

DEFAULT_CONVERGENCE_CHECK_FREQ = 100

Default frequency to check if an elitist ACO has converged.

DEFAULT_PHEROMONE_EVAPORATION_RATE = 0.1

Default pheromone evaporation rate (\({\rho}\)).

DEFAULT_ELITE_WEIGHT = 0.3

Default weight for the elite ant (best-so-far ant) respect to the iteration-best ant.

DEFAULT_MMAS_ITER_BEST_USE_LIMIT = 250

Default limit for the number of iterations for the \({\small \mathcal{MAX}{-}\mathcal{MIN}}\) AS to give up using the iteration-best ant to deposit pheromone. Iterations above this limit will use only the global-best ant.

DEFAULT_ACO_FS_INITIAL_PHEROMONE = 1

Default initial pheromone.

DEFAULT_ACO_FS_DISCARD_PROB = 0.5

Default probability of discarding a node (feature).