• Main Page
  • Namespaces
  • Classes
  • Files
  • Class List
  • Class Hierarchy
  • Class Members

MoEA Class Reference

Abstract class representing Multi-objective Evolutionary Algorithms.

#include <MoEA.h>

Inheritance diagram for MoEA:

AbYSS Nsga2 Ssmo Ssmo1 Ssmo2 List of all members.

Public Member Functions

 MoEA (MultiobjectiveProblem *problemToSolve, MutationOperator mutationOperator, CrossoverOperator crossoverOperator)
 Constructor.
bool crossover (Individual *parent1, Individual *parent2, Individual **child1, Individual **child2)
 Applies the crossover operator to two parents, yielding two children.
int mutation (Individual *individual)
 Applies the mutation operator to an individual.
virtual Individual * getBestIndividual (Population *)
 Returns the best individual in the population.
virtual Individual * getWorstIndividual (Population *)
 Returns the worst individual in the population.
virtual void merge (Population *, Individual *)
 Merges an individual into a population.
virtual void merge (Population *, Population *)
 Merges two population.
virtual void start ()=0
virtual void readConfigurationData ()=0
virtual void printStatistics ()=0
void printVariablesToFile (char *variableFile, Population *population)
 Prints the values of the decision variables of the individuals of a population.
void printFunctionValuesToFile (char *functionFile, Population *population)
 Prints the function values of the individuals of a population.

Public Attributes

int numberOfIterations_
int maximumNumberOfIterations_
int maximumNumberOfFitnessEvaluations_
int numberOfFitnessEvaluations_
int numberOfMutations_
int numberOfCrossovers_
double mutationProbability_
double crossoverProbability_
double distributionIndexForMutation_
double distributionIndexForCrossover_
double perturbationForMutation_
double alpha_
double bMutationParameter_
double lambda_
MutationOperator mutationOperator_
CrossoverOperator crossoverOperator_
MultiobjectiveProblem * problem_
 Problem to be solved.
Random random_
int seed_
time_t startTime_
time_t endTime_
int printFrequency_

Detailed Description

Definition at line 26 of file MoEA.h.


Constructor & Destructor Documentation

MoEA::MoEA (  MultiobjectiveProblem *  problemToSolve,
MutationOperator  mutationOperator,
CrossoverOperator  crossoverOperator
) 
 

Definition at line 15 of file MoEA.cpp.

References alpha_, bMutationParameter_, crossoverOperator_, crossoverProbability_, distributionIndexForCrossover_, distributionIndexForMutation_, lambda_, mutationOperator_, mutationProbability_, numberOfCrossovers_, numberOfFitnessEvaluations_, numberOfIterations_, numberOfMutations_, perturbationForMutation_, printFrequency_, problem_, and seed_.


Member Function Documentation

bool MoEA::crossover (  Individual *  parent1,
Individual *  parent2,
Individual **  child1,
Individual **  child2
) 
 

Returns:
1 if the crossover has been carried o ut, 0 otherwise

Definition at line 46 of file MoEA.cpp.

References ALGEBRAIC_EXPLORATIVE, ALGEBRAIC_EXPLOTATIVE, Individual::algebraicExplorative(), Individual::algebraicExplotative(), alpha_, Individual::BLX_Alpha(), BLX_ALPHA, crossoverOperator_, crossoverProbability_, distributionIndexForCrossover_, EINSTEIN_EXPLORATIVE, EINSTEIN_EXPLOTATIVE, Individual::einsteinExplorative(), Individual::einsteinExplotative(), HAMACHER_EXPLORATIVE, HAMACHER_EXPLOTATIVE, Individual::hamacherExplorative(), Individual::hamacherExplotative(), lambda_, LOGICAL_EXPLORATIVE, LOGICAL_EXPLOTATIVE, Individual::logicalExplorative(), Individual::logicalExplotative(), mutationOperator_, SIMULATED_BINARY, Individual::simulatedBinaryCrossover(), SINGLE_POINT, and Individual::singlePointCrossover().

Individual * MoEA::getBestIndividual (  Population *  population  )  [virtual]
 

Returns:
The best individual

