750 likes | 1.08k Views
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
E N D
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 • Solving NP-hard combinatorial problems • The ACO metaheuristic • ACO for the Traveling Salesman Problem
Biological inspiration: from real to artificial ants
Ant colonies • Distributed systems of social insects • Consist of simple individuals • Colony intelligence >> Individual intelligence
Ant Cooperation • Stigmergy – indirect communication between individuals (ants) • Driven by environment modifications
Denebourg’s double bridge experiments • Studied Argentine ants I. humilis • Double bridge from ants to food source
Double bridge experiments: equal lengths (2) • Run for a number of trials • Ants choose each branch ~ same number of trials
Double bridge experiments: different lengths (2) • The majority of ants follow the short path
Outline • Biological inspiration of ACO • Solving NP-hard combinatorial problems • The ACO metaheuristic • ACO for the Traveling Salesman Problem
Solving NP-hard combinatorial problems
Combinatorial optimization • Find values of discrete variables • Optimizing a given objective function
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
Approximate methods • Constructive algorithms • Local search
Constructive algorithms • Add components to solution incrementally • Example – greedy heuristics: add solution component with best heuristic estimate
Local search • Explore neighborhoods of complete solutions • Improve current solution by local changes • first improvement • best improvement
What is a metaheuristic? • A set of algorithmic concepts • Can be used to define heuristic methods • Applicable to a wide set of problems
Examples of metaheuristics • Simulated annealing • Tabu search • Iterated local search • Evolutionary computation • Ant colony optimization • Particle swarm optimization • etc.
Outline • Biological inspiration of ACO • Solving NP-hard combinatorial problems • The ACO metaheuristic • ACO for the Traveling Salesman Problem
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 (3) • Set of feasible states: • We can complete into a solution satisfying Ω(t) • Non-empty set of optimal solutions:
Combinatorial optimization problem mapping (4) • X – states • S – candidate solutions • – feasible states • S* – optimal 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
Combinatorial optimization problem mapping (last ) • Artificial ants build solutions by performing randomized walks on GC(C, L)
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 • Two opposite mechanisms: • Pheromone deposit • Pheromone evaporation
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
TSP: pheromone trails • Desirability of visiting city j directly after i