Multiproduct Batch Plant Scheduling



Similar documents
A Continuous-Time Formulation for Scheduling Multi- Stage Multi-product Batch Plants with Non-identical Parallel Units

A MILP Scheduling Model for Multi-stage Batch Plants

Largest Fixed-Aspect, Axis-Aligned Rectangle

Linear Programming Notes VII Sensitivity Analysis

Section 1.3 P 1 = 1 2. = P n = 1 P 3 = Continuing in this fashion, it should seem reasonable that, for any n = 1, 2, 3,..., =

Linear Programming Notes V Problem Transformations

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS

Row Echelon Form and Reduced Row Echelon Form

Integrated support system for planning and scheduling /4/24 page 75 #101. Chapter 5 Sequencing and assignment Strategies

Blending petroleum products at NZ Refining Company

NUMBER SYSTEMS. William Stallings

Constraints Propagation Techniques in Batch Plants Planning and Scheduling

Math 115 Spring 2011 Written Homework 5 Solutions

Systems of Linear Equations

MIP-Based Approaches for Solving Scheduling Problems with Batch Processing Machines

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

Section 1.1 Linear Equations: Slope and Equations of Lines

Chapter 13: Binary and Mixed-Integer Programming

Duality in Linear Programming

Discrete Optimization

The Basics of FEA Procedure

