Example: 'This algorithm computes the bidirectional ring which minimizes the total ring length, using an ACO (Ant Colony Optimization) heuristic, described as Ant System in the literature'

Brief description

This algorithm computes the bidirectional ring which minimizes the total ring length, using an ACO (Ant Colony Optimization) heuristic, described as Ant System in the literature: M. Dorigo, V. Maniezzo, A. Colorni, "Ant system: optimization by a colony of cooperating agents", IEEE T on Cybernetics, 1996. The cost of a link equals the euclidean distance between link end nodes. The algorithm executes ACO iterations until the maxExecTime is reached. In each ACO iteration, a loop for each ant is executed. Each ant, creates a greedy-randomized solution using the pheromones information of each potential link, and each link length, as follows. Each ant starts in a node chosen randomly. At each iteration, an ant in node n decides the next node to visit randomly among the non-visited nodes, being the probability of choosing node n' proportional to ph_nn'^alpha b_nn'^beta. ph_nn' is the amount of pheromones associated to link nn', b_nn' is the inverse of the distance between both nodes. alpha and beta are parameters tuning the importance of pheromones and link distances respectively. After all ants have finished, an evaporation strategy is executed, where each link nn' looses pheromones multiplicatively (pheromones are multiplied by 1-r, where r is a 0...1 evaporation factor). After evaporation phase, a reinforcement step is completed, where each ant a adds a quantity 1/La to the pheromones of all links traversed, being La the total distance of its ring.

Algorithm description table

Algorithm inputs

Requires a topology of nodes within the netPlan object.

Algorithm parameters:

  • maxExecTimeSecs: Execution time of the algorithm. The algorithm will stop after this time, returning the best solution found. Default: 10
  • numAnts: Number of ants in the colony. Default: 10
  • alpha: Alpha factor tuning the pheromone influence in the ant movement. Default: 1
  • beta: Beta factor tuning the link distance influence in the ant movement. Default: 1
  • evaporationFactor: Factor controlling the evaporation rate of pheromones. Default: 0.5
  • linkCapacities: Capacities to set to the links. Default: 100
  • randomSeed: Seed for the random number genertor. Default: 1
Algorithm outputsThe topology with the same nodes, and two links (one in each direction) corresponding to the computed ring. Any previous links are removed.
Required librariesNone
KeywordsAnt Colony Optimization (ACO), Capacity assignment (CA), Topology assignment (TA)
AuthorsPablo Pavón Mariño, José Luis Izquierdo Zaragoza
DateApril 2014
CodeTCA_ACO_TSP.java