Fuzzy systems comprise one of the models best suited to function approximation problems, but due to the non linear dependencies between the parameters that define the system rules, the solution search space for this type of problems contains many local optima. Another important issue is the identification of the optimum structure for the fuzzy system. Depending on the complexity of the model, different solutions can be found with different compromises between their approximation error and their generalization properties. Thus, the problem becomes a multi-objective problem with two clearly competing objectives, the complexity of the model and its approximation error. The algorithms proposed in the literature to construct fuzzy systems from examples usually refine iteratively a unique model until a compromise between its complexity and its approximation error is found. This is not an adequate approach for this problem because there exists a set of Pareto-optimum solutions that can be considered equivalent. Thus, we propose the use of multi-objective evolutionary algorithms because, as they maintain a population of potential solutions for the problem, they are able to optimize both objectives simultaneously. We also incorporate some new expert evolutionary operators that try to avoid the generation of worse solutions in order to accelerate the convergence of the algorithm. The proposed algorithm is tested with some target functions widely used in the literature and the results obtained are compared to other approaches.