NodeList algorithms=((Element)xls.item(i)).getElementsByTagName("algorithm");
ArrayList<ArrayList<ArrayList<Report>>> reports=new ArrayList<ArrayList<ArrayList<Report>>>(algorithms.getLength());
for(int j=0;j<algorithms.getLength();j++)
{
Element algorithm=(Element)algorithms.item(j);
Optimizer optimizer=(Optimizer)Class.forName("algorithms."+algorithm.getAttribute("class")).newInstance();
String parameters=algorithm.getAttribute("parameter");
ArrayList<ArrayList<Report>> r=new ArrayList<ArrayList<Report>>(testbed.size());
System.out.println("Algorithm : " +optimizer.toString());
for(Function function:testbed)
{
r.add(optimizer.solve(parameters, function, maxfes, reportfes, precision));
ArrayList<Report> x=r.get(r.size()-1);
Report d=x.get(x.size()-1);
System.out.println("Error: " +d.getBestIndividual()[function.getD()]);
System.out.println("Evaluations: " +d.getFes());
}