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:

    • Algorithms relying on pheromone evaporation:

      • 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

    • Population-based approaches:

      • 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 CPACO class, which implements the Crowding PACO algorithm

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

  • ACO-based wrappers for Feature Selection problems:

    • The ACOFSConvergenceDetector class, designed to enable stopping ACOFS trainers upon convergence

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

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

Attributes

DEFAULT_ACOFS_DISCARD_PROB = 0.5

Default probability of discarding a node (feature).

DEFAULT_ACOFS_EXPLOITATION_PROB = 0

Default exploitation probability (\({q_0}\)) for ACO-FS approaches.

DEFAULT_ACOFS_HEURISTIC_INFLUENCE = 0

Default heuristic influence (\({\beta}\)) for ACO-FS approaches.

DEFAULT_ACOFS_INITIAL_PHEROMONE = 1

Default initial pheromone.

DEFAULT_AS_EXPLOITATION_PROB = 0

Default exploitation probability (\({q_0}\)) for the Ant System trainer.

DEFAULT_CONVERGENCE_CHECK_FREQ = 100

Default frequency to check if an elitist ACO has converged.

DEFAULT_ELITE_WEIGHT = 0.3

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

DEFAULT_EXPLOITATION_PROB = 0.9

Default exploitation probability (\({q_0}\)).

DEFAULT_HEURISTIC_INFLUENCE = 2.0

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

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_PHEROMONE_DEPOSIT_WEIGHT = 1.0

Default pheromone deposit weight.

DEFAULT_PHEROMONE_EVAPORATION_RATE = 0.1

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

DEFAULT_PHEROMONE_INFLUENCE = 1.0

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