NAME

Algorithm::Evolutionary::Op::Creator - Operator that generates groups of individuals, of the intended class

SYNOPSIS

my $op = new Algorithm::Evolutionary::Op::Creator; #Creates empty op, with rate

my $xmlStr=<<EOC;
<op name='Creator' type='nullary'>
  <param name='number' value='20' />
  <param name='class' value='BitString' />
  <param name='options'>
    <param name='length' value='320 />
  </param>
</op>
EOC

my $ref = XMLin($xmlStr); #This step is not really needed; only if it's going to be manipulated by another object
my $op = Algorithm::Evolutionary::Op::Base->fromXML( $ref ); #Takes a hash of parsed XML and turns it into an operator    

print $op->asXML(); #print its back in XML shape

my $op2 = new Algorithm::Evolutionary::Op::Creator( 20, 'String', { chars => [a..j], length => '10' });

my @pop;
$op2->apply( \@pop ); #Generates population

DESCRIPTION

Base class for operators applied to Individuals and Populations and all the rest

METHODS

new( $number_of_individuals, $class_to_generate, $options_hash )

Takes a hash with specific parameters for each subclass, creates the object, and leaves subclass-specific assignments to subclasses

apply( $population_hash )

Generates the population according to the parameters passed in the ctor

asXML()

Serializes the object as an XML nodeset

set( $params_hash )

Sets the instance variables of the object, which, so far, should be a bit "raw". Usually called from the base class

Copyright

This file is released under the GPL. See the LICENSE file included in this distribution,
or go to http://www.fsf.org/licenses/gpl.txt

CVS Info: $Date: 2009/09/14 16:36:38 $ 
$Header: /cvsroot/opeal/Algorithm-Evolutionary/lib/Algorithm/Evolutionary/Op/Creator.pm,v 3.1 2009/09/14 16:36:38 jmerelo Exp $ 
$Author: jmerelo $ 
$Revision: 3.1 $
$Name $