![]() |
Dakota Reference Manual
Version 6.16
Explore and Predict with Confidence
|
Evolutionary Algorithm
This keyword is related to the topics:
Alias: none
Argument(s): none
Child Keywords:
| 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 | Number of iterations allowed for optimizers and adaptive UQ methods | ||
| Optional | convergence_tolerance | Stopping criterion based on objective function or statistics convergence | ||
| Optional | max_function_evaluations | Number of function evaluations allowed for optimizers | ||
| 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.
Expected HDF5 Output
If Dakota was built with HDF5 support and run with the hdf5 keyword, this method writes the following results to HDF5:
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: