• Main Page
  • Modules
  • Classes
  • Files
  • File List

D:/Projekt/ECF_trunk/examples/FunctionMin/FunctionMaxEvalOp.h

00001 #ifndef FUNCTIONMAXEVALOP_H_
00002 #define FUNCTIONMAXEVALOP_H_
00003 
00004 #include <cmath>
00005 #include "Individual.h"
00006 #include "EvaluateOp.h"
00007 #include "FitnessMax.h"
00008 
00009 class FunctionMaxEvalOp: public EvaluateOp {
00010 public:
00011     FitnessP evaluate(IndividualP individual){
00012 
00013                 FitnessP fitness = static_cast<FitnessP> (new FitnessMax);
00014 
00015                 Binary* bin = (Binary*) individual->at(0).get();
00016 
00017                 fitness->value_ = 0;
00018                 float realTemp = 0;
00019                 //implementirana funkcija za koju se racunam maksimum je ujedno i fitness funkcija
00020                 //fitness = fitness - (realValue[i] - (i + 1))^2
00021                 for (uint i = 0; i < bin->variables.size(); i++){
00022                     realTemp = pow((bin->realValue.at(i) - (i + 1)), 2.);
00023                     fitness->value_ = fitness->value_ - realTemp;
00024                 }
00025                 printf ("Vrijednost fitness funkcije: %f\n", fitness->value_);
00026 
00027                 return fitness;
00028         }
00029 };
00030 typedef boost::shared_ptr<FunctionMaxEvalOp> FunctionMaxEvalOpP;
00031 
00032 #endif /* FUNCTIONMAXEVALOP_H_ */

Generated on Tue Nov 4 2014 13:04:32 for ECF by  doxygen 1.7.1