Definition at line 214 of file MoEA.cpp.

Individual * MoEA::getWorstIndividual (  Population *  population  )  [virtual]
 

Returns:
The worst individual

Definition at line 223 of file MoEA.cpp.

void MoEA::merge (  Population *  resultPopulation,
Population *  population
)  [virtual]
 

Parameters:
resultPopulation The result population
population The population to merge into the resultPopulation

Definition at line 243 of file MoEA.cpp.

void MoEA::merge (  Population *  population,
Individual *  individual
)  [virtual]
 

Parameters:
population The population where the individual is to be merged
individual The individual to merge into the population

Definition at line 233 of file MoEA.cpp.

int MoEA::mutation (  Individual *  individual  ) 
 

Returns:
1 if the individual has been mutated, 0 otherwise

Definition at line 148 of file MoEA.cpp.

References BIT_FLIP, Individual::bitFlipMutation(), bMutationParameter_, distributionIndexForMutation_, maximumNumberOfIterations_, mutationOperator_, mutationProbability_, NON_UNIFORM, Individual::nonUniformMutation(), numberOfIterations_, perturbationForMutation_, POLYNOMIAL, Individual::polynomialMutation(), RANDOM, Individual::randomMutation(), TWO_POINTS_INTERCHANGE, Individual::twoPointsInterchange(), UNIFORM, and Individual::uniformMutation().

Referenced by Ssmo2::improvement(), Ssmo1::improvement(), and AbYSS::improvement().

void MoEA::printFunctionValuesToFile (  char *  fitnessFileName,
Population *  population
) 
 

Parameters:
fitnessFileName The name of the file to store the values of the objective functions
population The population where the individuals belong to

Definition at line 205 of file MoEA.cpp.

References Population::printFitness().

Referenced by Ssmo::printToFiles(), Nsga2::printToFiles(), and AbYSS::printToFiles().

virtual void MoEA::printStatistics (   )  [pure virtual]
 

Implemented in AbYSS, Nsga2, and Ssmo.

void MoEA::printVariablesToFile (  char *  genotypeFileName,
Population *  population
) 
 

Parameters:
genotypeFileName The name of the file to store the decision variables
population The population where the individuals belong to

Definition at line 193 of file MoEA.cpp.

References Population::printGenotype().

Referenced by Ssmo::printToFiles(), Nsga2::printToFiles(), and AbYSS::printToFiles().

virtual void MoEA::readConfigurationData (   )  [pure virtual]
 

Implemented in AbYSS, Nsga2, and Ssmo.

virtual void MoEA::start (   )  [pure virtual]
 

Implemented in AbYSS, Nsga2, and Ssmo.


Member Data Documentation

double MoEA::alpha_
 

Definition at line 40 of file MoEA.h.

Referenced by crossover(), MoEA(), and Nsga2::Nsga2().

double MoEA::bMutationParameter_
 

Definition at line 41 of file MoEA.h.

Referenced by MoEA(), and mutation().

CrossoverOperator MoEA::crossoverOperator_
 

Definition at line 45 of file MoEA.h.

Referenced by crossover(), MoEA(), and Nsga2::Nsga2().

double MoEA::crossoverProbability_
 

Definition at line 36 of file MoEA.h.

Referenced by crossover(), MoEA(), and Nsga2::Nsga2().

double MoEA::distributionIndexForCrossover_
 

Definition at line 38 of file MoEA.h.

Referenced by crossover(), MoEA(), Nsga2::Nsga2(), and AbYSS::solutionCombination().

double MoEA::distributionIndexForMutation_
 

Definition at line 37 of file MoEA.h.

Referenced by AbYSS::AbYSS(), MoEA(), mutation(), Nsga2::Nsga2(), and Ssmo::Ssmo().

time_t MoEA::endTime_
 

Definition at line 53 of file MoEA.h.

Referenced by Ssmo::printStatistics(), Nsga2::printStatistics(), and AbYSS::printStatistics().

double MoEA::lambda_
 

Definition at line 42 of file MoEA.h.

Referenced by crossover(), and MoEA().

int MoEA::maximumNumberOfFitnessEvaluations_
 

Definition at line 30 of file MoEA.h.

