What Are Genetic Algorithms?
Genetic Algorithms (GAs) are a combinatorial search technique that can search massive alternative solutions to quickly arrive at good, if not the best, solution through a Darwin-like "survival of the fittest".
Generally, solutions are binary encoded as 1's and 0's for different features of a solution being "on" or "off". If, for example, there were 50 features possible, that is 2^50 power alternatives: 1,125,899,906,842,624 possible combinations. Next, an initial set of alternative solutions is created, randomly or with some clues indicating likely successful solutions. These initial alternatives are evalated to determine their "goodness" (defined according to the nature of the challenge) and the better ones are "mated" (combining their features) with a bit of random mutation tossed in (some features are turned on or off randomly). This mate-mutate-evaluate cycle continues until 1) some quantity of evaluations have been performed, 2) time runs out, 3) the improvement approaches some asymptote of fitness or 4) a solution of adequate performance has been found.
There are many variations to this process. One we have found particularly effective is "continuous evolution", which results in excellent solutions in very few evaluations. Another includes encoding floating point numbers instead of "on"/"off". Also, binary encoding has many forms and methods, some of which are better for GAs.
Being a robust optimization algorithm that is principally influenced by the "fitness" (goodness of solutions) function and the encoding chosen, GAs can be easily used to optimize other algorithms. One example is neural networks where we use GAs to search for the best sensory input and the internal design of neural networks to maximize the neural modeling performance. We invented this back in the early 1990's and still use it to this day in many applications.
We are experts in this technology, inventors, and we created the 1st commercial Genetic Algorithm library for Windows back in the 1980's called GAWindows. Since then we have honed the techology and use it in nearly every product we ship. We have successfully applied them in marketing, financial forecasting, schedule compression, product optimization, product formulation optimization, customer satisfaction analytics, oil and gas to maximize production while minimizing by-products, and many, many more. 1000's of applications globally.
If you think this technology might be a good fit for something you are working on, a challenge you may have, then please do pick up the phone and call us at 1-281-760-4007. A technical expert will be happy to discuss your opportunity.