Global Optimization Toolbox
Product Description
- Introduction and Key Features
- Defining, Solving, and Assessing Optimization Problems
- Global Search and Multistart Solvers
- Genetic Algorithm Solver
- Multiobjective Genetic Algorithm Solver
- Pattern Search Solver
- Simulated Annealing Solver
- Solving Optimization Problems Using Parallel Computing
Genetic Algorithm Solver
The genetic algorithm solves optimization problems by mimicking the principles of biological evolution, repeatedly modifying a population of individual points using rules modeled on gene combinations in biological reproduction. Due to its random nature, the genetic algorithm improves your chances of finding a global solution. It enables you to solve unconstrained, bound-constrained, and general optimization problems, and it does not require the functions to be differentiable or continuous.
The following table shows the standard genetic algorithm options provided by Global Optimization Toolbox.
| Step | Genetic Algorithm Option |
|---|---|
| Creation | Uniform, feasible |
| Fitness scaling | Rank-based, proportional, top (truncation), shift linear |
| Selection | Roulette, stochastic uniform selection (SUS), tournament, uniform, remainder |
| Crossover | Arithmetic, heuristic, intermediate, scattered, single-point, two-point |
| Mutation | Adaptive feasible, Gaussian, uniform |
| Plotting | Best fitness, best individual, distance among individuals, diversity of population, expectation of individuals, max constraint, range, selection index, stopping conditions |
Global Optimization Toolbox also lets you specify:
- Population size
- Number of elite children
- Crossover fraction
- Migration among subpopulations (using ring topology)
- Bounds, linear, and nonlinear constraints for an optimization problem
You can customize these algorithm options by providing user-defined functions and represent the problem in a variety of data formats, for example by defining variables that are integers, mixed integers, categorical, or complex.
You can base the stopping criteria for the algorithm on time, stalling, fitness limit, or number of generations. And you can vectorize your fitness function to improve execution speed or execute the objective and constraint functions in parallel (using Parallel Computing Toolbox).
Output that shows solutions reached when using only the genetic algorithm (right, bar chart) and when using the genetic algorithm with a gradient-based solver from Optimization Toolbox (final point in Optimization Tool, left). Combining algorithms can produce more accurate results while reducing the number of function evaluations required by the genetic algorithm alone.

Free Optimization Interactive Kit
Learn how to use optimization to solve systems of equations, fit models to data, or optimize system performance.
Get free kit
