niching_type
Specify the type of niching pressure
Specification
Alias: None
Arguments: None
Default: No niche pressure
Child Keywords:
Required/Optional |
Description of Group |
Dakota Keyword |
Dakota Keyword Description |
---|---|---|---|
Required (Choose One) |
Niching Type |
Set niching distance to percentage of non-dominated range |
|
Enforce minimum Euclidean distance between designs |
|||
Limit number of solutions to remain in the population |
Description
The purpose of niching is to encourage differentiation along the Pareto frontier and thus a more even and uniform sampling.
This is typically accomplished by discouraging clustering of design points in the performance space. In JEGA, the application of niche pressure occurs as a secondary selection operation. The nicher is given a chance to perform a pre-selection operation prior to the operation of the selection (replacement) operator, and is then called to perform niching on the set of designs that were selected by the selection operator.
The radial nicher takes information input from the user to compute a minimum allowable distance between designs in the performance space and acts as a secondary selection operator whereby it enforces this minimum distance. The distance nicher requires that solutions must be separated from other solutions by a minimum distance in each dimension (vs. Euclidean distance for the radial niching). After niching is complete, all designs in the population will be at least the minimum distance from one another in all directions.
The radial
niche pressure applicator works by enforcing a minimum
Euclidean distance between designs in the performance space at each
generation. The algorithm proceeds by starting at the (or one of the)
extreme designs along objective dimension 0 and marching through the
population removing all designs that are too close to the current
design. One exception to the rule is that the algorithm will never
remove an extreme design which is defined as a design that is maximal
or minimal in all but 1 objective dimension (for a classical 2
objective problem, the extreme designs are those at the tips of the
non-dominated frontier). The distance
nicher enforces a minimimum
distance in each dimension.
The designs that are removed by the nicher are not discarded. They are buffered and re-inserted into the population during the next pre-selection operation. This way, the selector is still the only operator that discards designs and the algorithm will not waste time “re-filling” gaps created by the nicher.
The radial
nicher requires as input a vector of fractions with
length equal to the number of objectives. The elements of the vector
are interpreted as percentages of the non-dominated range for each
objective defining a minimum distance to all other designs. All values
should be in the range (0, 1). The minimum allowable distance between
any two designs in the performance space is the Euclidian (simple
square-root-sum-of-squares calculation) distance defined by these
percentages. The distance
nicher has a similar input vector
requirement, only the distance is the minimum distance in each
dimension.
The max_designs
niche pressure applicator is designed to choose a
limited number of solutions to remain in the population. That number
is specified by num_designs
. It does so in order to balance the
tendency for populations to grow very large and thus consuming too
many computer resources. It operates by ranking designs according to
their fitness standing and a computed count of how many other designs
are too close to them. Too close is a function of the supplied
niche_vector, which specifies the minimum distance between any two
points in the performance space along each dimension individually.
Once the designs are all ranked, the top cnum_designs designs are
kept in the population and the remaining ones are bufferred or
discarded. Note that like other niching operators, this one will not
discard an extreme design.