private void crossover(){
		Random rand = new Random();
		if(maximum){
			for(int i = 0; i < sortedFitness.size() / 2; i++){
				int crossoverPoint = rand.nextInt(objectiveFunction.getVariables() + 1);
				int particleIndex = sortedFitness.get(i).getIndex();
				for(int k = 0; k < crossoverPoint; k++){
					position[particleIndex][k] = position[globalBest][k];
				}
			}
		}else{
			for(int i = sortedFitness.size() - 1; i > sortedFitness.size() / 2; i--){
				int crossoverPoint = rand.nextInt(objectiveFunction.getVariables() + 1);
				int particleIndex = sortedFitness.get(i).getIndex();
				for(int k = 0; k < crossoverPoint; k++){
					position[particleIndex][k] = position[globalBest][k];
				}
			}
		}
	}