# Genetic Algorithm

Genetic algorithm solver for mixed-integer or continuous-variable optimization, constrained or unconstrained

Genetic algorithm solves smooth or nonsmooth optimization problems with any types of constraints, including integer constraints. It is a stochastic, population-based algorithm that searches randomly by mutation and crossover among population members.

## Functions

expand all

 `ga` Find minimum of function using genetic algorithm
 `optimoptions` Create optimization options `resetoptions` Reset options

 Optimize Optimize or solve equations in the Live Editor

## Topics

### Genetic Algorithm Optimization Basics

Minimize Rastrigin's Function

Presents an example of solving an optimization problem using the genetic algorithm.

Coding and Minimizing a Fitness Function Using the Genetic Algorithm

Shows how to write a fitness function including extra parameters or vectorization.

Constrained Minimization Using the Genetic Algorithm

Shows how to include constraints in your problem.

Options and Outputs

Shows how to choose input options and output arguments.

Effects of Genetic Algorithm Options

Example showing the effect of several options.

Nonlinear Constraints Using ga

An example showing how to use various types of constraints.

Global vs. Local Optimization Using ga

This example shows how setting the initial range can lead to a better solution.

### Common Tuning Options

Set Maximum Number of Generations and Stall Generations

The `MaxGenerations` option determines the maximum number of generations the genetic algorithm takes; see Stopping Conditions for the Algorithm.

Population Diversity

Shows the importance of population diversity, and how to set it.

Fitness Scaling

Describes fitness scaling, and how it affects the progress of `ga`.

Vary Mutation and Crossover

Shows the effect of the mutation and crossover parameters in `ga`.

Hybrid Scheme in the Genetic Algorithm

Shows the use of a hybrid function for improving a solution.

When to Use a Hybrid Function

Describes cases where hybrid functions are likely to provide greater accuracy or speed.

### Mixed Integer Optimization

Mixed Integer ga Optimization

Solve mixed integer programming problems, where some variables must be integer-valued.

Solving a Mixed Integer Engineering Design Problem Using the Genetic Algorithm

Example showing how to use mixed-integer programming in ga, including how to choose from a finite list of values.

Resume ga

Shows how to continue optimizing `ga` from the final population.

Reproduce Results

Shows how to reproduce results by resetting the random seed.

Run ga from a File

Provides an example of running `ga` using a set of parameters to search for the most effective setting.

Vectorize the Fitness Function

How to gain speed using vectorized function evaluations.

Create Custom Plot Function

Shows how to create and use a custom plot function in `ga`.

Custom Output Function for Genetic Algorithm

This example shows the use of a custom output function in `ga`.

Custom Data Type Optimization Using the Genetic Algorithm

Solve a traveling salesman problem using a custom data type.

Optimize an ODE in Parallel

Optimizing an objective given by the solution to an ODE using `patternsearch` or `ga` in serial or parallel.

### Genetic Algorithm Background

What Is the Genetic Algorithm?

Introduces the genetic algorithm.

Genetic Algorithm Terminology

Explains some basic terminology for the genetic algorithm.

How the Genetic Algorithm Works

Presents an overview of how the genetic algorithm works.

Nonlinear Constraint Solver Algorithms

Explains the Augmented Lagrangian Genetic Algorithm (ALGA) and penalty algorithm.

Genetic Algorithm Options

Describes the options for the genetic algorithm.

Watch now