Genetic algorithms have variety of use cases, and wide area of use. Especially a lot of work has been done for the financial forecasting area and optimization areas in the real life applications. Allen et al. used genetic algorithms to learn technical trading rules for the S&P 500 using daily price movements from 1928 to 1995. They try to find trading rules for buy/sell orders on the index but it is indicated that after the transaction costs, the found trading rules do not earn excessive returns. Also Parmal et al.  dealt with the problem of optimization of sales of a company, with using available data of a company, applying genetic algorithm to customer and product categories to to find optimal combinations. Kim et al used genetic algorithms to neural networks for customer targeting as identifying and profiling households. Lin et al. used sub-set values for parameters instead of single value to generate better optimization for financial buy/sell signals, using sub-set method, better optimization values obtained in result. In financial markets, calculating and analysing historical price data is crucial, so generally researches are highly focused on analysing the market data and to have a concrete meaningful strategies/results.
While the genetic algorithms is an interesting an practical area of research, also general concept researches and practical use case researches have been made widely. In book Practical Genetic Algorithms , Haupt» general concepts of optimization and genetic algorithms have been presented as genetic algorithm methods and practical use cases. Bethke presented the genetic algorithms as function optimizers in his research, this research is also interesting as this research is one of the primary researches in this area. Michalewicz, in his book he presented genetic algorithms in detail, briefly explains GAs and classic problems that can be solved/optimized using GAs as prisoners dilemma and traveling salesman problem.
There are also special and famous optimization problems as Prisoners Dilemma and Traveling Salesman Problem(TSP), heavy number of researches also have been made through the area. The researchers tried to optimize these problems to have better results. Grefenstte et al. discussed representation methods as ordinal representation and adjacency representations as well as the crossover and also presenting subtour chunking operator , an off-spring is constructed from to parent tours as follows : “First choose a subtour of random length from one parent, then extend the partial tour by choosing a subtour of random length from the other parent. Continue extending the tour by choosing subtours from alternating parents. During the selection of a subtour from a parent, if the parent’s edge would introduce a cycle into a partial tour, then extend the partial tour by a random edge which does not introduce a cycle. Continue until a complete tour is constructed.” Also Potvin also discussed several advanced crossover , mutation techniques as partially-mapped crossover(PMX), order based crossover(OBX), position based crossover (PBX) and presented computational results and made comparisons between methods. He also calculated CPU calculation times.
There are also researches for parameters of the genetic algorithms to reach better optimization results by choosing better control parameters. Mills et al. defined an experiment design and analysis method to determine the relative importance and most effective setting for each control parameter in a GA. Also Boyabatlı et al. analysed the effect of numerical parameters on the performance of GA based mimulation optimization applications with experimental design techniques. Rexhepi et al. presented an analysis on impact of parameter values for Traveling Salesman Problem(TSP).
Genetic Algorithms are one of evolutionary algorithms that use some heuristics and using crossover and mutation methods to achieve better optimization results, when the calculation is heavy. Evolution starts with randomly selected population members, for the mathematical functions, it is randomly generated solutions or results. Simply, choosing several random solutions/results and crossing over and mutating these results between them and collecting better results to reach to the optimized solution according to their fitness to the problem. Figure 3.1 shows the general flow chart of genetic algorithm(GA). In Figure 3.2, pseudo-code for GA is given. Also, in Parmal et al.(2017), genetic algorithms are described as ;
“Genetic Algorithm(GA) is a heuristic search technique for optimization, where it is not possible to analytically establish the extreme of the function. It employs a strategy based on the theory of natural selection to obtain iterative refinement of a population of potential solutions. It has been applied to diverse fields in problems like Traveling salesman problem (TSP), Marketing, finance etc.”
WHY GENETIC ALGORITHMS ?
Genetic Algorithms provide « good-enough » solutions « fast-enough ». In other words, we may have better optimization fast enough using GAs. This benefit of GAs, make them very attractive especially for hard problems.
SOLVING DIFFICULT PROBLEMS
There are a lot of problems in computer science that requires a lot of computational power, even it takes years to solve these kind of problems. At that point, Genetic Algorithms provide usable near-optimal solutions in a short period of time. That makes GAs more and more attractive.
PROVIDE GOOD SOLUTION FAST
Various difficult problems like Traveling Salesman Problem(TSP), are used in real-life applications like Navigation apps. Thus, providing good-enough solutions fast-enough is very important for such cases. GAs provide required fast and good-enough solutions.
GENETIC ALGORITHMS ADVANTAGES
Here is a list of advantages of genetic algorithms ;
- Faster and works efficiently than the traditional methods.
- Parallel capability/computing.
- Optimizes both continuous and discrete functions.
- Always provides an answer, solutions get better with better parameter choices.
- Generally useful when the search space and the parameter number is large.
GENETIC ALGORITHMS DISADVANTAGES
GA also has some disadvantages/limitations, here are some examples ;
- For simple functions/problems, using GA might be useless or redundant.
- Fitness values for chromosomes are calculated repeatedly, that process might take time and might be expensive in terms of computation.
- There are no guarantees that the found solutions is optimal or its quality.
If chosen parameters are not good enough or if there is a problem of implementation, then GA might not converge to the optimal solution.
Genetic algorithms have a wide area of application in real life. You may find some application areas of GAs.
- Optimization : Solving optimization problems.
- Economics : GAs also have a part of economics to modelize or characterize price movements for better profits.
- Neural Networks : Training neural networks.
- Image Processing : Used for Digital Image Processing, dense pixel matching.
- Vehicle Routing Problems .
- Scheduling Applications : Optimizing for schedule problems, especially time tabling problem.
- Machine Learning : Genetics based machine learning.
- Parametric Design of Aircrafts : Varying the parameters, design of aircrafts gets better results.
- Logistics : Traveling Salesman Problem and its application areas.
- Population : Subset of some possible solutions (encoded) to the problem. Poulation changes over time with new generations(offsprings).
- Chromosomes : One solution to the given problem. An element of the population.
- Fitness Function : Specific to the given problem. Fitness function is basically measures how fit / suitable is the solution. It takes solution as the input and generates its suitability as the output.
- Genetic Operators :
- Crossover : Exchanging / Transmitting meaningful data of chromosomes between them in a given order.
- Mutation : Changing one or several meaningful data of a chromosome to provide variety in a given probability.
- Survivor Selection : Selection of better solutions to achieve better optimal results.