bool ArtificialBeeColony::onlookerBeesPhase(StateP state, DemeP deme) { // jednostavni odabir, uz selFitPropOp /* for( uint i = 0; i < deme->getSize(); i++ ) { // for each food source // choose a food source depending on its fitness value (better individuals are more likely to be chosen) IndividualP food = selFitOp->select(*deme); createNewFoodSource(food, state, deme); } */ // uz vjerojatnosti, jedinka po jedinka calculateProbabilities(state, deme); int demeSize = deme->getSize(); int i = state->getRandomizer()->getRandomInteger(demeSize); int n = 0; while( n < demeSize) { int fact = i++ % demeSize; IndividualP food = deme->at(fact); if (state->getRandomizer()->getRandomDouble() < probability_[fact]){ n++; createNewFoodSource(food, state, deme); } } return true; }
bool employedBeesPhase(StateP state, DemeP deme) { for( uint i = 0; i < deme->getSize(); i++ ) { // for each food source IndividualP food = deme->at(i); createNewFoodSource(food, state, deme); } return true; }
bool onlookerBeesPhase(StateP state, DemeP deme){ for( uint i = 0; i < deme->getSize(); i++ ) { // for each food source //choose a food source depending on it's fitness value ( better individuals are more likely to be chosen) IndividualP food = selFitOp->select(*deme); createNewFoodSource(food, state, deme); } return true; }