Galib: Population übernehmen
-
Hallo zusammen,
ich habe in etwa folgenden Code
GAAlleleSetArray<double> set_array; set_allele_array(set_array); GA1DArrayAlleleGenome<double> genome(set_array, myObjective); genome.initializer(myInitializer); genome.mutator(::myMutator); genome.comparator(::myComparator); genome.crossover(::myCrossover); GASteadyStateGA ga(genome); ga.populationSize(100); ga.nGenerations(100); ga.pReplacement(0.5); ga.pMutation(0.01); ga.pCrossover(0.8); ga.maximize(); ga.initialize(); ga.scoreFrequency(10); ga.flushFrequency(10); ga.selectScores(GAStatistics::AllScores); while (!ga.done()) ga.step();Jetzt starte ich den GA-Lauf mehrfach und würde gerne die Population des letzten GA-Laufs als Initialpopulation wählen. Der Initializer sieht wie folgt aus
void myInitializer(GAGenome& g) { GA1DArrayAlleleGenome<double> &genome = (GA1DArrayAlleleGenome<double> &)g; for (int g=0; g<vector.size(); g++) { double x=0.0, rnd=rnd_nb(); if (rnd <= 1/2) x=rnd; genome.gene(g, x); } return; }An welcher Stelle fange ich die letzte Population am besten ab?
Wie setzte ich die Anfangspopulation, mit "genome.aset"?
Wo setzte ich die Anfangspopulation am besten?Vielleicht hat genau das ja schonmal jemand gemacht und kann mir ein paar Tipps geben
