## Documentation

Syntax and semantics of the XML files used in OPEAL

## Modules

Perl extension for performing paradigm-free evolutionary algorithms.
Class for setting up an experiment with algorithms and population
Base class for Fitness functions
Fitness function for the knapsack problem
Massively Multimodal Deceptive Problem
P Peaks problem generator
wP Peaks problem generator - weighted version of P_Peaks
Base class for chromosomes that knows how to build them, and has some helper methods.
Classic bitstring individual for evolutionary computation; usually called chromosome
A character string to be evolved. Useful mainly in word games
A Direct Acyclic Graph, or tree, useful for Genetic Programming-Style stuff
Array as an individual for evolutionary computation
Arithmetic crossover operator; performs the average of the n parents crossed
Base class for OPEAL operators; operators are any object with the "apply" method, which does things to individuals or populations.
BitFlip mutation
Canonical Genetic Algorithm, with any representation
Increases/decreases by one the length of the string
Operator that generates groups of individuals, of the intended class
n-point crossover operator; puts a part of the second operand into the first operand; can be 1 or 2 points.
Termination condition for an algorithm; checks that the difference of the best to a target is less than a delta
evolutionary algorithm, single generation, with variable operators.
Skeleton class for a fully-featured evolutionary algorithm
Changes numeric chromosome components following the gaussian distribution
Customizable single generation for an evolutionary algorithm.
Checks for termination of an algorithm.
Increments/decrements by one the value of one of the components of the string, takes into account the char class
Michalewicz\'s inver-over Operator.
used by Simulated Annealing algorithms
BitFlip mutation, changes several bits in a bitstring, depending on the probability
Checks for termination of an algorithm; terminates when several generations transcur without change
Per-mutation. Got it?
n-point crossover operator; puts a part of the second operand into the first operand; can be 1 or 2 points.
Fitness-proportional selection, using a roulette wheel
An operator that performs the simulated annealing algorithm on an individual, using an external freezer.
Tournament selector, takes individuals from one population and puts them into another
GP-like mutation operator for trees
Crossover for Algorithm::Evolutionary::Individual::Vector.
Class for setting up an experiment with algorithms and population
Container module with a hodgepodge of functions
Random selector of things depending on probabilities