NSGA II
Version
1.0
Description
NSGA II is a multi-objective optimization that uses a non-dominated sorting genetic algorithm (NSGA). Instead of finding the best design, NSGA tries to find a set of best designs (e.g., Pareto set). A design is said to be dominated if there is another design that is superior to the design in all objectives. The Pareto set consists of non-dominated designs, which are all best in a sense. The Pareto set shows trade-off among competing objectives.
More Information
NSGA II improved the original NSGA by adding following capabilities.
- Faster sorting algorithm to compute Pareto set
- Elitist approach is used to preserve best designs from previous generations
- In multi-objective optimization, finding diverse designs is important. If a design is close to another design, a process called "sharing" is used to penalize such points. NSGA II uses more robust sharing technique that does not require control parameters.
Trade Study Resume
NSGA II supports continuing a trade study after a halt or crash. All data up to the last
generation will be restored, and the optimization will continue from there. See the
general Optimization Tool
documentation for more general information on resuming Trade Studies.
References
- "A Fast Elitist Non-Dominated Sorting Genetic Algorithm for Multi-Objective Optimization: NSGA-II," Deb, K., Agrawal, S., Pratap, A., and Meyarivan, T.
Control Parameters
Name | Default Value | Description |
---|---|---|
Optimization Parameters | ||
Population | 48 | The size of population to be used by the algorithm.Option must be a positive multiple of 4. |
Seed | Random seed (optional) for the random number generator. A same seed value between two optimization runs will help generate similar population provided all other parameters stay the same. Option must have a value strictly between 0 and 1. | |
Optimization Parameters for Binary Variables | ||
BinaryCrossoverProbability | 0.7 | Crossover probability for binary variables. Option must have a value between 0 and 1. |
BinaryMutationProbability | 0.5 | Mutation probability for binary variables. Option must have a value between 0 and 1. |
Optimization Parameters for Real Variables | ||
CrossoverProbability | 0.7 | Crossover probability value for real/continuous variables. Thus the option must have a value between 0 and 1. |
EtaC | 15 | Distribution index for crossover. Typically a value between 5 and 20. Option must have a value greater than 0. |
EtaM | 20 | Distribution index for mutation. Typically a value between 10 and 50. Option must have a value greater than 0. |
MutationProbability | 0.2 | Probability of a mutation being performed for real/continuous variables. Thus the value specified must be between 0 and 1. |
Stopping Criteria | ||
ConvergenceGenerations | 5 | Number of generations for which convergence criteria must be met to stop the optimization. Thus the option must have a positive integer value. |
ConvergenceThreshold | 0.001 | Relative limit for maximum change in some value used to indicate convergence. Kind of the value depends on convergence tracker used. Thus the option must have a value greater than 0. |
MaxGenerations | 100 | Maximum number of generations for which the algorithm will run. Option must have a positive integer value. |
MaxEvaluations | 1000 | Maximum number of function evaluations for which the algorithm will run. Option must have a positive integer value. |
Working Options | ||
OutputFiles | None | Control whether output files are to be written and what kind of information it should be. Note that writing all populations for all generations may slow down the optimization |