GENETIC ALGORITHM CHAPTER 2

Size: px
Start display at page:

Download "GENETIC ALGORITHM CHAPTER 2"

Transcription

1 CHAPTER 2 GENETIC ALGORITHM Genetic algorithm is basically a method for solving constrained and unconstrained optimization problems. GA is based on the Darwin s theory of natural evolution specified in the origin of species. GA is based on the concept of survival of the fittest. As in the nature the fit species remain intact, while the unfit species is eliminated. On the similar lines out of a number of solutions available, only the more fit solutions are survived, while the less fit solutions are discarded. GA represents the solutions in the form of chromosomes and the fitness of the chromosomes is evaluated. The more fit solutions are selected for the reproduction using the crossover operator. The mutation operator is used to maintain the diversity the population. The more fit chromosomes replace less fit chromosomes and the process continues till the optimal solution is found on the basis of some pre-specified criteria. This chapter provides an overview of GA. GA is based on population of multiple points as compared to traditional approaches which are based on single point. The various types of encoding, selection, crossover, mutation and replacement mechanisms are discussed in this chapter. The major advantage of GA is that it can be used in such type of situations where the numerical or mathematical models fail. As it is an evolutionary algorithm, one can easily view the progress within each iteration. GA can be used in a number of application areas such as optimization, design, robotics, image processing, machine learning, automatic programming, etc. GA can also be used in YM for the purpose of airline booking, hotel industry, air traffic control, choice based network revenue model etc. Overall GA can prove to be a very effective tool for YM. Genetic Algorithm Page 27

2 2.1 Genetic Algorithm In the previous chapter, an overview of yield management and optimization was given. It was observed that yield management is basically a problem of optimization. The major conditions for yield management as discussed are fixed capacity, perishable inventory and price discrimination. The yield management problems are stochastic in nature as it is not known when and how many customers will arrive, it is merely a prediction. These conditions perfectly form the platform for applying genetic algorithm on the yield management problem. An insight into genetic algorithm will now be taken. A genetic algorithm (GA) is a method for solving both constrained and unconstrained optimization problems based on a natural selection process that mimics biological evolution. The algorithm repeatedly modifies a population of individual solutions. At each step, the genetic algorithm randomly selects individuals from the current population and uses them as parents to produce the children for the next generation. Over successive generations, the population evolves toward an optimal solution. One can apply the genetic algorithm to solve problems that are not well suited for standard optimization algorithms, including problems in which the objective function is discontinuous, nondifferentiable, stochastic, or highly nonlinear. Charles Darwin stated the theory of natural evolution in the origin of species on which the genetic algorithm is based. According to the theory of natural evolution, over several generations, biological organisms evolve based on the principle of natural selection survival of the fittest to reach certain remarkable tasks. In nature, an individual in population competes with each other for basic resources for life such as food, shelter, etc. Also in the same species, individuals compete to attract mates for reproduction. In this selection procedure, poorly performing individuals have less chance to survive, and the most adapted or fit individuals produce a relatively large number of offspring s. It can also be observed that during reproduction, a recombination of the good characteristics of each ancestor can produce best fit offspring whose fitness is greater than that of a parent in general. After a few generations, species evolve spontaneously to become more and more adapted to their environment and may sustain for a longer period of time. In 1975, Holland developed this idea in his book Adaptation in natural and artificial systems. He described how to apply the principles of natural evolution to optimization problems and built the first Genetic Algorithms. Holland s theory has now been further developed by leaps and bounds. Genetic Algorithms (GAs) now stand up as a powerful tool Genetic Algorithm Page 28

3 for solving search and optimization problems. Genetic algorithms are based on the basic principle of genetics and evolution. 2.2 Historical Background Holland s influence in the development of the GA has been very important, but several other scientists with different backgrounds were also involved in developing similar ideas was a pivotal year in the development of genetic algorithms. It was in that year that Holland s book was published, but perhaps more relevantly for those interested in metaheuristics, that year also saw the completion of a doctoral thesis by one of Holland s graduate students, Ken DeJong (1975). Other students of Holland s had completed theses in this area before, but this was the first to provide a thorough treatment of the GA s capabilities in optimization. Another graduate student of Holland s, David Goldberg, produced first an award-winning doctoral thesis on his application to gas pipeline optimization, and then, in 1989, an influential book Genetic Algorithms in Search, Optimization, and Machine Learning. This was the final catalyst in setting off a sustained development of GA theory and applications that is still growing rapidly. Optimization had a fairly small place in Holland s work on adaptive systems, yet the majority of research on GAs tends to assume this is their purpose. Nevertheless, using GAs for optimization is very popular, and frequently successful in real applications, and to those interested in metaheuristics, it will undoubtedly be the viewpoint that is most useful. When GA is used to solve optimization problems, good results are obtained quite quickly. A heuristic is a part of an optimization algorithm that uses the information currently gathered by the algorithm and acts as a carrier to decide which solution candidate should be tested next, or how the next individual can be produced [Thomas (2007)]. Genetic algorithms are guided random search and one of the most popular optimization techniques among evolutionary algorithms for multi-objective optimization problems. Genetic algorithms have been found to be capable of finding solutions for a wide variety of problems for which no acceptable algorithmic solutions exist. GA has been used for solving various NP Complete problems [Vijay Lakshmi and Radha Krishnan (2007)]. GA attempts to arrive at optimal solutions through a process similar to biological evolution. To use a genetic algorithm, it is required to represent the solution of the problem as a genome (or chromosome). The genetic algorithm then creates a population of solutions and applies genetic operators such as mutation and crossover to evolve the solutions in order to find the best one. These operate on a population of potential solutions, applying the principle of survival of the fittest to generate improved estimations to a solution. At each generation, a new set of approximations is created by the Genetic Algorithm Page 29

4 process of selecting individuals according to their level of fitness and breeding them together using genetic operators inspired by natural genetics. This process leads to the evolution of better populations than the previous populations [Eiben & Smith (2003), Michalewicz (1996)]. The GA consists of an iterative process that evolves a working set of individuals called a population toward an objective function, or fitness function [Goldberg (1989), Whitley (1994)].Genetic algorithms are typically implemented using computer simulations in which an optimization problem is specified. 2.3 Natural Selection The origin of species is based on Preservation of favourable variations and rejection of unfavourable variations. The variation refers to the changes shown by the individual of a species and also by offspring s of the same parents. There are lot more individuals born than can survive, so there is a continuous struggle for life. Individuals with an advantage have a greater chance for survive i.e., the survival of the fittest. For example, Giraffe with long necks can have food from tall trees as well from grounds, on the other hand goat, deer with small neck have food only from grounds. As a result, natural selection plays a major role in this survival process [S.N.Sivanandam et.al. (2008)]. On the similar lines in a genetic algorithm in each iteration the favourable (fit) individual are survived and the unfavourable (unfit) individual are died out. In each iteration the process goes on and on until a stage a reached in which the stable or optimized solutions are reached, which can be termed as adaptability. The following Table 2.1 gives a list of different expressions, which are in common with natural evolution and genetic algorithm. Table 2.1 Comparison of natural evolution and genetic algorithm terminology Natural evolution Genetic algorithm Chromosome String Gene Feature or character Allele Feature value Locus String position Genotype Structure or coded string Phenotype Parameter set, a decoded structure 2.4 Basic Principle The working principle of a standard GA is illustrated in algorithm 2.1. The major steps involved are the generation of a population of solutions, finding the objective function and Genetic Algorithm Page 30

5 fitness function and the application of genetic operators. These aspects are described with the help of a basic genetic algorithm as below. Algorithm 2.1 Basic Genetic Algorithm [start] Generate random population of n chromosomes/individuals (suitable and possible solutions for the problem) [Fitness] Evaluate the fitness f(x) of each chromosome/individual x in the population [New population] Create a new population by repeating following steps until the New population is complete [selection] select two parent chromosomes from a population according to their fitness ( the better fitness, the bigger chance to get selected). [crossover] With a crossover probability, cross over the parents to form new offspring (children). If no crossover was performed, offspring is the exact copy of parents. [Mutation] With a mutation probability, mutate new offspring at each locus (position in chromosome) [Accepting] Place new offspring in the new population. [Replace] Use new generated population for a further run of the algorithm. [Test] If the end condition is satisfied, stop, and return the best solution in current population. [Loop] Go to the second step for fitness evaluation. The basic principle behind GAs is that they create and maintain a population of individuals represented by chromosomes. Chromosomes are essentially a character string analogous to the chromosomes appearing in DNA. These chromosomes are typically encoded solutions to a problem. The chromosomes then undergo a process of evolution according to rules of selection, reproduction and mutation. Each individual in the environment (represented by a chromosome) receives a measure of its fitness in the environment. Reproduction selects individuals with high fitness values in the population, and through crossover and mutation of such individuals, a new population is derived in which individuals may be even better fitted to their environment. The process of crossover involves two chromosomes swapping chunks of data and is analogous to the process of sexual reproduction. Mutation introduces slight changes into a small proportion of the population and is representative of an evolutionary step. Genetic Algorithm Page 31

