/* MINIMUM FUNKCIJE suma 1/(Xi*Xi+1) na segmentu [-2048, 2048] */ #include #include #include #include #include //Search Space Dimensionality #define p 30 using namespace std; //Deklaracije funkcija float objective(GAGenome &); int main() { unsigned int s(time( NULL )) ; srand(s); unsigned int seed = rand(); int popsize = 30; //broj jedinki populacije int ngen = 100; // broj generacija (VALJDA) float pmut = 0.01; //vjerovatnova mutacije float pcross = 0.5; // vjerovatnoca ukrstanja //Kreira fenotip za Xi, koristi se 16bita, float je tipa // i uzima vrijednost iz segmenta [-2048, 2048] GABin2DecPhenotype map; //for (int i = 1; i < p; i++ ) map.add(16, -2048, 2048); map.add(16, -2048, 2048); //Kreira template genom pomocu kreirane fenotip mape GABin2DecGenome genome(map, objective); //Kreira GA pomocu genoma i izvrsava.Koristi se sigma truncation GASimpleGA ga(genome); GASigmaTruncationScaling scaling; ga.populationSize(popsize); ga.nGenerations(ngen); ga.pMutation(pmut); ga.pCrossover(pcross); ga.scaling(scaling); ga.scoreFilename("mojiRezultati.dat"); ga.scoreFrequency(10); ga.flushFrequency(50); ga.evolve(seed); //Stampa rezultate na ekran genome = ga.statistics().bestIndividual(); cout << "GA je nasao optimum u tacki ("; cout << genome.phenotype(0) << " , "<