A meta-heuristic approach for solving the flexible job-shop scheduling problem (FJSP) is presented in this study. This problem consists of two sub-problems, the routing problem and the sequencing problem and is among the hardest combinatorial optimization problems. We propose a Genetic Algorithm (GA) for the FJSP. Our algorithm uses several different rules for generating the initial population and several strategies for producing new population for next generation. Proposed GA is tested on benchmark problems and with due attention to the results of other meta-heuristics in this field, the results of GA show that our algorithm is effective and comparable to the other algorithms.