Interface | Description |
---|---|
Creator<G extends Genotype> | |
Decoder<G extends Genotype,P> | |
Evaluator<P> |
The
Evaluator evaluates phenotypes to Objectives . |
Class | Description |
---|---|
MultiEvaluator |
The
MultiEvaluator takes all registered Evaluator s and uses
them to evaluate the phenotype. |
ProblemModule |
The
ProblemModule is an abstract module class for the binding of the
Creator , Decoder , and Evaluator . |
Annotation Type | Description |
---|---|
Priority |
Provides the classes for the optimization problem. To define a new
optimization problem, the Creator
, the
Decoder
, and the
Evaluator
must be implemented.
Creator
Creator
is the creation of
random Genotype
s. It is typically used at the
beginning of an optimization by the
Optimizer
to create the initial
Population
. The
Genotype
s, the Creator
creates, define the search space for the
Optimizer
. The package
org.opt4j.core.genotype
contains predefined
Genotype
classes that allow a modular assembly. Thus,
usually you do not have to write your custom Genotype
.
Decoder
Decoder
is the decoding
from a given Genotype
to a corresponding phenotype.
The phenotype is the object you expect as a solution of the optimization.Evaluator
Evaluator
is the
evaluation of phenotypes to the Objectives
. These are
typically used by the Optimizer
to determine
the fitness of the Individual
or by the
Archive
to determine if the
Individual
Pareto-dominates another one.
Inherit from the ProblemModule
to bind a
Creator
,
Decoder
, and
Evaluator
belonging together.
For multi-objective optimization, one
Evaluator
can set several
Objective
s or - to allow a separation of concerns -
also several Evaluator
s can be added using the
ProblemModule
. They are managed by the
MultiEvaluator
. The order in which the
MultiEvaluator
calls the
Evaluator
s can be influenced by the
Priority
.