Genetic Algorithms

What Are Genetic Algorithms?

Genetic algorithms are stochastic search and optimization methods that draw on mechanisms abstracted from biological evolution, including selection, crossover, and mutation, to navigate large and complex solution spaces in search of high-quality solutions. The framework was developed by John Holland at the University of Michigan, whose 1975 book "Adaptation in Natural and Artificial Systems" established the theoretical foundations of the approach. In a genetic algorithm, candidate solutions are encoded as strings, typically binary strings called chromosomes, and a population of these strings is evolved over successive generations by applying selection pressure and genetic operators. Genetic algorithms belong to the broader class of evolutionary computation and are classified among metaheuristics, methods that guide a search process without making strong assumptions about the structure of the underlying problem.

Evolutionary Search Mechanics

The execution of a genetic algorithm follows a loop. An initial population of candidate solutions is generated, often randomly. Each candidate is evaluated by a fitness function that assigns a scalar score reflecting the quality of the solution to the problem at hand. Higher-fitness individuals are more likely to be selected as parents for the next generation through mechanisms such as tournament selection or roulette-wheel selection. Crossover, the primary genetic operator, combines portions of two parent chromosomes to create offspring that inherit characteristics from both parents. Mutation randomly alters individual bits or values in a chromosome with a low probability, introducing variation and preventing premature convergence. This cycle repeats until a stopping condition is met, such as a fixed number of generations or the discovery of a solution that meets a quality threshold. The theoretical basis for why this process works is provided by Holland's schema theorem, which holds that short, highly fit patterns propagate exponentially through the population under selection. A formal treatment of these dynamics appears in the IEEE Transactions on Evolutionary Computation, which publishes core research in evolutionary methods.

Multi-Objective Optimization and Pareto Methods

Many practical engineering problems involve multiple conflicting objectives, such as minimizing cost while maximizing performance or reliability. Standard genetic algorithms optimize a single scalar fitness value, but multi-objective genetic algorithms extend the framework to handle several objectives simultaneously. Rather than a single optimum, multi-objective problems have a set of Pareto-optimal solutions: solutions where no objective can be improved without degrading at least one other. The Non-dominated Sorting Genetic Algorithm II (NSGA-II), introduced by Deb and colleagues in 2002, ranks solutions by Pareto dominance and uses a crowding distance metric to maintain a diverse spread across the Pareto front. These multi-objective variants are widely used in structural engineering design, control system tuning, and resource allocation problems. The underlying principles of Pareto optimality in evolutionary search are detailed in the ACM Digital Library survey on evolutionary multi-objective optimization.

Representation and Problem Encoding

The effectiveness of a genetic algorithm depends critically on how candidate solutions are encoded. Binary strings, introduced in Holland's original formulation, are straightforward to apply crossover and mutation to but may not be natural for problems involving continuous variables. Real-valued encodings represent each gene as a floating-point number and require adapted operators, such as simulated binary crossover, that respect the semantics of numeric values. Permutation encodings represent orderings of items, such as routes in a traveling salesman problem or schedules in a job shop setting, and require order-preserving crossover operators to prevent the generation of infeasible chromosomes. Choosing an encoding that matches problem structure is one of the central engineering decisions when applying genetic algorithms, as discussed in surveys published by IEEE Computer Society Press.

Applications

Genetic algorithms have applications in a wide range of problem domains, including:

  • Job shop scheduling and production sequence optimization
  • Antenna and aerodynamic structure design
  • Feature selection in machine learning pipelines
  • Neural network architecture search and hyperparameter tuning
  • Route planning and logistics network design
Loading…