12 #ifndef __DIGNEA_ZDT_H__
13 #define __DIGNEA_ZDT_H__
15 #include <dignea/core/Problem.h>
16 #include <dignea/types/SolutionTypes.h>
17 #include <dignea/utilities/random/PseudoRandom.h>
22 enum class ZDT_MODE { ZDT1, ZDT2, ZDT3, ZDT4, ZDT6 };
33 ~
ZDT()
override =
default;
42 explicit ZDT(
const ZDT *s);
61 string getName()
const override {
return "ZDT"; }
80 void readData(
const string &path)
override;
Class to represent a Problem in the tool. It includes the basic information for a problem a few metho...
Definition: Problem.h:29
int numberOfVars
Definition: Problem.h:155
Class to represent a solution to the optimization problems in the tool.
Definition: Solution.h:25
Class to represent the family of ZDT functions.
Definition: ZDT.h:28
FloatSolution createSolution() const override
Creates a random solution for the ZDT problem.
Definition: ZDT.cpp:40
int getOptimizationDirection(int i) const override
Get the optimization direction for each dimension of the problem.
Definition: ZDT.cpp:68
float getUpperLimit(int i) const override
Get the upper limit of the ith dimension.
Definition: ZDT.cpp:60
bool evaluateConstraints(FloatSolution &solution) const override
Not implemented here.
Definition: ZDT.cpp:81
void readData(const string &path) override
Not implemented here.
Definition: ZDT.cpp:76
string getName() const override
Get the name of the Problem.
Definition: ZDT.h:61
ZDT()=default
Creates a default ZDT object.
void evaluate(FloatSolution &solution) const override
Evaluates a solution with the ZDT equation.
Definition: ZDT.cpp:22
float getLowerLimit(int i) const override
Get the lower limit of the ith dimension.
Definition: ZDT.cpp:52