Class UpdatePheromoneMatrixForMaxMin<C,E extends Environment>

java.lang.Object
isula.aco.DaemonAction<C,E>
isula.aco.algorithms.maxmin.UpdatePheromoneMatrixForMaxMin<C,E>
Type Parameters:
C - Class for components of a solution.
E - Class representing the Environment.

public abstract class UpdatePheromoneMatrixForMaxMin<C,E extends Environment> extends DaemonAction<C,E>
The procedure for pheromone update for MMAS. It keeps the pheromone values in the matrix between a maximum and a minimum, and only allows pheromone deposit to the best performing ant.

It is not executed online, but at the end of the iteration.

Author:
Carlos G. Gavidia
  • Constructor Details

    • UpdatePheromoneMatrixForMaxMin

      public UpdatePheromoneMatrixForMaxMin()
      Instantiates the Update Pheromone Matrix Policy.
  • Method Details

    • applyDaemonAction

      public void applyDaemonAction(ConfigurationProvider provider)
      Specified by:
      applyDaemonAction in class DaemonAction<C,E extends Environment>
    • getMaximumPheromoneValue

      protected double getMaximumPheromoneValue(MaxMinConfigurationProvider configurationProvider)
      The maximum value permitted for a pheromone matrix cell.
      Parameters:
      configurationProvider - Algorithm configuration.
      Returns:
      Pheromone threshold.
    • getMinimumPheromoneValue

      protected double getMinimumPheromoneValue(MaxMinConfigurationProvider configurationProvider)
      The minimum value permitted for a pheromone matrix cell.
      Parameters:
      configurationProvider - Algorithm configuration.
      Returns:
      Pheromone threshold.
    • getNewPheromoneValue

      protected abstract double getNewPheromoneValue(Ant<C,E> ant, int positionInSolution, C solutionComponent, MaxMinConfigurationProvider configurationProvider)
      The new value to be included in the pheromone matrix, depending on a component and its position on the solution.
      Parameters:
      ant - Ant performing the deposit.
      positionInSolution - Component in the solution.
      solutionComponent - Position of the component in the solution.
      configurationProvider - Algorithm configuration.
      Returns:
      New pheromone value.