Batch processes usually involve the manufacture of "stuff" measurable and divisible by volume or weight, but in discrete lots of limited size. Products commonly manufactured using batch processes include cosmetics, plastics, and (our favorite) beer. Batch manufacturing presents special challenges for scheduling systems. Scheduling is made difficult by the unpredictability of batch manufacturing processes, by the dynamic nature of the environment, and by the nature of batch manufacturing plants, which typically involve a wide variety of shared resources. In this paper, we describe the Honeywell Batch Scheduler, a constraint-based scheduling system implemented using Constraint Envelope Scheduling (CES).