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

MultiobjectiveProblem Class Reference

Abstract class representing a Multi-objective Optimization Problem (MOP).

#include <MultiobjectiveProblem.h>

Inheritance diagram for MultiobjectiveProblem:

Binh2 ConstrEx Deb Dtlz1 Dtlz2 Dtlz3 Dtlz4 Dtlz5 Dtlz6 Dtlz7 ExpansionOfF10 Fonseca Golinski Griewangk Kita Kursawe OneMax OneZeroMax Osyczka2 Poloni Quagliarella Rastrigin Rosenbrock Schaffer Schaffer2 Schwefel Sphere Srinivas Tanaka Viennet2 Viennet3 Viennet4 Water Zdt1 Zdt2 Zdt3 Zdt4 Zdt5 Zdt6 List of all members.

Public Member Functions

 MultiobjectiveProblem ()
 Constructor.
virtual void evaluate (Individual *individual)=0
virtual void evaluateConstraints (Individual *individual)
virtual bool constraintsAreSatisfied (Individual *individual)
virtual int numberOfNonSatisfiedConstraints (Individual *individual)
void adjustPrecision (int variable, VariableType variableType)
 Calculates the number of bits required by a binary representation of a real variable given a precision value.
void initializeVariableType (VariableType variableType)
 Initialize the array variableType_ to the value passed as argument.
double calculateMutationProbability ()
 Obtains the mutation probability.
void print ()
 Prints the information associated to a multiobjective problem.

Public Attributes

int numberOfVariables_
int numberOfFunctions_
int numberOfConstraints_
string problemName_
VariableType * variableType_
double * upperLimit_
double * lowerLimit_
int * precision_
int * bitsPerVariable_
int * numberOfElements_

Detailed Description

Definition at line 21 of file MultiobjectiveProblem.h.


Constructor & Destructor Documentation

MultiobjectiveProblem::MultiobjectiveProblem (   ) 
 

Definition at line 15 of file MultiobjectiveProblem.cpp.

References bitsPerVariable_, lowerLimit_, precision_, problemName_, upperLimit_, and variableType_.


Member Function Documentation

void MultiobjectiveProblem::adjustPrecision (  int  variable,
VariableType  variableType
) 
 

Parameters:
variable The identifier of the variable
variableType The type of representation

Definition at line 30 of file MultiobjectiveProblem.cpp.

References BINARY_GRAY_INTEGER, BINARY_GRAY_REAL, BINARY_INTEGER, BINARY_REAL, bitsPerVariable_, lowerLimit_, numberOfVariables_, precision_, and upperLimit_.

Referenced by initializeVariableType().

double MultiobjectiveProblem::calculateMutationProbability (   ) 
 

Returns:
The mutation probability
If the genes are binary, the mutation probability is 1 divided by the total number of bits of the chromosome. If the genes are real, the mutation probability is 1 divided by the number of genes. It is assumed that all the genes are either binary or either real

Definition at line 117 of file MultiobjectiveProblem.cpp.

References bitsPerVariable_, INTEGER, numberOfVariables_, REAL, and variableType_.

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

bool MultiobjectiveProblem::constraintsAreSatisfied (  Individual *  individual  )  [virtual]
 

Definition at line 56 of file MultiobjectiveProblem.cpp.

virtual void MultiobjectiveProblem::evaluate (  Individual *  individual  )  [pure virtual]
 

Implemented in Binh2, ConstrEx, Deb, Dtlz1, Dtlz2, Dtlz3, Dtlz4, Dtlz5, Dtlz6, Dtlz7, ExpansionOfF10, Fonseca, Golinski, Griewangk, Kita, Kursawe, OneMax, OneZeroMax, Osyczka2, Poloni, Quagliarella, Rastrigin, Rosenbrock, Schaffer, Schaffer2, Schwefel, Sphere, Srinivas, Tanaka, Viennet2, Viennet3, Viennet4, Water, Zdt1, Zdt2, Zdt3, Zdt4, Zdt5, and Zdt6.

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

void MultiobjectiveProblem::evaluateConstraints (  Individual *  individual  )  [virtual]
 

Reimplemented in Binh2, ConstrEx, Golinski, Kita, Osyczka2, Srinivas, Tanaka, Viennet4, and Water.

Definition at line 53 of file MultiobjectiveProblem.cpp.

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

void MultiobjectiveProblem::initializeVariableType (  VariableType  variableType  ) 
 

Parameters:
variableType The type of the variables

Definition at line 68 of file MultiobjectiveProblem.cpp.

References adjustPrecision(), BINARY, BINARY_GRAY_REAL, bitsPerVariable_, numberOfVariables_, REAL, and variableType_.

