Ant Colony Optimization: an introduction. Daniel Chivilikhin 03.04.2013. Outline. Biological inspiration of ACO Solving NP-hard combinatorial problems The ACO metaheuristic ACO for the Traveling Salesman Problem. Outline. Biological inspiration of ACO
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
Combinatorial optimization Π = (S, f, Ω) – problem instance • S – set of candidate solutions • f – objective function • Ω – set of constraints • – set of feasible solutions (with respect to Ω) • Find globally optimal feasible solution s*
NP-hard combinatorial problems • Cannot be exactly solved in polynomial time • Approximate methods – generate near-optimal solutions in reasonable time • No formal theoretical guarantees • Approximate methods = heuristics
ACO metaheuristic • A colony of artificial ants cooperate in finding good solutions • Each ant – simple agent • Ants communicate indirectly using stigmergy
Combinatorial optimization problem mapping (1) • Combinatorial problem (S, f, Ω(t)) • Ω(t) – time-dependent constraints • Example – dynamic problems • Goal – find globally optimal feasible solution s* • Minimization problem • Mapped on another problem…
Combinatorial optimization problem mapping (2) • C = {c1, c2, …, cNc} – finite set of components • States of the problem: X = {x = <ci, cj, …, ch, …>, |x| < n < +∞} • Set of candidate solutions:
Combinatorial optimization problem mapping (5) • Cost g(s, t) for each • In most cases – g(s, t) ≡ f(s, t) • GC = (C, L) – completely connected graph • C – set of components • L – edges fully connecting the components (connections) • GC – construction graph
Construction graph • Each component cior connection lij have associated: • heuristic information • pheromone trail
Heuristic information • A priori information about the problem • Does not depend on the ants • On components ci – ηi • On connections lij – ηij • Meaning: cost of adding a component to the current solution
Pheromone trail • Long-term memory about the entire search process • On components ci – τi • On connections lij – τij • Updated by the ants
Artificial ant (1) • Stochastic constructive procedure • Builds solutions by moving on GC • Has finite memory for: • Implementing constraints Ω(t) • Evaluating solutions • Memorizing its path
Artificial ant (2) • Has a start state x • Has termination conditions ek • From state xr moves to a node from the neighborhood – Nk(xr) • Stops if some ekare satisfied
Artificial ant (3) • Selects a move with a probabilistic rule depending on: • Pheromone trails and heuristic information of neighbor components and connections • Memory • Constraints Ω
Artificial ant (4) • Can update pheromone on visited components (nodes) • and connections (edges) • Ants act: • Concurrently • Independently
The ACO metaheuristic While not doStop(): ConstructAntSolutions() UpdatePheromones() DaemonActions()
ConstructAntSolutions • A colony of ants build a set of solutions • Solutions are evaluated using the objective function
UpdatePheromones: pheromone deposit • Ants increase pheromone values on visited components and/or connections • Increases probability to select visited components later
UpdatePheromones: pheromone evaporation • Decrease pheromone trails on all components/connections by a same value • Forgetting – avoid rapid convergence to suboptimal solutions
DaemonActions • Optional centralized actions, e.g.: • Local optimization • Ant elitism (details later)
ACO applications • Traveling salesman • Quadratic assignment • Graph coloring • Multiple knapsack • Set covering • Maximum clique • Bin packing • …
Outline • Biological inspiration of ACO • Solving NP-hard combinatorial problems • The ACO metaheuristic • ACO for the Traveling Salesman Problem
Traveling salesman problem • N – set of nodes (cities), |N| = n • A – set of arcs, fully connecting N • Weighted graph G = (N, A) • Each arc has a weight dij – distance • Problem: Find minimum length Hamiltonian circuit
TSP: construction graph • Identical to the problem graph • C = N • L = A • states = set of all possible partial tours
TSP: constraints • All cities have to be visited • Each city – only once • Enforcing – allow ants only to go to new nodes