An important production line configuration used in flexible manufacturing systems consists of several assembly stations in series. Usually, each product type flows through these stations in the same order. Each type, however, may have different processing times. Some advanced lines have the ability to skip stations when the jobs require no processing at them. Also, a job can be kept from being processed on a machine if the preceding job is still being worked upon. This is commonly known as "blocking" and is a subject of prime interest for contemporary, just-in-time manufacturing strategies. If too much time is spent in blocking, total line throughput will be severely degraded. The old approach to ease blocking has been to place buffers between assembly stations to absorb differences in processing times. However, modern manufacturing methods place high priority on reducing work-in process inventory. Thus, finding an optimal order in which to process the different product types becomes critical for maximizing line throughput.