Package org.opt4j.core.optimizer

Provides the classes for the optimizer.

See:
          Description

Interface Summary
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 Summary
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 Summary
Control.State The Control.State of the control.
 

Exception Summary
IncompatibilityException The IncompatibilityException.
StopException The StopException is thrown if the optimization is stopped.
TerminationException The TerminationException is thrown if the optimization is terminated.
 

Annotation Types Summary
MaxIterations The MaxIterations is the default binding annotation for the maximal number of iterations for an Optimizer.
 

Package org.opt4j.core.optimizer Description

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.