6 2.5 Difference between Traditional and Genetic Approach An algorithm is a series of steps for solving a problem. A genetic algorithm is a problem solving method that uses genetics as its model of problem solving. It s a search technique to find approximate solutions to optimization and search problems. One can easily differentiate between a traditional algorithm and a genetic algorithm. Table 2.2. Difference between Traditional and Genetic Approach Traditional Algorithm Genetic Algorithm Generates a single point at each iteration. Generates a population of points at each The sequence of points approaches an iteration. The best point in the population optimal solution. approaches an optimal solution. Selects the next point in the sequence by a Selects the next population by computation deterministic computation. which uses random number generators. Improvement in each iteration is problem Convergence in each iteration in problem specific independent. The differences can also be shown with the help of the following fig. 2.1 Fig. 2.1 Comparison of traditional and genetic approaches 2.6 Exploitation and Exploration Search is one of the more universal problem solving methods for such type of problems in which one cannot determine a prior sequence of steps leading to a solution. Search can be Genetic Algorithm Page 32

7 performed with either blind strategies or heuristic strategies. Blind search strategies do not use information about the problem domain. Heuristic search strategies use additional information to guide search move along with the best search directions. There are two important issues in search strategies: exploiting the best solution and exploring the search space. Michalewicz(1996) gave a comparison on hill climbing search, random search and genetic search. Hill climbing is an example of a strategy which exploits the best solution for possible improvement, ignoring the exploration of the search space. Random search is an example of a strategy which explores the search space, ignoring the exploitation of the promising regions of the search space. GA is a class of general purpose search methods combining elements of directed and stochastic search which can produce a remarkable balance between exploration and exploitation of the search space. At the beginning of genetic search, there is a widely random and diverse population and crossover operator tends to perform wide-spread search for exploring all solution space. As the high fitness solutions develop, the crossover operator provides exploration in the neighbourhood of each of them. In other words, what kinds of searches (exploitation or exploration) a crossover performs would be determined by the environment of genetic system (the diversity of population) but not by the operator itself. 2.7 Population-based Search Generally, an algorithm for solving optimization problems is a sequence of computational steps which asymptotically converge to optimal solution. Most classical optimization methods generate a deterministic sequence of computation based on the gradient or higher order derivatives of objective function. The methods are applied to a single point in the search space. The point is then improved along the deepest descending direction gradually through iterations as shown in algorithm 2.1. This Point-to-point approach embraces the danger of failing in local optima. GA performs a multi-directional search by maintaining a population of potential solutions. The population-to-population approach is hopeful to make the search escape from local optima. Population undergoes a simulated evolution: at each generation the relatively good solutions are reproduced, while the relatively bad solutions die. GA uses probabilistic transition rules to select someone to be reproduced and someone to die so as to guide their search toward regions of the search space with likely improvement. 2.8 Building block hypothesis Genetic algorithms are simple to implement, but their behaviour is difficult to understand. In particular it is difficult to understand why these algorithms frequently succeed at generating Genetic Algorithm Page 33

8 solutions of high fitness when applied to practical problems. The building block hypothesis consists of: (i) A description of a heuristic that performs adaptation by identifying and recombining building blocks, i.e. low order, low defining-length schemata with above average fitness. (ii) A hypothesis that a genetic algorithm performs adaptation by implicitly and efficiently implementing this heuristic. 2.9 Implementation of Genetic Algorithm GAs encodes the decision variables of a search problem into finite-length strings of alphabets of certain cardinality. To evolve good solutions and to implement natural selection, one needs a measure for distinguishing good solutions from bad solutions. The measure could be an objective function that is a mathematical model or a computer simulation. In essence, the fitness measure must determine a candidate solution s relative fitness, which will subsequently be used by the GA to guide the evolution of good solutions. Another important concept of GAs is the notion of population. The population size, which is usually a user-specified parameter, is one of the important factors affecting the scalability and performance of genetic algorithms. For example, small population sizes might lead to premature convergence and yield substandard solutions. On the other hand, large population sizes lead to unnecessary expenditure of valuable computational time [Sastry et.al. (2005)]. Once the problem is encoded in a chromosomal manner and a fitness measure for discriminating good solutions from bad ones has been chosen, solutions can start to evolve the search problem using the steps already specified in algorithm 2.1 In the next subsections details of these steps will be discussed Initialization Usually there are only two main components of most genetic algorithms that are problem dependent: the problem encoding and the evaluation function. Consider a parameter optimization problem where one must optimize a set of variables either to maximize some target such as a profit, or to minimize cost or some measure of error. The goal is to set the various parameters so as to optimize some output. In more traditional terms, some function f should be minimized, or maximized. The most common form of representing a solution as a chromosome is a string of binary digits. Each bit in this string is a gene. The process of converting the solution from its original form into the bit string is known as encoding. The specific encoding scheme used is application dependent. The solution bit strings are decoded to enable their evaluation using a Genetic Algorithm Page 34

9 fitness measure. Chromosomes are all of the same type and same length. The population size remains constant from generation to generation Encoding Encoding of chromosomes is the first question to ask when starting to solve a problem with genetic algorithm. Genetic algorithms work on encoded space and solution space alternatively. Genetic operations work on encoded space i.e. chromosomes, while evaluation and selection work on solution space [Gen & Mitsuo (1996)]. A chromosome should in some way contain information about solution that it represents. The most used way of encoding is a binary string. Each bit in the string can represent some characteristics of the solution. Another possibility is that the whole string can represent a number. Of course, there are many other ways of encoding. The encoding depends mainly on the problem to be solved. For example, one can encode directly integer or real numbers; sometimes it is useful to encode some permutations and so on. Various types of encodings are available which can be selected according to the nature of the problem. Genetic algorithms follow two basic principles for choosing the encoding method namely: 1. The principle of meaningful building blocks: The schemata should be short, of low order, and relatively unrelated to schemata over other fixed positions. 2. The principle of minimal alphabets: The alphabet of the encoding should be as small as possible while still allowing a natural representation of solutions. The first principle states that the user should select a coding such that the building blocks of the underlying problem are small and relatively unrelated to building blocks at other positions. The principle of meaningful building blocks is directly motivated by the schema theorem. If schemata are highly fit, short and of low order, then their numbers exponentially increase over the generations. If the high-quality schemata are long or of high order, they are disrupted by crossover and mutation and they cannot be propagated properly. The second principle states that the user should select the smallest alphabet that permits an expression of the problem so that the number of exploitable schemas is maximized [Goldberg (1989)]. The principle of minimal alphabets tells us to increase the potential number of schemata by reducing the cardinality of the alphabet. When using minimal alphabets the number of possible schemata is maximal. This is the reason why Goldberg advises to use bit string representations, because high quality schemata are more difficult to find when using alphabets of higher cardinality. Genetic Algorithm Page 35

10 Binary Encoding The most common way of encoding is a binary string, which can be represented as in Fig Each chromosome encodes a binary (bit) string. Each bit in the string can represent some characteristics of the solution. Every bit string therefore is a solution but not necessarily the best solution. Another possibility is that the whole string can represent a number. The way bit strings can code differs from problem to problem. Binary encoding gives many possible chromosomes with a smaller number of alleles. On the other hand this encoding is not natural for many problems and sometimes corrections must be made after genetic operation is completed. Binary coded strings with 1s and 0s are mostly used. The length of the string depends on the accuracy. In this encoding integers are represented exactly, finite number of real numbers can be represented and number of real numbers represented increases with string length. Chromosome Chromosome Fig. 2.2 Binary Encoding Octal Encoding This encoding uses string made up of octal numbers (0 7). The basic advantage of this encoding scheme over binary encoding is the smaller size. Chromosome Chromosome Fig. 2.3 Octal Encoding Hexadecimal Encoding This encoding uses string made up of hexadecimal numbers (0 9, A F). The advantage of this encoding scheme over binary and octal encoding is again smaller size. Chromosome 1 A09B Chromosome 2 932F Fig. 2.4 Hexadecimal Encoding Gray Encoding Ordinary binary number representation of the variable values may slow convergence of a GA. Increasing the number of bits in the variable representation magnifies the problem [Haupt and Haupt (1998)]. Gray Code can avoid this problem by redefining the binary numbers so that consecutive numbers have a hamming distance of one [Taub and Schilling (1986)]. Gray codes speed convergence time by keeping the algorithm s attention on converging toward a Genetic Algorithm Page 36

11 solution [Caruana and Schaffer (1988)]. Gray coding uses QUAD search for finding the solutions. As in binary strings, even in gray coded strings a bit change in any arbitrary location may cause a large change in the decoded integer value. The decoding of the gray coded strings to the corresponding decision variable introduces an artificial non-linearity in the relationship between the string and the decoded value Permutation Encoding Every chromosome is a string of numbers, which represents the number in sequence. Sometimes corrections have to be done after genetic operation is completed. In permutation encoding, every chromosome is a string of integer/real values, which represents number in a sequence. Permutation encoding is only useful for ordering problems. Even for these problems for some types of crossover and mutation corrections must be made to leave the chromosome consistent. Chromosome Chromosome Fig. 2.5 Permutation Encoding Permutations are also important for scheduling applications, variants of which are also often NP complete. This encoding is also called path representation or order representation [Starkweather et al. (1991)] Value Encoding Every chromosome is a string of values and the values can be anything related to the problem. This encoding produces very good results for some special problems. On the other hand, it is often necessary to develop new genetic operator s specific to the problem. Direct value encoding can be used in problems, where some complicated values, such as real numbers, are used. Use of binary encoding for these types of problems would be very difficult. In value encoding, every chromosome is a string of some values. Values can be anything connected to problem, form numbers, real numbers or chars to some complicated objects. Value encoding is very good for some special problems. On the other hand, for this encoding is often necessary to develop some new crossover and mutation specific for the problem. Chromosome Chromosome 2 AFJBADCEHISTKJHTP Chromosome 3 (back) (back) (right) (left) (forward) Fig. 2.6 Value Encoding Genetic Algorithm Page 37

