Flexible job shop problems (FJSP) are among the most intensive combinatorial problems studied in literature. These latters cover two main difficulties, namely, machine assignment problem and operation sequencing problem. To reflect as close as possible the reality of this problem, two others constraints are taken into consideration which are: (1) The sequence dependent setup time and (2) the learning effects. For solving such complex problem, we propose an evolutionary algorithm (EA) based on genetic algorithm (GA) combined with two efficient local search methods, called, variable neighborhood search (VNS) and iterated local search (ILS). It is well known that the performance of EA is heavily dependent on the setting of control parameters. For that, our algorithm uses a self -adaptive strategy based on : (1) the current specificity of the search space, (2) the preceding results of already applied algorithms (GA, VNS and ILS) and (3) their associated parameter settings. We adopt this strategy in order to detect the next promising search direction and maintain the balance between exploration and exploitation. Computational results show that our algorithm is more effective and robust with respect to other well known effective algorithms.