soga
Single-objective Genetic Algorithm (a.k.a Evolutionary Algorithm)
Topics
package_jega, global_optimization_methods
Specification
Alias: None
Arguments: None
Child Keywords:
Required/Optional |
Description of Group |
Dakota Keyword |
Dakota Keyword Description |
---|---|---|---|
Optional |
Select the fitness type for JEGA methods |
||
Optional |
Select a replacement type for JEGA methods |
||
Optional |
Select the convergence type for JEGA methods |
||
Optional |
Number of iterations allowed for optimizers and adaptive UQ methods |
||
Optional |
Number of function evaluations allowed for optimizers |
||
Optional |
Turn on scaling for variables, responses, and constraints |
||
Optional |
Set the initial population size in JEGA methods |
||
Optional |
Specify the name of a log file |
||
Optional |
Print every population to a population file |
||
Optional |
Specify how to initialize the population |
||
Optional |
Select a crossover type for JEGA methods |
||
Optional |
Select a mutation type for JEGA methods |
||
Optional |
Seed of the random number generator |
||
Optional |
Stopping criterion based on objective function or statistics convergence |
||
Optional |
Identifier for model block to be used by a method |
Description
soga
stands for Single-objective Genetic Algorithm, which is a
global optimization method that supports general constraints and a
mixture of real and discrete variables. soga
is part of the JEGA
library.
Constraints
soga
can utilize linear constraints.
Configuration
The genetic algorithm configurations are:
fitness
replacement
convergence
initialization
crossover
mutation
population size
The pool of potential members is the current population and the current set of offspring. Choice of fitness assessors is strongly related to the type of replacement algorithm being used and can have a profound effect on the solutions selected for the next generation.
Stopping Criteria
The soga
method respects the max_iterations
and
max_function_evaluations
method independent controls to provide
integer limits for the maximum number of generations and function
evaluations, respectively.
The algorithm also stops when convergence is reached. This involves repeated assessment of the algorithm’s progress in solving the problem, until some criterion is met.
Expected Outputs
The soga
method respects the output
method independent control
to vary the amount of information presented to the user during
execution.
The final results are written to the Dakota tabular output. Additional
information is also available - see the log_file
and
print_each_pop
keywords.
Expected HDF5 Output
If Dakota was built with HDF5 support and run with the
hdf5
keyword, this method
writes the following results to HDF5:
Best Objective Functions (when
objective_functions
) are specified)Calibration (when
calibration_terms
are specified)
Theory
The basic steps of the soga
algorithm are as follows:
Initialize the population
Evaluate the population (calculate the values of the objective function and constraints for each population member)
Loop until converged, or stopping criteria reached
Perform crossover
Perform mutation
Evaluate the new population
Assess the fitness of each member in the population
Replace the population with members selected to continue in the next generation
Test for convergence