Referenced by Binh2::Binh2(), ConstrEx::ConstrEx(), Deb::Deb(), Fonseca::Fonseca(), Golinski::Golinski(), Kita::Kita(), OneZeroMax::OneZeroMax(), Osyczka2::Osyczka2(), Poloni::Poloni(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Srinivas::Srinivas(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), Zdt5::Zdt5(), and Zdt6::Zdt6().

int MultiobjectiveProblem::numberOfNonSatisfiedConstraints (  Individual *  individual  )  [virtual]
 

Definition at line 60 of file MultiobjectiveProblem.cpp.

Referenced by Individual::constraintComparison().

void MultiobjectiveProblem::print (   ) 
 

Returns:
Nothing

Definition at line 137 of file MultiobjectiveProblem.cpp.

References lowerLimit_, numberOfFunctions_, numberOfVariables_, problemName_, and upperLimit_.


Member Data Documentation

int* MultiobjectiveProblem::bitsPerVariable_
 

Definition at line 35 of file MultiobjectiveProblem.h.

Referenced by adjustPrecision(), Binh2::Binh2(), calculateMutationProbability(), Chromosome::Chromosome(), ConstrEx::ConstrEx(), Deb::Deb(), Dtlz1::Dtlz1(), Dtlz2::Dtlz2(), Dtlz3::Dtlz3(), Dtlz4::Dtlz4(), Dtlz5::Dtlz5(), Dtlz6::Dtlz6(), Dtlz7::Dtlz7(), ExpansionOfF10::ExpansionOfF10(), Fonseca::Fonseca(), Golinski::Golinski(), Griewangk::Griewangk(), initializeVariableType(), Kita::Kita(), Kursawe::Kursawe(), MultiobjectiveProblem(), OneMax::OneMax(), OneZeroMax::OneZeroMax(), Osyczka2::Osyczka2(), Poloni::Poloni(), Quagliarella::Quagliarella(), Rastrigin::Rastrigin(), Rosenbrock::Rosenbrock(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Schwefel::Schwefel(), Sphere::Sphere(), Srinivas::Srinivas(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), Zdt5::Zdt5(), and Zdt6::Zdt6().

double* MultiobjectiveProblem::lowerLimit_
 

Definition at line 32 of file MultiobjectiveProblem.h.

Referenced by adjustPrecision(), Binh2::Binh2(), Chromosome::Chromosome(), ConstrEx::ConstrEx(), Deb::Deb(), Ssmo2::diversificationGeneration(), Ssmo1::diversificationGeneration(), AbYSS::diversificationGeneration(), Dtlz1::Dtlz1(), Dtlz2::Dtlz2(), Dtlz3::Dtlz3(), Dtlz4::Dtlz4(), Dtlz5::Dtlz5(), Dtlz6::Dtlz6(), Dtlz7::Dtlz7(), ExpansionOfF10::ExpansionOfF10(), Fonseca::Fonseca(), Golinski::Golinski(), Griewangk::Griewangk(), Kita::Kita(), Kursawe::Kursawe(), MultiobjectiveProblem(), Osyczka2::Osyczka2(), Poloni::Poloni(), print(), Quagliarella::Quagliarella(), Rastrigin::Rastrigin(), Rosenbrock::Rosenbrock(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Schwefel::Schwefel(), Sphere::Sphere(), Srinivas::Srinivas(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), and Zdt6::Zdt6().

int MultiobjectiveProblem::numberOfConstraints_
 

Definition at line 25 of file MultiobjectiveProblem.h.

Referenced by Binh2::Binh2(), ConstrEx::ConstrEx(), Deb::Deb(), Dtlz1::Dtlz1(), Dtlz2::Dtlz2(), Dtlz3::Dtlz3(), Dtlz4::Dtlz4(), Dtlz5::Dtlz5(), Dtlz6::Dtlz6(), Dtlz7::Dtlz7(), ExpansionOfF10::ExpansionOfF10(), Fonseca::Fonseca(), Golinski::Golinski(), Griewangk::Griewangk(), Ssmo2::improvement(), Ssmo1::improvement(), AbYSS::improvement(), Kita::Kita(), Kursawe::Kursawe(), OneMax::OneMax(), OneZeroMax::OneZeroMax(), Osyczka2::Osyczka2(), Poloni::Poloni(), Quagliarella::Quagliarella(), Rastrigin::Rastrigin(), Rosenbrock::Rosenbrock(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Schwefel::Schwefel(), Sphere::Sphere(), Srinivas::Srinivas(), Nsga2::start(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), Zdt5::Zdt5(), and Zdt6::Zdt6().

int* MultiobjectiveProblem::numberOfElements_
 

Definition at line 36 of file MultiobjectiveProblem.h.

int MultiobjectiveProblem::numberOfFunctions_
 

Definition at line 24 of file MultiobjectiveProblem.h.

Referenced by Binh2::Binh2(), ConstrEx::ConstrEx(), Population::crowdingDistanceAssignment(), Deb::Deb(), Individual::dominanceTest(), Dtlz1::Dtlz1(), Dtlz2::Dtlz2(), Dtlz3::Dtlz3(), Dtlz4::Dtlz4(), Dtlz5::Dtlz5(), Dtlz6::Dtlz6(), Dtlz7::Dtlz7(), Dtlz7::evaluate(), Dtlz6::evaluate(), Dtlz5::evaluate(), Dtlz4::evaluate(), Dtlz3::evaluate(), Dtlz2::evaluate(), Dtlz1::evaluate(), ExpansionOfF10::ExpansionOfF10(), Fonseca::Fonseca(), Golinski::Golinski(), Griewangk::Griewangk(), Individual::identicalFitness(), Individual::Individual(), K_Distance::K_Distance(), Kita::Kita(), Kursawe::Kursawe(), Population::maxiMinDistanceAssignment(), OneMax::OneMax(), OneZeroMax::OneZeroMax(), operator<<(), Individual::operator=(), Osyczka2::Osyczka2(), Poloni::Poloni(), print(), Population::printFitness(), Individual::printFitness(), Quagliarella::Quagliarella(), Rastrigin::Rastrigin(), Rosenbrock::Rosenbrock(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Schwefel::Schwefel(), Individual::setFitness(), Population::sortByFitness(), Sphere::Sphere(), Srinivas::Srinivas(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), Zdt5::Zdt5(), and Zdt6::Zdt6().

int MultiobjectiveProblem::numberOfVariables_
 

Definition at line 23 of file MultiobjectiveProblem.h.

Referenced by AbYSS::AbYSS(), adjustPrecision(), Binh2::Binh2(), calculateMutationProbability(), Chromosome::Chromosome(), Population::clustering(), ConstrEx::ConstrEx(), Deb::Deb(), Ssmo::distanceToPopulation(), AbYSS::distanceToPopulation(), Ssmo2::diversificationGeneration(), Ssmo1::diversificationGeneration(), AbYSS::diversificationGeneration(), Dtlz1::Dtlz1(), Dtlz2::Dtlz2(), Dtlz3::Dtlz3(), Dtlz4::Dtlz4(), Dtlz5::Dtlz5(), Dtlz6::Dtlz6(), Dtlz7::Dtlz7(), Sphere::evaluate(), Schwefel::evaluate(), Rosenbrock::evaluate(), Rastrigin::evaluate(), Quagliarella::evaluate(), OneZeroMax::evaluate(), Kursawe::evaluate(), Griewangk::evaluate(), Fonseca::evaluate(), ExpansionOfF10::evaluate(), Dtlz7::evaluate(), Dtlz6::evaluate(), Dtlz5::evaluate(), Dtlz4::evaluate(), Dtlz3::evaluate(), Dtlz2::evaluate(), Dtlz1::evaluate(), ExpansionOfF10::ExpansionOfF10(), Fonseca::Fonseca(), g(), Golinski::Golinski(), Griewangk::Griewangk(), initializeVariableType(), Kita::Kita(), Kursawe::Kursawe(), Population::minimumDistanceToPopulation(), OneMax::OneMax(), OneZeroMax::OneZeroMax(), Osyczka2::Osyczka2(), Poloni::Poloni(), print(), Population::printGenotype(), Individual::printGenotype(), Quagliarella::Quagliarella(), Rastrigin::Rastrigin(), Rosenbrock::Rosenbrock(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Schwefel::Schwefel(), Individual::singlePointCrossover(), Ssmo2::solutionCombination(), Ssmo1::solutionCombination(), AbYSS::solutionCombination(), Sphere::Sphere(), Srinivas::Srinivas(), Ssmo1::Ssmo1(), Ssmo2::Ssmo2(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), Zdt5::Zdt5(), and Zdt6::Zdt6().

int* MultiobjectiveProblem::precision_
 

Definition at line 34 of file MultiobjectiveProblem.h.

Referenced by adjustPrecision(), Binh2::Binh2(), ConstrEx::ConstrEx(), Deb::Deb(), Dtlz1::Dtlz1(), Dtlz2::Dtlz2(), Dtlz3::Dtlz3(), Dtlz4::Dtlz4(), Dtlz5::Dtlz5(), Dtlz6::Dtlz6(), Dtlz7::Dtlz7(), ExpansionOfF10::ExpansionOfF10(), Fonseca::Fonseca(), Golinski::Golinski(), Griewangk::Griewangk(), Kita::Kita(), Kursawe::Kursawe(), MultiobjectiveProblem(), Osyczka2::Osyczka2(), Poloni::Poloni(), Quagliarella::Quagliarella(), Rastrigin::Rastrigin(), Rosenbrock::Rosenbrock(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Schwefel::Schwefel(), Sphere::Sphere(), Srinivas::Srinivas(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), and Zdt6::Zdt6().

string MultiobjectiveProblem::problemName_
 

Definition at line 27 of file MultiobjectiveProblem.h.

Referenced by Binh2::Binh2(), ConstrEx::ConstrEx(), Deb::Deb(), Dtlz1::Dtlz1(), Dtlz2::Dtlz2(), Dtlz3::Dtlz3(), Dtlz4::Dtlz4(), Dtlz5::Dtlz5(), Dtlz6::Dtlz6(), Dtlz7::Dtlz7(), ExpansionOfF10::ExpansionOfF10(), Fonseca::Fonseca(), Golinski::Golinski(), Griewangk::Griewangk(), Kita::Kita(), Kursawe::Kursawe(), MultiobjectiveProblem(), OneMax::OneMax(), OneZeroMax::OneZeroMax(), Osyczka2::Osyczka2(), Poloni::Poloni(), print(), Quagliarella::Quagliarella(), Rastrigin::Rastrigin(), Rosenbrock::Rosenbrock(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Schwefel::Schwefel(), Sphere::Sphere(), Srinivas::Srinivas(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), Zdt5::Zdt5(), and Zdt6::Zdt6().

double* MultiobjectiveProblem::upperLimit_
 

Definition at line 31 of file MultiobjectiveProblem.h.

Referenced by adjustPrecision(), Binh2::Binh2(), Chromosome::Chromosome(), ConstrEx::ConstrEx(), Deb::Deb(), Ssmo2::diversificationGeneration(), Ssmo1::diversificationGeneration(), AbYSS::diversificationGeneration(), Dtlz1::Dtlz1(), Dtlz2::Dtlz2(), Dtlz3::Dtlz3(), Dtlz4::Dtlz4(), Dtlz5::Dtlz5(), Dtlz6::Dtlz6(), Dtlz7::Dtlz7(), ExpansionOfF10::ExpansionOfF10(), Fonseca::Fonseca(), Golinski::Golinski(), Griewangk::Griewangk(), Kita::Kita(), Kursawe::Kursawe(), MultiobjectiveProblem(), Osyczka2::Osyczka2(), Poloni::Poloni(), print(), Quagliarella::Quagliarella(), Rastrigin::Rastrigin(), Rosenbrock::Rosenbrock(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Schwefel::Schwefel(), Sphere::Sphere(), Srinivas::Srinivas(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), and Zdt6::Zdt6().

VariableType* MultiobjectiveProblem::variableType_
 

Definition at line 29 of file MultiobjectiveProblem.h.

Referenced by Binh2::Binh2(), calculateMutationProbability(), Chromosome::Chromosome(), ConstrEx::ConstrEx(), Deb::Deb(), Ssmo2::diversificationGeneration(), Ssmo1::diversificationGeneration(), AbYSS::diversificationGeneration(), Fonseca::Fonseca(), Golinski::Golinski(), initializeVariableType(), Kita::Kita(), MultiobjectiveProblem(), OneMax::OneMax(), OneZeroMax::OneZeroMax(), Chromosome::operator!=(), Chromosome::operator=(), Chromosome::operator==(), Osyczka2::Osyczka2(), Poloni::Poloni(), Schaffer::Schaffer(), Schaffer2::Schaffer2(), Individual::simulatedBinaryCrossover(), Individual::singlePointCrossover(), Srinivas::Srinivas(), Tanaka::Tanaka(), Viennet2::Viennet2(), Viennet3::Viennet3(), Viennet4::Viennet4(), Water::Water(), Zdt1::Zdt1(), Zdt2::Zdt2(), Zdt3::Zdt3(), Zdt4::Zdt4(), Zdt5::Zdt5(), Zdt6::Zdt6(), and Chromosome::~Chromosome().


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

Our Software

orangebox Mallba

orangebox ssGA

orangebox JGDS

orangebox xxGA

orangebox JCell

orangebox MHTB

orangebox DEME

orangebox JMetal

orangebox More...

orangebox Go Back