12 Tree encoding Tree encoding is used mainly for genetic programming. In the tree encoding every chromosome is a tree of some objects, such as functions or commands in programming language. The representation space is defined by defining the set of functions and terminals to label the nodes in the trees. Trees provide rich representation that is sufficient to represent computer programs, analytical functions, and variable length structure, even computer hardware. Parse tree is a popular representation for evolving executable structures [Back et al. (1997)]. Parse tree incorporates natural recursive definition, which allows for dynamically sized structures. Most of the parse tree representations have restriction on size of evolving programs. In a parse tree representation, the contents of the parse tree determine the power and suitability of the representation. Due to acyclic nature of parse trees, iterative computations are not naturally represented. It is very difficult to identify the stopping criteria. So the evolved function is evaluated within an implied loop that re-executes the evolved function until some predetermined stopping criteria is satisfied. Tree encoding allows search space to be open ended. But due to this, tree may grow in an uncontrolled way. Large trees are difficult to understand and simplify. Large trees also prevent structure and hierarchical candidate solutions. Parse tree incorporates natural recursive definition, which allows for dynamically sized structures. Most of the parse tree representations have restriction on size of evolving programs. If there is no restriction, then it would lead to increase in size of evolving programs and further lead to swamping of available computational resources. Size restriction is implemented in two ways. Depth limitation restricts the size of evolving parse tree based on user-defined maximal depth parameter. Node limitation places limit on total number of nodes available for an individual parse tree. Node limitation is preferred over size restriction because it encodes fewer restrictions on structural organization of evolving programs [Angeline (1996)]. Fig.2.7 Image courtesy: Genetic Algorithms.pdf Genetic Algorithm Page 38

13 2.9.3 Fitness Evaluation A fitness function is a particular type of objective function that prescribes the optimality of a solution in a genetic algorithm so that that particular chromosome may be ranked against all the other chromosomes. Optimal chromosomes, or at least chromosomes which are more optimal, are allowed to breed and mix their datasets by any of several techniques, producing a new generation that will hopefully be even better. An ideal fitness function correlates closely with the algorithm's goal, and yet may be computed quickly. Speed of execution is very important, as a typical genetic algorithm [DeJong (2006)] must be iterated many, many times in order to produce a usable result for a non-trivial problem. This is one of the main drawbacks of GAs in real world applications and limits their applicability in some industries. Sometimes approximate models may be one of the most promising approaches, especially in the following cases: Fitness computation time of a single solution is extremely high, Precise model for fitness computation is missing, The fitness function is uncertain or noisy. Another way of looking at fitness functions is in terms of a fitness landscape, which shows the fitness for each possible chromosome. Definition of the fitness function is not straightforward in many cases and often is performed iteratively if the fittest solutions produced by GA are not what is desired. In some cases, it is very hard or impossible to come up even with a guess of what fitness function definition might be. Interactive genetic algorithms [Kershenbaum (1996), Davis (1987)] address this difficulty up to some extent Genetic Operators A Genetic Operator is an operator used in genetic algorithms to maintain genetic diversity. Genetic variation is a necessity for the process of evolution. Genetic operators used in genetic algorithms are analogous to those which occur in the natural world: survival of the fittest, or selection; reproduction (crossover, also called recombination); and mutation. Genetic diversity, the level of biodiversity, refers to the total number of genetic characteristics in the genetic makeup of a species. It is distinguished from genetic variability, which describes the tendency of genetic characteristics to vary. When GA proceeds, both the search direction to optimal solution and the search speed should be considered as important factors, in order to keep a balance between exploration and exploitation in search space. In general, the exploitation of the accumulated information resulting from GA search is done by the selection mechanism, while the exploration to new regions of the search space is accounted for by genetic operators. The genetic operators Genetic Algorithm Page 39

14 mimic the process of heredity of genes to create new offspring at each generation. The operators are used to alter the genetic composition of individuals during representation. In essence, the operators perform a random search, and cannot guarantee to yield an improved offspring. There are three common genetic operators: crossover, mutation and selection Selection Selection is the process of selecting two or more parents from the population for crossing. After deciding on an encoding, the next step is to decide how to perform selection i.e., how to choose individuals in the population that will create offspring for the next generation and how many offspring each will create. The purpose of selection is to emphasize fitter individuals in the population in hopes that their off springs have higher fitness. Chromosomes are selected from the initial population to be parents for reproduction. The problem is how to select these chromosomes. According to Darwin s theory of evolution the best ones survive to create new offspring. Selection is a method that randomly picks chromosomes out of the population according to their evaluation function. The higher the fitness function, the more chance an individual has to be selected. The selection pressure is defined as the degree to which the better individuals are favoured. The higher the selection pressured, the more the better individuals are favoured. This selection pressure drives the GA to improve the population fitness over the successive generations. The convergence rate of GA is largely determined by the magnitude of the selection pressure, with higher selection pressures resulting in higher convergence rates. Genetic Algorithms should be able to identify optimal or nearly optimal solutions under a wide range of selection scheme pressure. However, if the selection pressure is too low, the convergence rate will be slow, and the GA will take unnecessarily longer time to find the optimal solution. If the selection pressure is too high, there is an increased change of the GA prematurely converging to an incorrect (sub-optimal) solution. In addition to providing selection pressure, selection schemes should also preserve population diversity, as this helps to avoid premature convergence [S.N.Sivanandam et.al. (2008)]. Typically one can distinguish two types of selection scheme, proportionate selection and ordinal-based selection. Proportionate-based selection picks out individuals based upon their fitness values relative to the fitness of the other individuals in the population. Ordinal-based selection schemes select individuals not upon their raw fitness, but upon their rank within the population. This requires that the selection pressure is independent of the fitness distribution of the population, and is solely based upon the relative ordering (ranking) of the population. Genetic Algorithm Page 40

15 It is also possible to use a scaling function to redistribute the fitness range of the population in order to adapt the selection pressure. Selection has to be balanced with variation form crossover and mutation. Too strong selection means sub optimal highly fit individuals will take over the population, reducing the diversity needed for change and progress; too weak selection will result in too slow evolution. The various selection methods generally used are: Roulette Wheel Selection Roulette selection is one of the traditional GA selection techniques. This reproduction operator is the proportionate reproductive operator where a string is selected from the mating pool with a probability proportional to the fitness. The principle of roulette selection is a linear search through a roulette wheel with the slots in the wheel weighted in proportion to the individual s fitness values. A target value is set, which is a random proportion of the sum of the fitnesses in the population. The population is stepped through until the target value is reached. This is only a moderately strong selection technique, since fit individuals are not guaranteed to be selected for, but somewhat have a greater chance. A fit individual will contribute more to the target value, but if it does not exceed it, the next chromosome in line has a chance, and it may be weak. It is essential that the population not be sorted by fitness, since this would dramatically bias the selection. The Roulette Wheel Selection is shown in fig. below: Fig. 2.8 Roulette Wheel Selection Mechanism for four chromosomes Random Selection This technique randomly selects a parent from the population. In terms of disruption of genetic codes, random selection is a little more disruptive, on average, than roulette wheel selection. Rank Selection The roulette selection will have problems when the fitness differs very much. For example, if the best chromosome fitness is 90% of the entire roulette wheel then the other chromosomes will have very few chances to be selected. Genetic Algorithm Page 41

16 Rank selection first ranks the population and then every chromosome receives fitness from this ranking. The worst will have fitness 1, second worst 2 etc. and the best will have fitness N(number of chromosomes in the population). One can see in the following picture, how the situation changes after changing fitness to order number. Fig. 2.9(a) Situation before Ranking (Graph of fitnesss) Fig. 2.9(b) Situation after Ranking (Graph of order numbers) Tournament Selection An ideal selection strategy should be such that it is able to adjust its selective pressure and population diversity so as to fine-tune GA search performance. Unlike, the Roulette wheel selection, the tournament selection strategy provides selective pressure by holding a tournament competition among N u individuals. The best individual from the tournament is the one with the highest fitness, which is the winner of N u. Tournament competitions winner are then inserted into the mating pool. The tournament competition is repeated until the mating pool for generating new offspring is filled. The mating pool comprising of the tournament winner has higher average population fitness. The fitness difference provides the selection pressure, which drives GA to improve the fitness of the succeeding genes. This method is more efficient and leads to an optimal solution Crossover Crossover depends upon the encoding scheme used for the problem. Crossover operates on selected genes from parent chromosomes and creates new offspring. The simplest way of Genetic Algorithm Page 42

