Niche Search An evolutionary algotithm for optimisation.
The niche search evolutionary system This text attempts to describe what niche search is, in an integrated way, so that a description can be read at the same time that source code is analysed.
Niche search is a genetic-based optimisation approach characterised by an evolutionary search on two layers: the individual layer (which is comparable to search described in other genetic algorithms), and the niche layer.
Neither of these searches is directed: both individuals and niches evolve based on the selection of the fittest.
The main features of this implementation are:
- Object-oriented design; code written in C++.
- True independence between the evolutionary structure and the genome type; hence, independence of search algorithm and the problem type.
- Implementation of new genome types (for different types of optimisation problems) is straightforward.
To compile this code, you will need a recent version of g++, possibly in a unix-like environment. Please let me know if you have problems compiling, or platforms for which you succeeded doing it.
Have fun!