A full working version of ES is now available in tutorial/Lesson4,

that makes full use of libes.a.
The user guide is in Lesson4 of the tutorial - programmer's guide
will come later.
Plus many small changes here and there
This commit is contained in:
evomarc 2001-05-04 16:51:29 +00:00
commit 5508869d00
19 changed files with 653 additions and 189 deletions

View file

@ -329,13 +329,13 @@ protected:
double range; // == 1+2*alpha
};
/** eoArithmeticCrossover --> uniform choice in hypercube
/** eoHypercubeCrossover --> uniform choice in hypercube
== arithmetical with different values for each coordinate
\class eoArithmeticCrossover eoRealOp.h Tutorial/eoRealOp.h
\ingroup parameteric
*/
template<class EOT> class eoArithmeticCrossover: public eoQuadOp<EOT>
template<class EOT> class eoHypercubeCrossover: public eoQuadOp<EOT>
{
public:
/**
@ -347,7 +347,7 @@ template<class EOT> class eoArithmeticCrossover: public eoQuadOp<EOT>
* 0 == contractive application
* Must be positive
*/
eoArithmeticCrossover(const double& _alpha = 0.0):
eoHypercubeCrossover(const double& _alpha = 0.0):
bounds(eoDummyVectorNoBounds), alpha(_alpha), range(1+2*_alpha)
{
if (_alpha < 0)
@ -362,7 +362,7 @@ template<class EOT> class eoArithmeticCrossover: public eoQuadOp<EOT>
* 0 == contractive application
* Must be positive
*/
eoArithmeticCrossover(eoRealVectorBounds & _bounds,
eoHypercubeCrossover(eoRealVectorBounds & _bounds,
const double& _alpha = 0.0):
bounds(_bounds), alpha(_alpha), range(1+2*_alpha)
{
@ -371,10 +371,10 @@ template<class EOT> class eoArithmeticCrossover: public eoQuadOp<EOT>
}
/// The class name.
virtual string className() const { return "eoArithmeticCrossover"; }
virtual string className() const { return "eoHypercubeCrossover"; }
/**
* arithmetical crossover - modifies both parents
* hypercube crossover - modifies both parents
* @param _eo1 The first parent
* @param _eo2 The first parent
*/
@ -434,21 +434,21 @@ protected:
\ingroup parameteric
*/
template<class EOT> class eoRealUxOver: public eoQuadOp<EOT>
template<class EOT> class eoRealUXover: public eoQuadOp<EOT>
{
public:
/**
* (Default) Constructor.
* @param _preference bias in the choice (usually, no bias == 0.5)
*/
eoRealUxOver(const float& _preference = 0.5): preference(_preference)
eoRealUXover(const float& _preference = 0.5): preference(_preference)
{
if ( (_preference <= 0.0) || (_preference >= 1.0) )
runtime_error("UxOver --> invalid preference");
}
/// The class name.
virtual string className() const { return "eoRealUxOver"; }
virtual string className() const { return "eoRealUXover"; }
/**
* Uniform crossover for real vectors