17 performing crossover is to choose randomly some crossover point and copy everything before this point from the first parent and then copy everything after the crossover point from the other parent. There exist many other ways to perform crossover like n-point crossover, uniform crossover, order crossover etc. Crossover can be quite complicated and depends mainly on the encoding of chromosomes [Beasley, Bull & Martin (1993)]. There are a number of various types of crossover, which are discussed below: One Point Crossover The traditional genetic algorithm uses single point crossover, where the two mating chromosomes are cut once at corresponding points and the sections after the cuts exchanged. Here, a cross-site or crossover point is selected randomly along the length of the mated strings and bits next to the cross-sites are exchanged. If appropriate site is chosen, better children can be obtained by combining good parents else it severely hampers string quality. The following Fig illustrates single point crossover and it can be observed that the bits next to the crossover point are exchanged to produce children. The crossover point can be chosen randomly = Fig One Point Crossover Two Point Crossover Apart from single point crossover, many different crossover algorithms have been devised, often involving more than one cut point. It should be noted that adding further crossover points reduces the performance of the GA. The problem with adding additional crossover points is that building blocks are more likely to be disrupted. However, an advantage of having more crossover points is that the problem space may be searched more thoroughly. In two-point crossover, two crossover points are chosen and the contents between these points are exchanged between two mated parents as shown in fig The main problem with one-point crossover was that the head and the tail of one chromosome cannot be passed together to the offspring. If both the head and the tail of a chromosome contain good genetic information, none of the offsprings obtained directly with Genetic Algorithm Page 43

18 one-point crossover will share the two good features. Using a 2-point crossover avoids this drawback, and then, is generally considered better than 1-point crossover = Fig Two Point Crossover Multi-Point Crossover (N-Point crossover) The problem found in one point crossover may also occur in two point crossover. In fact this problem can be generalized to each gene position in a chromosome. Genes that are close on a chromosome have more chance to be passed together to the offspring obtained through a N- points crossover. Consequently, the efficiency of a N-point crossover will depend on the position of the genes within the chromosome. In a genetic representation, genes that encode dependant characteristics of the solution should be close together. Actually this situation in GA is also known as gene locus problem, which can be eliminated with the help of uniform crossover. Uniform Crossover Uniform crossover is quite different from the N-point crossover. Each gene in the offspring is created by copying the corresponding gene from one or the other parent chosen according to a random generated binary crossover mask of the same length as the chromosomes. Where there is a 1 in the crossover mask, the gene is copied from the first parent, and where there is a 0 in the mask the gene is copied from the second parent. A new crossover mask is randomly generated for each pair of parents. Offsprings, therefore contain a mixture of genes from each parent. The number of effective crossing point is not fixed, but will average of the chromosome length. In Fig. 2.12, new children are produced using uniform crossover approach = Fig Uniform Crossover Genetic Algorithm Page 44

19 Arithmetic Crossover Chromosomes having real value or floating point representation undergo arithmetic crossover. This crossover creates a new allele at each gene position in the offspring. The value of new allele lies between the values of the parent alleles. The value of new alleles for offspring is computed using following equation: Offspring1 = w*parent1 + (1-w)*Parent2 Offspring2= (1-w)*parent1 + w*parent2 Where w is constant weight factor that is used to compute new values Mutation Mutation is a background operator which produces spontaneous random changes in various chromosomes. A simple way to achieve mutation would be to alter one or more genes. In GA, mutation serves the crucial role of either (a) replacing the genes lost from the population during the selection process so that they can be tried in a new context or (b) providing the genes that were not present in the initial population. The mutation probability is defined as the percentage of the total number of genes in the population. The mutation probability controls the probability with which new genes are introduced into the population for trial. If it is too low, many genes that would have been useful are never tried out, while if it is too high, there will be much random perturbation, the offspring will start losing their resemblance to the parents, and the algorithm [Knuth (1997)] will lose the ability to learn from the history of the search. There are a number of techniques for mutation. Some of which are discussed as under: Flipping Flipping of a bit involves changing 0 to 1 and 1 to 0 based on a mutation chromosome generated. The fig explains mutation-flipping concept => Fig.2.13 Flipping Mutation Interchanging Two random positions of the string are chosen and the bits corresponding to those positions are interchanged. This is shown in Fig Genetic Algorithm Page 45

20 Parent Child Fig Interchanging Mutation Reversing A random position is chosen and the bits next to that position are reversed and child chromosome is produced. This is shown in Fig Parent Child Fig Reversing Mutation Replacement This is the last stage of the breeding cycle. This stage basically acts as a building block for the next iteration. When a new generation of offspring s is produced, the major question is which of these newly generated offspring s would move forward to the next generation and would replace which chromosomes of the current generation. The answer to this question again lies in Darwin s principle of Survival of Fittest [Fogel (1995)]. So better fit individuals should have more chances to survive and carried forward to next generation leaving behind the less fit ones. The process of forming next generation of individuals by replacing or removing some offspring s or parent individuals is done by replacement scheme [Sivanandam et.al. (2008)]. Basically, there are two kinds of replacement strategies for maintaining the population generational replacement and steady state replacement. In generational replacement, entire population of genomes is replaced at each generation. In elitism, complete population of genome is replaced except for the best member of each generation which is carried over to next generation without modification [Affenzeller, Winkler & Wagner (2009)]. In this case, generations are non-overlapping. Steady state replacement involves overlapping population in which only a small fraction of the population is replaced in all iterations. In a steady state replacement, new individuals are inserted in the population as soon as they are created [Sarma & De Jong (1997)]. There are various types of replacement techniques as discussed below: Random Replacement The children replace two randomly chosen individuals in the population. The parents are also candidates for selection. This can be useful for continuing the search in small populations, since weak individuals can be introduced into the population. Genetic Algorithm Page 46

21 Weak Parent Replacement In weak parent replacement, a weaker parent is replaced by a strong child. With the four individuals only the fittest two, parent or child, return to population. This process improves the overall fitness of the population. Both Parents Both parents replacement is simple. The child replaces the parent. In this case, each individual only gets to breed once. As a result, the population and genetic material moves around but leads to a problem when combined with a selection technique that strongly favours fit parents: the fit breed and then are disposed of Termination This step is for terminating the algorithm. Although termination depends on the problem and the user, still following are some of the general criteria under which the algorithm can be terminated. Maximum generations The genetic algorithm stops when the specified number of generation s has evolved. Elapsed time The genetic process will end when a specified time has elapsed. No change in fitness The genetic process will end if there is no change to the population s best fitness for a specified number of generations. Stall generations The algorithm stops if there is no improvement in the objective function for a sequence of consecutive generations of length Stall generations. Stall time limit The algorithm stops if there is no improvement in the objective function during an interval of time in seconds equal to stall time limit. The termination or convergence criterion finally brings the search to a halt Parameters There are number of parameters [Merek(1998)] that control the precise operation of the genetic algorithm. But some of most important parameters are as follows: Crossover probability: It is the measure of how often crossover will be performed. If crossover probability is 100%, then all offspring are made by crossover. If it is 0%, whole new generation is made from exact copies of chromosomes from old population. Crossover is made in hope that new chromosomes will contain good parts of old chromosomes and therefore the new chromosomes will be better. Crossover rates should generally be high, about 80-95%. But in some problems 60% of the crossover rate is also sufficient. Mutation probability: It is the measure of how often parts of chromosome will be mutated. If mutation probability is 100%, whole chromosome is changed, if it is 0%, nothing is Genetic Algorithm Page 47

22 changed. Mutation generally prevents the genetic algorithm from falling into local extremes and helps in recovering the lost genetic material. Mutation should not occur very often, because then genetic algorithms would act as to random search. Mutation rate generally shoul be very low, 0.5-1% only. Population size: It is the number of how many chromosomes are present in the population (representing one generation). If there are too few chromosomes, genetic algorithm has few options available for crossover and only a small part of search space is explored. On the counterpart, if there are too many chromosomes in one population then the speed of genetic algorithm slows down. It is quite surprising that higher population size does not always improve the performance of GA. A population size of is found to be good enough. But in some specialized problems the population size of are reported as best. Other parameters: Encoding depends upon the problem type and also the size of the instance of the problem. Selection method also depends upon the problem, although generally used selection methods are roulette wheel, tournament or rank selection method 2.10 Advantages of GA systems There are a number of advantages of Genetic Algorithms. Some of them are as under: The main advantage of the GA lies in its parallelism. Most of the search techniques start from one point and continue until with a single point in each iteration until a final solution is reached. Therefore a problem of local maxima may exist in them, while the starting solution space in GA is having multiple points in search space and hence the problem of local maxima generally does not exist. The GA is much easier to implement as compared to other techniques as it requires no knowledge or gradient information about the response surface. The advantage of the GA approach is the ease with which it can handle arbitrary kinds of constraints and objectives; all such things can be handled as weighted components of the fitness function, making it easy to adapt the GA scheduler to the particular requirements of a very wide range of possible overall objectives. GA can be used when no algorithms or heuristics are available for solving a problem. A GA based system can be built as long as a solution representation and an evaluation scheme can be worked out. Since it only requires the description of a good solution and not how to achieve it, the need for expert access is minimized. Optimization problems in which the constraints and objective functions are non-linear and/or discontinuous are not amenable to solution by traditional methods such as Genetic Algorithm Page 48

GENETIC ALGORITHMS. Narra Priyanka. K.Naga Sowjanya. Vasavi College of Engineering. Ibrahimbahg,Hyderabad.

GENETIC ALGORITHMS. Narra Priyanka. K.Naga Sowjanya. Vasavi College of Engineering. Ibrahimbahg,Hyderabad. GENETIC ALGORITHMS Narra Priyanka K.Naga Sowjanya Vasavi College of Engineering. Ibrahimbahg,Hyderabad mynameissowji@yahoo.com priyankanarra@yahoo.com Abstract Genetic algorithms are a part of evolutionary

More information

Evolutionary Algorithms

Evolutionary Algorithms Evolutionary Algorithms Evolutionary Algorithms What is Evolutionary Algorithms (EAs)? Evolutionary algorithms are iterative and stochastic search methods that mimic the natural biological evolution and/or

