For almost all engineering tasks it is necessary to optimize time and resources. There are trade-offs to be considered between maximizing performance, profit, sustainability, quality, safety and efficiency, and minimizing cost, energy consumption, defects, and environmental impact. Traditional approaches to solve these optimization problems have been used for many years, however bio-inspired optimization algorithms have emerged in recent times. The design of nature based metaheuristics has become an active area of research. In this paper, we review the ideas behind some prominent bio-inspired algorithms including evolutionary algorithms and Swarm Intelligence based algorithms. We describe some important applications of these algorithms and the future of such bio-inspired algorithms.
Nature has provided rich models for computational problem solving. These models have stimulated engineers to think non-conventionally in creating tools to address application design challenges. A number of classes of bio-inspired metaheuristics have emerged to solve optimization problems. Of these, evolutionary algorithms based on the process of evolution form one prominent class. Another class of algorithms mimic the swarm behavior of animals and are referred to as Swarm Intelligence based algorithms. These two classes are discussed in the following sections.
Evolution is the change in heritable characteristics of biological populations over successive generations. The driving force for evolution is the joint action of the processes of natural selection and recombination of genetic material during reproduction. Natural selection results from the phenomenon of “survival of the fittest” which is found in nature. Only the fittest individuals are able to survive and reproduce, hence only the fittest genes survive, while the genes of weaker individuals die out. In reproduction evolution is initiated when the genetic material (chromosomes) from the parents recombines. This leads to the creation of a new gene pool i. e. new combinations of genes are created from the previous genes. This process of exchange of genetic material among chromosomes is called crossover. It creates the possibility of the combination of genes for better individuals. The gene pool continuously evolves with repeated selection and crossover and the individuals of the successive generations survive better in a competitive environment.
Another process called mutation involves sporadic and random alteration of genes. The processes described above are mimicked in a class of algorithms known as evolutionary algorithms. Various evolutionary algorithms rely on simulating one or more of these processes to optimize the problem at hand. Genetic algorithms are a subset of evolutionary algorithms which rely primarily on crossover, a mechanism of probabilistic and useful exchange of information among solutions to locate better solutions, and on mutation. On the other hand, another class of evolutionary algorithms are evolutionary strategies which focus on mutation and selection. In the evolutionary programming technique, solutions are represented as finite state machines and one of these machines is randomly mutated. Genetic algorithms are the most popular type of evolutionary algorithm, and are discussed below in detail.
John Holland is credited with the development of genetic algorithms in the 1970s. A genetic algorithm treats potential solution of a problem as an individual which can be represented by a set of parameter. These parameters of the problem are equivalent to genes of a chromosome, and are encoded as a binary string. Each of the solutions is also associated with a positive parameter known as the “fitness value” that reflects how good it is, compared with other solutions in the population. Holland’s genetic algorithm is commonly called the Simple Genetic Algorithm or SGA. As mentioned above, the solutions are represented by a population of binary strings. The mechanism of encoding solutions to form binary string depends on the nature of the problem variables. The function to be optimized i. e. the objective function provides an evaluation metric for the strings. To maintain uniformity, a fitness function is used to normalize the objective function to a convenient range of zero to one. The fitness value of any string is given by the normalized value of the objective function for that string. After evaluation of the population, the next step is selection. A fitness proportionate selection scheme is used, which allocates fractional numbers of offspring to the strings. A string with a fitness value above the average is allocated more than one offspring so it has a higher chance of survival in the subsequent generation. A string with a fitness value below the average is allocated less than one offspring. This is in accordance with the “survival of the fittest” phenomenon. After selection is the process of crossover, which is the main operation. Random pairs of strings are chosen from the population. For each pair of strings, a random number between zero and one is generated and if it is higher than a crossover rate (probability of crossover), the strings are subjected to crossover. These strings then undergo mutation, which involves flipping some of the bits of the strings. Similar to crossover, the mutation rate determines the probability that mutation of a bit occurs. The purpose of mutation is the restore lost genetic material. One generational cycle is the entire process of selection, crossover and mutation of a population. This occurs repeatedly and should be terminated at some specific stopping criterion. The above described procedure is for the Simple Genetic Algorithm. It can further be extended and modified to adapt to different types of problems.
Genetic algorithms have many advantages over optimization algorithms. The two most noticeable advantages are their ability of dealing with complex problems and parallelism. They are able to deal with complex problems since they are able to deal with optimization problems having objective functions which may be linear or non-linear, stationary or non-stationary (changing with time), continuous or discontinuous, and which may have random noise. The second advantage, parallelism, is due to the presence of multiple offspring in the population. Since the offspring act as individual agents, the population has the ability to explore the search space in many directions simultaneously. This feature enables parallelization of algorithms for implementation.
A subset of metaheuristics is swarm intelligence based algorithms. These algorithms have been developed by mimicking the so-called swarm intelligence of biological agents such as insects, birds, fish, humans and others. Swarm intelligence is based on the idea that decision making amongst organisms in a community uses local information and involves interactions with the environment as well as other external agents, and this could be responsible for the rise of collective or social intelligence. It has inspired research and has led to the development of a multitude of optimization methods based on animal behavior – primarily insects and birds. If an algorithm is developed based on swarm intelligence, then the iterative process of the algorithm strongly resembles the evolution of a self-organized system, which makes sense. Swarm intelligence is a complicated process and it is still unknown exactly what mechanisms are required to ensure that collective intelligence emerges. Extensive studies have shown that in communities of ants and bees, there is no centralized control. The individual members follow simple rules and act based on local information. These rule-based interactions lead to the emergence of self-organization. The overall system exhibits collective intelligence although the individual members are not intelligent. Important swarm-based metaheuristics are based on insects (such as ants, bees and fireflies), fish, birds, frogs, bats, krill, dolphins and many more animals. Some popular algorithms have been described below.
Particle Swarm Optimization (PSO) is an optimization algorithm inspired by swarm intelligence of fish and birds and even humans. Due to safety when in numbers, birds and fish move in swarms, and the movement is based on simple rule. PSO is based on these rules and swarming characteristics. A particle’s position is considered as a solution vector. The best solution is produced by the entire swarm. Each particle’s position and velocity is updated based on simple rules. The particles tend to swarm towards the global best solution. It can converge rapidly, making this an effective method of optimization. At the same time, several variants of this algorithm have been developed to prevent premature convergence.
It is well known that certain cuckoo species engage in brooding parasitism, which is when a cuckoo lays its eggs not in its own nest, but in the nest of host bird, such as a warbler. Due to similarity in colour, texture and size of the eggs of the cuckoo and the host bird, the host bird may not notice the difference and either get rid of the egg or build a new nest. However sometimes the host bird is able to recognize the cuckoo’s eggs. The cuckoo’s egg is considered as the solution vector and the nesting field is the search space. In a standard cuckoo search algorithm one egg is laid by the cuckoo at a time, and this egg is placed in a randomly chosen nest. The nests having higher quality of eggs are present in subsequent generations. The number of host nests is fixed. The probability of the host bird discovering that the egg is not its own is set as Pa. The behavior of the cuckoo on discovering that the egg is not its own is the same as the biological behavior expected. The similarity of eggs corresponds to the similarity of solutions. The cuckoo’s and host bird’s flight paths can obey “Lévy flights”. These are flights with occasional long jumps followed by many local random steps. This makes the search effective over a large region.
Ants live in organized colonies where each colony may be home to millions of ants. Ants produce pheromones, which are chemicals they use to communicate. Pheromones indicate an ant’s presence. Ants can lay out scent pheromone trails for other ants to follow. While pheromone deposition acts as a positive feedback mechanism, pheromone evaporation is an escape mechanism from any randomly chosen trail.
Ant Colony Optimization is a technique which has been developed to mimic the behavioral and social characteristics of ants. It is based on the pheromone production and local interactions. The algorithm codes the paths based on paths that ants visit. At junctions, the path chosen depends on pheromone concentrations. A path with pheromone deposition is a favourable route. Pheromone evaporation is used to ensure that any non-optimal paths discovered in earlier search stages do not converge too fast. Firefly AlgorithmFireflies use bioluminescence to produce flashing lights for two purposes: to attract other fireflies which then swarm to it, and to attract potential prey. Attractiveness of a firefly is considered proportional to the brightness, and both these parameters decrease with distance. In the Firefly Algorithm, a firefly’s position corresponds to a solution vector, and the objective landscape determines the brightness. Since short distance attraction is stronger than long distance attraction, the algorithm can be subdivided into “sub-swarms”. Each sub-swarm swarms around a local model or a local optimum. Consequently, multiple or all optima can be simultaneously obtained if there are a large number of fireflies. Due to this, the firefly algorithm can handle multimodal problems well. Under certain conditions it can converge more quickly than genetic algorithms. Since there is no velocity involved, it may work better than PSO as well.
Other popular algorithms include Bee Colony Optimization, Bat Algorithm, Krill Herd Algorithm, Shuffled Frog-Leaping Algorithm and many more.
There are numerous applications of evolutionary algorithms and swarm intelligence based algorithms in all fields and disciplines. Several applications are described below of which some are common, and others are new and to further be explored. TelecommunicationLocal access networks can be optimized using swarm based algorithms to provide high quality of service and ensure low net energy consumption. They tend to have higher efficiency and less co-channel interference. Image Processing and Computer VisionGenetic algorithms have a large number of applications in the field of image processing and computer vision. They can be used for feature recognition, pattern recognition and classification, design of morphological filters, camera calibration in 3D computer vision and many more applications. Among swarm based algorithms, the Firefly Algorithm may be applied in image processing.
Web services are used to share and reuse software components in a distributed heterogeneous environment. Web service providers publish their services and other people search for and find specific services. Ant Colony Optimization can be used for clustering. It takes a collection of web service description files as input and outputs a set of clusters. It minimizes the difference between services in each cluster and maximizes the difference between clusters. NetworkingAnt Colony Optimization and Particle Swarm Optimization can be used in reliable server assignment in networks (determining a deployment of identical servers to maximize a measure of service availability). Genetic algorithms can be used in network path identification.
Genetic algorithms have been very successful in signal processing. They are used in IIR adaptive filtering, non-linear model selection, time delay estimation, active noise control and speech processing and recognition.
Genetic algorithms have been applied in the travelling salesman problem, in job scheduling and pump scheduling in the water industry. The Shuffled Frog-Leaping Algorithm can be used in job scheduling. Scheduling in cloud involves optimization algorithms such as Firefly Algorithm, Cuckoo Search Algorithm and Bat Algorithm. Integration with Emerging TechnologiesGenetic algorithms can be integrated with emerging technologies such as neural networks, fuzzy logic and so on.
Genetic algorithms may also be used in robotics, engineering design, parameter and system identification, artificial immune systems, automatic test paper generation. Computer gaming can use swarm based algorithms such as the Krill Herd Algorithm. Swarm intelligence is used in crowd simulation.
Bio-inspired metaheuristics are have gained prominence and have a bright future. Simplicity, flexibility, and the ability to address hard problems are the relative advantages of these metaheuristics. Nature provides thousands of models for engineers to create new optimization techniques, and there is yet much to be explored. Despite the increasing popularity of metaheuristics, including those described above, some issues remain unsolved. There is no theoretical framework to analyze metaheuristics. Dues to this, there is a huge gap between theory and applications. Large-scale problems are yet to be tackled. Applications are still being tested against small-scale benchmarks. Real world engineering applications involve up to millions of variables and it needs to be ensured that algorithms developed are scalable.
This essay has been submitted by a student. This is not an example of the work written by our professional essay writers. You can order our professional work here.