VIEWS: 9 PAGES: 12 POSTED ON: 5/29/2012 Public Domain
ANT COLONY OPTIMISATION Abstract Ant Colony Optimization (ACO) has been applied successfully in solving the Traveling Salesman Problem (TSP). Marco Dorigo used Ant System (AS) to explore the Symmetric Traveling Salesman Problem and found that the use of a small number of elitist ants can improve algorithm performance. The elitist ants take advantage of global knowledge of the best tour found to date and reinforce this tour with pheromone in order to focus future searches more effectively. The partitioning of an application which tasks onto the different computational cores of a platform is an important step in the mapping of embedded applications onto these systems. This paper presents a novel approach for this problem based on the Ant Colony Optimization. In our algorithm, a collection of agents cooperate to effectively explore the search space. Introduction Keywords used: Swarm intelligence (SI) is a type of artificial intelligence based on the collective behavior of decentralized, self-organized systems. The expression was introduced by Gerardo Beni and Jing Wang in 1989, in the context of cellular robotic systems. Natural examples of SI include ant colonies, bird flocking, animal herding, bacterial growth, and fish schooling. The application of swarm principles to robots is called swarm robotics, while 'swarm intelligence' refers to the more general set of algorithms. Ant colony optimization algorithm (ACO), is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs. This algorithm is a member of ant colony algorithms family, in swarm intelligence methods, and it constitutes some meta heuristic optimizations. It was initially proposed by Marco Dorigo in 1992 in his PhD thesis. Heuristic pertains to the process of gaining knowledge or some desired result by intelligent guesswork rather than by following some pre established formula. It can be contrasted with an algorithm. Traveling Salesman Problem (TSP) can be defined as follows: Given a number of cities and the distances between any city to any other city, what is the shortest round- trip tour that visits every city exactly once and returns you to the city from which you began. By placing a number of ants on a fully connected graph of cities the ants can complete individual tours and eventually locate an optimum tour. Ant Colony Optimization (ACO): At the system level, the application programmer designs applications using a set of interdependent tasks, where each task is a coarse grained set of computations with a well defined interface. The fundamental problem distills to automatically partitioning the tasks onto the system resources, while optimizing system performance methods such as execution time, hardware cost and power consumption. Different heuristic methods have been proposed to try to effectively provide suboptimal solutions like Simulated Annealing, Genetic Algorithm, Tabu Search, and Kernighan/Lin approach. Researchers have since formulated ACO methods for a variety of traditional N P- hard problems like the maximum clique problem, the quadratic assignment problem, the graph coloring problem, the shortest common super-sequence problem, and the multiple knapsack problems. Example: In the picture shown above, 1. The first ant finds the food source (F), via any way (a), then returns to the nest (N), leaving behind a trail pheromone (b) 2. Ants indiscriminately follow four possible ways, but the strengthening of the runway makes it more attractive the shortest route. 3. Ants take the shortest route, long portions of other ways lose their trail pheromones. Here, the more time it takes for an ant to travel down the path and back again, the more time the pheromones have to evaporate. A short path, by comparison, gets marched over faster, and thus the pheromone density remains high as it is laid on the path as fast as it can evaporate. Travelling Salesman Problem The Traveling Salesman Problem (TSP) is an NP complete problem addressed by the optimization community having been the target of considerable research. The TSP is recognized as an easily understood, hard optimization problem of finding the shortest circuit of a set of cities starting from one city, visiting each other city exactly once, and returning to the start city again. Formally, the TSP is the problem of finding the shortest Hamiltonian circuit of a set of nodes. There are two classes of TSP problem: symmetric TSP (STSP), and asymmetric TSP (ATSP). The difference between the two classes is that with symmetric TSP the distance between two cities is the same regardless of the direction you travel with ATSP this is not necessarily the case. ACO Algorithm for TSP: Ant Colony Optimization has been successfully applied to both classes of TSP with good, and often excellent, results. The ACO algorithm skeleton for TSP is as follows: procedure ACO algorithm for TSPs Set parameters, initialize pheromone trails while (termination condition not met) do ConstructSolutions ApplyLocalSearch % optional UpdateTrails end end ACO algorithm for TSPs The earliest implementation, Ant System, was applied to the symmetric TSP problem initially and as this paper presents a proposed improvement to Ant System. While the ant foraging behavior on which the Ant System is based has no central control or global information on which to draw, the use of global best information in the elitest form of the Ant System represents a significant departure from the purely distributed nature of ant-based foraging. Use of global information presents a significant barrier to fully distributed implementations of Ant System algorithms in a live network, for example. This observation motivates the development of a fully distributed algorithm – the Ant System Local Best Tour (ASLBT)–described in this paper. The following figure gives the ACO best tour graph, where a salesman travels 70 cities in the shortest path. Ant System Algorithm for Ant System: while not terminated do for each ant k do repeat choose in probability the state to move into append the chosen move to the k-th ant's tabu list until ant k has completed its solution end for for each ant move (i,j) do compute Δτij update the trail matrix end for end while Ant System was the earliest implementation of Ant Colony Optimization meta heuristic. The implementation is built on top of the ACO algorithm skeleton shown above. A brief description of the algorithm follows. An ACO consists of two main sections: initialization and a main loop. The main loop runs for a user-defined number of iterations. These are described below: 1. Initialization: • Any initial parameters are loaded. • Each of the roads is set with an initial pheromone value. • Each ant is individually placed on a random city. 2. Main loop: Construct Solution: • Each ant constructs a tour by successively applying the probabilistic choice function and randomly selecting a city it has not yet visited until each city has been visited exactly once. Probability Function: Each ant utilizes a simple probability function which it uses to decide which state to move to next. The function computes the product of pheromone influence and visibility influence for the current node and divides that by the sum of the influence products of all states available (states not in the current ant's tabu list). The constants α and β are used to control the influence pheromone vs. edge visibility (inverse of the edge length). If α > β, pheromone level will have a greater influence in the ant's decision. If β > α, edge visibility will have a greater influence. Where, τij is the amount of pheromone on edge i,j α is the pheromone scaling factor, a constant to control the influence of τij ηij is the desirability of edge i,j (typically 1/lengthij) β is the visibility scaling factor, used to tune the road length in selecting the next city. tabuk is a list of states already visited by ant k p(t) is the probabilistic function, designed to favor the selection of a road that has a high pheromone value, t. Pheromone Update Function: As time progresses the algorithm must update the pheromone trails the ants have left behind. First the current pheromone level is evaporated by multiplying the current pheromone level τij by a number which will be between 0 and 1 (non-inclusive), which is dictated by a constant ρ. After evaporation, the pheromone level for the edge is increased. Where, τij is the amount of pheromone on edge i,j ρ is the rate of pheromone evaporation Δτijk is the amount of pheromone deposited on edge i,j m is the total number of ants Q is a constant to control the amount of pheromone deposited Lk is the total length of ant k' s tour Local Search: • Not used in Ant System, but is used in several variations of the TSP problem where 2- opt or 3-opt local optimizers are used. Best Tour check: • For each ant, calculate the length of the ant’s tour and compare to the best tour’s length. If there is an improvement, update it. Update Trails: • Evaporate a fixed proportion of the pheromone on each road. • For each ant perform the “ant-cycle” pheromone update. • Reinforce the best tour with a set number of “elitist ants” performing the “ant cycle” pheromone update. In the original investigation of Ant System algorithms, there were three versions of Ant System that differed in how and when they laid pheromone. “Ant-density” heuristic updates the pheromone on a road traveled with a fixed amount after every step. “Ant-quantity” heuristic updates the pheromone on a road traveled with an amount proportional to the inverse of the length of the road after every step. “Ant-cycle” heuristic first completes the tour and then updates each road used with an amount proportional to the inverse of the total length of the tour. Of the three approaches “Ant-cycle” was found to produce the best results and subsequently receives the most attention. It will be used for the remainder of this paper. Ant System is essentially the prototype for all other ACO algorithms since it conforms most truly to how ants interact in nature. Analysis: Let us consider a practical application of the ACO algorithm. A total of 180 trial runs of the program were performed; 30 trial runs for each of 1, 2, 4, 8, 16, and 32 processes. The problem was kept the same across all test runs and the details of the problem used are: 60 cities 60 ants 500 total tours per process 5 communications between processes (1 every 100 tours) α value of 1.0 β value of 5.0 ρ value of 0.2 Q value of 80 Result: The results of the test are as follows. By adding more processes the variability of the solutions is reduced considerably. The decrease in the standard deviation of the solutions found is fairly linear. Minimum and maximum solutions found also decrease with the increase in processes. This demonstrates a reduced width in the overall spread of solutions as we add processes. The time the individual trial runs took to run was very constant, ranging between 30-35 seconds. Analysis: The reason the total run time of the program remains constant, despite the number of processes the program is run on, is a characteristic of the implementation. Each process runs as an independent entity in the parallel scheme, forming its own solution. The solutions are collectively pooled every 100 tours and the best answer is distributed back to every process. The increase in the quality of answers we receive from the program is due to the adding of total solutions the program generates. Since every process generates answers independently, adding more processes will generate more solutions to choose from. The more solutions there are to choose from, the higher the possibility finding a shorter distance. Conclusion In this work, we presented a novel heuristic searching method for the system partitioning problem based on the ACO algorithm. Our algorithm works as a collection of agents work collaboratively to explore the search space. A stochastic decision making strategy is proposed in order to combine global and local heuristics to effectively conduct this exploration. Preliminary results over our test cases for a 3-way system partitioning task showed promising results. The proposed algorithm consistently provided near optimal partitioning results over tested examples with very minor computational cost. Hence, in this paper, we see that the ant colony optimization can be applied in real time applications. References Websites: www.wikipedia.com terri.zone-aco.pdf cse.edu-aco.pdf www.mathworks.com www.WhatIs.com www.intraspirit.net www.scholarpedia.com