00001 00010 #ifndef __PAES__ 00011 #define __PAES__ 00012 00013 #include <Configuration.h> 00014 00015 #include <time.h> 00016 00017 #include <MultiobjectiveProblem.h> 00018 #include <Random.h> 00019 #include <Population.h> 00020 #include <AdaptiveGrid.h> 00021 00026 class Paes { 00027 private: 00028 int depth_ ; 00029 int numberOfGenes_ ; 00030 int maximumArchiveLength_ ; 00031 int numberOfIterations_ ; 00032 double mutationProbability_ ; 00033 int numberOfFitnessEvaluations_ ; 00034 00035 double distributionIndexForMutation_ ; 00036 double perturbationForMutation_ ; 00037 00038 MutationOperator mutationOperator_ ; 00039 00040 #ifdef __MPI__ 00041 int migrationRate_ ; 00042 int processIdentifier_ ; 00043 int numberOfProcesses_ ; 00044 #endif 00045 00046 Random random_ ; 00047 int seed_ ; 00048 00049 MultiobjectiveProblem * problem_ ; 00050 00051 time_t startTime_ ; 00052 time_t endTime_ ; 00053 00054 /* 00055 int numberOfVariables_ ; 00056 int numberOfFunctions_ ; 00057 double * precisionOfVariables_ ; 00058 int * numberOfBitsPerGene_ ; 00059 int chromosomeLength_ ; 00060 */ 00061 00062 Individual * currentSolution_ ; 00063 Individual * mutantSolution_ ; 00064 Population * archiveOfSolutions_ ; 00065 00066 AdaptiveGrid * adaptiveGrid_ ; 00067 int numberOfGridDivisions_ ; 00068 00069 int printFrequency_ ; 00070 00071 //double decodeGene(int gene, BinaryChromosome * chromosome) ; 00072 00073 public: 00074 // Constructors 00075 Paes(MultiobjectiveProblem * problemToSolve, 00076 MutationOperator mutationOperator) ; 00077 00078 // Methods 00079 void start() ; 00080 void addToArchive(Individual *solution) ; 00081 bool archiveSolution(Individual *solution) ; 00082 int compareToArchive(Individual *solution) ; 00083 00084 void readConfigurationData() ; 00085 00086 void printStatistics() ; 00087 void printToFiles(char * variableFile, char * functionFile) ; 00088 } ; // Paes 00089 00090 00091 #endif 00092