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

Ssmo Class Reference

Abstract class representing the algorithm SSMO.

#include <Ssmo.h>

Inheritance diagram for Ssmo:

MoEA Ssmo1 Ssmo2 List of all members.

Public Member Functions

 Ssmo (MultiobjectiveProblem *problemToSolve, MutationOperator mutationOperator)
 Constructor.
virtual ~Ssmo ()
 Destructor.
virtual void start ()
 Method invoked to start the algorithm.
virtual Individual * diversificationGeneration ()=0
virtual Individual * improvement (Individual *)=0
virtual void referenceSetUpdate (bool rebuild)=0
virtual int subsetGeneration ()=0
virtual void solutionCombination (Individual *, Individual *, int children)=0
void distanceToPopulation (Population *, Individual *)
 This method measures the distance of an individual to a population.
void addImprovedIndividual (Population *population, Individual *)
 Add an improved solution to the population P.
virtual int removeDominatedIndividuals (Population *population)=0
virtual int removeIndividuals (Population *population, int finalSize)=0
void readConfigurationData ()
 Reads parameters from a file named "Ssmo.cfg".
void printStatistics ()
 Print execution statistics.
void printToFiles (char *variableFileName, char *functionFileName)
 Prints the values of the variables and the objective functions.

Protected Attributes

Population * population_
Population * dummyPopulation_
Population * qualityReferenceSet_
Population * diversityReferenceSet_
Population * combinedSolutions_
Population * improvedCombinedSolutions_
int populationSize_
int maximumPopulationSize_
int qualityReferenceSetSize_
int diversityReferenceSetSize_
int numberOfSubranges_
int improvementIterations_

Detailed Description

Definition at line 29 of file Ssmo.h.


Constructor & Destructor Documentation

Ssmo::Ssmo (  MultiobjectiveProblem *  problemToSolve,
MutationOperator  mutationOperator
) 
 

Definition at line 15 of file Ssmo.cpp.

References MultiobjectiveProblem::calculateMutationProbability(), combinedSolutions_, MoEA::distributionIndexForMutation_, diversityReferenceSet_, diversityReferenceSetSize_, dummyPopulation_, improvedCombinedSolutions_, improvementIterations_, Random::initrandom(), MoEA::maximumNumberOfFitnessEvaluations_, MoEA::maximumNumberOfIterations_, maximumPopulationSize_, MoEA::mutationProbability_, numberOfSubranges_, population_, populationSize_, MoEA::problem_, qualityReferenceSet_, qualityReferenceSetSize_, MoEA::random_, Random::randomize(), Random::randreal2(), readConfigurationData(), and Random::Rseed.

Ssmo::~Ssmo (   )  [virtual]
 

Definition at line 85 of file Ssmo.cpp.


Member Function Documentation

void Ssmo::addImprovedIndividual (  Population *  population,
Individual *  individual
) 
 

Parameters:
population Population
individual The individual to add into the population
The size of the population is always less than its maximum size. Thus, when a new individual is added and the maximum capacity is reached, the worst individual is eliminated

Definition at line 223 of file Ssmo.cpp.

References Population::addIndividual(), Population::getPopulationSize(), Population::maximumPopulationSize_, population_, populationSize_, removeIndividuals(), and Population::thereIsAnEqualFitnessIndividual().

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

void Ssmo::distanceToPopulation (  Population *  population,
Individual *  individual
) 
 

Parameters:
population The population
individual The individual
Distances are measured in the variable space

Definition at line 187 of file Ssmo.cpp.

References Individual::chromosome_, Individual::distance_, Chromosome::gene_, Population::getIth(), Population::getPopulationSize(), Gene::getRealAllele(), MultiobjectiveProblem::numberOfVariables_, and MoEA::problem_.

virtual Individual* Ssmo::diversificationGeneration (   )  [pure virtual]
 

Implemented in Ssmo1, and Ssmo2.

Referenced by start().

virtual Individual* Ssmo::improvement (  Individual *   )  [pure virtual]
 

Implemented in Ssmo1, and Ssmo2.

Referenced by start().

void Ssmo::printStatistics (   )  [virtual]
 

Implements MoEA.

Definition at line 256 of file Ssmo.cpp.

References MoEA::endTime_, MoEA::numberOfFitnessEvaluations_, MoEA::numberOfIterations_, MoEA::numberOfMutations_, and MoEA::startTime_.

Referenced by main().

void Ssmo::printToFiles (  char *  genotypeFileName,
char *  fitnessFileName
) 
 

Parameters:
genotypeFileName The name of the file to store the decision variables
fitnessFileName The name of the file to store the values of the objective functions

Definition at line 244 of file Ssmo.cpp.

