• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

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

Our Software

orangebox Mallba

orangebox ssGA

orangebox JGDS

orangebox xxGA

orangebox JCell

orangebox MHTB

orangebox DEME

orangebox JMetal

orangebox More...

orangebox Go Back