public void initiateCandidateSolutions(){
		int columns = objectiveFunction.getVariables();
		positions = new double[numberOfParticles][columns];
		velocities = new double[numberOfParticles * 2][columns];
		for(int i = 0; i < numberOfParticles * 2; i++){
			for(int k = 0; k < columns; k++){
				velocities[i][k] = 0;
				if(i < numberOfParticles){
					positions[i][k] = k + 1;
				}
			}
		}
		shuffleParticles(positions);
		personalBest = positions.clone();
		fitness = new HashMap<Integer, Double>();
		for(int i = 0; i < numberOfParticles; i++){
			fitness.put(i, objectiveFunction.CalculateFitness(positions[i]));
		}
	}