References Population::getPopulationSize(), population_, MoEA::printFunctionValuesToFile(), MoEA::printVariablesToFile(), and Population::sortByFitness().

Referenced by main().

void Ssmo::readConfigurationData (   )  [virtual]
 

Implements MoEA.

Definition at line 269 of file Ssmo.cpp.

Referenced by Ssmo().

virtual void Ssmo::referenceSetUpdate (  bool  rebuild  )  [pure virtual]
 

Implemented in Ssmo1, and Ssmo2.

virtual int Ssmo::removeDominatedIndividuals (  Population *  population  )  [pure virtual]
 

Implemented in Ssmo1, and Ssmo2.

virtual int Ssmo::removeIndividuals (  Population *  population,
int  finalSize
)  [pure virtual]
 

Implemented in Ssmo1, and Ssmo2.

Referenced by addImprovedIndividual().

virtual void Ssmo::solutionCombination (  Individual *  ,
Individual *  ,
int  children
)  [pure virtual]
 

Implemented in Ssmo1, and Ssmo2.

void Ssmo::start (   )  [virtual]
 

Implements MoEA.

Definition at line 91 of file Ssmo.cpp.

References addImprovedIndividual(), diversificationGeneration(), MultiobjectiveProblem::evaluate(), MultiobjectiveProblem::evaluateConstraints(), improvement(), MoEA::numberOfFitnessEvaluations_, population_, populationSize_, MoEA::problem_, and MoEA::startTime_.

Referenced by main().

virtual int Ssmo::subsetGeneration (   )  [pure virtual]
 

Implemented in Ssmo1, and Ssmo2.


Member Data Documentation

Population* Ssmo::combinedSolutions_ [protected]
 

Definition at line 36 of file Ssmo.h.

Referenced by Ssmo().

Population* Ssmo::diversityReferenceSet_ [protected]
 

Definition at line 34 of file Ssmo.h.

Referenced by Ssmo().

int Ssmo::diversityReferenceSetSize_ [protected]
 

Definition at line 42 of file Ssmo.h.

Referenced by Ssmo1::referenceSetUpdate(), and Ssmo().

Population* Ssmo::dummyPopulation_ [protected]
 

Definition at line 32 of file Ssmo.h.

Referenced by Ssmo2::removeDominatedIndividuals(), Ssmo1::removeDominatedIndividuals(), Ssmo2::removeIndividuals(), Ssmo1::removeIndividuals(), and Ssmo().

Population* Ssmo::improvedCombinedSolutions_ [protected]
 

Definition at line 37 of file Ssmo.h.

Referenced by Ssmo().

int Ssmo::improvementIterations_ [protected]
 

Definition at line 45 of file Ssmo.h.

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

int Ssmo::maximumPopulationSize_ [protected]
 

Reimplemented in Ssmo2.

Definition at line 40 of file Ssmo.h.

Referenced by Ssmo().

int Ssmo::numberOfSubranges_ [protected]
 

Definition at line 44 of file Ssmo.h.

Referenced by Ssmo2::diversificationGeneration(), Ssmo1::diversificationGeneration(), Ssmo(), Ssmo1::Ssmo1(), and Ssmo2::Ssmo2().

Population* Ssmo::population_ [protected]
 

Definition at line 31 of file Ssmo.h.

Referenced by addImprovedIndividual(), Ssmo2::improvement(), Ssmo1::improvement(), printToFiles(), Ssmo2::referenceSetUpdate(), Ssmo1::referenceSetUpdate(), Ssmo2::removeDominatedIndividuals(), Ssmo1::removeDominatedIndividuals(), Ssmo2::removeIndividuals(), Ssmo1::removeIndividuals(), Ssmo(), and start().

int Ssmo::populationSize_ [protected]
 

Definition at line 39 of file Ssmo.h.

Referenced by addImprovedIndividual(), Ssmo2::removeDominatedIndividuals(), Ssmo1::removeDominatedIndividuals(), Ssmo(), and start().

Population* Ssmo::qualityReferenceSet_ [protected]
 

Definition at line 33 of file Ssmo.h.

Referenced by Ssmo2::referenceSetUpdate(), Ssmo1::referenceSetUpdate(), Ssmo(), Ssmo2::subsetGeneration(), and Ssmo1::subsetGeneration().

int Ssmo::qualityReferenceSetSize_ [protected]
 

Definition at line 41 of file Ssmo.h.

Referenced by Ssmo2::referenceSetUpdate(), Ssmo1::referenceSetUpdate(), and Ssmo().


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

Our Software

orangebox Mallba

orangebox ssGA

orangebox JGDS

orangebox xxGA

orangebox JCell

orangebox MHTB

orangebox DEME

orangebox JMetal

orangebox More...

orangebox Go Back