You are on page 1of 11

Ant colony algorithm

Ant colony algorithm mimics the behavior of insect colonies completing their activities
Ant colony looking for food N Individual ants Each time the colony goes to look for food and returns to the nest < == > < == > < == > Solving a problem N Solutions Population of N solutions

Ant colony algorithm


Ant colony algorithm mimics the behavior of insect colonies completing their activities
Ant colony looking for food N Individual ants Each time the colony goes to look for food and returns to the nest < == > < == > < == > Solving a problem N Solutions Population of N solutions

Collective process: Some kind of invisible agent (having a global memory of the process) is coordinating and having an impact on the behavior of each individual The solutions of the current population (associated with the individual insects) are used to update this global memory (trace of pheromone)

Ant colony algorithm


Ant colony algorithm mimics the behavior of insect colonies completing their activities
Ant colony looking for food N Individual ants Each time the colony goes to look for food and returns to the nest < == > < == > < == > Solving a problem N Solutions Population of N solutions

Individual process: A new feasible solution (corresponding to an ant going out to look for food) is generated by means of a constructive method (the ant moving forward) that uses the information in the global memory of the invisible agent

Ant colony algorithm


Ant colony algorithm well suited for assignment-type problem

Ant colony algorithm


Ant colony algorithm well suited for assignment-type problem Contructing a new solution (corresponding to an ant):

Ant colony algorithm


Ant colony algorithm well suited for assignment-type problem Contructing a new solution (corresponding to an ant): - In traditional construction procedure (Greedy, GRASP, for instance), at each iteration we select an activity and a resource to assigned to it, according to the best desirability of the pair ( for instance, to optimize the objective function given the values of the variables already fixed)

Ant colony algorithm


Ant colony algorithm well suited for assignment-type problem Contructing a new solution (corresponding to an ant): - In traditional construction procedure (Greedy, GRASP, for instance), at each iteration we select an activity and a resource to assigned to it according to the best desirability of the pair ( for instance, to optimize the objective function given the values of the variables already fixed) - In ant colony algorithm, at each iteration the selection of the pair activity & resource is made according to the desirability of the pair and also according to past history included in the global memory

Iteration of an ant colony algorithm

Graph coloring problem Greedy vs Ant Colony


Graph coloring problem: Vertices are ordered in decreasing order of their degree Vertices selected in that order Graph coloring problem: Vertices are ordered in decreasing order of their degree Vertices selected in that order

For each vertex, select a color in order to reduce the number of pairs of adjacent vertices already colored with the same color

For each vertex, select a color in order to reduce the number of pairs of adjacent vertices already colored with the same color and accounting for the quality of solutions where the vertex has the color. Impact of a given solution decreases with the number of iterations since it was generated

Graph coloring: Selecting vertex

Graph coloring: Selecting color