Multiproduct Batch Plant Scheduling

Size: px
Start display at page:

Download "Multiproduct Batch Plant Scheduling"

Transcription

1 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

2 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

3 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 + Xi 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

4 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

5 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

6 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

7 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 p p p p 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

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

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

A Continuous-Time Formulation for Scheduling Multi- Stage Multi-product Batch Plants with Non-identical Parallel Units European Symposium on Computer Arded Aided Process Engineering 15 L. Puigjaner and A. Espuña (Editors) 2005 Elsevier Science B.V. All rights reserved. A Continuous-Time Formulation for Scheduling Multi-

More information

A MILP Scheduling Model for Multi-stage Batch Plants

A MILP Scheduling Model for Multi-stage Batch Plants A MILP Scheduling Model for Multi-stage Batch Plants Georgios M. Kopanos, Luis Puigjaner Universitat Politècnica de Catalunya - ETSEIB, Diagonal, 647, E-08028, Barcelona, Spain, E-mail: [email protected]

More information

Largest Fixed-Aspect, Axis-Aligned Rectangle

Largest Fixed-Aspect, Axis-Aligned Rectangle Largest Fixed-Aspect, Axis-Aligned Rectangle David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: February 21, 2004 Last Modified: February

More information

Linear Programming Notes VII Sensitivity Analysis

Linear Programming Notes VII Sensitivity Analysis Linear Programming Notes VII Sensitivity Analysis 1 Introduction When you use a mathematical model to describe reality you must make approximations. The world is more complicated than the kinds of optimization

More information

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

Section 1.3 P 1 = 1 2. = 1 4 2 8. P n = 1 P 3 = Continuing in this fashion, it should seem reasonable that, for any n = 1, 2, 3,..., = 1 2 4. Difference Equations to Differential Equations Section. The Sum of a Sequence This section considers the problem of adding together the terms of a sequence. Of course, this is a problem only if more than

More information

Linear Programming Notes V Problem Transformations

Linear Programming Notes V Problem Transformations Linear Programming Notes V Problem Transformations 1 Introduction Any linear programming problem can be rewritten in either of two standard forms. In the first form, the objective is to maximize, the material

More information

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

a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2. Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given

More information

Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS

Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS Sensitivity Analysis 3 We have already been introduced to sensitivity analysis in Chapter via the geometry of a simple example. We saw that the values of the decision variables and those of the slack and

More information

Row Echelon Form and Reduced Row Echelon Form

Row Echelon Form and Reduced Row Echelon Form These notes closely follow the presentation of the material given in David C Lay s textbook Linear Algebra and its Applications (3rd edition) These notes are intended primarily for in-class presentation

More information

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

Integrated support system for planning and scheduling... 2003/4/24 page 75 #101. Chapter 5 Sequencing and assignment Strategies Integrated support system for planning and scheduling... 2003/4/24 page 75 #101 Chapter 5 Sequencing and assignment Strategies 5.1 Overview This chapter is dedicated to the methodologies used in this work

More information

Blending petroleum products at NZ Refining Company

Blending petroleum products at NZ Refining Company Blending petroleum products at NZ Refining Company Geoffrey B. W. Gill Commercial Department NZ Refining Company New Zealand [email protected] Abstract There are many petroleum products which New Zealand

More information

NUMBER SYSTEMS. William Stallings

NUMBER SYSTEMS. William Stallings NUMBER SYSTEMS William Stallings The Decimal System... The Binary System...3 Converting between Binary and Decimal...3 Integers...4 Fractions...5 Hexadecimal Notation...6 This document available at WilliamStallings.com/StudentSupport.html

More information

Constraints Propagation Techniques in Batch Plants Planning and Scheduling

Constraints Propagation Techniques in Batch Plants Planning and Scheduling European Symposium on Computer Arded Aided Process Engineering 15 L. Puigjaner and A. Espuña (Editors) 2005 Elsevier Science B.V. All rights reserved. Constraints Propagation Techniques in Batch Plants

More information

Math 115 Spring 2011 Written Homework 5 Solutions

