| Interface | Description |
|---|---|
| ControlListener |
The
ControlListener is an interface of classes that listen to the
Control state. |
| IndividualCompleter |
An
IndividualCompleter completes the evaluation process of
Individuals. |
| IterativeOptimizer |
This
IterativeOptimizer interface has to be implemented by all
population-based iterative optimizers. |
| Operator<G extends Genotype> |
The
Operator is the basic interface for all operators. |
| Optimizer |
This
Optimizer interface has to be implemented by all
population-based optimizers. |
| OptimizerIterationListener |
The
OptimizerIterationListener is used to monitor the iteration of
the Optimizer. |
| OptimizerStateListener |
The
OptimizerStateListener is used to monitor the state of the
Optimizer. |
| Class | Description |
|---|---|
| AbstractOptimizer |
The
AbstractOptimizer is an abstract implementation of a
population-based Optimizer. |
| Archive |
An
Archive is used to store a set of high-quality Individual
s. |
| Control |
The
Control allows to pause, stop, and terminate, the optimization
process. |
| Iteration |
The
Iteration object is used as iteration counter for the
optimization. |
| OptimizationMediator |
The
OptimizationMediator performs the overall optimization process
for the IterativeOptimizer. |
| OptimizerModule |
Abstract module class for the
Optimizer modules. |
| Population |
The
Population manages a set of Individuals. |
| Enum | Description |
|---|---|
| Control.State |
The
Control.State of the control. |
| Exception | Description |
|---|---|
| IncompatibilityException | |
| StopException |
The
StopException is thrown if the optimization is stopped. |
| TerminationException |
The
TerminationException is thrown if the optimization is terminated. |
| Annotation Type | Description |
|---|---|
| MaxIterations |
The
MaxIterations is the default binding annotation for the maximal
number of iterations for an Optimizer. |
Provides the classes for the optimizer.
The Optimizer represents an optimization
algorithm. Usually, all iteration-based
Optimizers are derived from the
IterativeOptimizer.
The IterativeOptimizer initializes the
Population by using the
IndividualFactory to get new
Individuals. In each iteration, the
IterativeOptimizer uses
Operators to vary the
Genotypes. The package org.opt4j.operators
contains predefined Operator classes which
are applicable for different Genotypes.
The IterativeOptimizer is managed by the
OptimizationMediator which itself is an
AbstractOptimizer. The
AbstractOptimizer implements some essential
methods for coupling optimizers with the framework. It interacts with the
OptimizerIterationListeners which are
informed whenever an iteration is complete, the
OptimizerStateListeners which are informed
whenever the optimization starts or stops, and the
Control: The
Control allows to pause and resume, stop, or
terminate the optimization process. While the
Population contains the
Individuals of the current
Iteration, the
Archive contains the non-dominated
Individuals that were obtained throughout the whole
optimization process. The AbstractOptimizer
updates the Archive with the current
Population and triggers the
Iteration count. Instead of using the
Decoder and
Evaluator directly, the
IndividualCompleter is used by
Optimizers to determine the phenotype and
the Objectives of new
Individuals in the
Population.