Dakota Reference Manual
Version 6.4
LargeScale Engineering Optimization and Uncertainty Analysis

Evolutionary Algorithm
This keyword is related to the topics:
Alias: none
Argument(s): none
Required/Optional  Description of Group  Dakota Keyword  Dakota Keyword Description  

Optional  population_size  Set the population size  
Optional  initialization_type  Specify how to initialize the population  
Optional  fitness_type  Select fitness type  
Optional  replacement_type  Select a replacement type for SCOLIB evolutionary algorithm (coliny_ea )  
Optional  crossover_rate  Specify the probability of a crossover event  
Optional  crossover_type  Select a crossover type  
Optional  mutation_rate  Set probability of a mutation  
Optional  mutation_type  Select a mutation type  
Optional  constraint_penalty  Multiplier for the penalty function  
Optional  solution_target  Stopping criteria based on objective function value  
Optional  seed  Seed of the random number generator  
Optional  show_misc_options  Show algorithm parameters not exposed in Dakota input  
Optional  misc_options  Set method options not available through Dakota spec  
Optional  max_iterations  Stopping criterion based on number of iterations  
Optional  convergence_tolerance  Stopping criterion based on convergence of the objective function or statistics  
Optional  max_function_evaluations  Stopping criteria based on number of function evaluations  
Optional  scaling  Turn on scaling for variables, responses, and constraints  
Optional  model_pointer  Identifier for model block to be used by a method 
Evolutionary Algorithm
See the page package_scolib for important information regarding all SCOLIB methods
coliny_pattern_search
supports concurrency up to the size of the population
The random seed
control provides a mechanism for making a stochastic optimization repeatable. That is, the use of the same random seed in identical studies will generate identical results. The population_size
control specifies how many individuals will comprise the EA's population.
The initialization_type
defines the type of initialization for the population of the EA. There are three types: simple_random
, unique_random
, and flat_file
. simple_random
creates initial solutions with random variable values according to a uniform random number distribution. It gives no consideration to any previously generated designs. The number of designs is specified by the population_size
. unique_random
is the same as simple_random
, except that when a new solution is generated, it is checked against the rest of the solutions. If it duplicates any of them, it is rejected. flat_file
allows the initial population to be read from a flat file. If flat_file
is specified, a file name must be given.
The fitness_type
controls how strongly differences in "fitness" (i.e., the objective function) are weighted in the process of selecting "parents" for crossover:
linear_rank
setting uses a linear scaling of probability of selection based on the rank order of each individual's objective function within the populationmerit_function
setting uses a proportional scaling of probability of selection based on the relative value of each individual's objective function within the populationThe replacement_type
controls how current populations and newly generated individuals are combined to create a new population. Each of the replacement_type
selections accepts an integer value, which is referred to below as the replacement_size
.
random
setting creates a new population using (a) replacement_size
randomly selected individuals from the current population, and (b) population_size
 replacement_size
individuals randomly selected from among the newly generated individuals (the number of which is optionally specified using new_solutions_generated
) that are created for each generation (using the selection, crossover, and mutation procedures).chc
setting creates a new population using (a) the replacement_size
best individuals from the combination of the current population and the newly generated individuals, and (b) population_size
 replacement_size
individuals randomly selected from among the remaining individuals in this combined pool. The chc
setting is the preferred selection for many engineering problems.elitist
(default) setting creates a new population using (a) the replacement_size
best individuals from the current population, (b) and population_size
 replacement_size
individuals randomly selected from the newly generated individuals. It is possible in this case to lose a good solution from the newly generated individuals if it is not randomly selected for replacement; however, the default new_solutions_generated
value is set such that the entire set of newly generated individuals will be selected for replacement.Note that new_solutions_generated
is not recognized by Dakota as a valid keyword unless replacement_type
has been specified.
The basic steps of an evolutionary algorithm are depicted in Figure 5.2.
They can be enumerated as follows:
new_solutions_generated
new individuals from the selected parents These keywords may also be of interest: