加利布C++;充分利用每一代人的优势 我在C++中与GALIB合作。我用以下代码创建了一个典型的遗传算法: GA1DBinaryStringGenome genoma(trips.size(), Genotype::evaluator); GASimpleGA ga(genoma); ga.populationSize(popSize); ga.nGenerations(genCant); ga.pMutation(0.03); ga.pCrossover(0.90); ga.evolve(); // Launch

加利布C++;充分利用每一代人的优势 我在C++中与GALIB合作。我用以下代码创建了一个典型的遗传算法: GA1DBinaryStringGenome genoma(trips.size(), Genotype::evaluator); GASimpleGA ga(genoma); ga.populationSize(popSize); ga.nGenerations(genCant); ga.pMutation(0.03); ga.pCrossover(0.90); ga.evolve(); // Launch,c++,algorithm,genetics,C++,Algorithm,Genetics,然后我得到了最好的一个人 wladi << ga.statistics().bestIndividual(); wladi我现在正在处理同样的问题。我想到的唯一解决办法是创建自己的终止符函数(主要是): 通过这种方式,我可以获得GA在每一代结束时检查终止条件的链接 GABoolean GATerminateUponGenerationWithStatePrintout(GAGeneticAlgorithm &ga) { cout << "Generati

然后我得到了最好的一个人

wladi << ga.statistics().bestIndividual();

wladi我现在正在处理同样的问题。我想到的唯一解决办法是创建自己的终止符函数(主要是):

通过这种方式,我可以获得GA在每一代结束时检查终止条件的链接

GABoolean GATerminateUponGenerationWithStatePrintout(GAGeneticAlgorithm &ga)
{
    cout << "Generation " << ga.generation() << " - best individual " << ga.statistics().bestIndividual() << endl;
    return(ga.generation() < ga.nGenerations() ? gaFalse : gaTrue);
}
GASimpleGA ga(genoma);
ga.terminator(GATerminateUponGenerationWithStatePrintout);