testtranscribe.cpp

Go to the documentation of this file.
00001 #include <iostream>
00002 #include "SimpleSelect.h"
00003 #include "BinaryTournamentSelect.h"
00004 #include "UniformRNG.h"
00005 #include "gentypes.h"
00006 #include "BinaryPopulation.h"
00007 #include "StandardPropagation.h"
00008 #include "GrayTranscribe.h"
00009 #include <boost/numeric/ublas/vector.hpp>
00010 #include <boost/numeric/ublas/io.hpp>
00011 #include <boost/numeric/ublas/matrix_proxy.hpp>
00012 #include <boost/function.hpp>
00013 #include <boost/bind.hpp>
00014 using namespace std;
00015 int main()
00016 {
00017         const int popsize = 4;
00018         
00019         UniformRNG Random;
00020         
00021         
00022         ttranscribed transcribed;
00023         
00024         ttranscribed basevalues(1);
00025         ttranscribed stepsizes(1);
00026         tsizev genesizes(1);
00027         for (int i = 0; i < basevalues.size(); ++i)
00028         {
00029                 basevalues(i) = 3.3*i;
00030                 stepsizes(i) = 0.1*(i+1);
00031                 genesizes(i) = 5*(i+1);
00032         }
00033         const int genesize = boost::numeric::ublas::sum(genesizes);
00034         BinaryPopulation Population(popsize,genesize,Random,true);
00035         GrayTranscribe Transcribe(basevalues,stepsizes,genesizes);
00036         BinaryTournamentSelect Select(Random,boost::bind(&GeneralPopulation::GetProbabilities,boost::ref(Population)),
00037                 boost::bind(&GeneralPopulation::GetCrowdingDistances,boost::ref(Population)));
00038         cout << "Basevalues: " << basevalues << endl;
00039         cout << "Stepsizes: " << stepsizes << endl;
00040         cout << "Genesizes: " << genesizes << endl;
00041         cout << "Transcribe.Nparams : " << Transcribe.GetNparams() << endl;
00042         for (int i = 0; i < Population.GetPopsize(); ++i)
00043         {
00044                 cout << row(Population.GetPopulation(),i) << " " << Transcribe.GetValues(row(Population.GetPopulation(),i)) << endl;
00045         }
00046         
00047         cout << "Population initialized" << endl <<flush;
00048         Population.PrintPopulation(cout);
00049 }

Generated on Fri Jul 4 15:30:21 2008 for GPLIB++ by  doxygen 1.5.5