NAME

Algorithm::Evolutionary::Op::Combined - Combinator of several operators of the same arity, unary or binary

SYNOPSIS

#Initialize using OO interface
my $op = new Algorithm::Evolutionary::Op::Mutation 0.1 3
my $another_op = new Algorithm::Evolutionary::Op::Permutation 2
# Single operator with  rate of application = 3
my $combined_op = new Algorithm::Evolutionary::Op::Combined [ $op, $another_op ], 3; 

Base Class

Algorithm::Evolutionary::Op::Base

DESCRIPTION

Some algorithms (such as Algorithm::Evolutionary::Op::Canonical_GA_NN) need a single "mutation" and a single "crossover" operator. If you want to combine several (like above, mutation and permutation), each one with its own rate, you have to give them a façade like this one.

METHODS

new( $ref_to_operator_array [, $operation_priority] )

Priority defaults to one, operator array has no defaults.

apply( @operands )

Applies the operator to the set of operands. All are passed, as such, to whatever operator is selected

SEE ALSO

Algorithm::Evolutionary::Op::Mutation a mutation operator.
Algorithm::Evolutionary::Op::Uniform_Crossover another more mutation-like crossover. These two operators can be combined using this one, for instance.

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