Purple::OptimizationAlgorithm Class Reference

Inheritance diagram for Purple::OptimizationAlgorithm:

Purple::ConjugateGradient Purple::EvolutionaryAlgorithm Purple::GeneticAlgorithm Purple::GradientDescent Purple::NewtonMethod Purple::RandomSearch List of all members.

Public Member Functions

 OptimizationAlgorithm (ObjectiveFunction *)
 OptimizationAlgorithm (void)
virtual ~OptimizationAlgorithm (void)
ObjectiveFunctiongetObjectiveFunction (void)
double getEvaluationGoal (void)
double getMaximumTime (void)
void setObjectiveFunction (ObjectiveFunction *)
void setEvaluationGoal (double)
void setMaximumTime (double)
virtual Vector< double > getMinimalArgument (void)=0

Protected Attributes

ObjectiveFunctionobjectiveFunction
double evaluationGoal
double maximumTime

Detailed Description

This abstract class represents the concept of optimization algorithm. Any derived class must implement the getMinimalArgument(void) method

See also:
ObjectiveFunction.

Definition at line 27 of file OptimizationAlgorithm.h.


Constructor & Destructor Documentation

Purple::OptimizationAlgorithm::OptimizationAlgorithm ( ObjectiveFunction newObjectiveFunction  ) 

General constructor. It creates an optimization algorithm object associated to an objective function object.

Parameters:
newObjectiveFunction,: Pointer to an objective function object.
See also:
ObjectiveFunction.

Definition at line 30 of file OptimizationAlgorithm.cpp.

Purple::OptimizationAlgorithm::OptimizationAlgorithm ( void   ) 

Default constructor. It creates an optimization algorithm object not associated to any objective function object.

Definition at line 41 of file OptimizationAlgorithm.cpp.

Purple::OptimizationAlgorithm::~OptimizationAlgorithm ( void   )  [virtual]

Destructor.

Definition at line 51 of file OptimizationAlgorithm.cpp.


Member Function Documentation

ObjectiveFunction * Purple::OptimizationAlgorithm::getObjectiveFunction ( void   ) 

This method returns a pointer to the objective function object to which the optimization algorithm is associated.

Definition at line 64 of file OptimizationAlgorithm.cpp.

double Purple::OptimizationAlgorithm::getEvaluationGoal ( void   ) 

This method returns the objective function evaluation goal value. This is used as a stopping criterium when optimizing a function.

See also:
getMinimalArgument(void).

Definition at line 77 of file OptimizationAlgorithm.cpp.

double Purple::OptimizationAlgorithm::getMaximumTime ( void   ) 

This method returns the maximum optimization time.

See also:
getMinimalArgument(void).

Definition at line 89 of file OptimizationAlgorithm.cpp.

void Purple::OptimizationAlgorithm::setObjectiveFunction ( ObjectiveFunction newObjectiveFunction  ) 

This method sets a pointer to an objective function object to be associated to the optimization algorithm.

Parameters:
newObjectiveFunction,: Pointer to an objective function object.
See also:
getMinimalArgument(void).

Definition at line 106 of file OptimizationAlgorithm.cpp.

void Purple::OptimizationAlgorithm::setEvaluationGoal ( double  newEvaluationGoal  ) 

This method sets a new goal value for the objective function evaluation. This is used as a stopping criterium when optimizing an objective function.

Parameters:
newEvaluationGoal,: Goal value for the evaluation.
See also:
getMinimalArgument(void).

Definition at line 121 of file OptimizationAlgorithm.cpp.

void Purple::OptimizationAlgorithm::setMaximumTime ( double  newMaximumTime  ) 

This method sets a new maximum optimization time.

Parameters:
newMaximumTime,: Maximum optimization time.
See also:
getMinimalArgument(void).

Definition at line 135 of file OptimizationAlgorithm.cpp.

virtual Vector<double> Purple::OptimizationAlgorithm::getMinimalArgument ( void   )  [pure virtual]

Implemented in Purple::ConjugateGradient, Purple::EvolutionaryAlgorithm, Purple::GeneticAlgorithm, Purple::GradientDescent, Purple::NewtonMethod, and Purple::RandomSearch.


Member Data Documentation

ObjectiveFunction* Purple::OptimizationAlgorithm::objectiveFunction [protected]

Pointer to an objective function object.

Definition at line 36 of file OptimizationAlgorithm.h.

double Purple::OptimizationAlgorithm::evaluationGoal [protected]

Objective function evaluation goal value. It is used as a stopping criterion.

Definition at line 41 of file OptimizationAlgorithm.h.

double Purple::OptimizationAlgorithm::maximumTime [protected]

Maximum optimization time. It is used as a stopping criterion.

Definition at line 45 of file OptimizationAlgorithm.h.


Generated on Wed Jun 21 13:10:38 2006 for Purple by  doxygen 1.4.7