multi-objective problem IHR2. More...
#include <MultiObjectiveFunctions.h>
Public Member Functions | |
| IHR2 (unsigned d=10) | |
| Constructor. | |
| ~IHR2 () | |
| Destructor. | |
| unsigned int | objectives () const |
| return the number of objectives to optimize | |
| void | result (double *const &point, std::vector< double > &value) |
| objective function evaluation | |
| bool | ProposeStartingPoint (double *&point) const |
| For a BoxConstraintHandler we can automatically propose a starting point. | |
| 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. | |
| void | initRandomRotation () |
| Create a random orthogonal transformation. | |
Protected Member Functions | |
| void | transform (const double *in, std::vector< double > &out) const |
| transform in, resulting in out | |
| double | hf (double x, double y0, double ymax) |
| double | hg (double x) |
Protected Attributes | |
| Matrix | m_Transformation |
| transformation matrix | |
multi-objective problem IHR2.
The rotated variant of the ZDT2 problem:
with auxiliary functions:
where
, y is defined by
where O is an arbitrary orthogonal rotation matrix and
and usually
Definition at line 532 of file MultiObjectiveFunctions.h.
| IHR2::IHR2 | ( | unsigned | d = 10 |
) |
Constructor.
Definition at line 750 of file MultiObjectiveFunctions.cpp.
References initRandomRotation(), and ObjectiveFunction::m_name.
| IHR2::~IHR2 | ( | ) |
Destructor.
Definition at line 756 of file MultiObjectiveFunctions.cpp.
References ObjectiveFunctionT< double * >::constrainthandler.
| double IHR2::hf | ( | double | x, | |
| double | y0, | |||
| double | ymax | |||
| ) | [protected] |
Definition at line 859 of file MultiObjectiveFunctions.cpp.
Referenced by result().
| double IHR2::hg | ( | double | x | ) | [protected] |
Definition at line 866 of file MultiObjectiveFunctions.cpp.
Referenced by result().
| void IHR2::initRandomRotation | ( | ) |
Create a random orthogonal transformation.
Definition at line 817 of file MultiObjectiveFunctions.cpp.
References ObjectiveFunctionVS< double >::m_dimension, and m_Transformation.
Referenced by IHR2().
| bool IHR2::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.
| fitness | component wise worst fitness |
Reimplemented from ObjectiveFunctionVS< double >.
Definition at line 809 of file MultiObjectiveFunctions.cpp.
| unsigned int IHR2::objectives | ( | ) | const [virtual] |
return the number of objectives to optimize
Implements ObjectiveFunction.
Definition at line 763 of file MultiObjectiveFunctions.cpp.
| bool IHR2::ProposeStartingPoint | ( | double *& | point | ) | const [virtual] |
For a BoxConstraintHandler we can automatically propose a starting point.
Reimplemented from ObjectiveFunctionVS< double >.
Definition at line 795 of file MultiObjectiveFunctions.cpp.
References ObjectiveFunctionVS< double >::m_dimension.
| void IHR2::result | ( | double *const & | point, | |
| std::vector< double > & | value | |||
| ) | [virtual] |
objective function evaluation
Implements ObjectiveFunctionT< double * >.
Definition at line 768 of file MultiObjectiveFunctions.cpp.
References hf(), hg(), ObjectiveFunctionVS< double >::m_dimension, ObjectiveFunction::m_timesCalled, m_Transformation, and transform().
| void IHR2::transform | ( | const double * | in, | |
| std::vector< double > & | out | |||
| ) | const [protected] |
transform in, resulting in out
Definition at line 847 of file MultiObjectiveFunctions.cpp.
References ObjectiveFunctionVS< double >::m_dimension, and m_Transformation.
Referenced by result().
| bool IHR2::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.
| fitness | component wise utopian fitness |
Reimplemented from ObjectiveFunctionVS< double >.
Definition at line 804 of file MultiObjectiveFunctions.cpp.
Matrix IHR2::m_Transformation [protected] |
transformation matrix
Definition at line 556 of file MultiObjectiveFunctions.h.
Referenced by initRandomRotation(), result(), and transform().