Referenced by AbYSS::AbYSS(), and Ssmo::Ssmo().

int MoEA::maximumNumberOfIterations_
 

Definition at line 29 of file MoEA.h.

Referenced by AbYSS::AbYSS(), mutation(), Nsga2::Nsga2(), and Ssmo::Ssmo().

MutationOperator MoEA::mutationOperator_
 

Definition at line 44 of file MoEA.h.

Referenced by crossover(), MoEA(), mutation(), and Nsga2::Nsga2().

double MoEA::mutationProbability_
 

Definition at line 35 of file MoEA.h.

Referenced by AbYSS::AbYSS(), MoEA(), mutation(), Nsga2::Nsga2(), and Ssmo::Ssmo().

int MoEA::numberOfCrossovers_
 

Definition at line 33 of file MoEA.h.

Referenced by MoEA(), and Nsga2::Nsga2().

int MoEA::numberOfFitnessEvaluations_
 

Definition at line 31 of file MoEA.h.

Referenced by Ssmo2::improvement(), Ssmo1::improvement(), AbYSS::improvement(), MoEA(), Nsga2::Nsga2(), Ssmo::printStatistics(), Nsga2::printStatistics(), AbYSS::printStatistics(), Ssmo2::referenceSetUpdate(), Ssmo::start(), Nsga2::start(), and AbYSS::start().

int MoEA::numberOfIterations_
 

Definition at line 28 of file MoEA.h.

Referenced by MoEA(), mutation(), Ssmo::printStatistics(), and AbYSS::printStatistics().

int MoEA::numberOfMutations_
 

Definition at line 32 of file MoEA.h.

Referenced by Ssmo2::improvement(), Ssmo1::improvement(), AbYSS::improvement(), MoEA(), Nsga2::Nsga2(), Ssmo::printStatistics(), and AbYSS::printStatistics().

double MoEA::perturbationForMutation_
 

Definition at line 39 of file MoEA.h.

Referenced by MoEA(), mutation(), and Nsga2::Nsga2().

int MoEA::printFrequency_
 

Definition at line 55 of file MoEA.h.

Referenced by MoEA(), and Nsga2::Nsga2().

MultiobjectiveProblem* MoEA::problem_
 

Definition at line 47 of file MoEA.h.

Referenced by AbYSS::AbYSS(), Ssmo::distanceToPopulation(), AbYSS::distanceToPopulation(), Ssmo2::diversificationGeneration(), Ssmo1::diversificationGeneration(), AbYSS::diversificationGeneration(), Ssmo2::improvement(), Ssmo1::improvement(), AbYSS::improvement(), MoEA(), Nsga2::Nsga2(), Ssmo2::referenceSetUpdate(), Ssmo2::solutionCombination(), Ssmo1::solutionCombination(), AbYSS::solutionCombination(), Ssmo::Ssmo(), Ssmo1::Ssmo1(), Ssmo2::Ssmo2(), Ssmo::start(), Nsga2::start(), and AbYSS::start().

Random MoEA::random_
 

Definition at line 49 of file MoEA.h.

Referenced by AbYSS::AbYSS(), Ssmo2::diversificationGeneration(), Ssmo1::diversificationGeneration(), AbYSS::diversificationGeneration(), Nsga2::Nsga2(), Ssmo2::solutionCombination(), Ssmo1::solutionCombination(), Ssmo::Ssmo(), and AbYSS::start().

int MoEA::seed_
 

Definition at line 50 of file MoEA.h.

Referenced by MoEA(), and Nsga2::Nsga2().

time_t MoEA::startTime_
 

Definition at line 52 of file MoEA.h.

Referenced by Ssmo::printStatistics(), Nsga2::printStatistics(), AbYSS::printStatistics(), Ssmo::start(), Nsga2::start(), and AbYSS::start().


The documentation for this class was generated from the following files:
  • MoEA.h
  • MoEA.cpp

Our Software

orangebox Mallba

orangebox ssGA

orangebox JGDS

orangebox xxGA

orangebox JCell

orangebox MHTB

orangebox DEME

orangebox JMetal

orangebox More...

orangebox Go Back