More information

Genetic Algorithm: A Search of Complex Spaces

Genetic Algorithm: A Search of Complex Spaces Genetic Algorithm: A Search of Complex Spaces Namita Khurana, Anju Rathi, Akshatha.P.S Lecturer in Department of (CSE/IT) KIIT College of Engg., Maruti Kunj, Sohna Road, Gurgaon, India ABSTRACT Living

More information

Deterministic Crowding, Recombination And Self-Similarity

Deterministic Crowding, Recombination And Self-Similarity Deterministic Crowding, Recombination And Self-Similarity Bo Yuan School of Information Technology and Electrical Engineering The University of Queensland Brisbane, Queensland 4072 Australia E-mail: s4002283@student.uq.edu.au

More information

Evolutionary Algorithms - Population management and popular algorithms Kai Olav Ellefsen

Evolutionary Algorithms - Population management and popular algorithms Kai Olav Ellefsen INF3490 - Biologically inspired computing Lecture 3: Eiben and Smith, chapter 5-6 Evolutionary Algorithms - Population management and popular algorithms Kai Olav Ellefsen Repetition: General scheme of

More information

Intelligent Techniques Lesson 4 (Examples about Genetic Algorithm)

Intelligent Techniques Lesson 4 (Examples about Genetic Algorithm) Intelligent Techniques Lesson 4 (Examples about Genetic Algorithm) Numerical Example A simple example will help us to understand how a GA works. Let us find the maximum value of the function (15x - x 2

More information

What is Evolutionary Computation? Genetic Algorithms. Components of Evolutionary Computing. The Argument. When changes occur...

What is Evolutionary Computation? Genetic Algorithms. Components of Evolutionary Computing. The Argument. When changes occur... What is Evolutionary Computation? Genetic Algorithms Russell & Norvig, Cha. 4.3 An abstraction from the theory of biological evolution that is used to create optimization procedures or methodologies, usually

More information

Logistics. Final exam date. Project Presentation. Plan for this week. Evolutionary Algorithms. Crossover and Mutation

Logistics. Final exam date. Project Presentation. Plan for this week. Evolutionary Algorithms. Crossover and Mutation Logistics Crossover and Mutation Assignments Checkpoint -- Problem Graded -- comments on mycourses Checkpoint --Framework Mostly all graded -- comments on mycourses Checkpoint -- Genotype / Phenotype Due

More information

CEng 713 Evolutionary Computation, Lecture Notes

CEng 713 Evolutionary Computation, Lecture Notes CEng 713 Evolutionary Computation, Lecture Notes Introduction to Evolutionary Computation Evolutionary Computation Elements of Evolution: Reproduction Random variation Competition Selection of contending

More information

Energy management using genetic algorithms

Energy management using genetic algorithms Energy management using genetic algorithms F. Garzia, F. Fiamingo & G. M. Veca Department of Electrical Engineering, University of Rome "La Sapienza", Italy Abstract An energy management technique based

More information

Evolutionary Algorithms - Introduction and representation Jim Tørresen

Evolutionary Algorithms - Introduction and representation Jim Tørresen INF3490 - Biologically inspired computing Lecture 2: Eiben and Smith, chapter 1-4 Evolutionary Algorithms - Introduction and representation Jim Tørresen Evolution Biological evolution: Lifeforms adapt

More information

TIMETABLING EXPERIMENTS USING GENETIC ALGORITHMS. Liviu Lalescu, Costin Badica

TIMETABLING EXPERIMENTS USING GENETIC ALGORITHMS. Liviu Lalescu, Costin Badica TIMETABLING EXPERIMENTS USING GENETIC ALGORITHMS Liviu Lalescu, Costin Badica University of Craiova, Faculty of Control, Computers and Electronics Software Engineering Department, str.tehnicii, 5, Craiova,

More information

EFFECT OF CROSS OVER OPERATOR IN GENETIC ALGORITHMS ON ANTICIPATORY SCHEDULING

EFFECT OF CROSS OVER OPERATOR IN GENETIC ALGORITHMS ON ANTICIPATORY SCHEDULING 24th International Symposium on on Automation & Robotics in in Construction (ISARC 2007) Construction Automation Group, I.I.T. Madras EFFECT OF CROSS OVER OPERATOR IN GENETIC ALGORITHMS ON ANTICIPATORY

More information

A Comparison between Genetic Algorithms and Evolutionary Programming based on Cutting Stock Problem

A Comparison between Genetic Algorithms and Evolutionary Programming based on Cutting Stock Problem Engineering Letters, 14:1, EL_14_1_14 (Advance online publication: 12 February 2007) A Comparison between Genetic Algorithms and Evolutionary Programming based on Cutting Stock Problem Raymond Chiong,

More information

Evolutionary Algorithms:

Evolutionary Algorithms: GEATbx Introduction Evolutionary Algorithms: Overview, Methods and Operators Hartmut Pohlheim Documentation for: Genetic and Evolutionary Algorithm Toolbox for use with Matlab version: toolbox 3.3 documentation

More information

Genetic Algorithms in Matrix Representation and Its Application in Synthetic Data

Genetic Algorithms in Matrix Representation and Its Application in Synthetic Data Genetic Algorithms in Matrix Representation and Its Application in Synthetic Data Yingrui Chen *, Mark Elliot ** and Joe Sakshaug *** * ** University of Manchester, yingrui.chen@manchester.ac.uk University

More information

Genetic Algorithms using Populations based on Multisets

Genetic Algorithms using Populations based on Multisets Genetic Algorithms using Populations based on Multisets António Manso 1, Luís Correia 1 1 LabMAg - Laboratório de Modelação de Agentes Faculdade de Ciências da Universidade de Lisboa Edifício C6, Piso

More information

A Genetic Algorithm on Inventory Routing Problem

A Genetic Algorithm on Inventory Routing Problem A Genetic Algorithm on Inventory Routing Problem Artvin Çoruh University e-mail: nevin.aydin@gmail.com Volume 3 No 3 (2014) ISSN 2158-8708 (online) DOI 10.5195/emaj.2014.31 http://emaj.pitt.edu Abstract

More information

Genetic Algorithms. Lecture Notes in Transportation Systems Engineering. Prof. Tom V. Mathew

Genetic Algorithms. Lecture Notes in Transportation Systems Engineering. Prof. Tom V. Mathew Genetic Algorithms Lecture Notes in Transportation Systems Engineering Prof. Tom V. Mathew Contents 1 Introduction 1 1.1 Background..................................... 2 1.2 Natural Selection..................................

More information

Forecasting Euro United States Dollar Exchange Rate with Gene Expression Programming

Forecasting Euro United States Dollar Exchange Rate with Gene Expression Programming Forecasting Euro United States Dollar Exchange Rate with Gene Expression Programming Maria Α. Antoniou 1, Efstratios F. Georgopoulos 1,2, Konstantinos A. Theofilatos 1, and Spiridon D. Likothanassis 1

More information

Chapter 6: SELECTION. 6.1 Introduction

Chapter 6: SELECTION. 6.1 Introduction Chapter 6: SELECTION 6.1 Introduction Selection is the first genetic operation in the reproductive phase of genetic algorithm. The objective of selection is to choose the fitter individuals in the population

More information

Evolutionary Algorithms and Simulated Annealing in the Topological Configuration of the Spanning Tree

Evolutionary Algorithms and Simulated Annealing in the Topological Configuration of the Spanning Tree Evolutionary Algorithms and Simulated Annealing in the Topological Configuration of the Spanning Tree A. SADEGHEIH Department of Industrial Engineering University of Yazd, P.O.Box: 89195-741 IRAN, YAZD

More information

Genetic Algorithms and Sensitivity Analysis in Production Planning Optimization

Genetic Algorithms and Sensitivity Analysis in Production Planning Optimization Genetic Algorithms and Sensitivity Analysis in Production Planning Optimization CECÍLIA REIS 1,2, LEONARDO PAIVA 2, JORGE MOUTINHO 2, VIRIATO M. MARQUES 1,3 1 GECAD Knowledge Engineering and Decision Support

More information

CSE 590 DATA MINING. Prof. Anita Wasilewska SUNY Stony Brook

CSE 590 DATA MINING. Prof. Anita Wasilewska SUNY Stony Brook CSE 590 DATA MINING Prof. Anita Wasilewska SUNY Stony Brook 1 References D. E. Goldberg, Genetic Algorithm In Search, Optimization And Machine Learning, New York: Addison Wesley (1989) John H. Holland

More information

FacePrints, Maze Solver and Genetic algorithms

FacePrints, Maze Solver and Genetic algorithms Machine Learning CS579 FacePrints, Maze Solver and Genetic algorithms by Jacob Blumberg Presentation Outline Brief reminder genetic algorithms FacePrints a system that evolves faces Improvements and future

More information

Genetically Evolved Solution to Timetable Scheduling Problem

Genetically Evolved Solution to Timetable Scheduling Problem Genetically Evolved Solution to Timetable Scheduling Problem Sandesh Timilsina Department of Computer Science and Engineering Rohit Negi Department of Computer Science and Engineering Jyotsna Seth Department

More information

Recessive Trait Cross Over Approach of GAs Population Inheritance for Evolutionary Optimisation

Recessive Trait Cross Over Approach of GAs Population Inheritance for Evolutionary Optimisation Recessive Trait Cross Over Approach of GAs Population Inheritance for Evolutionary Optimisation Amr Madkour, Alamgir Hossain, and Keshav Dahal Modeling Optimization Scheduling And Intelligent Control (MOSAIC)

More information

Parameter identification in the activated sludge process

Parameter identification in the activated sludge process Parameter identification in the activated sludge process Päivi Holck, Aki Sorsa and Kauko Leiviskä Control Engineering Laboratory, University of Oulu P.O.Box 4300, 90014 Oulun yliopisto, Finland e-mail:

More information

TRAINING FEED FORWARD NEURAL NETWORK USING GENETIC ALGORITHM TO PREDICT MEAN TEMPERATURE

TRAINING FEED FORWARD NEURAL NETWORK USING GENETIC ALGORITHM TO PREDICT MEAN TEMPERATURE IJRRAS 29 (1) October 216 www.arpapress.com/volumes/vol29issue1/ijrras_29_1_3.pdf TRAINING FEED FORWARD NEURAL NETWORK USING GENETIC ALGORITHM TO PREDICT MEAN TEMPERATURE Manal A. Ashour 1,*, Somia A.

More information

A Study of Crossover Operators for Genetic Algorithms to Solve VRP and its Variants and New Sinusoidal Motion Crossover Operator

A Study of Crossover Operators for Genetic Algorithms to Solve VRP and its Variants and New Sinusoidal Motion Crossover Operator International Journal of Computational Intelligence Research ISSN 0973-1873 Volume 13, Number 7 (2017), pp. 1717-1733 Research India Publications http://www.ripublication.com A Study of Crossover Operators

More information

Improvement of Control System Responses Using GAs PID Controller

Improvement of Control System Responses Using GAs PID Controller International Journal of Industrial and Manufacturing Systems Engineering 2017; 2(2): 11-18 http://www.sciencepublishinggroup.com/j/ijimse doi: 10.11648/j.ijimse.20170202.12 Case Report Improvement of

More information

Public Key Cryptography Using Genetic Algorithm

Public Key Cryptography Using Genetic Algorithm International Journal of Recent Technology and Engineering (IJRTE) Public Key Cryptography Using Genetic Algorithm Swati Mishra, Siddharth Bali Abstract Cryptography is an imperative tool for protecting

More information

Evolutionary Computation

Evolutionary Computation Evolutionary Computation Dean F. Hougen w/ contributions from Pedro Diaz-Gomez & Brent Eskridge Robotics, Evolution, Adaptation, and Learning Laboratory (REAL Lab) School of Computer Science University

More information

9 Genetic Algorithms. 9.1 Introduction

9 Genetic Algorithms. 9.1 Introduction 9 Genetic Algorithms Genetic algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions you might not otherwise find

More information

Genetic Algorithm with Upgrading Operator

Genetic Algorithm with Upgrading Operator Genetic Algorithm with Upgrading Operator NIDAPAN SUREERATTANAN Computer Science and Information Management, School of Advanced Technologies, Asian Institute of Technology, P.O. Box 4, Klong Luang, Pathumthani

More information

Artificial Life Lecture 14 EASy. Genetic Programming. EASy. GP EASy. GP solution to to problem 1. EASy. Picturing a Lisp program EASy

Artificial Life Lecture 14 EASy. Genetic Programming. EASy. GP EASy. GP solution to to problem 1. EASy. Picturing a Lisp program EASy Artificial Life Lecture 14 14 Genetic Programming This will look at 3 aspects of Evolutionary Algorithms: 1) Genetic Programming GP 2) Classifier Systems 3) Species Adaptation Genetic Algorithms -- SAGA

