DTLZ1 Class Reference

multi-objective problem DTLZ1 More...

#include <MultiObjectiveFunctions.h>

Inheritance diagram for DTLZ1:

ObjectiveFunctionVS< double > ObjectiveFunctionT< T * > ObjectiveFunction

List of all members.

Public Member Functions

 DTLZ1 (unsigned d=30, unsigned m=3)
 Constructor.
 ~DTLZ1 ()
 Destructor.
unsigned int objectives () const
 return the number of objectives to optimize
void result (double *const &point, std::vector< double > &value)
bool ProposeStartingPoint (double *&point) const
bool utopianFitness (std::vector< double > &value) const
 If possible, this method returns (a bound on) the best possible fitness.
bool nadirFitness (std::vector< double > &value) const
 If possible, this method returns (a bound on) the worst possible fitness.

Protected Attributes

unsigned m_objectives


Detailed Description

multi-objective problem DTLZ1

\[ f_1(x) = 0.5*x_1*x_2 \ldots x_{m-1}*(1+g(X_m)) \]

\[ f_2(x) = 0.5*x_1*x_2 \ldots * x_{m-2}*(1-x_{m-1})*(1+g(X_m)) \]

$ \ldots $

\[ f_{m-1}(x) = 0.5*x_1*(1-x_2)*(1+g(X_m)) \]

\[ f_m(x) = 0.5*(1-x_1)*(1+g(X_m)) \]

where

\[ g(X_m)= 100 *(|X_m|+\sum_{x_i \in X_m}(x_i-0.5)^2-cos(20 \pi (x_i-0.5))) \]

\[ x= (x_1, \ldots,x_n) \in [0,1]^{n} \]

$ m \leq n $ and usually $n = 30$

Definition at line 1775 of file MultiObjectiveFunctions.h.


Constructor & Destructor Documentation

DTLZ1::DTLZ1 ( unsigned  d = 30,
unsigned  m = 3 
)

Constructor.

Definition at line 2978 of file MultiObjectiveFunctions.cpp.

References ObjectiveFunction::m_name, and m_objectives.

DTLZ1::~DTLZ1 (  ) 

Destructor.

Definition at line 2984 of file MultiObjectiveFunctions.cpp.

References ObjectiveFunctionT< T * >::constrainthandler.


Member Function Documentation

bool DTLZ1::nadirFitness ( std::vector< double > &  value  )  const [virtual]

If possible, this method returns (a bound on) the worst possible fitness.

For single objective optimization this information is rarely of any use, while for multi objective optimization a so-called nadir point is important for the computation of standard quality indicators like the hypervolume.

Parameters:
fitness component wise worst fitness
Returns:
true if a nadir point is known, false otherwise

Reimplemented from ObjectiveFunctionVS< double >.

Definition at line 3041 of file MultiObjectiveFunctions.cpp.

References ObjectiveFunctionVS< double >::m_dimension, and m_objectives.

unsigned int DTLZ1::objectives (  )  const [virtual]

return the number of objectives to optimize

Implements ObjectiveFunction.

Definition at line 2991 of file MultiObjectiveFunctions.cpp.

References m_objectives.

bool DTLZ1::ProposeStartingPoint ( double *&  point  )  const

void DTLZ1::result ( double *const &  point,
std::vector< double > &  value 
)

bool DTLZ1::utopianFitness ( std::vector< double > &  value  )  const [virtual]

If possible, this method returns (a bound on) the best possible fitness.

For the single objective case the function should return the fitness in the global optimum. For the multi objective case this function should return a utopian point.

Parameters:
fitness component wise utopian fitness
Returns:
true if an utopian point is known, false otherwise

Reimplemented from ObjectiveFunctionVS< double >.

Definition at line 3036 of file MultiObjectiveFunctions.cpp.


Member Data Documentation

unsigned DTLZ1::m_objectives [protected]

Definition at line 1790 of file MultiObjectiveFunctions.h.

Referenced by DTLZ1(), nadirFitness(), objectives(), and result().


The documentation for this class was generated from the following files: