- Type
- Optimisation / metaheuristic search method
- Field
- Evolutionary computation
- Key figures
- John Holland, David Goldberg, John Koza
- Emerged
- 1970s; popularised 1980s–1990s
- Key operations
- Selection, crossover, mutation, fitness evaluation
- Related
- Machine learning, hyperparameter tuning, neural architecture search
- Type
- Optimisation / metaheuristic search method
- Field
- Evolutionary computation
- Key figures
- John Holland, David Goldberg, John Koza
- Emerged
- 1970s; popularised 1980s–1990s
- Key operations
- Selection, crossover, mutation, fitness evaluation
- Related
- Machine learning, hyperparameter tuning, neural architecture search
History
Genetic algorithms were pioneered by computer scientist John Holland at the University of Michigan, whose 1975 book Adaptation in Natural and Artificial Systems formalised the idea of evolving populations of coded solutions — a concept Holland had been developing since the 1960s. Holland's original interest was adaptive systems and learning theory rather than practical engineering.[1]
The method moved into the mainstream through David Goldberg's 1989 textbook Genetic Algorithms in Search, Optimization and Machine Learning, which applied GAs to engineering and industrial problems such as gas pipeline control and provided a clear, teachable account of the standard operators. In 1992 John Koza extended the approach to genetic programming, in which the evolving entities are computer programs rather than fixed-length parameter strings, demonstrating the same selection loop applied to symbolic code.[2] Throughout the 1990s and 2000s, GAs became one of the best-known metaheuristics — general-purpose search strategies that offer no guarantee of optimality but perform well on hard problems.
Key Concepts
A genetic algorithm cycles through four steps. Initialisation creates a population of random candidate solutions, each encoded as a string of values (historically binary "chromosomes"). Selection picks individuals for reproduction with probability proportional to fitness, so better solutions are more likely to pass on their code. Crossover combines two parents by swapping segments of their encodings to produce offspring, exploiting promising combinations. Mutation randomly flips or perturbs individual values, injecting diversity and preventing the population from collapsing onto a single solution. The process repeats until a stopping criterion — a fitness target, a generation limit, or convergence — is met.[1][3]
The critical design choice is the fitness function: it must honestly encode what "better" means for the problem, whether that is minimum cost, maximum yield, shortest route or fewest errors. Unlike gradient descent, a genetic algorithm needs no derivative information, so it works on discrete, combinatorial or discontinuous problem spaces where calculus-based optimisation fails — scheduling tables, routing problems, layout design and hyperparameter search.[2]
The trade-off is efficiency: GAs evaluate many candidates per generation and converge more slowly than gradient methods on smooth problems, and they do not guarantee a globally optimal result. In practice they are used where the search space is rugged and a very good solution is acceptable.
Applications
Genetic algorithms are applied in logistics and scheduling (vehicle routing, workforce rosters, factory job sequencing), engineering design (aerodynamic shape optimisation and antenna design — a NASA-led team evolved a mission-ready antenna configuration in 2006), finance (portfolio construction and trading rule discovery), game playing, and machine learning itself, where GAs tune hyperparameters, select features and even design neural network architectures through neural architecture search.[3]
>Key Takeaways
- Genetic algorithms search for solutions by evolving a population through selection, crossover and mutation.
- They were formalised by John Holland in 1975 and popularised by David Goldberg in 1989.
- They need only a fitness function — no gradients — so they handle discrete and combinatorial spaces well.
- Common uses include scheduling, routing, engineering design and hyperparameter tuning.
- They are slower than gradient methods on smooth problems and never guarantee a global optimum.
See Also
- Machine Learning
- Gradient Descent
- Hyperparameter Tuning
- Reinforcement Learning
- Neural Architecture Search
References
🇲🇾 Relevance to Malaysia: GAs are a standard part of computer science and engineering curricula at Malaysian public universities, and local research applies them to problems where infrastructure is constrained and every percent of efficiency counts — port and logistics scheduling at Port Klang and Penang, university timetabling, energy dispatch for combined heat and power plants, water network scheduling, and route optimisation for delivery fleets serving peninsular Malaysia's dense Klang Valley corridor. For SMEs, GA-based scheduling tools are attractive because they run on ordinary hardware and do not require the datasets that deep learning demands. Under the National AI Office (NAIO) and Malaysia Digital (MDEC) skills initiatives, evolutionary optimisation is taught alongside gradient-based methods as part of AI talent development, and it supports the National Semiconductor Strategy's design and test-flow optimisation work.
References
- ↑Holland, J. H. *Adaptation in Natural and Artificial Systems*. University of Michigan Press, 1975. https://en.wikipedia.org/wiki/Genetic_algorithm
- ↑Goldberg, D. E. *Genetic Algorithms in Search, Optimization and Machine Learning*. Addison-Wesley, 1989. https://en.wikipedia.org/wiki/Genetic_algorithm
- ↑Koza, J. R. *Genetic Programming: On the Programming of Computers by Means of Natural Selection*. MIT Press, 1992. https://en.wikipedia.org/wiki/Genetic_programming