Blurb::
Select a replacement type for JEGA methods
Description::
Replace the population with members selected to continue in the next
generation. The pool of potential members is the current population
and the current set of offspring. The \c replacement_type of
\c roulette_wheel or \c unique_roulette_wheel may be used either with MOGA
or SOGA problems however they are not recommended for use with
MOGA. Given that the only two fitness assessors for MOGA are the
\c layer_rank and \c domination_count, the recommended selector is the
\c below_limit selector. The \c below_limit replacement will only keep
designs that are dominated by fewer than a limiting number of other
designs.

In \c roulette_wheel replacement, each design is
conceptually allotted a portion of a wheel proportional to its fitness
relative to the fitnesses of the other Designs. Then,
portions of the wheel are chosen at random and the design occupying
those portions are duplicated into the next population. Those Designs
allotted larger portions of the wheel are more likely to be selected
(potentially many times). \c unique_roulette_wheel replacement is the
same as \c roulette_wheel replacement, with the exception that a design
may only be selected once. The \c below_limit selector attempts to keep
all designs for which the negated fitness is below a certain limit. The
values are negated to keep with the convention that higher fitness is better.
The inputs to the \c below_limit selector are the limit as a real value, and
a \c shrinkage_percentage as a real value. The \c shrinkage_percentage 
defines the minimum amount of selections that will take place if
enough designs are available. It is interpreted as a percentage of
the population size that must go on to the subsequent generation. To
enforce this, \c below_limit makes all the selections it would
make anyway and if that is not enough, it takes the remaining that it needs
from the best of what is left (effectively raising its limit as far as it must
to get the minimum number of selections). It continues until it has made
enough selections. The \c shrinkage_percentage is designed to prevent extreme
decreases in the population size at any given generation, and thus 
prevent a big loss of genetic diversity in a very short time. Without 
a shrinkage limit, a small group of "super" designs may appear and 
quickly cull the population down to a size on the order of
the limiting value. In this case, all the diversity of the population 
is lost and it is expensive to re-diversify and spread the population. The

The \c replacement_type for a SOGA may be \c roulette_wheel, \c
unique_roulette_wheel, \c elitist, or \c favor_feasible. The \c
elitist selector simply chooses the required number of designs taking
the most fit. For example, if 100 selections are requested, then the
top 100 designs as ranked by fitness will be selected and the
remaining will be discarded. The \c favor_feasible replacement type
first considers feasibility as a selection criteria. If that does not
produce a "winner" then it moves on to considering fitness
value. Because of this, any fitness assessor used with the \c
favor_feasible selector must only account objectives in the creation
of fitness. Therefore, there is such a fitness assessor and it's use
is enforced when the \c favor_feasible selector is chosen. In that
case, and if the output level is set high enough, a message will be
presented indicating that the \c weighted_sum_only fitness assessor
will be used.

Topics::
Examples::
Theory::
Faq::
See_Also::	