Math 115 Spring 2011 Written Homework 5 Solutions . Evaluate each series. a) 4 7 0... 55 Math 5 Spring 0 Written Homework 5 Solutions Solution: We note that the associated sequence, 4, 7, 0,..., 55 appears to be an arithmetic sequence. If the sequence

More information

Systems of Linear Equations

Systems of Linear Equations Systems of Linear Equations Beifang Chen Systems of linear equations Linear systems A linear equation in variables x, x,, x n is an equation of the form a x + a x + + a n x n = b, where a, a,, a n and

More information

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

MIP-Based Approaches for Solving Scheduling Problems with Batch Processing Machines The Eighth International Symposium on Operations Research and Its Applications (ISORA 09) Zhangjiajie, China, September 20 22, 2009 Copyright 2009 ORSC & APORC, pp. 132 139 MIP-Based Approaches for Solving

More information

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.

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. MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

More information

Section 1.1 Linear Equations: Slope and Equations of Lines

Section 1.1 Linear Equations: Slope and Equations of Lines Section. Linear Equations: Slope and Equations of Lines Slope The measure of the steepness of a line is called the slope of the line. It is the amount of change in y, the rise, divided by the amount of

More information

Chapter 13: Binary and Mixed-Integer Programming

Chapter 13: Binary and Mixed-Integer Programming Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:

More information

Duality in Linear Programming

Duality in Linear Programming Duality in Linear Programming 4 In the preceding chapter on sensitivity analysis, we saw that the shadow-price interpretation of the optimal simplex multipliers is a very useful concept. First, these shadow

More information

Discrete Optimization

Discrete Optimization Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using

More information

The Basics of FEA Procedure

The Basics of FEA Procedure CHAPTER 2 The Basics of FEA Procedure 2.1 Introduction This chapter discusses the spring element, especially for the purpose of introducing various concepts involved in use of the FEA technique. A spring

More information

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

Recursive Algorithms. Recursion. Motivating Example Factorial Recall the factorial function. { 1 if n = 1 n! = n (n 1)! if n > 1 Recursion Slides by Christopher M Bourke Instructor: Berthe Y Choueiry Fall 007 Computer Science & Engineering 35 Introduction to Discrete Mathematics Sections 71-7 of Rosen cse35@cseunledu Recursive Algorithms

More information

Linear Programming. Solving LP Models Using MS Excel, 18

Linear Programming. Solving LP Models Using MS Excel, 18 SUPPLEMENT TO CHAPTER SIX Linear Programming SUPPLEMENT OUTLINE Introduction, 2 Linear Programming Models, 2 Model Formulation, 4 Graphical Linear Programming, 5 Outline of Graphical Procedure, 5 Plotting

More information

Linear Programming. March 14, 2014

Linear Programming. March 14, 2014 Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

More information

Overview of Industrial Batch Process Scheduling

Overview of Industrial Batch Process Scheduling CHEMICAL ENGINEERING TRANSACTIONS Volume 21, 2010 Editor J. J. Klemeš, H. L. Lam, P. S. Varbanov Copyright 2010, AIDIC Servizi S.r.l., ISBN 978-88-95608-05-1 ISSN 1974-9791 DOI: 10.3303/CET1021150 895

More information

Math 55: Discrete Mathematics

Math 55: Discrete Mathematics Math 55: Discrete Mathematics UC Berkeley, Spring 2012 Homework # 9, due Wednesday, April 11 8.1.5 How many ways are there to pay a bill of 17 pesos using a currency with coins of values of 1 peso, 2 pesos,

More information

What is Linear Programming?

What is Linear Programming? Chapter 1 What is Linear Programming? An optimization problem usually has three essential ingredients: a variable vector x consisting of a set of unknowns to be determined, an objective function of x to

More information

EXCEL SOLVER TUTORIAL

EXCEL SOLVER TUTORIAL ENGR62/MS&E111 Autumn 2003 2004 Prof. Ben Van Roy October 1, 2003 EXCEL SOLVER TUTORIAL This tutorial will introduce you to some essential features of Excel and its plug-in, Solver, that we will be using

More information

Solving Linear Programs

Solving Linear Programs Solving Linear Programs 2 In this chapter, we present a systematic procedure for solving linear programs. This procedure, called the simplex method, proceeds by moving from one feasible solution to another,

More information

Binary Number System. 16. Binary Numbers. Base 10 digits: 0 1 2 3 4 5 6 7 8 9. Base 2 digits: 0 1

Binary Number System. 16. Binary Numbers. Base 10 digits: 0 1 2 3 4 5 6 7 8 9. Base 2 digits: 0 1 Binary Number System 1 Base 10 digits: 0 1 2 3 4 5 6 7 8 9 Base 2 digits: 0 1 Recall that in base 10, the digits of a number are just coefficients of powers of the base (10): 417 = 4 * 10 2 + 1 * 10 1

More information

Solving Linear Programs in Excel

Solving Linear Programs in Excel Notes for AGEC 622 Bruce McCarl Regents Professor of Agricultural Economics Texas A&M University Thanks to Michael Lau for his efforts to prepare the earlier copies of this. 1 http://ageco.tamu.edu/faculty/mccarl/622class/

More information

Quotient Rings and Field Extensions

Quotient Rings and Field Extensions Chapter 5 Quotient Rings and Field Extensions In this chapter we describe a method for producing field extension of a given field. If F is a field, then a field extension is a field K that contains F.

More information

Math 319 Problem Set #3 Solution 21 February 2002

Math 319 Problem Set #3 Solution 21 February 2002 Math 319 Problem Set #3 Solution 21 February 2002 1. ( 2.1, problem 15) Find integers a 1, a 2, a 3, a 4, a 5 such that every integer x satisfies at least one of the congruences x a 1 (mod 2), x a 2 (mod

More information

Chapter 2 Solving Linear Programs

Chapter 2 Solving Linear Programs Chapter 2 Solving Linear Programs Companion slides of Applied Mathematical Programming by Bradley, Hax, and Magnanti (Addison-Wesley, 1977) prepared by José Fernando Oliveira Maria Antónia Carravilla A

More information

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

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012 Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about

More information

. 0 1 10 2 100 11 1000 3 20 1 2 3 4 5 6 7 8 9

. 0 1 10 2 100 11 1000 3 20 1 2 3 4 5 6 7 8 9 Introduction The purpose of this note is to find and study a method for determining and counting all the positive integer divisors of a positive integer Let N be a given positive integer We say d is a

More information

Scheduling Intermediate Storage Multipurpose Batch Plants Using the S-Graph

Scheduling Intermediate Storage Multipurpose Batch Plants Using the S-Graph Scheduling Intermediate Storage Multipurpose Batch Plants Using the S-Graph Javier Romero and Luis Puigjaner Chemical Engineering Dept., Universidad Politècnica de Catalunya, E-08028 Barcelona, Spain Tibor

More information

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

MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.436J/15.085J Fall 2008 Lecture 5 9/17/2008 RANDOM VARIABLES Contents 1. Random variables and measurable functions 2. Cumulative distribution functions 3. Discrete

More information

Batch Production Scheduling in the Process Industries. By Prashanthi Ravi

Batch Production Scheduling in the Process Industries. By Prashanthi Ravi Batch Production Scheduling in the Process Industries By Prashanthi Ravi INTRODUCTION Batch production - where a batch means a task together with the quantity produced. The processing of a batch is called

More information

3.1 Solving Systems Using Tables and Graphs

3.1 Solving Systems Using Tables and Graphs Algebra 2 Chapter 3 3.1 Solve Systems Using Tables & Graphs 3.1 Solving Systems Using Tables and Graphs A solution to a system of linear equations is an that makes all of the equations. To solve a system

More information

Single machine parallel batch scheduling with unbounded capacity

Single machine parallel batch scheduling with unbounded capacity Workshop on Combinatorics and Graph Theory 21th, April, 2006 Nankai University Single machine parallel batch scheduling with unbounded capacity Yuan Jinjiang Department of mathematics, Zhengzhou University

More information

Linear Programming. April 12, 2005

Linear Programming. April 12, 2005 Linear Programming April 1, 005 Parts of this were adapted from Chapter 9 of i Introduction to Algorithms (Second Edition) /i by Cormen, Leiserson, Rivest and Stein. 1 What is linear programming? The first

More information

The continuous and discrete Fourier transforms

The continuous and discrete Fourier transforms FYSA21 Mathematical Tools in Science The continuous and discrete Fourier transforms Lennart Lindegren Lund Observatory (Department of Astronomy, Lund University) 1 The continuous Fourier transform 1.1

More information

4.2 Description of the Event operation Network (EON)

4.2 Description of the Event operation Network (EON) Integrated support system for planning and scheduling... 2003/4/24 page 39 #65 Chapter 4 The EON model 4. Overview The present thesis is focused in the development of a generic scheduling framework applicable

More information

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

3.2. Solving quadratic equations. Introduction. Prerequisites. Learning Outcomes. Learning Style Solving quadratic equations 3.2 Introduction A quadratic equation is one which can be written in the form ax 2 + bx + c = 0 where a, b and c are numbers and x is the unknown whose value(s) we wish to find.

More information

Linear Programming in Matrix Form

Linear Programming in Matrix Form Linear Programming in Matrix Form Appendix B We first introduce matrix concepts in linear programming by developing a variation of the simplex method called the revised simplex method. This algorithm,

More information

Core Maths C1. Revision Notes

Core Maths C1. Revision Notes Core Maths C Revision Notes November 0 Core Maths C Algebra... Indices... Rules of indices... Surds... 4 Simplifying surds... 4 Rationalising the denominator... 4 Quadratic functions... 4 Completing the

More information

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

Introduction to Linear Programming (LP) Mathematical Programming (MP) Concept Introduction to Linear Programming (LP) Mathematical Programming Concept LP Concept Standard Form Assumptions Consequences of Assumptions Solution Approach Solution Methods Typical Formulations Massachusetts

More information

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

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

More information

Solution to Homework 2

Solution to Homework 2 Solution to Homework 2 Olena Bormashenko September 23, 2011 Section 1.4: 1(a)(b)(i)(k), 4, 5, 14; Section 1.5: 1(a)(b)(c)(d)(e)(n), 2(a)(c), 13, 16, 17, 18, 27 Section 1.4 1. Compute the following, if

More information

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

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

More information

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,...

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,... 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,.... After starting with two 1s, we get each Fibonacci number

More information

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

Supply planning for two-level assembly systems with stochastic component delivery times: trade-off between holding cost and service level Supply planning for two-level assembly systems with stochastic component delivery times: trade-off between holding cost and service level Faicel Hnaien, Xavier Delorme 2, and Alexandre Dolgui 2 LIMOS,

More information

Introduction to Matrix Algebra

Introduction to Matrix Algebra Psychology 7291: Multivariate Statistics (Carey) 8/27/98 Matrix Algebra - 1 Introduction to Matrix Algebra Definitions: A matrix is a collection of numbers ordered by rows and columns. It is customary

More information

Several Views of Support Vector Machines

Several Views of Support Vector Machines Several Views of Support Vector Machines Ryan M. Rifkin Honda Research Institute USA, Inc. Human Intention Understanding Group 2007 Tikhonov Regularization We are considering algorithms of the form min

More information

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

Part 1 Expressions, Equations, and Inequalities: Simplifying and Solving Section 7 Algebraic Manipulations and Solving Part 1 Expressions, Equations, and Inequalities: Simplifying and Solving Before launching into the mathematics, let s take a moment to talk about the words

More information

Solving convex MINLP problems with AIMMS

Solving convex MINLP problems with AIMMS Solving convex MINLP problems with AIMMS By Marcel Hunting Paragon Decision Technology BV An AIMMS White Paper August, 2012 Abstract This document describes the Quesada and Grossman algorithm that is implemented

More information

Support Vector Machines Explained

Support Vector Machines Explained March 1, 2009 Support Vector Machines Explained Tristan Fletcher www.cs.ucl.ac.uk/staff/t.fletcher/ Introduction This document has been written in an attempt to make the Support Vector Machines (SVM),

More information

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 8, No 2 Sofia 2008 Optimal Scheduling for Dependent Details Processing Using MS Excel Solver Daniela Borissova Institute of

More information

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

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that

More information

Introduction. Appendix D Mathematical Induction D1

Introduction. Appendix D Mathematical Induction D1 Appendix D Mathematical Induction D D Mathematical Induction Use mathematical induction to prove a formula. Find a sum of powers of integers. Find a formula for a finite sum. Use finite differences to

More information

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

SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89 by Joseph Collison Copyright 2000 by Joseph Collison All rights reserved Reproduction or translation of any part of this work beyond that permitted by Sections

More information

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

4 The M/M/1 queue. 4.1 Time-dependent behaviour 4 The M/M/1 queue In this chapter we will analyze the model with exponential interarrival times with mean 1/λ, exponential service times with mean 1/µ and a single server. Customers are served in order

More information

Math 4310 Handout - Quotient Vector Spaces

Math 4310 Handout - Quotient Vector Spaces Math 4310 Handout - Quotient Vector Spaces Dan Collins The textbook defines a subspace of a vector space in Chapter 4, but it avoids ever discussing the notion of a quotient space. This is understandable

More information

10.2 Series and Convergence

10.2 Series and Convergence 10.2 Series and Convergence Write sums using sigma notation Find the partial sums of series and determine convergence or divergence of infinite series Find the N th partial sums of geometric series and

More information

Language Modeling. Chapter 1. 1.1 Introduction

Language Modeling. Chapter 1. 1.1 Introduction Chapter 1 Language Modeling (Course notes for NLP by Michael Collins, Columbia University) 1.1 Introduction In this chapter we will consider the the problem of constructing a language model from a set

More information

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

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 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 1 Oh the things you should learn How to recognize and write arithmetic sequences

More information

Summary of specified general model for CHP system

Summary of specified general model for CHP system Fakulteta za Elektrotehniko Eva Thorin, Heike Brand, Christoph Weber Summary of specified general model for CHP system OSCOGEN Deliverable D1.4 Contract No. ENK5-CT-2000-00094 Project co-funded by the

More information

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

Stanford Math Circle: Sunday, May 9, 2010 Square-Triangular Numbers, Pell s Equation, and Continued Fractions Stanford Math Circle: Sunday, May 9, 00 Square-Triangular Numbers, Pell s Equation, and Continued Fractions Recall that triangular numbers are numbers of the form T m = numbers that can be arranged in

More information

Special Situations in the Simplex Algorithm

Special Situations in the Simplex Algorithm Special Situations in the Simplex Algorithm Degeneracy Consider the linear program: Maximize 2x 1 +x 2 Subject to: 4x 1 +3x 2 12 (1) 4x 1 +x 2 8 (2) 4x 1 +2x 2 8 (3) x 1, x 2 0. We will first apply the

More information

Math 120 Final Exam Practice Problems, Form: A

Math 120 Final Exam Practice Problems, Form: A Math 120 Final Exam Practice Problems, Form: A Name: While every attempt was made to be complete in the types of problems given below, we make no guarantees about the completeness of the problems. Specifically,

More information

Short-term scheduling and recipe optimization of blending processes

Short-term scheduling and recipe optimization of blending processes Computers and Chemical Engineering 25 (2001) 627 634 www.elsevier.com/locate/compchemeng Short-term scheduling and recipe optimization of blending processes Klaus Glismann, Günter Gruhn * Department of

More information

Multi-variable Calculus and Optimization

Multi-variable Calculus and Optimization Multi-variable Calculus and Optimization Dudley Cooke Trinity College Dublin Dudley Cooke (Trinity College Dublin) Multi-variable Calculus and Optimization 1 / 51 EC2040 Topic 3 - Multi-variable Calculus

More information

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

Partial Fractions. Combining fractions over a common denominator is a familiar operation from algebra: Partial Fractions Combining fractions over a common denominator is a familiar operation from algebra: From the standpoint of integration, the left side of Equation 1 would be much easier to work with than

More information

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

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

More information

SOLVING TRIGONOMETRIC EQUATIONS

SOLVING TRIGONOMETRIC EQUATIONS Mathematics Revision Guides Solving Trigonometric Equations Page 1 of 17 M.K. HOME TUITION Mathematics Revision Guides Level: AS / A Level AQA : C2 Edexcel: C2 OCR: C2 OCR MEI: C2 SOLVING TRIGONOMETRIC

More information

Exploratory Factor Analysis

Exploratory Factor Analysis Introduction Principal components: explain many variables using few new variables. Not many assumptions attached. Exploratory Factor Analysis Exploratory factor analysis: similar idea, but based on model.

More information

The Graphical Method: An Example

The Graphical Method: An Example The Graphical Method: An Example Consider the following linear program: Maximize 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2 0, where, for ease of reference,

More information

Homework # 3 Solutions

Homework # 3 Solutions Homework # 3 Solutions February, 200 Solution (2.3.5). Noting that and ( + 3 x) x 8 = + 3 x) by Equation (2.3.) x 8 x 8 = + 3 8 by Equations (2.3.7) and (2.3.0) =3 x 8 6x2 + x 3 ) = 2 + 6x 2 + x 3 x 8

More information

Section IV.1: Recursive Algorithms and Recursion Trees

Section IV.1: Recursive Algorithms and Recursion Trees Section IV.1: Recursive Algorithms and Recursion Trees Definition IV.1.1: A recursive algorithm is an algorithm that solves a problem by (1) reducing it to an instance of the same problem with smaller

More information

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

We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: 9081 + 900b + 90c = 9001 + 100c + 10b In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should

More information

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

Design, synthesis and scheduling of multipurpose batch plants via an effective continuous-time formulation Computers and Chemical Engineering 25 (2001) 665 674 www.elsevier.com/locate/compchemeng Design, synthesis and scheduling of multipurpose batch plants via an effective continuous-time formulation X. Lin,

More information

EdExcel Decision Mathematics 1

EdExcel Decision Mathematics 1 EdExcel Decision Mathematics 1 Linear Programming Section 1: Formulating and solving graphically Notes and Examples These notes contain subsections on: Formulating LP problems Solving LP problems Minimisation

More information

Analysis of Algorithms I: Optimal Binary Search Trees

Analysis of Algorithms I: Optimal Binary Search Trees Analysis of Algorithms I: Optimal Binary Search Trees Xi Chen Columbia University Given a set of n keys K = {k 1,..., k n } in sorted order: k 1 < k 2 < < k n we wish to build an optimal binary search

More information

An Introduction to Calculus. Jackie Nicholas

An Introduction to Calculus. Jackie Nicholas Mathematics Learning Centre An Introduction to Calculus Jackie Nicholas c 2004 University of Sydney Mathematics Learning Centre, University of Sydney 1 Some rules of differentiation and how to use them

More information

Name: Section Registered In:

Name: Section Registered In: Name: Section Registered In: Math 125 Exam 3 Version 1 April 24, 2006 60 total points possible 1. (5pts) Use Cramer s Rule to solve 3x + 4y = 30 x 2y = 8. Be sure to show enough detail that shows you are

More information

3 Some Integer Functions

3 Some Integer Functions 3 Some Integer Functions A Pair of Fundamental Integer Functions The integer function that is the heart of this section is the modulo function. However, before getting to it, let us look at some very simple

More information

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

BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle Page 1 of?? ENG rectangle Rectangle Spoiler Solution of SQUARE For start, let s solve a similar looking easier task: find the area of the largest square. All we have to do is pick two points A and B and

More information

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

9.4. The Scalar Product. Introduction. Prerequisites. Learning Style. Learning Outcomes The Scalar Product 9.4 Introduction There are two kinds of multiplication involving vectors. The first is known as the scalar product or dot product. This is so-called because when the scalar product of

More information

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

So let us begin our quest to find the holy grail of real analysis. 1 Section 5.2 The Complete Ordered Field: Purpose of Section We present an axiomatic description of the real numbers as a complete ordered field. The axioms which describe the arithmetic of the real numbers

More information

6.4 Normal Distribution

6.4 Normal Distribution Contents 6.4 Normal Distribution....................... 381 6.4.1 Characteristics of the Normal Distribution....... 381 6.4.2 The Standardized Normal Distribution......... 385 6.4.3 Meaning of Areas under

More information

Integer Programming Formulation

Integer Programming Formulation Integer Programming Formulation 1 Integer Programming Introduction When we introduced linear programs in Chapter 1, we mentioned divisibility as one of the LP assumptions. Divisibility allowed us to consider

More information