public SpeaPopulation(Genome comp)
	{
		individual = new ArrayList<Genome>();
		archive = new ArrayList<Genome>();
		
		parent = comp;

		// reading parameters
		
		Parameter param = Parameter.getInstance();		
		String paramval;
		
		paramval = param.getParam("population size");
		if (paramval != null)
			size = Integer.valueOf(paramval);
		else
		{
			System.err.println("\"population size\" not defined on parameter file.");
			size = 10;
		}

		paramval = param.getParam("generation number");
		if (paramval != null)
			ngens = Integer.valueOf(paramval);
		else
		{
			System.err.println("\"generation number\" not defined on parameter file.");
			ngens = 10;
		}
		
		paramval = param.getParam("tournament K");
		if (paramval != null)
			tournamentK = Integer.valueOf(paramval);
		else
		{
			System.err.println("\"tournament K\" not defined on parameter file.");
			tournamentK = 5;
		}

		paramval = param.getParam("elite size");
		if (paramval != null)
			elite = Integer.valueOf(paramval);
		else
		{
			System.err.println("\"elite size\" not defined on parameter file.");
			elite = 1;
		}
				
		paramval = param.getParam("immigrant size");
		if (paramval != null)
			immigrant = Integer.valueOf(paramval);
		else
		{
			System.err.println("\"immigrant size\" not defined on parameter file.");
			immigrant = 0;;
		}
		
		paramval = param.getParam("mutation rate");
		if (paramval != null)
			mutrate = Double.valueOf(paramval);
		else
		{
			System.err.println("\"mutation rate\" not defined on parameter file.");
			mutrate = 0.01;
		}
		
		paramval = param.getParam("crossover rate");
		if (paramval != null)
			xoverrate = Double.valueOf(paramval);
		else
		{
			System.err.println("\"crossover rate\" not defined on parameter file.");
			xoverrate = 0.9;
		}
	
	}