public DEPopulation(Genome comp)
	{
		individual = new ArrayList<Genome>();

		// 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("DE K value");
		if (paramval != null)
			DE_K = Double.valueOf(paramval);
		else
		{
			System.err.println("\"DE K value\" not defined on parameter file.");
			DE_K = 0.9;
		}

		paramval = param.getParam("DE C value");
		if (paramval != null)
			DE_C = Double.valueOf(paramval);
		else
		{
			System.err.println("\"DE Crossover value\" not defined on parameter file.");
			DE_C = 0.9;
		}
		
		paramval = param.getParam("Noman Control Parameter");
		if (paramval != null)
			Psigma = Double.valueOf(paramval);
		else
		{
			System.err.println("\"Noman Control Parameter\" not defined on parameter file.");
			Psigma = 1.0;
		}

		paramval = param.getParam("Init DE Population");
		if (paramval != null)
			init_flag = Integer.valueOf(paramval);
		else
		{
			System.err.println("\"Init DE Population\" not defined on parameter file.");
			init_flag = 0;
		}
		
		paramval = param.getParam("Use SPX");
		if (paramval != null)
			SPX_flag = Integer.valueOf(paramval);
		else
		{
			System.err.println("\"Use SPX\" not defined on parameter file.");
			SPX_flag = 1;
		}
		
		paramval = param.getParam("SPX neighborhood parameter");
		if (paramval != null)
			Pnp = Integer.valueOf(paramval);
		else
		{
			System.err.println("\"SPX neighborhood parameter\" not defined on parameter file.");
			Pnp = 10;
		}
		
	}