next up previous contents
Next: Termination Criteria Up: Accessing Standard Optimizers Previous: The class AbstractProblemBinary   Contents


The OptimizerFactory

To access default optimization algorithms easily, we have defined an OptimizerFactory class. It allows to specify an optimization algorithm by an ID number and mainly takes a problem class and an optional output file as input. For example, if you have a double-valued problem class and just want to retrieve one solution, use the optimizeToDouble(final int optType, AbstractOptimizationProblem problem, String outputFilePrefix) method, which returns the solution as a double vector.

Table 1 gives an overview over the currently accessible optimization strategies. You may use showOptimizers() to get a string with a summary of the implemented algorithms with ID associations. A short example is shown in Listing 5, where PSO is used to optimize the simple hyper parabola (in 10 dimensions by default). The PSO with $ 50,000$ evaluations should find a solution very close to zero, e.g. absolutely below $ 10^{-30}{}{}$ in every dimension.


ALT=


Table 1: Overview over algorithms accessible through OptimizerFactory.
ID Short Description
STD_ES A standard (15,50)-Evolution Strategy.
CMA_ES (15,50)-Evolution Strategy with Covariance Matrix Adaptation.
STD_GA Standard Genetic Algorithm with elitism
PSO Particle Swarm Optimization with constriction.
DE Differential Evolution
TRIBES Tribes: an adaptive PSO
RANDOM Random search (Monte-Carlo)
HILLCL Multi-start hill climbing
CL_HILLCL Clustering multi-start hill climbing
CBN_ES Clustering-based Niching ES



next up previous contents
Next: Termination Criteria Up: Accessing Standard Optimizers Previous: The class AbstractProblemBinary   Contents
Marcel Kronfeld 2011-05-05