Introduction to Ant Colony Optimization

What is Algorithm?

Algorithms are processes or optimized solutions for any complex problems. There is always a principle behind any algorithm design. Sometimes, these algorithms are designed from natural laws and events, and evolutionary algorithms are the example of these algorithms.

This algorithm uses natural events and behavior as it is to get the low-cost and best possible solution to a complex problem.

There are a lot of algorithms based on natural behavior, and they are called metaheuristics. Metaheuristics are made of two words: meta, which means one level above, and heuristics, which means to find.

Particle Swarm Optimization and Ant Colony Optimization are examples of these swarm intelligence algorithms. The objective of the swarm intelligence algorithms is to get the optimal solution from the behavior of insects, ants, bees, etc.

Principle of Ant Colony Optimization

This technique is derived from the behavior of ant colonies. Ants are social insects that live in groups or colonies instead of living individually. For communication, they use pheromones. Pheromones are the chemicals secreted by the ants on the soil, and ants from the same colony can smell them and follow the instructions.

To get the food, ants use the shortest path available from the food source to the colony. Now ants going for the food secret the pheromone and other ants follow this pheromone to follow the shortest route. Since more ants use the shortest route so the concentration of the pheromone increase and the rate of evaporation of pheromone to other paths will be decreased, so these are the two major factors to determine the shortest path from the food source to the colony.

We can understand it by following steps:

Stage 1:

Introduction to Ant Colony Optimization

In this stage, there is no pheromone in the path, and there are empty paths from food to the ant colony.

Stage2:

Introduction to Ant Colony Optimization

In this stage, ants are divided into two groups following two different paths with a probability of 0.5. So we have four ants on the longer path and four on the shorter path.

Stage 3:

Introduction to Ant Colony Optimization

Now, the ants which follow the shorter path will react to the food first, and then the pheromone concentration will be higher on this path as more ants from the colony will follow the shorter path.

Stage 4:

Introduction to Ant Colony Optimization

Now more ants will return from the shortest path, and the concentration of pheromones will be higher. Also, the rate of evaporation from the longer path will be higher as fewer ants are using that path. Now more ants from the colony will use the shortest path.

Algorithm Design

Now the above behavior of the ants can be used to design the algorithm to find the shortest path. We can consider the ant colony and food source as the node or vertex of the graph and the path as the edges to these vertices. Now the pheromone concentration can be assumed as the weight associated with each path.

Let's suppose there are only two paths which are P1 and P2. C1 and C2 are the weight or the pheromone concentration along the path, respectively.

So we can represent it as graph G(V, E) where V represents the Vertex and E represents the Edge of the graph.

Initially, for the ith path, the probability of choosing is:

Introduction to Ant Colony Optimization

If C1 > C2, then the probability of choosing path 1 is more than path 2. If C1 < C2, then Path 2 will be more favorable.

For the return path, the length of the path and the rate of evaporation of the pheromone are the two factors.

1. Concentration of pheromone according to the length of the path:

Introduction to Ant Colony Optimization

Where Li is the length of the path and K is the constant depending upon the length of the path. If the path is shorter, concentration will be added more to the existing pheromone concentration.

2. Change in concentration according to the rate of evaporation:

Introduction to Ant Colony Optimization

Here parameter v varies from 0 to 1. If v is higher, then the concentration will be less.

Pseudo Code:

Ant Colony optimization is used in various problems like the Travelling Salesman Problem etc.


Next TopicWhat is Array