More information

Economic Design of Control Chart

Economic Design of Control Chart A Project Report on Economic Design of Control Chart In partial fulfillment of the requirements of Bachelor of Technology (Mechanical Engineering) Submitted By Debabrata Patel (Roll No.10503031) Session:

More information

Designing High Thermal Conductive Materials Using Artificial Evolution MICHAEL DAVIES, BASKAR GANAPATHYSUBRAMANIAN, GANESH BALASUBRAMANIAN

Designing High Thermal Conductive Materials Using Artificial Evolution MICHAEL DAVIES, BASKAR GANAPATHYSUBRAMANIAN, GANESH BALASUBRAMANIAN Designing High Thermal Conductive Materials Using Artificial Evolution MICHAEL DAVIES, BASKAR GANAPATHYSUBRAMANIAN, GANESH BALASUBRAMANIAN The Problem Graphene is one of the most thermally conductive materials

More information

Evolving Bidding Strategies for Multiple Auctions

Evolving Bidding Strategies for Multiple Auctions Evolving Bidding Strategies for Multiple Auctions Patricia Anthony and Nicholas R. Jennings 1 Abstract. Due to the proliferation of online auctions, there is an increasing need to monitor and bid in multiple

More information

Simulation-Based Analysis and Optimisation of Planning Policies over the Product Life Cycle within the Entire Supply Chain

Simulation-Based Analysis and Optimisation of Planning Policies over the Product Life Cycle within the Entire Supply Chain From the SelectedWorks of Liana Napalkova June, 2009 Simulation-Based Analysis and Optimisation of Planning Policies over the Product Life Cycle within the Entire Supply Chain Galina Merkuryeva Liana Napalkova

More information

Optimizing Genetic Algorithms for Time Critical Problems

Optimizing Genetic Algorithms for Time Critical Problems Master Thesis Software Engineering Thesis no: MSE-2003-09 June 2003 Optimizing Genetic Algorithms for Time Critical Problems Christian Johansson Gustav Evertsson Department of Software Engineering and

More information

Adapting Operator Settings in Genetic Algorithms

Adapting Operator Settings in Genetic Algorithms Adapting Operator Settings in Genetic Algorithms Andrew Tuson and Peter Ross Department of Artificial Intelligence, University of Edinburgh 5 Forrest Hill, Edinburgh EH1 2QL, U.K. Email: fandrewt,peterg@dai.ed.ac.uk

More information

Recombination Without Respect: Schema Combination and Disruption in Genetic Algorithm Crossover

Recombination Without Respect: Schema Combination and Disruption in Genetic Algorithm Crossover Recombination Without Respect: Schema Combination and Disruption in Genetic Algorithm Crossover Richard A. Watson Jordan B. Pollack Dynamical and Evolutionary Machine Organization, Volen Center for Complex

More information

Optimal, Efficient Reconstruction of Phylogenetic Networks with Constrained Recombination

Optimal, Efficient Reconstruction of Phylogenetic Networks with Constrained Recombination UC Davis Computer Science Technical Report CSE-2003-29 1 Optimal, Efficient Reconstruction of Phylogenetic Networks with Constrained Recombination Dan Gusfield, Satish Eddhu, Charles Langley November 24,

More information

Population and Community Dynamics. The Hardy-Weinberg Principle

Population and Community Dynamics. The Hardy-Weinberg Principle Population and Community Dynamics The Hardy-Weinberg Principle Key Terms Population: same species, same place, same time Gene: unit of heredity. Controls the expression of a trait. Can be passed to offspring.

More information

Evolutionary Computation

Evolutionary Computation Evolutionary Computation Evolutionary Computation A Unified Approach Kenneth A. De Jong ABradfordBook The MIT Press Cambridge, Massachusetts London, England c 2006 Massachusetts Institute of Technology

More information

11.1 Genetic Variation Within Population. KEY CONCEPT A population shares a common gene pool.

11.1 Genetic Variation Within Population. KEY CONCEPT A population shares a common gene pool. 11.1 Genetic Variation Within Population KEY CONCEPT A population shares a common gene pool. 11.1 Genetic Variation Within Population Genetic variation in a population increases the chance that some individuals

More information

GENETIC ALGORITHMS FOR DESIGN OF PIPE NETWORK SYSTEMS

GENETIC ALGORITHMS FOR DESIGN OF PIPE NETWORK SYSTEMS 116 Journal of Marine Science and Technology, Vol. 13, No. 2, pp. 116-124 (2005) GENETIC ALGORITHMS FOR DESIGN OF PIPE NETWORK SYSTEMS Hong-Min Shau*, Bi-Liang Lin**, and Wen-Chih Huang*** Key words: genetic

More information

An evolutionary algorithm for a real vehicle routing problem

An evolutionary algorithm for a real vehicle routing problem Int. Journal of Business Science and Applied Management, Volume 7, Issue 3, 2012 An evolutionary algorithm for a real vehicle routing problem Panagiotis Adamidis Alexander TEI of Thessaloniki, Department

More information

EVOLUTIONARY ALGORITHMS CT20A6300. Timo Mantere. Lecturer, Ph.D. (Econ. & BA) Department of Electrical engineering and automation University of Vaasa

EVOLUTIONARY ALGORITHMS CT20A6300. Timo Mantere. Lecturer, Ph.D. (Econ. & BA) Department of Electrical engineering and automation University of Vaasa EVOLUTIONARY ALGORITHMS CT20A6300 Timo Mantere Lecturer, Ph.D. (Econ. & BA) Department of Electrical engineering and automation University of Vaasa tmantere@lut.fi http://www.uwasa.fi/~timan 1 Lecture

More information

Permutation Free Encoding Technique for Evolving Neural Networks

Permutation Free Encoding Technique for Evolving Neural Networks Permutation Free Encoding Technique for Evolving Neural Networks Anupam Das, Md. Shohrab Hossain, Saeed Muhammad Abdullah, and Rashed Ul Islam Department of Computer Science and Engineering, Bangladesh

