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.

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.

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

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

procedure ACO algorithm for TSPs
       Set parameters, initialize pheromone trails
while (termination condition not met)
              ApplyLocalSearch % optional
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
                        choose in probability the state to move into
                        append the chosen move to the k-th ant's tabu
                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

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.


        τ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
        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.


        τ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.


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


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.

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.

                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.



To top