Package org.opt4j.core.problem
Provides the classes for the optimization problem. To define a new
optimization problem, the Creator
, the
Decoder
, and the
Evaluator
must be implemented.
Creator
-
The task of the
Creator
is the creation of randomGenotype
s. It is typically used at the beginning of an optimization by theOptimizer
to create the initialPopulation
. TheGenotype
s, theCreator
creates, define the search space for theOptimizer
. The packageorg.opt4j.core.genotype
contains predefinedGenotype
classes that allow a modular assembly. Thus, usually you do not have to write your customGenotype
. Decoder
- The task of the
Decoder
is the decoding from a givenGenotype
to a corresponding phenotype. The phenotype is the object you expect as a solution of the optimization. Evaluator
- The task of the
Evaluator
is the evaluation of phenotypes to theObjectives
. These are typically used by theOptimizer
to determine the fitness of theIndividual
or by theArchive
to determine if theIndividual
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
.
-
Interface Summary Interface Description Creator<G extends Genotype> Decoder<G extends Genotype,P> Evaluator<P> TheEvaluator
evaluates phenotypes toObjectives
. -
Class Summary Class Description MultiEvaluator TheMultiEvaluator
takes all registeredEvaluator
s and uses them to evaluate the phenotype.ProblemModule TheProblemModule
is an abstract module class for the binding of theCreator
,Decoder
, andEvaluator
. -
Annotation Types Summary Annotation Type Description Priority