Algorithm::Evolutionary Readme File

Hay un tutorial en español que explica paso a paso cómo usar Algorithm::Evolutionary para ejecutar un algoritmo genético

What is Algorithm::Evolutionary?

It's a library for doing evolutionary computation in Perl. Algorithm::Evolutionary was formerly called OPEAL (hence the name of this site), which is an acronym for Obvious Pearl Evolutionary Algorithm Library; it is about to become an official CPAN distribution (as soon as I figure out how to upload it to PAUSE), that is why I have definitely changed the name.

The desing principles of Algorithm::Evolutionary are:

Using Algorithm::Evolutionary

  1. Get some libraries Algorithm::Evolutionary needs, from your closest CPAN mirror: XML::Simple, Math::Random, and B::Deparse. If you are connected to the Internet, and use CPAN to download this module, the installation procedure should do it for you.
  2. Download the package from the The code in CVS is much more up-to-date than the releases; if you're fluent with CVS, you're better off using this version.
  3. Decompress it: tar xvfz Algorithm-Evolutionary-0.x.tar.gz
  4. Do the usual thing:
    perl Makefile.PL
    make install 
    (you might need to go superuser to do this last step). And, if you feel like:
    make test


    All Algorithm::Evolutionary modules and examples are released under the GPL. See the LICENSE file included in the distribution, or go to

    Extending Algorithm::Evolutionary

    Objects in Algorithm::Evolutionary fall in two classes: Individuals and Ops. You can create objects of any of these classes, by subclassing the Base class, and redefining apply in the case of Op. In the default case you won't have to override anything else, but if you have some particular data structure you might have to redefine asXML, for instance.

    Algorithm::Evolutionary docs

    All modules are documented, more or less, using POD, so you can just issue the usual perldoc, for instance, or else make doc from the base directory. The rest of the documents are here:

    It's convenient to check out A explanation of the XML dialect used by Algorithm::Evolutionary, and how it's used throughout the module

    J. J. Merelo

    $Revision: 1.12 $
    $Date $