improve algorithm with severals new GenerationalAlg