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;
		 }