More information

AP BIOLOGY Population Genetics and Evolution Lab

AP BIOLOGY Population Genetics and Evolution Lab AP BIOLOGY Population Genetics and Evolution Lab In 1908 G.H. Hardy and W. Weinberg independently suggested a scheme whereby evolution could be viewed as changes in the frequency of alleles in a population

More information

Implementation of Genetic Algorithm for Agriculture System

Implementation of Genetic Algorithm for Agriculture System Implementation of Genetic Algorithm for Agriculture System Shweta Srivastava Department of Computer science Engineering Babu Banarasi Das University,Lucknow, Uttar Pradesh, India Diwakar Yagyasen Department

More information

Genetic Algorithm and Neural Network

Genetic Algorithm and Neural Network Proceedings of the 7th WSEAS International Conference on Applied Informatics and Communications, Athens, Greece, August 24-26, 2007 345 Genetic Algorithm and Neural Network JIRI STASTNY*, VLADISLAV SKORPIL**

More information

Staff Scheduling by a Genetic Algorithm with a Two-Dimensional Chromosome Structure

Staff Scheduling by a Genetic Algorithm with a Two-Dimensional Chromosome Structure Staff Scheduling by a Genetic Algorithm with a Two-Dimensional Chromosome Structure John S. Dean Box 24, 8700 N.W. River Park Dr., Parkville, MO 64152 Park University, Information and Computer Science

More information

An Improved Genetic Algorithm for Generation Expansion Planning

An Improved Genetic Algorithm for Generation Expansion Planning 916 IEEE TRANSACTIONS ON POWER SYSTEMS, VOL. 15, NO. 3, AUGUST 2000 An Improved Genetic Algorithm for Generation Expansion Planning Jong-Bae Park, Young-Moon Park, Jong-Ryul Won, and Kwang Y. Lee Abstract

More information

Biological immune systems

Biological immune systems Immune Systems 1 Introduction 2 Biological immune systems Living organism must protect themselves from the attempt of other organisms to exploit their resources Some would-be exploiter (pathogen) is much

More information

Keywords Genetic, pseudorandom numbers, cryptosystems, optimal solution.

Keywords Genetic, pseudorandom numbers, cryptosystems, optimal solution. Volume 6, Issue 8, August 2016 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Apply Genetic

More information

Derivative-based Optimization (chapter 6)

Derivative-based Optimization (chapter 6) Soft Computing: Derivative-base Optimization Derivative-based Optimization (chapter 6) Bill Cheetham cheetham@cs.rpi.edu Kai Goebel goebel@cs.rpi.edu used for neural network learning used for multidimensional

More information

MINIMIZE THE MAKESPAN FOR JOB SHOP SCHEDULING PROBLEM USING ARTIFICIAL IMMUNE SYSTEM APPROACH

MINIMIZE THE MAKESPAN FOR JOB SHOP SCHEDULING PROBLEM USING ARTIFICIAL IMMUNE SYSTEM APPROACH MINIMIZE THE MAKESPAN FOR JOB SHOP SCHEDULING PROBLEM USING ARTIFICIAL IMMUNE SYSTEM APPROACH AHMAD SHAHRIZAL MUHAMAD, 1 SAFAAI DERIS, 2 ZALMIYAH ZAKARIA 1 Professor, Faculty of Computing, Universiti Teknologi

More information

Immune Programming. Payman Samadi. Supervisor: Dr. Majid Ahmadi. March Department of Electrical & Computer Engineering University of Windsor

Immune Programming. Payman Samadi. Supervisor: Dr. Majid Ahmadi. March Department of Electrical & Computer Engineering University of Windsor Immune Programming Payman Samadi Supervisor: Dr. Majid Ahmadi March 2006 Department of Electrical & Computer Engineering University of Windsor OUTLINE Introduction Biological Immune System Artificial Immune

More information

On Naïve Crossover Biases with Reproduction for Simple Solutions to Classification Problems

On Naïve Crossover Biases with Reproduction for Simple Solutions to Classification Problems On Naïve Crossover Biases with Reproduction for Simple Solutions to Classification Problems M. David Terrio and Malcolm I. Heywood Dalhousie University, Faculty of Computer Science 6040 University Avenue,

More information

Storage Allocation and Yard Trucks Scheduling in Container Terminals Using a Genetic Algorithm Approach

Storage Allocation and Yard Trucks Scheduling in Container Terminals Using a Genetic Algorithm Approach Storage Allocation and Yard Trucks Scheduling in Container Terminals Using a Genetic Algorithm Approach Z.X. Wang, Felix T.S. Chan, and S.H. Chung Abstract Storage allocation and yard trucks scheduling

More information

Genotype Editing and the Evolution of Regulation and Memory

Genotype Editing and the Evolution of Regulation and Memory Genotype Editing and the Evolution of Regulation and Memory Luis M. Rocha and Jasleen Kaur School of Informatics, Indiana University Bloomington, IN 47406, USA rocha@indiana.edu http://informatics.indiana.edu/rocha

More information

Metaheuristics and Cognitive Models for Autonomous Robot Navigation

Metaheuristics and Cognitive Models for Autonomous Robot Navigation Metaheuristics and Cognitive Models for Autonomous Robot Navigation Raj Korpan Department of Computer Science The Graduate Center, CUNY Second Exam Presentation April 25, 2017 1 / 31 Autonomous robot navigation

More information

Summary Genes and Variation Evolution as Genetic Change. Name Class Date

Summary Genes and Variation Evolution as Genetic Change. Name Class Date Chapter 16 Summary Evolution of Populations 16 1 Genes and Variation Darwin s original ideas can now be understood in genetic terms. Beginning with variation, we now know that traits are controlled by

More information

Michelle Wang Department of Biology, Queen s University, Kingston, Ontario Biology 206 (2008)

Michelle Wang Department of Biology, Queen s University, Kingston, Ontario Biology 206 (2008) An investigation of the fitness and strength of selection on the white-eye mutation of Drosophila melanogaster in two population sizes under light and dark treatments over three generations Image Source:

More information

WE consider the general ranking problem, where a computer

WE consider the general ranking problem, where a computer 5140 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 11, NOVEMBER 2008 Statistical Analysis of Bayes Optimal Subset Ranking David Cossock and Tong Zhang Abstract The ranking problem has become increasingly

More information

Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2000) Graha Institut Teknologi Sepuluh Nopember, Surabaya, 19 April 2000

Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2000) Graha Institut Teknologi Sepuluh Nopember, Surabaya, 19 April 2000 Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA ) Graha Institut Teknologi Sepuluh Nopember, Surabaya, 19 April Experimental Approach of Mutation Probability Selection of Floating-point-based

More information

Reproduction Strategy Based on Self-Organizing Map for Real-coded Genetic Algorithms

Reproduction Strategy Based on Self-Organizing Map for Real-coded Genetic Algorithms Neural Information Processing - Letters and Reviews Vol. 5, No. 2, November 2004 LETTER Reproduction Strategy Based on Self-Organizing Map for Real-coded Genetic Algorithms Ryosuke Kubota Graduate School

More information

Data Mining for Genetics: A Genetic Algorithm Approach

Data Mining for Genetics: A Genetic Algorithm Approach Data Mining for Genetics: A Genetic Algorithm Approach G. Madhu, Dr. Keshava Reddy E. Dept of Mathematics,J.B. Institute of Engg. & Technology, Yenkapally, R.R.Dist Hyderabad-500075, INDIA, A.P Dept of

More information

Construction and Application of Mathematical Model Based on Intelligent Test Paper Generation Algorithm

Construction and Application of Mathematical Model Based on Intelligent Test Paper Generation Algorithm Construction and Application of Mathematical Model Based on Intelligent Test Paper Generation Algorithm Jin Zhang * School of Science, Shandong University of Technology, Zibo 25500, China *Corresponding

More information

THE LEAD PROFILE AND OTHER NON-PARAMETRIC TOOLS TO EVALUATE SURVEY SERIES AS LEADING INDICATORS

THE LEAD PROFILE AND OTHER NON-PARAMETRIC TOOLS TO EVALUATE SURVEY SERIES AS LEADING INDICATORS THE LEAD PROFILE AND OTHER NON-PARAMETRIC TOOLS TO EVALUATE SURVEY SERIES AS LEADING INDICATORS Anirvan Banerji New York 24th CIRET Conference Wellington, New Zealand March 17-20, 1999 Geoffrey H. Moore,

More information

NEUROEVOLUTION AND AN APPLICATION OF AN AGENT BASED MODEL FOR FINANCIAL MARKET

NEUROEVOLUTION AND AN APPLICATION OF AN AGENT BASED MODEL FOR FINANCIAL MARKET City University of New York (CUNY) CUNY Academic Works Master's Theses City College of New York 2014 NEUROEVOLUTION AND AN APPLICATION OF AN AGENT BASED MODEL FOR FINANCIAL MARKET Anil Yaman CUNY City

More information

Analysis of NEAT and application in swarm intelligence

Analysis of NEAT and application in swarm intelligence Bachelor Informatica Informatica Universiteit van Amsterdam Analysis of NEAT and application in swarm intelligence Frank van Beem June 9, 2017 Supervisor(s): Rein van den Boomgaard 2 Abstract In this paper

More information

LAB ACTIVITY ONE POPULATION GENETICS AND EVOLUTION 2017

