Current version: 1.2
What is FREVO?
FREVO is an open-source framework developed in Java to help engineers and scientists in evolutionary design or optimization tasks.
What does 'FREVO' stand for?
FREVO simply stands for FRamework for Evolutionary Design. However, if you look up the word Frevo in a dictionary, you will see that is also a dance or rather a set of musical styles originating from Brazilian Carnival. The word Frevo is explained as being derived from the Portuguese word ferver which means to boil. This is a nice reference, since our tool FREVO is more or less also boiling the solutions in a pot (ok, rather a pool) until they are ready to serve. Bom apetite and happy dancing :-)
Modules in the FREVO Archictecture
There are alltogether three main component classes and and an optional fourth one.
This components either encapsulates the simulation tool itself or acts as an interface to an external one. Either way, this component must provide a fitness value to the other components.
This component describes the structure of a possible solution. It is used by the optimization method to modify or evolve it and it is evaluated by the problem representation. Currently a a layered and a fully-connected artificial neural network model is implemented.
The optimization method is the "heart" of the process. Usually, it creates a pool of possible candidates from the solution representations, evaluates them using the problem definition and uses special techniques to gradually obtain candidates with better performance. Currently, a Genetic Algorithm has been implemented.
In most cases, where an absolute fitness can be assigned to each solution this component is not needed. However, in the field of comparative evaluation the tournament algorithm can hold a key function. Currently the following algorithms have been already implemented: Round-robin tournament, Swiss System.