Flexible Job-shop Scheduling Problem (FJSP) is one of extremely hard problems because it requires very large combinatorial search space. Genetic algorithm is wildly used to solve Flexible Job-shop Scheduling Problem. This paper presents an improved genetic algorithm. The improved genetic algorithm we proposed uses many different strategies to get a better result. During the phase of create initial population, the improved genetic algorithm takes into account the number of operations in each job. And the intelligent mutation strategy is used which makes every individual and gene have different probability to mutate. In this paper, the object of scheduling algorithm is to get a sequence of the operations on machines to minimize the makespan. And the performance of the improved genetic algorithm is compared with another genetic algorithm. During the experiment, the two improvements are compared respectively with the compared genetic algorithm. The results show that the improved genetic algorithm outperforms the compared algorithm.