00001 #include <Configuration.h> 00002 #include <Gene.h> 00003 00004 #ifndef __MULTIOBJECTIVE_PROBLEM__ 00005 #define __MULTIOBJECTIVE_PROBLEM__ 00006 00007 class Individual ; 00008 00009 class MultiobjectiveProblem { 00010 public: 00011 int numberOfVariables_ ; 00012 int numberOfFunctions_ ; 00013 int numberOfConstraints_ ; 00014 00015 string problemName_ ; 00016 00017 VariableType * variable_ ; 00018 00019 double * upperLimit_ ; 00020 double * lowerLimit_ ; 00021 int * partitions_ ; 00022 00023 int * precision_ ; 00024 int numberOfBits_ ; 00025 int * bitsPerVariable_ ; 00026 00027 MultiobjectiveProblem() ; 00028 00029 virtual void evaluate(Individual * individual) = 0 ; 00030 virtual bool constraintsAreSatisfied(Individual * individual) ; 00031 virtual int numberOfNonSatisfiedConstraints(Individual * individual) ; 00032 00033 // Methods for binary variables 00034 void adjustPrecision(int variable) ; 00035 00036 // Methods for real variables 00037 void initializeRealVariableType(VariableType variableType) ; 00038 00039 void print() ; 00040 } ; // MultiobjectiveProblem 00041 00042 00043 00044 #endif