Main Page | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members

Schaffer.cpp

Go to the documentation of this file.
00001 
00009 #include <Schaffer.h>
00010 
00014 Schaffer::Schaffer(VariableType variableType) {
00015 
00016   problemName_ = "Schaffer-MOP1" ;
00017 
00018   numberOfVariables_   = 1 ;
00019   numberOfFunctions_   = 2 ;
00020   numberOfConstraints_ = 0 ;
00021 
00022   const double upperLimit[] = {10^5} ;
00023   const double lowerLimit[] = {-10^5} ;
00024   const int partitions[]    = {10, 10, 10} ;
00025   const int precision[]     = {5, 5, 5} ;
00026 
00027   upperLimit_      = new double[numberOfVariables_] ;
00028   lowerLimit_      = new double[numberOfVariables_] ;
00029   partitions_      = new int[numberOfVariables_]    ;
00030   precision_       = new int[numberOfVariables_]    ;
00031   bitsPerVariable_ = new int[numberOfVariables_]    ;
00032   
00033   memcpy(upperLimit_, upperLimit, numberOfVariables_ * sizeof(double)) ;
00034   memcpy(lowerLimit_, lowerLimit, numberOfVariables_ * sizeof(double)) ;
00035   memcpy(partitions_, partitions_, numberOfVariables_ * sizeof(int)) ;
00036   memcpy(precision_, precision, numberOfVariables_ * sizeof(int)) ;
00037 
00038   variable_ = new VariableType[numberOfVariables_] ;
00039 
00040   initializeRealVariableType(variableType) ;
00041   cout << "Created a " << problemName_ << " problem" << endl ;
00042 
00043 } // Schaffer::Schaffer
00044 
00045 
00046 void Schaffer::evaluate(Individual * individual) {
00047   // First function
00048   double result ;
00049 
00050   result =  (individual->chromosome_->gene_[0])->getRealAllele() *
00051             (individual->chromosome_->gene_[0])->getRealAllele() ;
00052   individual->fitness_[0] = result ;
00053 
00054   // Second function
00055   result =  ((individual->chromosome_->gene_[0])->getRealAllele() - 2) *
00056             ((individual->chromosome_->gene_[0])->getRealAllele() - 2) ;
00057 
00058   individual->fitness_[1] = result ;
00059 } // Schaffer::evaluate
00060 

Generated on Wed Feb 11 10:38:02 2004 for Paes by doxygen 1.3.3