LAB ACTIVITY ONE POPULATION GENETICS AND EVOLUTION 2017 OVERVIEW In this lab you will: 1. learn about the Hardy-Weinberg law of genetic equilibrium, and 2. study the relationship between evolution and changes in allele frequency by using your class to represent

More information

Improved Crossover and Mutation Operators for Genetic- Algorithm Project Scheduling

Improved Crossover and Mutation Operators for Genetic- Algorithm Project Scheduling Improved Crossover and Mutation Operators for Genetic- Algorithm Project Scheduling M. A. Abido and A. Elazouni Abstract In Genetic Algorithms (GAs) technique, offspring chromosomes are created by merging

More information

Backup Strategy for Failures in Robotic U-Shaped Assembly Line Systems

Backup Strategy for Failures in Robotic U-Shaped Assembly Line Systems University of Rhode Island DigitalCommons@URI Open Access Master's Theses 2016 Backup Strategy for Failures in Robotic U-Shaped Assembly Line Systems Alexander Gebel University of Rhode Island, alexander_gebel@my.uri.edu

More information

Optimization of Software Testing for Discrete Testsuite using Genetic Algorithm and Sampling Technique

Optimization of Software Testing for Discrete Testsuite using Genetic Algorithm and Sampling Technique Optimization of Software Testing for Discrete Testsuite using Genetic Algorithm and Sampling Technique Siba Prasada Tripathy National Institute of Science & Technology Berhampur, India Debananda Kanhar

More information

Machine learning applications in genomics: practical issues & challenges. Yuzhen Ye School of Informatics and Computing, Indiana University

Machine learning applications in genomics: practical issues & challenges. Yuzhen Ye School of Informatics and Computing, Indiana University Machine learning applications in genomics: practical issues & challenges Yuzhen Ye School of Informatics and Computing, Indiana University Reference Machine learning applications in genetics and genomics

More information

INFLUENCE OF DATA QUANTITY ON ACCURACY OF PREDICTIONS IN MODELING TOOL LIFE BY THE USE OF GENETIC ALGORITHMS

INFLUENCE OF DATA QUANTITY ON ACCURACY OF PREDICTIONS IN MODELING TOOL LIFE BY THE USE OF GENETIC ALGORITHMS International Journal of Industrial Engineering, 21(2), 14-21, 2014 INFLUENCE OF DATA QUANTITY ON ACCURACY OF PREDICTIONS IN MODELING TOOL LIFE BY THE USE OF GENETIC ALGORITHMS Pavel Kovac, Vladimir Pucovsky,

More information

Using evolutionary techniques to improve the multisensor fusion of environmental measurements

Using evolutionary techniques to improve the multisensor fusion of environmental measurements Using evolutionary techniques to improve the multisensor fusion of environmental measurements A.L. Hood 1*, V.M.Becerra 2 and R.J.Craddock 3 1 Technologies for Sustainable Built Environments Centre, University

More information

Designing an Effective Scheduling Scheme Considering Multi-level BOM in Hybrid Job Shop

Designing an Effective Scheduling Scheme Considering Multi-level BOM in Hybrid Job Shop Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 Designing an Effective Scheduling Scheme Considering Multi-level BOM

More information

USING GENETIC ALGORITHMS TO GENERATE ALTERNATIVES FOR MULTI-OBJECTIVE CORRIDOR LOCATION PROBLEMS

USING GENETIC ALGORITHMS TO GENERATE ALTERNATIVES FOR MULTI-OBJECTIVE CORRIDOR LOCATION PROBLEMS USING GENETIC ALGORITHMS TO GENERATE ALTERNATIVES FOR MULTI-OBJECTIVE CORRIDOR LOCATION PROBLEMS Xingdong Zhang Department of Geography, University of Iowa, 16 Jessup Hall, Iowa City, IA 2242, Tel 1-19-1,

More information

The Genetic Algorithm CSC 301, Analysis of Algorithms Department of Computer Science Grinnell College December 5, 2016

The Genetic Algorithm CSC 301, Analysis of Algorithms Department of Computer Science Grinnell College December 5, 2016 The Genetic Algorithm CSC 301, Analysis of Algorithms Department of Computer Science Grinnell College December 5, 2016 The Method When no efficient algorithm for solving an optimization problem is available,

More information

Dynamics and Performance of a Linear Genetic Programming System

Dynamics and Performance of a Linear Genetic Programming System THESIS FOR THE DEGREE OF LICENTIATE IN COMPLEX SYSTEMS Dynamics and Performance of a Linear Genetic Programming System FRANK D. FRANCONE Department of Energy and Environment Division of Physical Resource

More information

Procedia - Social and Behavioral Sciences 189 ( 2015 ) XVIII Annual International Conference of the Society of Operations Management (SOM-14)

Procedia - Social and Behavioral Sciences 189 ( 2015 ) XVIII Annual International Conference of the Society of Operations Management (SOM-14) Available online at www.sciencedirect.com ScienceDirect Procedia - Social and ehavioral Sciences 189 ( 2015 ) 184 192 XVIII Annual International Conference of the Society of Operations Management (SOM-14)

More information

Symbiotic Combination as an Alternative to Sexual Recombination in Genetic Algorithms

Symbiotic Combination as an Alternative to Sexual Recombination in Genetic Algorithms Symbiotic Combination as an Alternative to Sexual Recombination in Genetic Algorithms Richard A. Watson Jordan B. Pollack Dynamical and Evolutionary Machine Organization Volen Center for Complex Systems

More information

Jobshop scheduling in a shipyard

Jobshop scheduling in a shipyard Jobshop scheduling in a shipyard Thomas Stidsen 1, Lars V. Kragelund and Oana Mateescu Abstract. Jobshop scheduling is considered a standard problem to solve by means of Genetic Algorithms (GA) and a number

More information

Investigation of Constant Creation Techniques in the Context of Gene Expression Programming

Investigation of Constant Creation Techniques in the Context of Gene Expression Programming Investigation of Constant Creation Techniques in the Context of Gene Expression Programming Xin Li 1, Chi Zhou 2, Peter C. Nelson 1, Thomas M. Tirpak 2 1 Artificial Intelligence Laboratory, Department

More information

Changing Mutation Operator of Genetic Algorithms for optimizing Multiple Sequence Alignment

Changing Mutation Operator of Genetic Algorithms for optimizing Multiple Sequence Alignment International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 3, Number 11 (2013), pp. 1155-1160 International Research Publications House http://www. irphouse.com /ijict.htm Changing

More information

POPULATION GENETICS. Evolution Lectures 4

POPULATION GENETICS. Evolution Lectures 4 POPULATION GENETICS Evolution Lectures 4 POPULATION GENETICS The study of the rules governing the maintenance and transmission of genetic variation in natural populations. Population: A freely interbreeding

More information

Chapter 17 Section 1: Genetic Variation

Chapter 17 Section 1: Genetic Variation Chapter 17 Section 1: Genetic Variation Section 2 Content Objective Write this down! I will be able to identify and define in my own words key terms associated with genetic variation. Section 2 Language

More information

Application of Evolutionary Algorithms to solve complex problems in Quantitative Genetics and Bioinformatics

Application of Evolutionary Algorithms to solve complex problems in Quantitative Genetics and Bioinformatics Application of Evolutionary Algorithms to solve complex problems in Quantitative Genetics and Bioinformatics 4 to 8 August 2008 Centre for Genetic Improvement of Livestock University of Guelph by Cedric

More information

A Systematic Study of Genetic Algorithms with Genotype Editing

A Systematic Study of Genetic Algorithms with Genotype Editing A Systematic Study of Genetic Algorithms with Genotype Editing Chien-Feng Huang and Luis M. Rocha Modeling, Algorithms, and Informatics Group (CCS-3), Computer and Computational Sciences, Los Alamos National

More information

3. A student performed a gel electrophoresis experiment. The results are represented in the diagram below.

3. A student performed a gel electrophoresis experiment. The results are represented in the diagram below. Base your answers to questions 1 and 2 on the statement below and on your knowledge of biology. Scientists have found a gene in the DNA of a certain plant that could be the key to increasing the amount

More information

A Viral Systems Algorithm for the Traveling Salesman Problem

A Viral Systems Algorithm for the Traveling Salesman Problem Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 A Viral Systems Algorithm for the Traveling Salesman Problem Dedy Suryadi,

More information

Adaptive Genetic Programming applied to Classification in Data Mining

Adaptive Genetic Programming applied to Classification in Data Mining Adaptive Genetic Programming applied to Classification in Data Mining Nailah Al-Madi and Simone A. Ludwig Department of Computer Science North Dakota State University Fargo, ND, USA nailah.almadi@my.ndsu.edu,

More information

INTERNATIONAL JOURNAL OF APPLIED ENGINEERING RESEARCH, DINDIGUL Volume 2, No 3, 2011

INTERNATIONAL JOURNAL OF APPLIED ENGINEERING RESEARCH, DINDIGUL Volume 2, No 3, 2011 Minimization of Total Weighted Tardiness and Makespan for SDST Flow Shop Scheduling using Genetic Algorithm Kumar A. 1 *, Dhingra A. K. 1 1Department of Mechanical Engineering, University Institute of

More information

Learning Petri Net Models of Non-Linear Gene Interactions

Learning Petri Net Models of Non-Linear Gene Interactions Learning Petri Net Models of Non-Linear Gene Interactions Abstract Understanding how an individual s genetic make-up influences their risk of disease is a problem of paramount importance. Although machine

More information