CIGTAB2 Class Reference

multi-objective problem CIGTAB2 More...

#include <MultiObjectiveFunctions.h>

Inheritance diagram for CIGTAB2:

ObjectiveFunctionVS< double > ObjectiveFunctionT< T * > ObjectiveFunction

List of all members.

Public Member Functions

 CIGTAB2 (unsigned d=10, double a=1000)
 Constructor.
 ~CIGTAB2 ()
 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
void initRandomRotation ()
 Create a random orthogonal transformation.

Protected Member Functions

void transform_1 (const double *in, std::vector< double > &out) const
 transform in with m_Transformation_1, resulting in out
void transform_2 (const double *in, std::vector< double > &out) const
 transform in with m_Transformation_2, resulting in out

Protected Attributes

double m_a
Matrix m_Transformation_1
 transformation matrix for the first objective function
Matrix m_Transformation_2
 transformation matrix for the secound objective function


Detailed Description

multi-objective problem CIGTAB2

\[ f_1(x) = \frac{1}{a^2*n} [y_1^2 + \sum_{i=2}^{n-1}a*y_i^2 + a^2*y_n^2] \]

\[ f_2(x) = \frac{1}{a^2*n} [(z_1-2)^2+ \sum_{i=2}^{n-1}a*(z_i-2)^2 + a^2 *(z_n-2)^2] \]

where y and z are defined by:

\[ y= O_1*x \]

\[ z= O_2*x \]

where $ O_1 $ and $ O_2 $ are arbitrary orthogonal rotation matrices and usually $n = 10$ and $ a=1000 $

Definition at line 1718 of file MultiObjectiveFunctions.h.


Constructor & Destructor Documentation

CIGTAB2::CIGTAB2 ( unsigned  d = 10,
double  a = 1000 
)

Constructor.

Definition at line 2852 of file MultiObjectiveFunctions.cpp.

References initRandomRotation(), m_a, and ObjectiveFunction::m_name.

CIGTAB2::~CIGTAB2 (  ) 

Destructor.

Definition at line 2859 of file MultiObjectiveFunctions.cpp.


Member Function Documentation

void CIGTAB2::initRandomRotation (  ) 

Create a random orthogonal transformation.

Definition at line 2907 of file MultiObjectiveFunctions.cpp.

References ObjectiveFunctionVS< double >::m_dimension, m_Transformation_1, and m_Transformation_2.

Referenced by CIGTAB2().

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

return the number of objectives to optimize

Implements ObjectiveFunction.

Definition at line 2863 of file MultiObjectiveFunctions.cpp.

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

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

void CIGTAB2::transform_1 ( const double *  in,
std::vector< double > &  out 
) const [protected]

transform in with m_Transformation_1, resulting in out

Definition at line 2950 of file MultiObjectiveFunctions.cpp.

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

Referenced by result().

void CIGTAB2::transform_2 ( const double *  in,
std::vector< double > &  out 
) const [protected]

transform in with m_Transformation_2, resulting in out

Definition at line 2962 of file MultiObjectiveFunctions.cpp.

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

Referenced by result().


Member Data Documentation

double CIGTAB2::m_a [protected]

Definition at line 1740 of file MultiObjectiveFunctions.h.

Referenced by CIGTAB2(), and result().

Matrix CIGTAB2::m_Transformation_1 [protected]

transformation matrix for the first objective function

Definition at line 1742 of file MultiObjectiveFunctions.h.

Referenced by initRandomRotation(), and transform_1().

Matrix CIGTAB2::m_Transformation_2 [protected]

transformation matrix for the secound objective function

Definition at line 1744 of file MultiObjectiveFunctions.h.

Referenced by initRandomRotation(), and transform_2().


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