EvolvingObjects
eoHypercubeCrossover< EOT > Class Template Reference
Inheritance diagram for eoHypercubeCrossover< EOT >:
eoQuadOp< EOT > eoOp< EOT > eoBF< EOT &, EOT &, bool > eoFunctorBase binary_function

List of all members.

Public Member Functions

 eoHypercubeCrossover (const double &_alpha=0.0)
 (Default) Constructor.
 eoHypercubeCrossover (eoRealVectorBounds &_bounds, const double &_alpha=0.0)
 Constructor with bounds.
virtual std::string className () const
 The class name.
bool operator() (EOT &_eo1, EOT &_eo2)
 hypercube crossover - modifies both parents

Protected Attributes

eoRealVectorBoundsbounds
double alpha
double range

Detailed Description

template<class EOT>
class eoHypercubeCrossover< EOT >

Definition at line 344 of file eoRealOp.h.


Constructor & Destructor Documentation

template<class EOT >
eoHypercubeCrossover< EOT >::eoHypercubeCrossover ( const double &  _alpha = 0.0) [inline]

(Default) Constructor.

The bounds are initialized with the global object that says: no bounds.

Parameters:
_alphathe amount of exploration OUTSIDE the parents as in BLX-alpha notation (Eshelman and Schaffer) 0 == contractive application Must be positive

Definition at line 356 of file eoRealOp.h.

template<class EOT >
eoHypercubeCrossover< EOT >::eoHypercubeCrossover ( eoRealVectorBounds _bounds,
const double &  _alpha = 0.0 
) [inline]

Constructor with bounds.

Parameters:
_boundsan eoRealVectorBounds that contains the bounds
_alphathe amount of exploration OUTSIDE the parents as in BLX-alpha notation (Eshelman and Schaffer) 0 == contractive application Must be positive

Definition at line 371 of file eoRealOp.h.


Member Function Documentation

template<class EOT >
bool eoHypercubeCrossover< EOT >::operator() ( EOT &  _eo1,
EOT &  _eo2 
) [inline, virtual]

hypercube crossover - modifies both parents

Parameters:
_eo1The first parent
_eo2The first parent

Implements eoBF< EOT &, EOT &, bool >.

Definition at line 387 of file eoRealOp.h.

References eoRng::flip(), eoRealBaseVectorBounds::minimum(), and eoRng::uniform().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends