![]() |
Dakota Reference Manual
Version 6.2
Large-Scale 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 | 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: