MultiobjectiveProblem.h
Go to the documentation of this file.00001 #include <Configuration.h> 00002 #include <Gene.h> 00003 00012 #ifndef __MULTIOBJECTIVE_PROBLEM__ 00013 #define __MULTIOBJECTIVE_PROBLEM__ 00014 00015 class Individual ; 00016 00021 class MultiobjectiveProblem { 00022 public: 00023 int numberOfVariables_ ; 00024 int numberOfFunctions_ ; 00025 int numberOfConstraints_ ; 00026 00027 string problemName_ ; 00028 00029 VariableType * variableType_ ; // Types of the decision variables 00030 00031 double * upperLimit_ ; // To be used with continuous variables 00032 double * lowerLimit_ ; // To be used with continuous variables 00033 00034 int * precision_ ; // To be used by binary coded variables 00035 int * bitsPerVariable_ ; // To be used by binary variables 00036 int * numberOfElements_ ; // To be used by permutations 00037 00038 MultiobjectiveProblem() ; 00039 00040 virtual void evaluate(Individual * individual) = 0 ; 00041 virtual void evaluateConstraints(Individual * individual) ; 00042 00043 virtual bool constraintsAreSatisfied(Individual * individual) ; 00044 virtual int numberOfNonSatisfiedConstraints(Individual * individual) ; 00045 00046 // Methods for binary variables 00047 void adjustPrecision(int variable, VariableType variableType) ; 00048 00049 // Methods for real variables 00050 void initializeVariableType(VariableType variableType) ; 00051 00052 double calculateMutationProbability() ; 00053 00054 void print() ; 00055 } ; // MultiobjectiveProblem 00056 00057 00058 #endif