A hybrid genetic algorithm for integrated process planning and scheduling problem with precedence constraints