This paper deals with the two-machine flow shop scheduling problem in which the first machine is a batch processing machine (BPM) that can process a number of jobs simultaneously, while the second machine is a discrete processing machine (DPM) that processes jobs one by one. To minimize makespan of the system, we present a mixed integer programming formulation for the problem. Using this formulation, we show that an optimal solution for small problem can be obtained by a commercial optimization software. However, since the problem is NP-hard and the size of real problems is usually large, we propose a number of heuristic algorithms including genetic algorithm to solve practical big-sized problems in a reasonable computational time. To verify the performances of the algorithms, we compare them with lower bound for the problem. From the results we obtained, some of the heuristic algorithms show very good performances.