Ant colony algorithm Ant colony algorithm mimics the

  • Slides: 11
Download presentation
Ant colony algorithm • Ant colony algorithm mimics the behavior of insect colonies completing

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

Ant colony algorithm • Ant colony algorithm mimics the behavior of insect colonies completing

Ant colony algorithm • Ant colony algorithm mimics the behavior of insect colonies completing their activities Ant colony looking for food < == > Solving a problem N Individual ants < == > N Solutions Each time the colony goes to look for food and returns to the nest < == > 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

Ant colony algorithm • Ant colony algorithm mimics the behavior of insect colonies completing their activities Ant colony looking for food < == > Solving a problem N Individual ants < == > N Solutions Each time the colony goes to look for food and returns to the nest < == > 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

Ant colony algorithm • Ant colony algorithm well suited for assignment-type problem • Contructing

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

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

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

Iteration of an ant colony algorithm

Graph coloring problem Greedy vs Ant Colony Graph coloring problem: Vertices are ordered in

Graph coloring problem Greedy vs Ant Colony 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 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 vertex

Graph coloring: Selecting color

Graph coloring: Selecting color