Furnace tools often constitute a bottleneck of a semiconductor wafer fab. They are characterized by long processing times with batching requirements. The problem is further complicated by stringent limitations on waiting times before furnace processing and the heterogeneous tool configuration. A novel integer programming model of allocating furnace tools to process steps over time for achieving production targets is first formulated. The formulation adopts difference equations to describe flows of wafers-in-process (WIPs) and availability of individual tools. Waiting time limitation is captured by an inequality for every time slot that the number of wafers processed in the next time slots within the limitation must be no less than the available WIPs of the current time slot. Constraints on batching decision couple among constraints of wafer flow, tool availability and bounds of batch size. After converting all the constraints to linear forms, an optimization tool suite is then applied to solving test problems derived from a real fab with a stopping criterion of no more than 5% difference from optimality. Comparisons with a currently practiced heuristic show that the near optimal furnace allocations lead to 18.5% more processing in average and 39.6% shorter average waiting time in certain cases than those of the heuristic. Computation times are all within 30 seconds over a personal computer with a Intel P8700@2.53 GHz CPU. Such computation efficiency indicates a strong potential for applications to dynamic allocations in a fab.