Optimal Scheduling of Multiproduct Batch Plants Manufacturing Products with Multiple Due-Dates
C. A. Méndez, G.P. Henning and J. Cerdá
INTEC (UNL - CONICET)
Güemes 3450 - 3000 Santa Fe - ARGENTINA
E-mail: jcerda@intec.unl.edu.ar
In most multiproduct batch plants, the short-term planning activity starts by considering the set of product orders to be filled during the scheduling period. Each order specifies the product and the amount to be manufactured as well as the promised due date and the release time. Several orders can be related to the same product, though featuring different quantities and due-dates. The initial task to be accomplished by the scheduler is the so-called batching process, that transforms the product orders to fill into equivalent sets of batches to be scheduled, and then, assigns a due date to each one. To execute the batching procedure for a required product, the scheduler should not only account for the preferred unit sizes but also for all the orders related to such a product and their deadlines. Since every unit is generally run at full capacity to get a maximum resource utilization, then the assigned vessel size directly determines the batch size. Moreover, the preferred batch sizes associated to each product, usually a small subset of all the sizes at hand, are also known. If a batch is completely allocated to a single product order, both will share the same due date. However, one can hardly find a set of batches that exactly matches each order's size when several orders for the same product are to be satisfied in the period. Frequently, a batch is shared by multiple orders with the earliest one determining the batch due-date. After filling such an order, part of the batch will still remain in stock to satisfy other orders with later due dates. An optimal choice implies to select a lot of batches for every product in such a way that a good unit load balance, a low work-in-process inventory and a minimum tardiness with regards to the promised due dates are all achieved. After completing the batching task, the batch size and the number of batches of each required product, their due dates, and the type of unit where each batch can be manufactured, are all known data. At this point, it will be possible to schedule the batches by allocating a particular unit to each one and establishing their initial and completion times.
A new two-step systematic methodology for the scheduling of single-stage multiproduct batch plants is presented. In the first phase, the batching process is accomplished to minimize the work-in-process inventory while meeting the order's due-dates. The resulting set of batches is then optimally scheduled. New MILP models for both the batching and the scheduling of a single-stage multiproduct plant have been developed. They both rely on a continuous-time representation of the problem. The batching problem formulation includes integer variables standing for the number of batches of every required product to be processed in each available unit type. In turn, the scheduling MILP formulation takes advantage of the linear precedence structure of the batch processing sequence at each unit. Each batch after the first has exactly one direct predecessor and every batch before the last has exactly one direct successor. In this way, it can easily account for sequence-dependent setup times. Moreover, batch-unit allocation and batch sequencing decisions are handled through separate sets of 0-1 variables to lower the size of the problem formulation. Several aggregate performance measures like the average tardiness, the average lateness and the makespan were alternatively selected as the problem objective function. In addition, some known heuristic rules can be embedded in the problem formulation to get a faster convergence to near-optimal schedules for "real-world" industrial problems. A significant number of examples, of up to 50 batches, have been successfully solved in low computational time. Compared to other approaches, the proposed methodology exhibits a sizable reduction in the total number of variables.