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:
|
---|---|
Algorithm outputs | The topology with the same nodes, and two links (one in each direction) corresponding to the computed ring. Any previous links are removed. |
Required libraries | None |
Keywords | Ant Colony Optimization (ACO), Capacity assignment (CA), Topology assignment (TA) |
Authors | Pablo Pavón Mariño, José Luis Izquierdo Zaragoza |
Date | April 2014 |
Code | TCA_ACO_TSP.java |