Heuristic Optimization Methods Nature-Inspired Metaheuristics Metaheuristics covered so far • • • • Simulated Annealing (SA) Threshold Acceptance (TA) Tabu Search (TS) Variable Neighborhood Search (VNS) • Iterative Local Search (ILS) • Guided Local Search (GLS) • Genetic Algorithms ( GA) • Scatter Search (SS) • Ant Colony Optimization (ACO) • Memetic Algorithms (MA) • Greedy Randomized Adaptive Search Procedure (GRASP) 2 Other classe of Heuristics Inspired By Nature • Evolutionary Algorithms (EA) – All methods inspired by the evolution • Swarm Intelligence – All methods inspired by collective intelligence 3 Examples of Heuristics • • • • • • • • • • • • • • • The Harmony Method, Shuffled Leaping-Frog Algorithm, Squeaky Wheel Optimization, Ruin and Recreate Intelligent Water Drops Honey-Bee Mating Dance Gravitational Search River Formation Dynamics Charged System Search Stochastic Diffusion Search Particle Swarm Optimization Artificial Immune Systems Bee Colony Optimization Bacterial Foraging Optimization The Great Deluge Algorithm 4 Swarm Intelligence (SI) • The collective behaviour of decentralized, self-organized systems, natural or artificial. • The expression was introduced by Gerardo Beni and Jing Wang in 1989 • SI systems are typically made up of a population of simple agents interacting locally with one another and with their environment. • The agents follow very simple rules, and although there is no centralized control structure dictating how individual agents should behave, local, and to a certain degree random, interactions between such agents lead to the emergence of "intelligent" global behavior, unknown to the individual agents. • Natural examples of SI include – – – – – ant colonies bird flocking animal herding, bacterial growth fish schooling. 5 Particle Swarm Optimization (PSO) • Particle swarm optimization (PSO) is a global optimization algorithm • problems in which a best solution can be represented as a point or surface in an n-dimensional space. • Hypotheses (initial solutions) are plotted in this space and seeded with an initial velocity, as well as a communication channel between the particles. • Particles then move through the solution space, and are evaluated according to some fitness criterion after each timestep. • Over time, particles are accelerated towards those particles within their communication grouping which have better fitness values. • The main advantage of such an approach over other global minimization strategies such as simulated annealing is that the large number of members that make up the particle swarm make the technique impressively resilient to the problem of local minima. 6 Particle Swarm Optimization • A basic variant of the PSO algorithm works by having a population (called a swarm) of candidate solutions (called particles). • These particles are moved around in the search-space according to a few simple formulae. • The movements of the particles are guided by their own best known position in the search-space as well as the entire swarm's best known position. • When improved positions are being discovered these will then come to guide the movements of the swarm. • The process is repeated and by doing so it is hoped, but not guaranteed, that a satisfactory solution will eventually be 7 discovered. PSO • Formally, let f: ℝn → ℝ be the fitness or cost function which must be minimized. • Let S be the number of particles in the swarm, each having a position xi ∈ ℝn in the search-space and a velocity vi ∈ ℝn. • Let pi be the best known position of particle i and • let g be the best known position of the entire swarm. 8 Basic PSO Algorithm - init • For each particle i = 1, ..., S do: – Initialize the particle's position with a uniformly distributed random vector: xi ~ U(blo, bup), where blo and bup are the lower and upper boundaries of the search-space. – Initialize the particle's best known position to its initial position: pi ← xi – If (f(pi) < f(g)) update the swarm's best known position: g ← pi – Initialize the particle's velocity: vi ~ U(-|bup-blo|, |bup-blo|) • The parameters ω, φp, and φg are selected by the practitioner and control the behaviour and efficacy of the PSO method. 9 Basic PSO – Main Loop • Until a termination criterion is met (e.g. number of iterations performed, or adequate fitness reached), repeat: – For each particle i = 1, ..., S do: • • • • Pick random numbers: rp, rg ~ U(0,1) Update the particle's velocity: vi ← ω vi + φp rp (pi-xi) + φg rg (g-xi) Update the particle's position: xi ← xi + vi If (f(xi) < f(pi)) do: – Update the particle's best known position: pi ← xi – If (f(pi) < f(g)) update the swarm's best known position: g ← pi • Now g holds the best found solution. 10 Discrete PSO • Most particle swarm optimization algorithms are designed to search in continuous domains. However, there are a number of variants that operate in discrete spaces • In this algorithm, a particle's position is discrete but its velocity is continuous. The jth component of a particle's velocity vector is used to compute the probability with which the jth component of the particle's position vector takes a value of 1. • Velocities are updated as in the standard PSO algorithm, but positions are updated using the following rule: – If the velocity is positive, position is 1, otherwise 0 11 River Formation Dynamics (RFD) • RFD can be seen as a gradient version of ACO, based on copying how water forms rivers by eroding the ground and depositing sediments. • As water transforms the environment, altitudes of places are dynamically modified, and decreasing gradients are constructed. • The gradients are followed by subsequent drops to create new gradients, reinforcing the best ones. • By doing so, good solutions are given in the form of decreasing altitudes. • This method has been applied to solve different NP-complete problems • The gradient orientation of RFD makes it specially suitable for solving these problems and provides a good tradeoff between finding good results and not spending much computational time. • In fact, RFD fits particularly well for problems consisting in forming a kind of covering tree. 12 Intelligent Water Drops • IWD is a swarm-based nature-inspired optimization algorithm, which has been inspired from natural rivers and how they find almost optimal paths to their destination. • These near optimal or optimal paths follow from actions and reactions occurring among the water drops and the water drops with their riverbeds. • In the IWD algorithm, several artificial water drops cooperate to change their environment in such a way that the optimal path is revealed as the one with the lowest soil on its links. The solutions are incrementally constructed by the IWD algorithm. • Consequently, the IWD algorithm is generally a constructive population-based optimization algorithm. 13 Stochastic Diffusion Search • An agent-based probabilistic global search and optimization technique • Best suited to problems where the objective function can be decomposed into multiple independent partial-functions. • Each agent maintains a hypothesis (solution) which is iteratively tested by evaluating a randomly selected partial objective function parameterised by the agent's current hypothesis. • In the standard version of SDS such partial function evaluations are binary, resulting in each agent becoming active or inactive. • Information on hypotheses is diffused across the population via one-to-one inter-agent communication. • A positive feedback mechanism ensures that, over time, a population of agents stabilise around the global-best solution. • SDS is both an efficient and robust search and optimization algorithm, which has been extensively mathematically described. 14 Charged System Search • • • • • • • CSS is an optimization algorithm based on some principles from physics and mechanics. CSS utilizes the governing laws of Coulomb and Gauss from electrostatics and the Newtonian laws of mechanics. CSS is a multi-agent approach in which each agent is a Charged Particle (CP). CPs can affect each other based on their fitness values and their separation distances. The quantity of the resultant force is determined by using the electrostatics laws and the quality of the movement is determined using Newtonian mechanics laws. CSS is applicable to all optimization fields; especially it is suitable for non-smooth or non-convex domains. This algorithm provides a good balance between the exploration and the exploitation paradigms of the algorithm which can considerably improve the efficiency of the algorithm and therefore the CSS also can be considered as a good global and local optimizer simultaneously. 15 Gravitational Search Algorithm • • • • GSA is constructed based on the law of gravity and the notion of mass interactions. The GSA algorithm uses the theory of Newtonian physics and its searcher agents are the collection of masses. In GSA, we have an isolated system of masses. Using the gravitational force, every mass in the system can see the situation of other masses. The gravitational force is therefore a way of transferring information between different masses In GSA, agents are considered as objects and their performance is measured by their masses. – – – • • All these objects attract each other by a gravity force, and this force causes a movement of all objects globally towards the objects with heavier masses. The heavy masses correspond to good solutions of the problem. The position of the agent corresponds to a solution of the problem, and its mass is determined using a fitness function. By lapse of time, masses are attracted by the heaviest mass. We hope that this mass would present an optimum solution in the search space. The GSA could be considered as an isolated system of masses. It is like a small artificial world of masses obeying the Newtonian laws of gravitation and motion. 16 Bee Colony Optimization • • • • • • The honey bees' effective foraging strategy can be applied to job shop scheduling problems. A feasible solution in a job shop scheduling problem is a complete schedule of operations specified in the problem. Each solution can be thought of as a path from the hive to the food source. The makespan of the solution is analogous to the profitability of the food source in terms of distance and sweetness of the nectar. Hence, the shorter the makespan, the higher the profitability of the solution path. We can thus maintain a colony of bees, where each bee will traverse a potential solution path. Once a feasible solution is found, each bee will return to the hive to perform a waggle dance. The waggle dance will be represented by a list of "elite solutions", from which other bees can choose to follow another bee's path. Bees with a better makespan will have a higher probability of adding its path to the list of "elite solutions", promoting a convergence to an optimal solution. Using the above scheme, the natural honey bee's self organizing foraging strategy can be applied to the job shop scheduling problem. 17 Bee’s Algorithm 1. 2. 3. 4. 5. Initialise population with random solutions. Evaluate fitness of the population. While (stopping criterion not met) Select sites for neighbourhood search. Recruit bees for selected sites (more bees for best e sites) and evaluate fitnesses. 6. Select the fittest bee from each patch. 7. Assign remaining bees to search randomly and evaluate their fitnesses. 8. End While. 18 Queen-Bee Mating Dance • N – number of genes. • The queen has duploid genes, the Drones are haploid. • The queen selects a few drones to mate with, based on fitness. – The offspring will be N/4 distant from the queen • The offspring is raised by workers (e.g. VNS) • The best, if better, replaces the queen. • Repeat. 19 Bacterial Foraging Optimization • Bacterial foraging optimization algorithm (BFOA) has been widely accepted as a global optimization algorithm of current interest for distributed optimization and control. • BFOA is inspired by the social foraging behavior of Escherichia coli. • Used for continuous optimization 20 Artificial Immune Systems • The common techniques are inspired by specific immunological theories that explain the function and behavior of the mammalian adaptive immune system. • Clonal Selection Algorithm • Negative Selection Algorithm • Immune Network Algorithms • Dendritic Cell Algorithms 21 Clonal Selection Algorithm • A class of algorithms inspired by the clonal selection theory of acquired immunity that explains how B and T lymphocytes improve their response to antigens over time called affinity maturation. • These algorithms focus on the Darwinian attributes of the theory where – selection is inspired by the affinity of antigen-antibody interactions, – reproduction is inspired by cell division – variation is inspired by somatic hypermutation. • Clonal selection algorithms are most commonly applied to optimization and pattern recognition domains, some of which resemble parallel hill climbing and the genetic algorithm without the recombination operator 22 The Great Deluge Algorithm • The basic idea is very similar to simulated annealing or target analysis. • A new candidate solution is accepted if it is better or equal than the current solution. • A candidate solution worse than the current solution will only be accepted if the penalty of the candidate solution is less than or equal to a pre-defined limit called water level. – But the water is rising 23 The Harmony Method • • • • Harmony search tries to find a vector that optimizes (minimizes or maximizes) a certain objective function. The algorithm has the following steps: Step 1: Generate initial random vectors (solutions), and store them in harmony memory (HM) Step 2: Generate a new vector . For each component , – – • Step 3: Perform additional work if the value in Step 2 came from HM – – • • with probability hmcr (harmony memory considering rate), pick the stored value from HM, with probability 1 − hmcr, pick a random value within the allowed range. with probability par (pitch adjusting rate), change x by a small amount with probability 1 − par, do nothing. Step 4: If new solution is better than the worst vector in HM, replace the worst. Step 5: Repeat from Step 2 to Step 4 until termination criterion (e.g. maximum iterations) is satisfied. 24 Harmony Method - Parameters • hms = the size of the harmony memory. A typical value ranges from 1 to 100. • hmcr = the rate of choosing a value from the harmony memory. Typical value ranges from 0.7 to 0.99. • par = the rate of choosing a neighboring value. Typical value ranges from 0.1 to 0.5. • δ = the amount between two neighboring values in discrete candidate set. • fw (fret width, formerly bandwidth) = the amount of maximum change in pitch adjustment. • It is possible to vary the parameter values as the search progresses, which gives an effect similar to simulated annealing. 25 Shuffled Leaping-Frog Algorithm • • • • • • • • SFLA is a memetic meta-heuristic and a population-based cooperative search metaphor inspired by natural memetics. The algorithm contains elements of local search and global information exchange. The SFLA consists of a set of interacting virtual population of frogs partitioned into different memeplexes. The virtual frogs act as hosts or carriers of memes where a meme is a unit of cultural evolution. The algorithm performs simultaneously an independent local search in each memeplex. The local search is completed using a particle swarm optimization-like method adapted for discrete problems but emphasizing a local search. To ensure global exploration, the virtual frogs are periodically shuffled and reorganized into new memplexes in a technique similar to that used in the shuffled complex evolution algorithm. In addition, to provide the opportunity for random generation of improved information, random virtual frogs are generated and substituted in the population 26