Example #1
0
 void update(Population& population)
 {
     std::cout << "W tym pokoleniu najlepszy wynik to "<<std::endl;
     population.getSubjects().at( population.getBestId() )->print();
     population.getCurrentBestFF()->print();
     std::cout << std::endl;
 }
Example #2
0
    void update(Population& population)
    {
        FunctionSubject *toCheck = EvolFunctions::ptr_cast<SubjectPtr,FunctionSubject>(population.getSubjects().at( population.getBestId() ));

        /*
         * sprawdzenie czy w danym kroku algorytmu (danej generacji) wynik posredni jest poprawny, tj. zgodny z reczna symulacja
         */
        M("Sprawdzanie wynikow czastkowych dzialania algorytmu.");
        BOOST_CHECK(toCheck->getValue() == correctPartialResults[generations]);
        C(toCheck->getValue() == correctPartialResults[generations]);
        population.getCurrentBestFF()->print();

        ++generations;

        std::vector< SubjectPtr >& populationSubjectsVector = population.getSubjects();

        /*
         * testowanie czy na poczatku (przed kazdym obiegiem petli glownej) istnieje poprawna ilosc osobnikow (obiektow)
         */
        M("Sprawdzanie ilosci osobnikow w populacji przed krokiem petli algorytmu.");
        BOOST_CHECK(populationSubjectsVector.size() == populationSize);
        C(populationSubjectsVector.size() == populationSize);
    }