7 Generic GA Layers

Generic genetic algorithm layers provide the common generic skeleton for all GA algorithms. The TGACover class is the place where most of the genetical computation (evolution) is made. The main features of this layer are :

How Is the Computation Implemented

The most important methods for the implementation of GA are PrepareRun(), UnprepareRun() and GABody(). Following is the idea of algorithm implementation :

    PrepareRun();
    while !(StopFlag)
    {
      GABody();
      Interrupt();
    }
    UnprepareRun();

The basic idea of GABody :

    (*getOldPop()) << (*getPopulation());
    Algorithm->Execute (getOldPop(), getPopulation());
    getOldPop()->Empty();

where the Algorithm is a GAtable initialized in Init() method.

If desired, the behaviour of generic GA can be changed by overriding and modifying any of the above methods. For detailed description of TGACover see corresponding chapters in the Reference Manual.

7.1 Local and Global GA Layers

This layer of kernel processes is in fact quit simple. It only encapsulates the functionality of all lower-level layers and prepares the class hierarchy for extensions. This layer is implemented in classes :

This layer is used especially at the beginning of the computation. It spawns child processes, initializes and synchronizes all kernel processes. See section Kernel Initialization Procedure for detailed description of this procedure. During the initialization procedure all necessary supportive objects (TParamFile, TPopulation,TFitness, TGencode) are created. These objects are provide various services needed in the computation. This layer is responsible for creating these objects (method CreateComponents()), for their maintainance and for their correct destruction at the end.

Programmer's Guide Project Antares