Recursive Algorithms. Recursion. Motivating Example Factorial Recall the factorial function. { 1 if n = 1 n! = n (n 1)! if n > 1

Linear Programming. Solving LP Models Using MS Excel, 18

Linear Programming. March 14, 2014

Overview of Industrial Batch Process Scheduling

Math 55: Discrete Mathematics

What is Linear Programming?

EXCEL SOLVER TUTORIAL

Solving Linear Programs

Binary Number System. 16. Binary Numbers. Base 10 digits: Base 2 digits: 0 1

Solving Linear Programs in Excel

Quotient Rings and Field Extensions

Math 319 Problem Set #3 Solution 21 February 2002

Chapter 2 Solving Linear Programs

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012


Scheduling Intermediate Storage Multipurpose Batch Plants Using the S-Graph

MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES

Batch Production Scheduling in the Process Industries. By Prashanthi Ravi

3.1 Solving Systems Using Tables and Graphs

Single machine parallel batch scheduling with unbounded capacity

Linear Programming. April 12, 2005

The continuous and discrete Fourier transforms

4.2 Description of the Event operation Network (EON)

3.2. Solving quadratic equations. Introduction. Prerequisites. Learning Outcomes. Learning Style

Linear Programming in Matrix Form

Core Maths C1. Revision Notes

Introduction to Linear Programming (LP) Mathematical Programming (MP) Concept

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Solution to Homework 2

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Fibonacci Numbers and Greatest Common Divisors. The Finonacci numbers are the numbers in the sequence 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,...

Supply planning for two-level assembly systems with stochastic component delivery times: trade-off between holding cost and service level

Introduction to Matrix Algebra

Several Views of Support Vector Machines

Part 1 Expressions, Equations, and Inequalities: Simplifying and Solving

Solving convex MINLP problems with AIMMS

Support Vector Machines Explained

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

Introduction. Appendix D Mathematical Induction D1

SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison

4 The M/M/1 queue. 4.1 Time-dependent behaviour

Math 4310 Handout - Quotient Vector Spaces

10.2 Series and Convergence

Language Modeling. Chapter Introduction

4/1/2017. PS. Sequences and Series FROM 9.2 AND 9.3 IN THE BOOK AS WELL AS FROM OTHER SOURCES. TODAY IS NATIONAL MANATEE APPRECIATION DAY

Summary of specified general model for CHP system

Stanford Math Circle: Sunday, May 9, 2010 Square-Triangular Numbers, Pell s Equation, and Continued Fractions

Special Situations in the Simplex Algorithm

Math 120 Final Exam Practice Problems, Form: A

Short-term scheduling and recipe optimization of blending processes

Multi-variable Calculus and Optimization

Partial Fractions. Combining fractions over a common denominator is a familiar operation from algebra:

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

SOLVING TRIGONOMETRIC EQUATIONS

Exploratory Factor Analysis

The Graphical Method: An Example

Homework # 3 Solutions

Section IV.1: Recursive Algorithms and Recursion Trees

We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: b + 90c = c + 10b

Design, synthesis and scheduling of multipurpose batch plants via an effective continuous-time formulation

EdExcel Decision Mathematics 1

Analysis of Algorithms I: Optimal Binary Search Trees

An Introduction to Calculus. Jackie Nicholas

Name: Section Registered In:

3 Some Integer Functions

BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle

9.4. The Scalar Product. Introduction. Prerequisites. Learning Style. Learning Outcomes

So let us begin our quest to find the holy grail of real analysis.

6.4 Normal Distribution

Integer Programming Formulation

Transcription:

Multiproduct Batch Plant Scheduling I A Karimi & Dong-Yup Lee Department of Chemical & Biomolecular Engineering National University of Singapore Batch operations (e.g. batch drying, batch distillation, batch reactors etc.) are used preferentially in many chemical industries such as food, pharmaceuticals, cosmetics etc. Because of their unsteady state nature, scheduling of operations (when to produce what and in which order) is crucial in such plants. A principal feature of batch plants (Ku and Karimi et al., 1987) is production of multiple products using the same set of equipment. When products are similar in nature (e.g. different paints, milks etc.), they all need the same processing steps and hence pass through the same series of processing units. Plants producing such products are called multiproduct plants. Batches of same or different products are produced sequentially in such plants. Because of the different processing time requirements, the total time required to produce a set of batches (also called the makespan) depends on the sequence in which they are produced. To maximize the plant productivity, one may want to produce the batches in a sequence that minimizes the makespan. The plant schedule corresponding to such a sequence is then represented in the form of a Gantt chart (See an example in Fig. 1). Such a chart gives us a detailed time table of plant operation indicating exactly which products are produced by which units and at what times. Figure 1. Example Gantt Chart Four products (p1 - p4) (we use product to mean a batch of a product) are to be produced in a multiproduct plant. All need three processing steps which are carried out by three batch units as shown in Fig. 2. The processing times of products are given in Table 1. No storage is available between the processing units, so if a product finishes processing on unit uj and unit u(j+1) is not free (i.e. still processing a previous product), then the completed product must be held in unit uj, until unit u(j+1) becomes free. For instance, product p1 is held in unit 1 in Fig. 1, until unit 2 finishes processing p3. However, if a product finishes processing on the last unit, then it is sent immediately to the product storage. A unit can begin processing the next Copyright 2009 IA Karimi & DY Lee Page 1 of 8

product as soon as it finishes processing the previous one and transfers it to the downstream unit. Assume that the times required to transfer products from one unit to another are negligible compared to the processing times. Determine a time table for producing the four products so as to minimize the makespan. Assume that all the units are ready to process products at time zero and the production of any product can begin at any time. Figure 2. Multiproduct Plant Table 1. Processing Times (h) of Products Formulation In this problem, two types of decisions are involved. One concerns the sequencing of products, and the other concerns the determination of start and finish times of their processing on various units. The time table of operation will depend on the sequence of production and the processing times of products, so first we must see how to compute the time table for a given sequence. To this end, let N be the number of products and M be the number of units in the plant. Let Cik (called completion time) be the time at which ith product (or the product in slot i) in the sequence leaves unit uk after completion of its processing and let ptik be the time required to process the ith product on unit uk. As a convention, by ith product, we mean the product in slot i of the sequence, and by product i, we mean product pi. Thus i in ptik and Cik denotes the position of a product in the sequence and does not mean product pi. For instance in Fig. 1, p3 is the first product to be produced, so pt11, C11 and C12 are as shown. Similarly p2 is the 3rd product in the sequence, so C32 is as shown in Fig. 1. Now let tik denote the processing time for product pi. Here i refers to product pi, so t32 = 7.5 h for instance. Clearly CNM is the makespan that we would like to minimize. Let us first derive a set of constraints (called recurrence relations, see Ku and Karimi, 1988, 1990) which interrelate the Cik. First of all, ith product cannot leave unit uk until it is processed, and in order to get processed on unit uk, it must have left unit u(k 1). Therefore the time at which it leaves unit k (i.e. Cik) must be after the time at which it leaves unit u(k 1) plus its processing time on uk. Thus we have the first set of constraints in our formulation, Cik Ci(k 1) + ptik i = 1,N k = 2,M (1) Copyright 2009 IA Karimi & DY Lee Page 2 of 8

Similarly ith product cannot leave unit uk, until (i 1)th product has left and the former has been processed, therefore Cik C(i-1)k + ptik i = 1,N k = 1,M (2) where we will set C0k = 0. Lastly ith product cannot leave unit uk, until the downstream unit u(k+1) is free (i.e. (i 1)th product has left), therefore Cik C(i-1)(k+1) i = 1,N k = 1,M-1 (3) Although Eqs. 1-3 repesent the complete set of constraints, we can reduce their number as follows. From Eq. 1, we have Cik Ci(k-1) + ptik for k 2. But from Eq. 3, Ci(k-1) C(i-1)k, hence Cik C(i-1)k + ptik for k = 2,M. In essence, Eqs. 1 and 3 imply Eqs. 2 for k = 2,M, so Eqs. 2 for k = 2,M are redundant. Having derived the constraints for completion times, let us turn our attention to the determination of the sequence. In contrast to the Cik, the decision variables here are discrete, because we want to decide which products should be in which positions in the sequence. Such decisions in optimization problems are best handled by what are known as binary (or 0-1 or integer) variables. Let us define Xij as follows. Xij = 1 if product i (i.e. product with label pi) is in slot j of the sequence, otherwise it is zero. So X32 = 1 means that product p3 is second in the production sequence, and X32 = 0 means that it is not in the second position. Clearly Xij must satisfy some constraints so as to give us a meaningful sequence. For instance, there should be only one product in every slot j of the sequence. This can be assured by, X1j + X2j + X3j + X4j +... + XNj = 1 j = 1,N (4) Similarly every product should occupy only one slot in the sequence, i.e. Xi1 + Xi2 + Xi3 + Xi4 +... + XiN = 1 i = 1,N (5) The Xij which satisfy Eqs. 4 and 5 will always give us a meaningful sequence. Now we must determine ptik for any given set of Xij. Essentially what we want to achieve is as follows. If product pi is in slot j, then ptjk must be tik. But we know that if product pi is in slot j, then Xij = 1 and Xi1 = Xi2 = = Xi(j-1) = Xi(j+1) = = XiN = 0, therefore we can use Xij to pick the right processing time representing ptjk. Mathematically this can be done by imposing the constraint ptik = X1it1k + X2it2k + X3it3k +... + XNitNk i = 1,N k = 1,M (6) To reduce the number of constraints, we substitute ptik from Eq. 6 into Eqs. 1 and 2 to obtain the following formulation (Ku and Karimi, 1988). Minimize CNM Subject to Eqs. 4, 5, 3 Copyright 2009 IA Karimi & DY Lee Page 3 of 8

N Cik Ci(k-1) + j= 1 Ci1 C(i-1)1 + j= 1 Cik 0 and Xij binary N Xjitjk i = 1,N k = 2,M (7) Xjitj1 i = 1,N (8) Since the above formulation involves binary (Xij) as well as continuous variables (Cik) and has no nonlinear function, it is a mixed integer linear programming (MILP) problem. In GAMS, the solver is MIP for such problems. In our GAMS model for this problem, we use CARD() to calculate N and M. CARD() gives the number of elements in a set. We use ORD() to control the indices in a sum or the definition of an equation over certain values using $(condition) clause. ORD() gives the position of an element in a set, e.g. ORD(p2) = 2, while $(condition) eliminates those indices for which condition is not satisfied. Eqs. 8, 7, and 3 are modeled by equations CEQ1, CEQ2, and CEQ3 in GAMS. In CEQ1(I, "u1"), the first term in the RHS will be taken as zero if the condition (ORD(I) GT 1) is not satisfied. CEQ2 are defined only for those I for which (ORD(I) GT 1) is satisfied, and CEQ3 are defined only for those I and UK for which (ORD(I) GT 1 AND ORD(UK) LT M) is satisfied. We used the ALIAS statement to give another name I to set J. This makes it easier to describe expressions involving the Xij and Cik. Finally we simplify the sums in Eqs. 7 and 8 by expressing T(PI,UK)=TMIN(UK)+[T(PI,UK) TMIN(UK)], where TMIN(UK) is the minimum processing time of products on unit uk, and then using Eq. 4 to replace one of the terms in the sum by a constant. This increases the sparsity of the formulation, and also reduces the coefficients of binary variables in the MILP. Both these make it easier to solve the MILP (Martin and Schrage, 1985). The function SMIN is used to calculate TMIN. Results GAMS uses the MIP solver for this problem. The solver status is normal completion and an optimal solution is achieved. The Xij define the sequence of production and the Cik give us the time table of operations. From the GAMS output, we see that X11 = X24 = X 32 = X43 = 1. This means that p1 is in the first position in the optimal production sequence, p2 in the fourth, p3 in the second, and p4 in the third. In other words, the optimal sequence is to produce products in the order p1-p3-p4-p2. In contrast to the Xij, we must be careful in interpreting the Cik from the GAMS output, because C(I,UK) really means the time at which the ith product in the sequence (and not product pi) leaves unit uk. Therefore C(2,U3) = 23.3 means that the second product (i.e. p3) leaves unit u3 at 23.3 h. Interpreting the others in this way, the schedule corresponding to this production sequence is conveniently displayed in form of a Gantt chart in Fig. 3. Gantt chart shows what the processing units are doing at diffferent times. For instance, unit u1 is processing p1 during [0, 3.5] h. When p1 leaves it at t = 3.5 h, it starts processing p3. It processes p3 during [3.5, 7] h. But as we see from the chart, it is unable to discharge p3 to unit u2, because unit u2 is still processing p1. So unit u1 holds p3 during [7, 7.8] h. When unit u2 discharges p3 to unit u3 at 16.5 h, unit u1 is still processing p4, therefore unit u2 remains idle during [16.5, 19.8] h. Instances of units being blocked due to busy downstream units or units Copyright 2009 IA Karimi & DY Lee Page 4 of 8

waiting for upstream units to finish are quite common in batch plants. This happens because the processing times vary from unit to unit and from product to product. These reduce the time utilization of units in a batch plant. By minimizing the makespan, we wish to maximize the productivity of the plant. The finished batches of p1, p3, p2, and p4 are completed at times 16.5 h, 23.3 h, 31.3 h, and 34.8 h. The minimum makespan is 34.8 h. Figure 3. Gantt Chart for the Optimal Schedule Copyright 2009 IA Karimi & DY Lee Page 5 of 8

Suggested Exercises (a) Find a sequence of production that maximizes the makespan. If an operator in the plant randomly picks a sequence of production (i.e. does not try to find the one with the minimum makespan) and happens to pick the sequence with the maximum makespan, how much extra time (in %) would he waste as compared to the minimum makespan. (b) In the present formulation, we implicitly assumed that we were free to sequence products as we wish. In reality, it is possible that to produce one product, one may need another, so the latter must be produced before the former. This will reduce the number of acceptable sequences. Such constraints are called precedence constraints. Suppose that in this example, p3 is needed to produce p1, i.e. we are only interested in sequences in which p3 is processed earlier than p1. Add appropriate constraints to the above formulation to accomplish this. (c) In the above formulation, we assumed that a product could be in any position in the sequence. If we decided that a product can be in one of only some selected positions. For instance, p1 can only be in positions 1 or 2, p2 in positions 2 or 3 or 4, p3 in positions 1 or 3 or 4, and p4 in 2 or 3. How will you modify the formulation to restrict the possible positions for products in the sequence? References Ku, H. M., D. Rajagopalan, and I. A. Karimi, "Scheduling in Batch Processes," Chem. Eng. Prog., 83, 8, 35 (1987). Ku, H. M., and I. A. Karimi, "Scheduling in Serial Multiproduct Batch Processes with Finite Interstage Storage: A Mixed Integer Linear Program Formulation," Ind. Eng. Chem. Res., 27, 10, 1840 (1988). Ku, H. M., and I. A. Karimi, "Completion Time Algorithms for Serial Multiproduct Batch Processes with Shared Storage," Comp. Chem. Eng., 14, 1, 49 (1990). Martin, R. K., and L. Schrage, "Subset Coefficient Reduction Cuts for 0/1 Mixed-Integer Programming," Opns. Res., 33, 505 (1985). GAMS Model (MILP) OPTION SOLPRINT = OFF; OPTION LP = OSL; OPTION MIP = OSL; * Define product and unit index sets SETS Copyright 2009 IA Karimi & DY Lee Page 6 of 8

PI Product batches to be produced /p1*p4/ UK Four batch processing units in the plant /u1*u3/ J Slots for products in the sequence /1*4/; ALIAS (I, J); * Define and initialize problem data TABLE T(PI,UK) Processing times of products on unit UK in h u1 u2 u3 p1 3.5 4.3 8.7 p2 4.0 5.5 3.5 p3 3.5 7.5 6.0 p4 12.0 3.5 8.0 PARAMETER TMIN(UK) Minimum of the processing times of products on UK; TMIN(UK) = SMIN(PI, T(PI,UK)); PARAMETER TP(PI,UK) Processing times of products above TMIN on UK; TP(PI,UK) = T(PI,UK) - TMIN(UK); SCALAR N Number of products to be produced M Number of units in the plant; N = CARD(PI); M = CARD(UK); * Define optimization variables VARIABLES X(PI,J) Product PI is in sequence slot J C(I,UK) Completion time of the product in sequence slot I on unit UK MSPAN Makespan or total time to produce all products; POSITIVE VARIABLES C; BINARY VARIABLES X; * Define constraints and objective function EQUATIONS OBJFUN Minimize makespan ONEPRODUCT(J) Only one product should be in each slot ONESLOT(PI) Only one slot should be assigned to each product CEQ1(I,UK) Completion time recurrence Eqs. 8 CEQ2(I,UK) Completion time recurrence Eqs. 7 CEQ3(I,UK) Completion Time recurrence Eqs. 3; OBJFUN.. MSPAN =E= SUM((I,UK) $(ORD(I) EQ N AND ORD(UK) EQ M), C(I,UK)); Copyright 2009 IA Karimi & DY Lee Page 7 of 8

ONEPRODUCT(J).. SUM (PI, X(PI,J)) =E= 1; ONESLOT(PI).. SUM(J, X(PI,J)) =E= 1; CEQ1(I,"u1").. C(I,"u1") =G= C(I-1,"u1") $(ORD (I) GT 1) + TMIN("u1") + SUM(PI, TP(PI,"u1")*X(PI,I)); CEQ2(I,UK) $(ORD(UK) GT 1).. C(I,UK) =G= C(I,UK-1) + TMIN(UK) + SUM(PI, TP(PI,UK)*X(PI,I)); CEQ3(I,UK) $(ORD(I) GT 1 AND ORD(UK) LT M).. C(I,UK) =G= C(I-1,UK+1); * Define model and solve MODEL SCHEDULE /ALL/; SOLVE SCHEDULE USING MIP MINIMIZING MSPAN; DISPLAY X.L, C.L, MSPAN.L; Copyright 2009 IA Karimi & DY Lee Page 8 of 8