Nicolai N. Pisaruk Mixed Integer Programming in Operations Management (MIPCL-PY manual)

Size: px
Start display at page:

Download "Nicolai N. Pisaruk Mixed Integer Programming in Operations Management (MIPCL-PY manual)"

Transcription

1 Nicolai N. Pisaruk Mixed Integer Programming in Operations Management (MIPCL-PY manual) MINSK 2017

2 N.N. Pisaruk. Mixed Integer Programming in operations management (MIPCL-PY manual). The goal of operations managers is to efficiently use raw materials, human resources, equipment, and facilities in supplying quality goods or services. Entry-level operations managers determine how best to design, supply, and run business processes. Senior operations managers are responsible for setting strategic decisions from an operations standpoint, deciding what technologies should be used, where facilities should be located, and managing the facilities making products or providing services. This manual discusses diverse applications of optimization in operations management. We do not restrict ourselves to formulating mathematical models. Anyone who has ever attempted to apply mathematical programming in practice knows that it is usually not a simple and straightforward exercise. To facilitate this task, optimization modeling languages were designed to easily implement optimization problems as computer programs. All the models considered in the manual are converted into Python programs using the MIPCL-PY module that facilitates modeling and solving mixed-integer programming problems with MIPCL (Mixed-Integer Programming Class Library). These simplified but practical computer programs can be used as templates for developing applications that support particular operations management decisions. Aimed at undergraduates, postgraduates, research students and managers, this manual shows how optimization is used in operations management. This manual may be copied, printed, and distributed in unaltered form both on paper and electronic media. It may be included in archives and on web sites. You are not allowed to make any changes to the file or to reverse engineer its source; you are not allowed to charge for its distribution whether in physical or electronic form beyond reasonable material costs. c N.N. Pisaruk, 2017

3 Contents Preface iii 1 Aggregate Production Planning Single Product Lot-Sizing Basic Single Product Lot-Sizing Problem Lot-Sizing With Backordering MIPCL-PY Implementation Aggregate Planning Example Multiproduct Lot-Sizing Mixed-Integer Programming Formulation MIPCL-PY Implementation Example of Usage Operations Scheduling Scheduling Problems Time-Index Formulation MIPCL-PY Implementation Example of Usage Electricity Generation Planning Mixed-Integer Programming Formulation MIPCL-PY Implementation Example of Usage Short-Term Scheduling in Chemical Industry Mixed-Integer Programming Formulation MIPCL-PY Implementation Example of Usage Project Scheduling Integer Programming Formulation MIPCL-PY Implementation Example of Usage Facility Layout Process Layout Integer Programming Formulation MIPCL-PY Implementation Example of Usage Balancing Assembly Lines i

4 ii Contents Integer Programming Formulation MIPCL-PY Implementation Example of Usage Service Management Service Facility Location Integer Programming Formulation MIPCL-PY Implementation Examples of Usage: Locating Two Medical Clinics Data Envelopment Analysis Linear Programming Formulation MIPCL-PY Implementation Example of Usage Yield management Yield Management In Airline Industry Mixed-Integer Programming Formulation MIPCL-PY Implementation Example of Usage Logistics management Fixed Charge Network Flows Mixed-Integer Programming Formulation MIPCL-PY Implementation Example of Usage Single Depot Vehicle Routing problem Mixed Integer Programming Formulation MIPCL-PY Implementation Example of Usage Multi-Dimensional Packing Integer Programming Formulation of m-kp Tightening Basic Model MIPCL-PY Implementation Example of Usage Bibliography 91 Index 93

5 Preface Operations management may be defined as the design, operation, and improvement of the production systems that create the firm s primary products and services. A production system uses operations resources to transform inputs (raw materials, customer demands, or finished products from another production system) into outputs (finished products or services). Operations resources include people, plants, parts, processes, and planning and control systems (five P s of operations management). People are the direct and indirect workforce. Plants include the factories or service units where production is carried out. Parts comprise the materials or supplies. Processes include equipment and technological processes. Planning and control systems perform procedures and information management to operate the production system. Operations decisions are made in the context of the firm as a whole (see Figure 1). Starting from its marketplace (the firms s customers for its products and services), the firm determines its corporate strategy. This strategy is based on the corporate mission, and in essence, it reflects how the firm plans to use all its resources and functions (marketing, finance, and operations) to gain competitive advantage. The operations strategy specifies how the firm will employ its production capabilities to support its corporate strategy. The marketing strategy addresses how the firm will sell and distribute its goods and services, and the finance strategy identifies how best to utilize the firm s financial resources. Operations management decisions can be divided into three broad categories: strategic (long-term) decisions; tactical (intermediate-term) decisions; operational planning and control (short-term) decisions. Strategic issues usually address such questions as: How will we make the product? Where do we locate the facilities and what are their capacities? Where do we sell our products and services? iii

6 iv Preface Marketplace Corporate Strategy Finance Strategy Operations Strategy Marketing Strategy Operations Management Inputs Materials Customers People Plants Parts Processes Planning and Control Systems Production System Outputs Produts Services Figure 1: Firm s decision chart The time horizon for strategic decisions is typically very long. These decisions impact firm s long-range effectiveness in terms of how it can address its customer s needs. Thus, for the firm to succeed, strategic decisions must be consistent with firm s corporate strategy. These decisions become operating constraints under which firm s decisions are made in both the intermediate and short term. At the next level in the decision-making process, tactical planning primarily addresses how to efficiently use materials and labor within the constraints of previously made strategic decisions. Issues to be managed on this level are: How many workers do we need, and when do we need them? Should we work overtime or put a second shift? When should we have material delivered? Should we have raw materials and finished products inventory? Tactical decisions, in turn, become the operating constraints for making operational planning and control decisions. Issues at this level include: What jobs be done today or this week? Who is assigned to a particular task? What jobs are most urgent? All example applications considered in this manual (and many more) are included into the MIPCL- PY installation bundle. Specifically, the python modules are in the mipcl-py/models folder, while

7 Preface v examples of usage of those modules are in the mipcl-py/tests folder. Here mipcl-py stands for the installation directory of MIPCL-PY. For example, the module multlotsize, which implements the multiproduct lot-sizing problem, is in mipcl-py/models, and an example, testmultlotsize.py, of its usage is in mipcl-py/test/multlotsize.

8

9 Chapter 1 Aggregate Production Planning Aggregate production planning is intermediate-range planning (usually covers a planning horizon from one to several months) that is concerned with determining production rates for some product groups. An aggregate plan is to find an optimal trade off of production rates, used resources, and inventory 1 levels. In this chapter we consider aggregate production planning models of different complexity. Usually, these models are integrated into supply chain systems that manage the flows of information, materials, and services from raw material supplies through factories and warehouses to the end customers. 1.1 Single Product Lot-Sizing Simple inventory models, such as EOQ and its extensions, are based on the assumption that the consumption is instantaneous and the demand for product is constant per time unit These assumptions are too ideal, and, therefore, may be too restrictive in practice. The demand for a product is rarely constant because of season fluctuations and many other reasons. The product production and storage costs also depends on the season. In this section we consider a few more realistic model Basic Single Product Lot-Sizing Problem The problem is to decide on a production plan for a single product within a T -period horizon. For each period t the following parameters are known: f t : fixed production setup cost; p t : unit production cost; h t : unit inventory cost (includes storage cost, insurance, taxes, and the cost of capital tied up in inventory); d t : product demand; u t : production (or transportation) capacity. The problem is to determine the amounts of the product to be produced in each of T periods so that the demands in all periods are fully satisfied, the production (transportation) capacities are not violated, and the total cost of producing and storing the product is minimum. To formulate this problem as a mixed-integer program (MIP), we introduce the following variables: 1 Inventories are stocks of goods being held for future use or sale. 1

10 2 Chapter 1. Aggregate Production Planning x t : amount of product produced in period t; s t : stock at the end of period t; y t : with y t = 1 if production occurs in period t, and y t = 0 otherwise. With these variables the problem is formulated as follows: T p t x t + t=1 T h t y t + t=1 T f t y t min t=1 (1.1a) s t 1 + x t = d t + s t, t = 1,..., T, (1.1b) x t u t y t, t = 1,..., T, (1.1c) s t, x t 0, y t {0, 1}, t = 1,..., T. (1.1d) Let us note that the initial stock, s 0, is not a variable but an input parameter. The balancing constraints (1.1b) ensure a proper transition from any period to the next one: the inventory from period t 1 plus the production in period t equals the demand (sales) in period t plus the inventory to the next period. The capacity constraints (1.1c) (such constraints are also called variable upper bounds) require that in any period t the product is produced only if the production occurs in this period (y t = 1), and the amount produced, x t, does not exceed the production capacity for this period. The objective (1.1a) is to minimize the total production cost Backordering and Overtime Production When production capacities are not sufficient to meet all demands in required terms, sometimes it is allowed that a product demanded in period τ can be delivered in later period t (τ < t) with a discount of b tτ that includes cost of expediting, loss of customer goodwill (usually hard to measure), and a possible discount. This is called backordering or backlogging. In some cases it is also convenient to divide each time period into a number of production periods. For example, we may produce in regular time and in overtime. Overtime production is, of course, more expensive. Therefore, let us assume that there are T p production periods, and f τ, p τ, u τ are, respectively, fixed production cost, unit production cost, and production capacity in production period τ = 1,..., T p. As before, h t and d t denote the unit storage cost and demand in period t = 1,..., T. To model backordering, we use the following variables: x τt : amount of product produced in production period τ to satisfy demand of period t; y τ = 1 if production occurs in production period τ, and y τ = 0 otherwise. With these variables the model (1.1) is extended as follows: T p τ=1 t=1 T p T T p c τt x τt + f τ y τ min, τ=1 (1.2a) x τt = d t, t = 1,..., T, (1.2b) τ=1

11 1.1. Single Product Lot-Sizing 3 T x τt u τ y τ, τ = 1,..., T p, (1.2c) t=1 x τt 0, τ = 1,..., T p, t = 1,..., T, (1.2d) y τ {0, 1}, τ = 1,..., T p. (1.2e) Here the costs c τt are defibed by the rule: c τt def = p τ, p τ + b τt, p τ + τ 1 t=t h t, t = T (τ), t < T (τ), t > T (τ), (1.3) where T (τ) denote the time period that contains production period τ. The formulation (1.2) does not take into account the initial stock. But we can correct this by introducing in the first time period a production period, say indexed by 0, with production capacity u 0 equal to the initial stock, and production cost p 0 = 0. In the conclusion, let us note that the famous transportation problem is a special case of MIP (1.2) when all fixed costs f τ are zeroes (what implies that all y τ may be fixed to 1) MIPCL-PY Implementation Our implementation of MIP (1.2) in Listing 1.1 is straightforward. i m p o r t m i p s h e l l from m i p s h e l l i m p o r t c l a s s B a c k l o g l o t s i z e ( Problem ) : d e f model ( s e l f, d, u, f, c ) : s e l f. f, s e l f. c = f, c T, Tp = l e n ( d ), l e n ( u ) s e l f. x = x = VarVector ( ( Tp, T ), x ) s e l f. y = y = VarVector ( [ Tp ], y, BIN ) minimize ( sum ( c [ t a u ] [ t ] x [ t a u ] [ t ] f o r t a u i n r a n g e ( Tp ) \ f o r t i n r a n g e ( T ) i f c [ t a u ] [ t ] >= 0) +\ sum ( f [ t a u ] y [ t a u ] f o r t a u i n r a n g e ( Tp ) ) ) f o r t i n r a n g e ( T ) : sum ( x [ t a u ] [ t ] f o r t a u i n r a n g e ( Tp ) ) == d [ t ] f o r t a u i n r a n g e ( Tp ) : sum ( x [ t a u ] [ t ] f o r t i n r a n g e ( T ) ) <= u [ t a u ] y [ t a u ] f o r t a u i n r a n g e ( Tp ) : f o r t i n r a n g e ( T ) : i f c [ t a u ] [ t ] < 0 : x [ t a u ] [ t ] == 0 ; Listing 1.1: MIPCL-PY implementation of lot-sizing with backordering: model

12 4 Chapter 1. Aggregate Production Planning Input parameters: d: list, where d[t] is demand for product in period t; u: list, where u[t] is is production capacity in period t; f: list, where f[t] is fixed cost of starting production in period t; c: list of lists, where c[tau][t] is cost of producing one unit of product in period t, and then supplying that unit to meet demand for period tau. When a solution is found, one may want to print it in a readable way. Listing 3.6 presents a procedure which is a member of Backloglotsize that does this job. d e f p r i n t S o l u t i o n ( s e l f ) : f, c = s e l f. f, s e l f. c x, y = s e l f. x, s e l f. y Tp, T = l e n ( x ), l e n ( x [ 0 ] ) prodcost, f x C o s t = 0, 0 p r i n t ( ) p r i n t ( Prod. p r o d u c e s f o r demand ) p r i n t ( p e r i o d ( u n i t s ) p e r i o d ) f o r t a u i n r a n g e ( Tp ) : prod =k =0; i f y [ t a u ]. v a l > 0. 5 : p r i n t ( + + ) f x C o s t += f [ t a u ] f o r t i n r a n g e ( T ) : v a l = i n t ( x [ t a u ] [ t ]. v a l ) i f v a l > 0 : prod += v a l p r o d C o s t += c [ t a u ] [ t ] v a l i f k > 0 : s t r = e l s e : s t r = { : 4 d}. f o r m a t ( t a u ) p r i n t ( s t r + { : 8 d} { : 4 d}. f o r m a t ( val, t +1) ) k += 1 p r i n t ( ) p r i n t ( P r o d u c t i o n c o s t + r e p r ( p r o d Cost ) ) p r i n t ( Fixed c o s t + r e p r ( f x C o s t ) ) Listing 1.2: MIPCL-PY implementation of lot-sizing with backordering: printsolution Aggregate Planning Example A plant producing vehicles is to elaborate an aggregate plan for a month divided into four weeks with demand forecast as 1000 units in each. The capacity available is 4400 units per month: weeks 1 and 4: 600 in regular time and 200 in overtime;

13 1.1. Single Product Lot-Sizing 5 Table 1.1: Aggregate planning data Production periods Sales periods Stock Fixed costs Total capacity Stock Reg. time Overtime Reg. time Overtime Reg. time Overtime Reg. time Overtime Demand weeks 2 and 3: 1000 in regular time and 400 in overtime. At the beginning of the month there are 100 cars in inventory. Therefore an excess capacity is 500 ( ). However, it is highly desired to have 200 units in inventory at the end of the month. The inventory cost (holding cost + insurance + lost revenue) of one unit is $50 for each week. The average workforce cost per car is $1500 in regular time, and $2000 in overtime. Overtime is, of course, more expensive to start with; therefore there is an additional fixed cost of $10000 to organize overtime production in each week. Table 1.1 presents our example as an instance of the lot-sizing problem (1.2). Here we have 9 production periods: one artificial period represents the initial stock, the other 8 correspond to regular time and overtime production in each of four weeks; 5 consumption periods: each of four weeks is a consumption period, and one artificial period represents the stock at the end of the month. The numbers in four columns marked as Sales periods are the costs c τ,t, calculated by the rule (1.3). A dash in a cell indicates that a car produced in the period that corresponds to the cell row cannot be delivered to a customer that ordered a car to be delivered in the period that corresponds to the cell column. To solve this example, we wrote the program presented in Listing 1.3. #! / u s r / b i n / python from b a c k l o g l o t s i z e i m p o r t B a c k l o g l o t s i z e d = [ , 1000, 1000, 1000, 200] u = [ 1 0 0, 600, 200, 1000, 400, 1000, 400, 600, 200] f = [ 0, 0, , 0, , 0, , 0, ] c = [ [ 0, 50, 100, 150, ], [ , 1550, 1600, 1650, ], [ , 2050, 2100, 2150, ],

14 6 Chapter 1. Aggregate Production Planning [ , 1500, 1550, 1600, ], [ , 2000, 2050, 2100, ], [ 1, 2000, 1500, 1550, ], [ 1, 2500, 2000, 2050, ], [ 1, 1, 2000, 1500, ], [ 1, 1, 2500, 2000, ], ] prob = B a c k l o g l o t s i z e ( t e s t 1 ) prob. model ( d, u, f, c ) prob. o p t i m i z e ( ) prob. p r i n t S o l u t i o n ( ) Listing 1.3: Example of usage of class Backloglotsize If we run the above program, we get the following result. Prod. p r o d u c e s f o r demand p e r i o d ( u n i t s ) p e r i o d P r o d u c t i o n c o s t , Fixed c o s t Listing 1.4: Output of program from Listing Multiproduct Lot-Sizing We need to work out an aggregate production plan for n different products processed on a number of machines of m types for a planning horizon that extends over T periods. Inputs parameters: l t : duration (length) of period t; m it : number of machines of type i available in period t; f it : fixed cost of producing on machine of type i in period t; Ti min, Ti max : minimum and maximum working time of one machine of type i;

15 1.2. Multiproduct Lot-Sizing 7 c jt : per unit production cost of product j in period t; h jt : inventory holding cost per unit of product j in period t; d jt : demand for product j in period t; ρ jk : number of units of product j used for producing one unit of product k; τ ij : per unit production time of product j on machine of type i; s i j : initial stock of product j at the beginning of the planning horizon. s f j : final stock of product j at the end of the planning horizon. The goal is to determine the production levels for each product and each period so that to minimize the total production and inventory expenses over planing horizon Mixed-Integer Programming Formulation We introduce the following variables x jt : amount of product j, produced in period t; s jt : amount of product j in stock at the end of period t; y it : number of machines of type i working in period t. Now we formulate the problem as follows: T t=1 j=1 n (h jt s jt + c jt x jt ) + s i j + x j1 = d j1 + s j1 + T t=1 i=1 m f it y it min, (1.4a) n ρ jk x k,1, j = 1,..., n, (1.4b) k=1 s j,t 1 + x jt = d jt + s jt + n ρ jk x k,t, j = 1,..., n; t = 2,..., T, (1.4c) k=1 n τ ij x jt l t y it, i = 1,..., m; t = 1,..., T, (1.4d) j=1 s jt = s f j, j = 1,..., n, (1.4e) 0 s jt u j, x jt 0, j = 1,..., n; t = 1,..., T, (1.4f) 0 y it m it, y it Z, i = 1,..., m; t = 1,..., T. (1.4g) The objective (1.4a) prescribes to minimize the total production and inventory expenses. The balance equations (1.4b) and (1.4c) join two adjacent periods: product in stock in period t 1 plus that produced in period t equals the demand in period t plus the amount of product used when producing other products, and plus the amount in stock in period t. The inequalities (1.4d) require that the working times of all machines be withing given limits; besides, if machine i does not work in period t (y it = 0), then no product is produced by this machine (all x jt = 0).

16 8 Chapter 1. Aggregate Production Planning MIPCL-PY Implementation We implemented our multiproduct lot-sizing application as a class named MultLotSize, which description is given in listings The function that implements MIP (1.4), as usually, is called model. Its imlementation is given in listings 1.5 and 1.6. i m p o r t m i p s h e l l from m i p s h e l l i m p o r t c l a s s M u l t L o t S i z e ( Problem ) : d e f model ( s e l f, l, p r o d u c t s, machines ) : d e f s0 ( j ) : r e t u r n p r o d u c t s [ j ] [ 0 ] [ 0 ] d e f s f ( j ) : r e t u r n p r o d u c t s [ j ] [ 0 ] [ 1 ] d e f u ( j ) : r e t u r n p r o d u c t s [ j ] [ 0 ] [ 2 ] d e f d ( j, t ) : r e t u r n p r o d u c t s [ j ] [ 1 ] [ t ] d e f c ( j, t ) : r e t u r n p r o d u c t s [ j ] [ 2 ] [ t ] d e f h ( j, t ) : r e t u r n p r o d u c t s [ j ] [ 3 ] [ t ] d e f rho ( j, k ) : r e t u r n p r o d u c t s [ j ] [ 4 ] [ k ] d e f mn( i, t ) : r e t u r n machines [ i ] [ 0 ] [ t ] d e f f ( i, t ) : r e t u r n machines [ i ] [ 1 ] [ t ] d e f t a u ( i, j ) : r e t u r n machines [ i ] [ 2 ] [ j ] s e l f. p r o d u c t s, s e l f. machines = p r o d u c t s, machines m, n, T = l e n ( machines ), l e n ( p r o d u c t s ), l e n ( l ) Listing 1.5: MIPCL-PY implementation of multiproduct lot-sizing: model (part 1) Input parameters: l: list, where l[t] is duration of period t; products: list of lists, where product = products[j] has the following fields: product[0][0]: initial stock of product j; product[0][1]: final stock of product j; product[0][2]: storage capacity for product j; products[1][t]: demand in period t for product j; products[2][t]: unit production cost in period t for product j; product[3][t]: unit holding cost in period t for product j; product[4][k]: quantity of product j used in production of one unit of product k; machines: list of lists, where machine = machines[i] has the following fields: machine[0][t]: number of machines of type i available in period t; machine[1][t]: fixed cost of running one machine of type i in period t; machine[2][j]: time needed to produce one unit of product j on machine i. To keep our MIPCL-PY-model closely consistent with the MIP (1.4), we define a number of singleline local functions that extract the values of model parameters from input data. With those functions implementation of (1.4) is straightforward.

17 1.2. Multiproduct Lot-Sizing 9 s e l f. s = s = VarVector ( [ n, T ], s ) s e l f. x = x = VarVector ( [ n, T ], x, INT ) s e l f. y = y = VarVector ( [m, T ], y, INT ) minimize ( sum ( c ( j, t ) x [ j ] [ t ] + h ( j, t ) s [ j ] [ t ] f o r j i n r a n g e ( n ) f o r t i n r a n g e ( T ) ) + sum ( f ( i, t ) y [ i ] [ t ] f o r i i n r a n g e (m) f o r t i n r a n g e ( T ) ) ) f o r j i n r a n g e ( n ) : s0 ( j ) + x [ j ] [ 0 ] == d ( j, 0 ) + s [ j ] [ 0 ] \ + sum ( rho ( j, k ) x [ k ] [ 0 ] f o r k i n r a n g e ( n ) i f rho ( j, k ) > ZERO) f o r t i n r a n g e ( 1, T ) : f o r j i n r a n g e ( n ) : s [ j ] [ t 1] + x [ j ] [ t ] == d ( j, t ) + s [ j ] [ t ]\ + sum ( rho ( j, k ) x [ k ] [ t ] f o r k i n r a n g e ( n ) i f rho ( j, k ) > ZERO) f o r i i n r a n g e (m) : f o r t i n r a n g e ( T ) : sum ( t a u ( i, j ) x [ j ] [ t ] f o r j i n r a n g e ( n ) i f t a u ( i, j ) > ZERO) \ <= l [ t ] y [ i ] [ t ] y [ i ] [ t ] <= mn( i, t ) f o r j i n r a n g e ( n ) : f o r t i n r a n g e ( T 1) : s [ j ] [ t ] <= u ( j ) s [ j ] [ T 1] == s f ( j ) Listing 1.6: MIPCL-PY implementation of multiproduct lot-sizing: model (part 2) Let us note that the value of ZERO is defined in the mipshall.py module to be 1.0e-12. Printing schedules When a solution is found, one may want to print it in a readable way. Listing 1.7 presents a procedure, named printsolution, which is a member of MultLotSize that does this job. This procedure displays three tables named Production, Stock, and Machines. All these tables are printed by the printtbl procedure, which implementation is given in Listing 1.7 as well. d e f p r i n t T b l ( s e l f, tblname, r o w T i t l e, c o l T i t l e, x ) : n, T = l e n ( x ), l e n ( x [ 0 ] ) p r i n t ( \n + tblname + : ) p r i n t ( + (10 n +8) ) p r i n t ( + r o w T i t l e. c e n t e r (10 n 1) + ) p r i n t ( + (10 n +8) + ) s t r = + c o l T i t l e. c e n t e r ( 6 ) + f o r j i n r a n g e ( n ) : s t r += r e p r ( j +1). c e n t e r ( 8 ) + p r i n t ( s t r ) p r i n t ( ( n 1) + ) f o r t i n r a n g e ( T ) : s t r = + r e p r ( t +1). c e n t e r ( 6 ) + f o r j i n r a n g e ( n ) : s t r += f o r m a t ( x [ j ] [ t ]. val,. 2 f ). r j u s t ( 8 ) + p r i n t ( s t r ) p r i n t ( + (10 n +8) ) d e f p r i n t S o l u t i o n ( s e l f ) : p r i n t ( O b j e c t i v e v a l u e = { :. 4 f }. f o r m a t ( s e l f. getobjval ( ) ) )

18 10 Chapter 1. Aggregate Production Planning s e l f. p r i n t T b l ( P r o d u c t i o n, P r o d u c t s, P e r i o d, s e l f. x ) s e l f. p r i n t T b l ( Stock, P r o d u c t s, P e r i o d, s e l f. s ) s e l f. p r i n t T b l ( Machines, Machines, P e r i o d, s e l f. y ) Listing 1.7: MIPCL-PY implementation of multiproduct lot-sizing: auxiliary procedures Example of Usage An engineering factory makes seven products (numbered from 1 to 7) on the following machines: four grinders, two vertical drills, three horizontal drills, one borer, one planer, and two packing devices. Products 5 and 7 are complete sets: one unit of product 5 comprises one unit of product 1 and one units of product 3, and one unit of product 7 comprises one unit of product 1 and two unit of product 6. Unit production times (in hours) required on each process are given in Table 1.2. A dash indicates that a product does not require a process. All required processes on each product unit can be applied in any order. So, no sequencing problem need to be considered. The planning horizon consists of six months from January to June. The demands for products are given in Table 1.3. The factory works a 5 day week with two shifts of 8 hours each day. The number of working days in each month is also presented in Table 1.3. During the planning horizon some machines will be down for maintenance. The setup cost of a machine mainly is the fixed salary of an operator. As the planer needs two operators, its setup cost is two times bigger than the setup costs of the other machines. Machine setup costs, and the numbers of machines of each type available in each month are given in Table 1.4. Unit production costs depend on the production period. These costs are given in Table 1.5. We see that it is more expensive to produce in the cold months (January, February, and March) than in the warm ones (April, May, and June). It is possible to store up to 100 units of each product at a cost of $1 per unit per month. There is not any unit of any product in stock at the beginning of the planning horizon but it is decided to have a stock of 50 units of each product at the end of June. When and what should the factory produce to maximize the total profit? To get an answer to the above question, we wrote the program displayed in Listing 1.8. #! / u s r / b i n / python from m u l t l o t s i z e i m p o r t M u l t L o t S i z e Table 1.2: Unit Production Times Processes Products Grinding Vertical drilling Horizontal drilling Boring Planing Packing

19 1.2. Multiproduct Lot-Sizing 11 Table 1.3: Demands for Products Months Working Products days January February March April May June Table 1.4: Machines Available and their Setup Costs Machine Setup Available machines cost Jan Feb Mar Apr May Jun Grinder Ver. driller Hor. driller Borer Planer Packing dev Table 1.5: Production Costs Periods Products January, February, March April, May, June

20 12 Chapter 1. Aggregate Production Planning l = [ 3 0 4, 304, 352, 352, 336, 336] # d u r a t i o n s of a l l p e r i o d s p r o d u c t s = [ [ ( 0, 50, 100), [ 500, 600, 300, 200, 0, ], [ 1 7, 17, 17, 16, 16, 1 6 ], [ 1, 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 1, 0, 1] ], [ ( 0, 50, 100), [ , 700, 600, 300, 100, ], [ 1 9, 19, 19, 17, 17, 1 7 ], [ 1, 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 0, 0, 0] ], [ ( 0, 50, 100), [ 3 0 0, 200, 0, 400, 500, ], [ 1 6, 16, 16, 15, 15, 1 5 ], [ 1, 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 1, 0, 0] ], [ ( 0, 50, 100), [ 3 0 0, 0, 0, 500, 100, ], [ 8, 8, 8, 7, 7, 7 ], [ 1, 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 0, 0, 0] ], [ ( 0, 50, 100), [ 8 0 0, 400, 500, 200, 1000, ], [ 9, 9, 9, 8, 8, 8 ], [ 1, 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 0, 0, 0] ], [ ( 0, 50, 100), [ 2 0 0, 300, 400, 0, 300, ], [ 1 6, 16, 16, 14, 14, 1 4 ], [ 1, 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 0, 0, 1] ], [ ( 0, 50, 100), [ 1 0 0, 150, 100, 100, 0, 6 0 ], [ 2 5, 25, 25, 22, 22, 2 2 ], [ 1, 1, 1, 1, 1, 1 ], [ 0, 0, 0, 0, 0, 0, 0] ] ] machines = [ [

21 1.2. Multiproduct Lot-Sizing 13 ] [ 6, 5, 4, 5, 3, 5 ], [ 5 0 0, 500, 500, 500, 500, ], [ 0. 5, 0. 7, 0. 0, 0. 0, 0. 3, 0. 2, 0. 5 ] ], [ [ 4, 5, 6, 4, 5, 3 ], [ 4 5 0, 450, 450, 450, 450, ], [ 0. 1, 0. 2, 0. 0, 0. 3, 0. 0, 0. 6, 0. 0 ] ], [ [ 5, 3, 5, 6, 5, 4 ], [ 4 5 0, 450, 450, 450, 450, ], [ 0. 2, 0. 0, 0. 8, 0. 0, 0. 0, 0. 0, 0. 6 ] ], [ [ 8, 6, 7, 8, 7, 6 ], [ 5 5 0, 550, 550, 550, 550, ], [ , , 0. 0, , , 0. 0, ] ], [ [ 3, 2, 2, 2, 3, 3 ], [ 6 0 0, 600, 600, 600, 600, ], [ 0. 0, 0. 0, , 0. 0, , 0. 0, ] ], [ [ 4, 3, 4, 4, 3, 4 ], [ 4 0 0, 400, 400, 400, 400, ], [ 0. 1, 0. 1, 0. 1, 0. 1, 0. 1, 0. 1, ] ] prob = M u l t L o t S i z e ( t e s t 1 ) prob. model ( l, p r o d u c t s, machines ) prob. o p t i m i z e ( ) prob. p r i n t S o l u t i o n ( ) Listing 1.8: Example of usage of class MultLotSize The above program describes our example via a number of arrays. Next, an object, named prob, of the MultLotSize class is created. Calling prob.model() and prob.optimize(), we solve our example. To display the result, we call prob.printsolution(). If we run the program from Listing 1.8, we get the following result. O b j e c t i v e v a l u e = P r o d u c t i o n : P r o d u c t s P e r i o d

22 14 Chapter 1. Aggregate Production Planning Stock : P r o d u c t s P e r i o d Machines : Machines P e r i o d Listing 1.9: Output of program from Listing 1.8

23 Chapter 2 Operations Scheduling In poorly scheduled job shops, it is not at all uncommon for jobs to wait for 95 percent of their total production cycle. This results in a long work flow cycle. Add inventory time and receivables collection time to this and you get a long cash flow cycle. Thus, work flow equals cash flow, and work flow is driven by the schedule. A schedule is a timetable for performing activities, utilizing resources, or allocating facilities. In this chapter, we discuss modeling aspects of some short-term scheduling of jobs and processes. 2.1 Scheduling Problems In a scheduling problem we have to fulfill a set of jobs on a number of processors using other resources under certain constraints such as restrictions on the job completion times, priorities between jobs (one job cannot start until another one is finished), and etc. The goal is to optimize some criterion, e.g, to minimize the total processing time, which is the completion time of the last job (assuming that the first job starts at time 0); or to maximize the number of processed jobs. Next we formulate a very general scheduling problem which subsumes as special cases a great deal of scheduling problems studied in the literature. We are given n jobs to be processed on m processors (machines). Let M j P def = {1,..., m} denote the subset of processors that can fulfill job j J def = {1,..., n}. Each job j is characterized by the following parameters: w j : weight; r j, d j : release and due dates (the job must be processed during the time interval [r j, d j ]); p ji : processing time on processor i M j. Precedence relations between jobs are given by an acyclic digraph G = (J, E) defined on the set J of jobs: for any arc (j 1, j 2 ) J, job j 2 cannot start until job j 1 is finished. In general not all jobs can be processed. For a given schedule, let U j = 0 if job j is processed, and U j = 1 otherwise. Then the problem is to find such a schedule for which the weighted number of not processed jobs, n j=1 w ju j, is minimum. Alternatively, we can say that our goal is to maximize the weighted sum of processed jobs, which is n j=1 w j(1 U j ). 15

24 16 Chapter 2. Operations Scheduling Time-Index Formulation A time-index formulation is based on time-discretization, i.e., the planning horizon from time R min = min 1 j n r j to time D max = max 1 j n d j is divided into periods, and period t starts at time t 1 and ends at time t. We represent a schedule by a family of decision binary variables {x jit }, where x jit takes value 1 if job j starts in period t on processor i; otherwise, x jit = 0. To formulate precedence relations we need three families of auxiliary variables, which are uniquely defined by the decision variables x jit : y j = 1 if job j is processed; otherwise, y j = 0; s j : start time of job j; p t j : processing time (duration) of job j. We consider the following time-index formulation 1 : n w j y j max, j=1 min{t,d j p ji } 1 j n: τ=max{t p ji,r j } r j t d j p ji y j = i M j s j = i M j p t j = i M j d j p ji (2.1a) x jiτ 1, t = R min,..., D max ; i = 1,..., m, (2.1b) t=r j x jit, j = 1,..., n, (2.1c) d j p ji t=r j t x jit, j = 1,..., n, (2.1d) d j p ji t=r j p ji x jit, j = 1,..., n, (2.1e) y j1 y j2 0, (j 1, j 2 ) E, (2.1f) s j2 s j1 p t j 1, (j 1, j 2 ) E, (2.1g) x jit {0, 1}, i M j ; t = r j,..., d j p ji ; j = 1,..., n, (2.1h) y j {0, 1}, j = 1,..., n. (2.1i) The objective (2.1a) is to maximize the weighted number of processed jobs. The capacity constraints (2.1b) state that any processor fulfills at most one job during any time period. The equations (2.1c), (2.1d), and (2.1e) determine the values of all auxiliary variables, y j, s j, and p t j. Simultaneously, the equations (2.1c) imply that each job can start only once (because y j {0, 1}). The precedence relations are expressed by the inequalities (2.1f) and (2.1g). For each pair of related jobs (j 1, j 2 ) E, (2.1f) requires that j 2 is not processed if j 1 is not processed, while (2.1g) requires that, if both jobs, j 1 and j 2, are processed, then j 1 must be finished when j 2 starts. 1 M.E. Dyer, L.A. Wolsey. Formulating the single-machine sequencing problem with release dates as a mixed integer program. Discrete Appl. Math. (1990)

25 2.1. Scheduling Problems 17 The time-index formulation can be easily modified to model many other types of scheduling problems, which is its important advantage. For example, if we set y j = 1 for all j, and redefine the objective as follows u n j p ji (t + p ji )x jit min, j=1 i M j t=l j we get the problem of scheduling jobs with release and due dates on m machines to minimize weighted completion time, denoted as m r j, d j w j C j. In addition, the optimal objective value of the LP-relaxation of the time-index formulation provides a strong bound for the scheduling objective value: it dominates the bounds provided by other IP formulations. This is because the LP-relaxations of the time-index formulations are non-preemptive. That is, the relaxation is obtained by slicing jobs into pieces so that each piece is processed without interruption. The main disadvantage of the time-index formulation is its size: even for one machine problems, there are n + T constraints and there may be up to nt variables. As a consequence, for instances with many jobs and large processing intervals [r j, d j ], the LP s will be very big in size, and their solution times will be large MIPCL-PY Implementation Our MIPCL-PY implementation of IP (2.1) is presented in Listing2.1. i m p o r t m i p s h e l l from m i p s h e l l i m p o r t c l a s s S c h e d u l e ( Problem ) : d e f model ( s e l f, j o b s ) : d e f r ( j ) : r e t u r n j o b s [ j ] [ 0 ] d e f d ( j ) : r e t u r n j o b s [ j ] [ 1 ] d e f w( j ) : r e t u r n j o b s [ j ] [ 2 ] d e f p ( j, i ) : r e t u r n j o b s [ j ] [ 3 ] [ i ] d e f M( j ) : r e t u r n j o b s [ j ] [ 3 ]. keys ( ) d e f p r e c ( j ) : r e t u r n j o b s [ j ] [ 4 ] s e l f. j o b s = j o b s n = l e n ( j o b s ) s e l f.m = m = 1 + max ( i f o r j i n r a n g e ( n ) f o r i i n M( j ) ) Rmin = min ( r ( j ) f o r j i n r a n g e ( n ) ) Dmax = 1 + max ( d ( j ) f o r j i n r a n g e ( n ) ) s = VarVector ( [ n ], s ) p t = VarVector ( [ n ], p t ) y = VarVector ( [ n ], y, BIN ) s e l f. x = x = {( j, i, t ) : Var ( x + s t r ( ( j, i, t ) ), BIN ) \ f o r j i n r a n g e ( n ) f o r i i n M( j ) \ f o r t i n r a n g e ( r ( j ), d ( j ) p ( j, i ) +1) } maximize ( sum (w[ j ] y [ j ] f o r j i n r a n g e ( n ) ) ) f o r i i n r a n g e (m) : f o r t i n r a n g e ( Rmin, Dmax) : sum ( x [ j, i, t a u ] f o r j i n r a n g e ( n ) i f i i n M( j ) \ f o r t a u i n r a n g e ( max ( t p ( j, i ), r ( j ) ), min ( t +1, d ( j ) p ( j, i ) +1) ) ) <= 1

26 18 Chapter 2. Operations Scheduling f o r j i n r a n g e ( n ) : y [ j ] == sum ( x [ j, i, t ] f o r i i n M( j ) f o r t i n r a n g e ( r ( j ), d ( j ) p ( j, i ) +1) ) s [ j ] == sum ( t x [ j, i, t ] f o r i i n M( j ) \ f o r t i n r a n g e ( r ( j ), d ( j ) p ( j, i ) +1) ) p t [ j ] == sum ( p ( j, i ) x [ j, i, t ] f o r i i n M( j ) \ f o r t i n r a n g e ( r ( j ), d ( j ) p ( j, i ) +1) ) f o r j 1 i n p r e c ( j ) : y [ j ] <= y [ j 1 ] s [ j ] >= s [ j 1 ] + p t [ j 1 ] Listing 2.1: MIPCL-PY implementation of scheduling problem: model Input parameters: jobs: list of integers, where, for each task j=1,...,n=size(jobs), r(j)=tasks[j][0] and d(j)=tasks[j][1] are release and due dates; w(j)=tasks[j][2] weight; tasks[j][3] is a dictionary, where M(j)=tasks[j][3].keys() is a subset of machines (processors) that are able to process task j; p(j,i)=tasks[j][3][i] is processing time of task j on machine i; prec(j)=tasks[j][4] is a subset of preceding tasks. In our implementation we define variables in somewhat unusual way. Starting from an empty dictionary (x = {}), for any feasible tuple (j,i,t) of indices, we add to the dictionary a binary (of type BIN ) variable x[j,i,t] named as x(j,i,t) (this name is only used when printing the solution). Alternatively, we could first determine a set JIT = ( ( j, i, t ) f o r j i n r a n g e ( T ) f o r i i n M( j ) f o r t i n r a n g e ( r ( j ), d ( j ) p ( j, i ) +1) ) of tuples for compatible indices, and then define an array of binary variables as follows: x = VarArray ( JIT, x, BIN ) Definitely, the latter approach is clearer but less efficient than the former one. When a solution has been found, we can print it in a readable way by calling the procedure printschedule() which is a member of Schedule) from Listing 2.2. d e f p r i n t S o l u t i o n ( s e l f ) : d e f r ( j ) : r e t u r n j o b s [ j ] [ 0 ] d e f d ( j ) : r e t u r n j o b s [ j ] [ 1 ] d e f p ( j, i ) : r e t u r n j o b s [ j ] [ 3 ] [ i ] d e f M( j ) : r e t u r n j o b s [ j ] [ 3 ]. keys ( ) j o b s = s e l f. j o b s x = s e l f. x n = l e n ( j o b s )

27 2.1. Scheduling Problems 19 p r i n t ( S h e d u l i n g c o s t = { :. 4 f }. f o r m a t ( s e l f. getobjval ( ) ) ) p r i n t ( ) p r i n t ( Job P r o c e s s o r S t a r t s Ends ) p r i n t ( + + ) f o r j i n r a n g e ( n ) : f o r i i n M( j ) : f o r t i n r a n g e ( r ( j ), d ( j ) p ( j, i ) +1) : i f x [ j, i, t ]. v a l > 0. 5 : p r i n t ( { : 4 d} { : 9 d} { : 6 d} { : 6 d}. f o r m a t ( j +1, i +1, t, t +p ( j, i ) ) ) b r e a k p r i n t ( ) Listing 2.2: MIPCL-PY implementation of scheduling problem: auxiliary procedures Example of Usage A firm provides copy services. Ten customers submitted their orders at the beginning of the week. Specific scheduling data are as follows: Name Processing time (days) Due date (days) Profit There are only two copy machines. The firm must decide which orders to process to maximize its total profit. This is an instance of 2 d j w j C j which is a special case of 2 r j, d j w j C j when all release dates are zeroes. To solve this instance, we prepared the program presented in Listing 2.3. #! / u s r / b i n / python from s c h e d u l e i m p o r t S c h e d u l e j o b s = { 0 : [ 0, 4, 2, { 0 : 2, 1 : 3}, ( ) ], 1 : [ 0, 6, 1, { 0 : 1, 1 : 4}, ( ) ], 2 : [ 0, 5, 3, { 0 : 2, 1 : 2}, ( ) ], 3 : [ 3, 7, 1, { 0 : 2, 1 : 1}, ( ) ], 4 : [ 2, 8, 3, { 0 : 4, 1 : 3}, ( ) ], 5 : [ 6, 12, 2, { 0 : 3, 1 : 4}, ( ) ], 6 : [ 1, 10, 4, { 0 : 5, 1 : 4}, ( ) ], 7 : [ 2, 8, 2, { 0 : 4, 1 : 2}, ( ) ], 8 : [ 0, 9, 1, { 0 : 1, 1 : 3}, ( ) ], 9 : [ 5, 12, 3, { 0 : 5, 1 : 5}, ( ) ]

28 20 Chapter 2. Operations Scheduling } prob = S c h e d u l e ( t e s t 1 ) prob. model ( j o b s ) prob. o p t i m i z e ( ) prob. p r i n t S o l u t i o n ( ) Listing 2.3: Example of usage of class Schedule If we run the program from Listing 2.3, we get the following result. S h e d u l i n g c o s t = Job P r o c e s s o r S t a r t s Ends Listing 2.4: Output of program from Listing Electricity Generation Planning The unit commitment problem is to develop an hourly (or half-hourly) electricity production schedule spanning some planning horizon (a day or a week) so as to decide which generators will be producing and at what levels. The very essence of this problem is to appropriately balance of using generators with different capacities: it is cheaper to produce electricity on more powerful generators while less powerful and smaller generators take less time to switch on or off in case of necessity. Let T be the number of periods in the planning horizon. Period 1 follows period T. We know the demand d t for each period t. In each period the capacity of the active generators must be at least q times of the demand (q is a level of reliability). Let n be the number of generators, and let generator i have the following characteristics: l i, u i : minimum and maximum levels of production per period; ri 1, r2 i : ramping parameters (when a generator is on in two successive periods, its output cannot decrease by more than ri 1, and increase by more than r2 i ); g i : start-up cost (if a generator is off in some period, it costs g i to start it in the next period); f i, p i : fixed and variable costs (if in some period a generator is producing at level v, it costs f i + p i v) Mixed-Integer Programming Formulation With a natural choice of variables x it = 1 if generator i produces in period t, and x it = 0, otherwise;

29 2.2. Electricity Generation Planning 21 z it = 1 if generator i is switched on in period t, and z it = 0, otherwise; y it : amount of electricity produced by generator i in period t, we get the following formulation: n i=1 t=1 T (g i z it + f i x it + p i y it ) min (2.2a) n y it = d t, t = 1,..., T, (2.2b) i=1 n u i x it q d t, t = 1,..., T, (2.2c) i=1 l i x it y it u i x it, i = 1,..., n; t = 1,..., T, (2.2d) r 1 i y it y i,((t 2+T ) mod T )+1 r 2 i, i = 1,..., n; t = 1,..., T, (2.2e) x it x i,((t 2+T ) mod T )+1 z it, i = 1,..., n; t = 1,..., T, (2.2f) z it x it,, i = 1,..., n; t = 1,..., T, (2.2g) x it, z it {0, 1}, i = 1,..., n; t = 1,..., T, (2.2h) y it R +, i = 1,..., n; t = 1,..., T. (2.2i) Let us note that period ((t 2 + T ) mod T ) + 1 is immediately followed by period t. Here the objective (2.2a) is to minimize the total (for all n generators in all T periods) cost of of producing electricity plus the sum of start-up costs. The equations (2.2b) ensure that, for each period, the total amount of electricity produced by all working generators meets the demand at that period. The inequalities (2.2c) require that, in any period, the total capacity of all working generators is at least q times of the demand at that period. The lower and upper bounds (2.2d) impose the capacity restrictions for each generator in each period; simultaneously, these constrains ensure that non-working generators do not produce electricity. The two sided inequalities (2.2e) guarantee that generators cannot increase (ramp up) or decrease (ramp down) their outputs by more than the values of their ramping parameters. The inequalities (2.2g) reflect the fact that any generator is working in a given period only if it has been switched on in this period or it was working in the preceding period MIPCL-PY Implementation A MIPCL-PY implementation of MIP model (2.2) is given in Listing 2.5. i m p o r t m i p s h e l l from m i p s h e l l i m p o r t c l a s s Unitcom ( Problem ) : d e f model ( s e l f, q, d, u n i t s ) : d e f l ( i ) : r e t u r n u n i t s [ i ] [ 0 ] d e f u ( i ) : r e t u r n u n i t s [ i ] [ 1 ] d e f r1 ( i ) : r e t u r n u n i t s [ i ] [ 2 ] d e f r2 ( i ) :

30 22 Chapter 2. Operations Scheduling r e t u r n u n i t s [ i ] [ 3 ] d e f g ( i ) : r e t u r n u n i t s [ i ] [ 4 ] d e f f ( i ) : r e t u r n u n i t s [ i ] [ 5 ] d e f p ( i ) : r e t u r n u n i t s [ i ] [ 6 ] s e l f. u n i t s = u n i t s T, n = l e n ( d ), l e n ( u n i t s ) x = VarVector ( [ n, T ], x, BIN ) s e l f. y = y = VarVector ( [ n, T ], y ) z = VarVector ( [ n, T ], z, BIN ) minimize ( sum ( g ( i ) z [ i ] [ t ] + f ( i ) x [ i ] [ t ] + p ( i ) y [ i ] [ t ] \ f o r i i n r a n g e ( n ) f o r t i n r a n g e ( T ) ) ) f o r t i n r a n g e ( T ) : sum ( y [ i ] [ t ] f o r i i n r a n g e ( n ) ) == d [ t ] sum ( u ( i ) x [ i ] [ t ] f o r i i n r a n g e ( n ) ) >= q d [ t ] f o r i i n r a n g e ( n ) : y [ i ] [ t ] >= l ( i ) x [ i ] [ t ] y [ i ] [ t ] <= u ( i ) x [ i ] [ t ] r1 ( i ) <= y [ i ] [ t ] y [ i ] [ ( t 1+T ) % T ] <= r2 ( i ) x [ i ] [ t ] x [ i ] [ ( t 1+T ) % T ] <= z [ i ] [ t ] z [ i ] [ t ] <= x [ i ] [ t ] Listing 2.5: MIPCL-PY implementation of unit commitment problem: model Input parameters: d: list of demands, where d[t] is demand in period t; units: list of tuples of size 7, where, for each unit i, l(i) = units[i][0] and u(i) = units[i][1] are minimum and maximum levels of per period production; r1(i) = units[i][2] and r2(i) = units[i][3] are ramping parameters; g(i) = units[i][4] is start-up cost; f(i) = units[i][5] and p(i) = units[i][6] are fixed and variable costs. When a solution has been found, we can print the result using the procedure printsolution() which is a member of Unitcom from Listing 2.6. d e f p r i n t S o l u t i o n ( s e l f ) : y = s e l f. y n, T = l e n ( y ), l e n ( y [ 0 ] ) p r i n t ( Optimal o b j e c t i v e v a l u e : { :. 4 f }. f o r m a t ( s e l f. getobjval ( ) ) ) p r i n t ( \n G e n e r a t o r powers : ) p r i n t ( + (10 n +9) )

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

Planning and Scheduling of batch processes. Prof. Cesar de Prada ISA-UVA

Planning and Scheduling of batch processes. Prof. Cesar de Prada ISA-UVA Planning and Scheduling of batch processes Prof. Cesar de Prada ISA-UVA prada@autom.uva.es Outline Batch processes and batch plants Basic concepts of scheduling How to formulate scheduling problems Solution

More information

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling Department of Mathematics, Linköping University Jessika Boberg LiTH-MAT-EX 2017/18 SE Credits: Level:

More information

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

Transportation Problem

Transportation Problem Transportation Problem. Production costs at factories F, F, F and F 4 are Rs.,, and respectively. The production capacities are 0, 70, 40 and 0 units respectively. Four stores S, S, S and S 4 have requirements

More information

1 Production Planning with Time-Varying Demand

1 Production Planning with Time-Varying Demand IEOR 4000: Production Management Columbia University Professor Guillermo Gallego 28 September 1 Production Planning with Time-Varying Demand In this lecture we present a few key results in production planning

More information

Operations Research: Introduction. Concept of a Model

Operations Research: Introduction. Concept of a Model Origin and Development Features Operations Research: Introduction Term or coined in 1940 by Meclosky & Trefthan in U.K. came into existence during World War II for military projects for solving strategic

More information

CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming

CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming Integer Programming, Goal Programming, and Nonlinear Programming CHAPTER 11 253 CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming TRUE/FALSE 11.1 If conditions require that all

More information

Combinatorial optimization problems

Combinatorial optimization problems Combinatorial optimization problems Heuristic Algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Optimization In general an optimization problem can be formulated as:

More information

2. Linear Programming Problem

2. Linear Programming Problem . Linear Programming Problem. Introduction to Linear Programming Problem (LPP). When to apply LPP or Requirement for a LPP.3 General form of LPP. Assumptions in LPP. Applications of Linear Programming.6

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Sito web: http://home.deib.polimi.it/amaldi/ott-13-14.shtml A.A. 2013-14 Edoardo

More information

SYMBIOSIS CENTRE FOR DISTANCE LEARNING (SCDL) Subject: production and operations management

SYMBIOSIS CENTRE FOR DISTANCE LEARNING (SCDL) Subject: production and operations management Sample Questions: Section I: Subjective Questions 1. What are the inputs required to plan a master production schedule? 2. What are the different operations schedule types based on time and applications?

More information

1 Production Planning with Time-Varying Demand

1 Production Planning with Time-Varying Demand IEOR 4000: Production Management Columbia University Professor Guillermo Gallego 28 September 1 Production Planning with Time-Varying Demand In this lecture we present a few key results in production planning

More information

Program Name: PGDBA Production and Operations Management Assessment Name: POM - Exam Weightage: 70 Total Marks: 70

Program Name: PGDBA Production and Operations Management Assessment Name: POM - Exam Weightage: 70 Total Marks: 70 Program Name: PGDBA Subject: Production and Operations Management Assessment Name: POM - Exam Weightage: 70 Total Marks: 70 Duration: 60 mins Instructions (Start of Assessment): Marks: 70 Time: 60 Minutes

More information

Single-part-type, multiple stage systems

Single-part-type, multiple stage systems MIT 2.853/2.854 Introduction to Manufacturing Systems Single-part-type, multiple stage systems Stanley B. Gershwin Laboratory for Manufacturing and Productivity Massachusetts Institute of Technology Single-stage,

More information

Introduction to optimization and operations research

Introduction to optimization and operations research Introduction to optimization and operations research David Pisinger, Fall 2002 1 Smoked ham (Chvatal 1.6, adapted from Greene et al. (1957)) A meat packing plant produces 480 hams, 400 pork bellies, and

More information

SEXTANT & SEXTANT PE frequently asked questions

SEXTANT & SEXTANT PE frequently asked questions SEXTANT & SEXTANT PE frequently asked questions What is SEXTANT? SEXTANT is a software application that helps Financial Executives and Estimators determine their costing and budgeting standards also known

More information

Duration of online examination will be of 1 Hour 20 minutes (80 minutes).

Duration of online examination will be of 1 Hour 20 minutes (80 minutes). Program Name: SC Subject: Production and Operations Management Assessment Name: POM - Exam Weightage: 70 Total Marks: 70 Duration: 80 mins Online Examination: Online examination is a Computer based examination.

More information

Chapter 8 - Forecasting

Chapter 8 - Forecasting Chapter 8 - Forecasting Operations Management by R. Dan Reid & Nada R. Sanders 4th Edition Wiley 2010 Wiley 2010 1 Learning Objectives Identify Principles of Forecasting Explain the steps in the forecasting

More information

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP) INTEGER PROGRAMMING Integer Programming g In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

PPU411 Antti Salonen. Forecasting. Forecasting PPU Forecasts are critical inputs to business plans, annual plans, and budgets

PPU411 Antti Salonen. Forecasting. Forecasting PPU Forecasts are critical inputs to business plans, annual plans, and budgets - 2017 1 Forecasting Forecasts are critical inputs to business plans, annual plans, and budgets Finance, human resources, marketing, operations, and supply chain managers need forecasts to plan: output

More information

JOINT PRICING AND PRODUCTION PLANNING FOR FIXED PRICED MULTIPLE PRODUCTS WITH BACKORDERS. Lou Caccetta and Elham Mardaneh

JOINT PRICING AND PRODUCTION PLANNING FOR FIXED PRICED MULTIPLE PRODUCTS WITH BACKORDERS. Lou Caccetta and Elham Mardaneh JOURNAL OF INDUSTRIAL AND doi:10.3934/jimo.2010.6.123 MANAGEMENT OPTIMIZATION Volume 6, Number 1, February 2010 pp. 123 147 JOINT PRICING AND PRODUCTION PLANNING FOR FIXED PRICED MULTIPLE PRODUCTS WITH

More information

Chapter 2. Planning Criteria. Turaj Amraee. Fall 2012 K.N.Toosi University of Technology

Chapter 2. Planning Criteria. Turaj Amraee. Fall 2012 K.N.Toosi University of Technology Chapter 2 Planning Criteria By Turaj Amraee Fall 2012 K.N.Toosi University of Technology Outline 1- Introduction 2- System Adequacy and Security 3- Planning Purposes 4- Planning Standards 5- Reliability

More information

MODELING (Integer Programming Examples)

MODELING (Integer Programming Examples) MODELING (Integer Programming Eamples) IE 400 Principles of Engineering Management Integer Programming: Set 5 Integer Programming: So far, we have considered problems under the following assumptions:

More information

LINEAR PROGRAMMING MODULE Part 1 - Model Formulation INTRODUCTION

LINEAR PROGRAMMING MODULE Part 1 - Model Formulation INTRODUCTION Name: LINEAR PROGRAMMING MODULE Part 1 - Model Formulation INTRODUCTION In general, a mathematical model is either deterministic or probabilistic. For example, the models and algorithms shown in the Graph-Optimization

More information

MATH 445/545 Homework 1: Due February 11th, 2016

MATH 445/545 Homework 1: Due February 11th, 2016 MATH 445/545 Homework 1: Due February 11th, 2016 Answer the following questions Please type your solutions and include the questions and all graphics if needed with the solution 1 A business executive

More information

Aggregate Planning. Production Planning and Control. Anadolu Üniversitesi Mühendislik Mimarlık Fakültesi Endüstri Mühendisliğ Bölümü

Aggregate Planning. Production Planning and Control. Anadolu Üniversitesi Mühendislik Mimarlık Fakültesi Endüstri Mühendisliğ Bölümü Aggregate Planning Production Planning and Control Anadolu Üniversitesi Mühendislik Mimarlık Fakültesi Endüstri Mühendisliğ Bölümü Example 3.1 Washing Machine Plant Model Number Number of Worker-Hours

More information

Technical Note: Capacity Expansion and Cost Efficiency Improvement in the Warehouse Problem. Abstract

Technical Note: Capacity Expansion and Cost Efficiency Improvement in the Warehouse Problem. Abstract Page 1 of 14 Naval Research Logistics Technical Note: Capacity Expansion and Cost Efficiency Improvement in the Warehouse Problem Majid Al-Gwaiz, Xiuli Chao, and H. Edwin Romeijn Abstract The warehouse

More information

Systems Optimization and Analysis Optimization Project. Labor Planning for a Manufacturing Line

Systems Optimization and Analysis Optimization Project. Labor Planning for a Manufacturing Line 15.066 Systems Optimization and Analysis Optimization Project Labor Planning for a Manufacturing Line Team 1 The Tek Team Lane Ballard Christine Cheung Justin Ging Omur Kaya David Jackson Alyson Naughton

More information

CHAPTER-3 MULTI-OBJECTIVE SUPPLY CHAIN NETWORK PROBLEM

CHAPTER-3 MULTI-OBJECTIVE SUPPLY CHAIN NETWORK PROBLEM CHAPTER-3 MULTI-OBJECTIVE SUPPLY CHAIN NETWORK PROBLEM 3.1 Introduction A supply chain consists of parties involved, directly or indirectly, in fulfilling customer s request. The supply chain includes

More information

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

Introduction into Vehicle Routing Problems and other basic mixed-integer problems Introduction into Vehicle Routing Problems and other basic mixed-integer problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical

More information

The Transportation Problem

The Transportation Problem CHAPTER 12 The Transportation Problem Basic Concepts 1. Transportation Problem: BASIC CONCEPTS AND FORMULA This type of problem deals with optimization of transportation cost in a distribution scenario

More information

Integer Linear Programming Modeling

Integer Linear Programming Modeling DM554/DM545 Linear and Lecture 9 Integer Linear Programming Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. Assignment Problem Knapsack Problem

More information

IE418 Integer Programming

IE418 Integer Programming IE418: Integer Programming Department of Industrial and Systems Engineering Lehigh University 2nd February 2005 Boring Stuff Extra Linux Class: 8AM 11AM, Wednesday February 9. Room??? Accounts and Passwords

More information

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE MULTIPLE CHOICE QUESTIONS DECISION SCIENCE 1. Decision Science approach is a. Multi-disciplinary b. Scientific c. Intuitive 2. For analyzing a problem, decision-makers should study a. Its qualitative aspects

More information

Chapter 2 Introduction to Optimization and Linear Programming

Chapter 2 Introduction to Optimization and Linear Programming Ch. 2 Introduction to Optimization and Linear Programming TB-9 Chapter 2 Introduction to Optimization and Linear Programming Multiple Choice 1. What most motivates a business to be concerned with efficient

More information

Deterministic Operations Research, ME 366Q and ORI 391 Chapter 2: Homework #2 Solutions

Deterministic Operations Research, ME 366Q and ORI 391 Chapter 2: Homework #2 Solutions Deterministic Operations Research, ME 366Q and ORI 391 Chapter 2: Homework #2 Solutions 11. Consider the following linear program. Maximize z = 6x 1 + 3x 2 subject to x 1 + 2x 2 2x 1 + x 2 20 x 1 x 2 x

More information

Programmers A B C D Solution:

Programmers A B C D Solution: P a g e Q: A firm has normally distributed forecast of usage with MAD=0 units. It desires a service level, which limits the stock, out to one order cycle per year. Determine Standard Deviation (SD), if

More information

Application 1 - People Allocation in Line Balancing

Application 1 - People Allocation in Line Balancing Chapter 9 Workforce Planning Introduction to Lecture This chapter presents some applications of Operations Research models in workforce planning. Work force planning would be more of a generic application

More information

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t.

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t. Modelling with Integer Variables jesla@mandtudk Department of Management Engineering Technical University of Denmark What is an integer program? Let us start with a linear program: st Ax b x 0 where A

More information

Lecture Prepared By: Mohammad Kamrul Arefin Lecturer, School of Business, North South University

Lecture Prepared By: Mohammad Kamrul Arefin Lecturer, School of Business, North South University Lecture 15 20 Prepared By: Mohammad Kamrul Arefin Lecturer, School of Business, North South University Modeling for Time Series Forecasting Forecasting is a necessary input to planning, whether in business,

More information

Practical Tips for Modelling Lot-Sizing and Scheduling Problems. Waldemar Kaczmarczyk

Practical Tips for Modelling Lot-Sizing and Scheduling Problems. Waldemar Kaczmarczyk Decision Making in Manufacturing and Services Vol. 3 2009 No. 1 2 pp. 37 48 Practical Tips for Modelling Lot-Sizing and Scheduling Problems Waldemar Kaczmarczyk Abstract. This paper presents some important

More information

Effective Continuous-Time Formulation for Short-Term Scheduling. 3. Multiple Intermediate Due Dates 1,2

Effective Continuous-Time Formulation for Short-Term Scheduling. 3. Multiple Intermediate Due Dates 1,2 3446 Ind. Eng. Chem. Res. 1999, 38, 3446-3461 Effective Continuous-Time Formulation for Short-Term Scheduling. 3. Multiple Intermediate Due Dates 1,2 M. G. Ierapetritou, T. S. Hené, and C. A. Floudas*

More information

Advanced Macroeconomics

Advanced Macroeconomics Advanced Macroeconomics The Ramsey Model Marcin Kolasa Warsaw School of Economics Marcin Kolasa (WSE) Ad. Macro - Ramsey model 1 / 30 Introduction Authors: Frank Ramsey (1928), David Cass (1965) and Tjalling

More information

PROJECT MANAGEMENT CHAPTER 1

PROJECT MANAGEMENT CHAPTER 1 PROJECT MANAGEMENT CHAPTER 1 Project management is the process and activity of planning, organizing, motivating, and controlling resources, procedures and protocols to achieve specific goals in scientific

More information

Stacy L. Janak, Xiaoxia Lin, and Christodoulos A. Floudas*

Stacy L. Janak, Xiaoxia Lin, and Christodoulos A. Floudas* 2516 Ind. Eng. Chem. Res. 2004, 43, 2516-2533 Enhanced Continuous-Time Unit-Specific Event-Based Formulation for Short-Term Scheduling of Multipurpose Batch Processes: Resource Constraints and Mixed Storage

More information

Production Planning and Control

Production Planning and Control Production Planning and Control MAERIAL REQUIREMEN PLANNING Haeryip Sihombing BMFP 453 4 Universiti eknikal Malaysia Melaka (UeM) HAERY SIHOMBING First widely available software implementation of a manufacturing

More information

Review Questions, Final Exam

Review Questions, Final Exam Review Questions, Final Exam A few general questions 1. What does the Representation Theorem say (in linear programming)? 2. What is the Fundamental Theorem of Linear Programming? 3. What is the main idea

More information

56:171 Operations Research Final Exam December 12, 1994

56:171 Operations Research Final Exam December 12, 1994 56:171 Operations Research Final Exam December 12, 1994 Write your name on the first page, and initial the other pages. The response "NOTA " = "None of the above" Answer both parts A & B, and five sections

More information

Forecasting. Dr. Richard Jerz rjerz.com

Forecasting. Dr. Richard Jerz rjerz.com Forecasting Dr. Richard Jerz 1 1 Learning Objectives Describe why forecasts are used and list the elements of a good forecast. Outline the steps in the forecasting process. Describe at least three qualitative

More information

HYBRID FLOW-SHOP WITH ADJUSTMENT

HYBRID FLOW-SHOP WITH ADJUSTMENT K Y BERNETIKA VOLUM E 47 ( 2011), NUMBER 1, P AGES 50 59 HYBRID FLOW-SHOP WITH ADJUSTMENT Jan Pelikán The subject of this paper is a flow-shop based on a case study aimed at the optimisation of ordering

More information

3. If a forecast is too high when compared to an actual outcome, will that forecast error be positive or negative?

3. If a forecast is too high when compared to an actual outcome, will that forecast error be positive or negative? 1. Does a moving average forecast become more or less responsive to changes in a data series when more data points are included in the average? 2. Does an exponential smoothing forecast become more or

More information

Modern Logistics & Supply Chain Management

Modern Logistics & Supply Chain Management Modern Logistics & Supply Chain Management As gold which he cannot spend will make no man rich, so knowledge which he cannot apply will make no man wise. Samuel Johnson: The Idler No. 84 Production Mix

More information

Antti Salonen PPU Le 2: Forecasting 1

Antti Salonen PPU Le 2: Forecasting 1 - 2017 1 Forecasting Forecasts are critical inputs to business plans, annual plans, and budgets Finance, human resources, marketing, operations, and supply chain managers need forecasts to plan: output

More information

Introduction to Bin Packing Problems

Introduction to Bin Packing Problems Introduction to Bin Packing Problems Fabio Furini March 13, 2015 Outline Origins and applications Applications: Definition: Bin Packing Problem (BPP) Solution techniques for the BPP Heuristic Algorithms

More information

Antti Salonen KPP Le 3: Forecasting KPP227

Antti Salonen KPP Le 3: Forecasting KPP227 - 2015 1 Forecasting Forecasts are critical inputs to business plans, annual plans, and budgets Finance, human resources, marketing, operations, and supply chain managers need forecasts to plan: output

More information

A Priori Route Evaluation for the Lateral Transhipment Problem (ARELTP) with Piecewise Linear Profits

A Priori Route Evaluation for the Lateral Transhipment Problem (ARELTP) with Piecewise Linear Profits 1 / 47 A Priori Route Evaluation for the Lateral Transhipment Problem (ARELTP) with Piecewise Linear Profits Martin Romauch 1 Richard Hartl 1 Thibaut Vidal 2 1 University of Vienna 2 PUC-Rio, Rio de Janeiro,

More information

The network maintenance problem

The network maintenance problem 22nd International Congress on Modelling and Simulation, Hobart, Tasmania, Australia, 3 to 8 December 2017 mssanz.org.au/modsim2017 The network maintenance problem Parisa Charkhgard a, Thomas Kalinowski

More information

Facility Location and Distribution System Planning. Thomas L. Magnanti

Facility Location and Distribution System Planning. Thomas L. Magnanti Facility Location and Distribution System Planning Thomas L. Magnanti Today s Agenda Why study facility location? Issues to be modeled Basic models Fixed charge problems Core uncapacitated and capacitated

More information

Research Article A Partial Backlogging Inventory Model for Deteriorating Items with Fluctuating Selling Price and Purchasing Cost

Research Article A Partial Backlogging Inventory Model for Deteriorating Items with Fluctuating Selling Price and Purchasing Cost Advances in Operations Research Volume 2012, Article ID 385371, 15 pages doi:10.1155/2012/385371 Research Article A Partial Backlogging Inventory Model for Deteriorating Items with Fluctuating Selling

More information

Linear Programming. Formulating and solving large problems. H. R. Alvarez A., Ph. D. 1

Linear Programming. Formulating and solving large problems.   H. R. Alvarez A., Ph. D. 1 Linear Programming Formulating and solving large problems http://academia.utp.ac.pa/humberto-alvarez H. R. Alvarez A., Ph. D. 1 Recalling some concepts As said, LP is concerned with the optimization of

More information

Integer Linear Programming (ILP)

Integer Linear Programming (ILP) Integer Linear Programming (ILP) Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU in Prague March 8, 2017 Z. Hanzálek (CTU) Integer Linear Programming (ILP) March 8, 2017 1 / 43 Table of contents

More information

Modelling linear and linear integer optimization problems An introduction

Modelling linear and linear integer optimization problems An introduction Modelling linear and linear integer optimization problems An introduction Karen Aardal October 5, 2015 In optimization, developing and analyzing models are key activities. Designing a model is a skill

More information

Linear programming: introduction and examples

Linear programming: introduction and examples Linear programming: introduction and examples G. Ferrari Trecate Dipartimento di Ingegneria Industriale e dell Informazione Università degli Studi di Pavia Industrial Automation Ferrari Trecate (DIS) Linear

More information

arxiv: v2 [cs.dm] 2 Mar 2017

arxiv: v2 [cs.dm] 2 Mar 2017 Shared multi-processor scheduling arxiv:607.060v [cs.dm] Mar 07 Dariusz Dereniowski Faculty of Electronics, Telecommunications and Informatics, Gdańsk University of Technology, Gdańsk, Poland Abstract

More information

INTEGER PROGRAMMING. In many problems the decision variables must have integer values.

INTEGER PROGRAMMING. In many problems the decision variables must have integer values. INTEGER PROGRAMMING Integer Programming In many problems the decision variables must have integer values. Example:assign people, machines, and vehicles to activities in integer quantities. If this is the

More information

ORI 390Q Models and Analysis of Manufacturing Systems First Exam, fall 1994

ORI 390Q Models and Analysis of Manufacturing Systems First Exam, fall 1994 ORI 90Q Models and Analysis of Manufacturing Systems First Exam, fall 1994 (time, defect rate) (12,0.05) 5 6 V A (16,0.07) (15,0.07) (5,0) M 1 1 2 M1 M2 O A (10,0.1) 7 8 V B (8,0.2) M4 2 4 M5 The figure

More information

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Definition: An Integer Linear Programming problem is an optimization problem of the form (ILP) min

More information

REVISED UPDATED PREPARED DIRECT SAFETY ENHANCEMENT COST ALLOCATION TESTIMONY OF GARY LENART SAN DIEGO GAS & ELECTRIC COMPANY AND

REVISED UPDATED PREPARED DIRECT SAFETY ENHANCEMENT COST ALLOCATION TESTIMONY OF GARY LENART SAN DIEGO GAS & ELECTRIC COMPANY AND Application No: Exhibit No.: Witness: A.--00 ) In the Matter of the Application of San Diego Gas & ) Electric Company (U 0 G) and Southern California ) Gas Company (U 0 G) for Authority to Revise ) Their

More information

Integer programming: an introduction. Alessandro Astolfi

Integer programming: an introduction. Alessandro Astolfi Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming

More information

MACHINE DEDICATION UNDER PRODUCT AND PROCESS DIVERSITY. Darius Rohan. IBM Microelectonics Division East Fishkill, NY 12533, U.S.A.

MACHINE DEDICATION UNDER PRODUCT AND PROCESS DIVERSITY. Darius Rohan. IBM Microelectonics Division East Fishkill, NY 12533, U.S.A. Proceedings of the 1999 Winter Simulation Conference P. A. Farrington, H. B. Nembhard, D. T. Sturrock, and G. W. Evans, eds. MACHINE DEDICATION UNDER PRODUCT AND PROCESS DIVERSITY Darius Rohan IBM Microelectonics

More information

Corresponding Author: Pradeep Bishnoi

Corresponding Author: Pradeep Bishnoi ISSN (e): 2250 3005 Volume, 08 Issue, 6 Jun 2018 International Journal of Computational Engineering Research (IJCER) Minimizing Utilization Time for Specially Structured Two Stage Flow Shop Scheduling

More information

Chapter 6 Queueing Models. Banks, Carson, Nelson & Nicol Discrete-Event System Simulation

Chapter 6 Queueing Models. Banks, Carson, Nelson & Nicol Discrete-Event System Simulation Chapter 6 Queueing Models Banks, Carson, Nelson & Nicol Discrete-Event System Simulation Purpose Simulation is often used in the analysis of queueing models. A simple but typical queueing model: Queueing

More information

A Mixed Integer Linear Program for Optimizing the Utilization of Locomotives with Maintenance Constraints

A Mixed Integer Linear Program for Optimizing the Utilization of Locomotives with Maintenance Constraints A Mixed Integer Linear Program for with Maintenance Constraints Sarah Frisch Philipp Hungerländer Anna Jellen Dominic Weinberger September 10, 2018 Abstract In this paper we investigate the Locomotive

More information

Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee

Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee Module - 04 Lecture - 05 Sales Forecasting - II A very warm welcome

More information

Time Aggregation for Network Design to Meet Time-Constrained Demand

Time Aggregation for Network Design to Meet Time-Constrained Demand 20th International Congress on Modelling and Simulation, Adelaide, Australia, 1 6 December 2013 www.mssanz.org.au/modsim2013 Time Aggregation for Network Design to Meet Time-Constrained Demand N. Boland

More information

Transfer Line Balancing Problem

Transfer Line Balancing Problem Transfer Line Balancing Problem Transfer Line Balancing Problem (TLBP) was introduced in [3] In comparison with the well-known assembly line balancing problems, TLBP has many new assumptions reflecting

More information

Operation management

Operation management Operation management Vigneron Loic December 3, 2008 1 Operations and productivity 1.1 Productivity Productivity = Units produced Imput used Units produced Labor productivity = Labor hours used One resource

More information

RCPSP Single Machine Problems

RCPSP Single Machine Problems DM204 Spring 2011 Scheduling, Timetabling and Routing Lecture 3 Single Machine Problems Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Resource

More information

DRAFT Formulation and Analysis of Linear Programs

DRAFT Formulation and Analysis of Linear Programs DRAFT Formulation and Analysis of Linear Programs Benjamin Van Roy and Kahn Mason c Benjamin Van Roy and Kahn Mason September 26, 2005 1 2 Contents 1 Introduction 7 1.1 Linear Algebra..........................

More information

MS-E2140. Lecture 1. (course book chapters )

MS-E2140. Lecture 1. (course book chapters ) Linear Programming MS-E2140 Motivations and background Lecture 1 (course book chapters 1.1-1.4) Linear programming problems and examples Problem manipulations and standard form Graphical representation

More information

56:171 Operations Research Midterm Exam - October 26, 1989 Instructor: D.L. Bricker

56:171 Operations Research Midterm Exam - October 26, 1989 Instructor: D.L. Bricker 56:171 Operations Research Midterm Exam - October 26, 1989 Instructor: D.L. Bricker Answer all of Part One and two (of the four) problems of Part Two Problem: 1 2 3 4 5 6 7 8 TOTAL Possible: 16 12 20 10

More information

Time-dependent order and distribution policies in supply networks

Time-dependent order and distribution policies in supply networks Time-dependent order and distribution policies in supply networks S. Göttlich 1, M. Herty 2, and Ch. Ringhofer 3 1 Department of Mathematics, TU Kaiserslautern, Postfach 349, 67653 Kaiserslautern, Germany

More information

Operations Management

Operations Management Operations Management Chapter 4 Forecasting PowerPoint presentation to accompany Heizer/Render Principles of Operations Management, 7e Operations Management, 9e 2008 Prentice Hall, Inc. 4 1 Outline Global

More information

Lecture 4 Forecasting

Lecture 4 Forecasting King Saud University College of Computer & Information Sciences IS 466 Decision Support Systems Lecture 4 Forecasting Dr. Mourad YKHLEF The slides content is derived and adopted from many references Outline

More information

Economics th April 2011

Economics th April 2011 Economics 401 8th April 2011 Instructions: Answer 7 of the following 9 questions. All questions are of equal weight. Indicate clearly on the first page which questions you want marked. 1. Answer both parts.

More information

The Talking Farm Treasurer's Report and Financial Statements (for internal use only) June 30, 2016

The Talking Farm Treasurer's Report and Financial Statements (for internal use only) June 30, 2016 Treasurer's Report and Financial Statements (for internal use only) June 30, 2016 Table of Contents: Treasurer's Report 1 Page: Financial Statements: Statements of Financial Position 2 Statements of Activities

More information

Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution

Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution W. Weyerman, D. West, S. Warnick Information Dynamics and Intelligent Systems Group Department of Computer

More information

1 Markov decision processes

1 Markov decision processes 2.997 Decision-Making in Large-Scale Systems February 4 MI, Spring 2004 Handout #1 Lecture Note 1 1 Markov decision processes In this class we will study discrete-time stochastic systems. We can describe

More information

Applications of Linear Programming - Minimization

Applications of Linear Programming - Minimization Applications of Linear Programming - Minimization Drs. Antonio A. Trani and H. Baik Professor of Civil Engineering Virginia Tech Analysis of Air Transportation Systems June 9-12, 2010 1 of 49 Recall the

More information

Clock-driven scheduling

Clock-driven scheduling Clock-driven scheduling Also known as static or off-line scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017

More information

Extended Job Shop Scheduling by Object-Oriented. Optimization Technology

Extended Job Shop Scheduling by Object-Oriented. Optimization Technology Extended Job Shop Scheduling by Object-Oriented Optimization Technology Minoru Kobayashi, Kenji Muramatsu Tokai University Address: 1117 Kitakaname, Hiratsuka, Kanagawa, 259-1292, Japan Telephone: +81-463-58-1211

More information

Optimization Methods in Management Science

Optimization Methods in Management Science Problem Set Rules: Optimization Methods in Management Science MIT 15.053, Spring 2013 Problem Set 1 (Second Group of Students) Students with first letter of surnames G Z Due: February 12, 2013 1. Each

More information

Linear Programming CHAPTER 11 BASIC CONCEPTS AND FORMULA. Basic Concepts 1. Linear Programming

Linear Programming CHAPTER 11 BASIC CONCEPTS AND FORMULA. Basic Concepts 1. Linear Programming CHAPTER 11 Linear Programming Basic Concepts 1. Linear Programming BASIC CONCEPTS AND FORMULA Linear programming is a mathematical technique for determining the optimal allocation of re- sources nd achieving

More information

Scheduling Markovian PERT networks to maximize the net present value: new results

Scheduling Markovian PERT networks to maximize the net present value: new results Scheduling Markovian PERT networks to maximize the net present value: new results Hermans B, Leus R. KBI_1709 Scheduling Markovian PERT networks to maximize the net present value: New results Ben Hermans,a

More information

Linear Programming. H. R. Alvarez A., Ph. D. 1

Linear Programming. H. R. Alvarez A., Ph. D. 1 Linear Programming H. R. Alvarez A., Ph. D. 1 Introduction It is a mathematical technique that allows the selection of the best course of action defining a program of feasible actions. The objective of

More information

Lecture Prepared By: Mohammad Kamrul Arefin Lecturer, School of Business, North South University

Lecture Prepared By: Mohammad Kamrul Arefin Lecturer, School of Business, North South University Lecture 15 20 Prepared By: Mohammad Kamrul Arefin Lecturer, School of Business, North South University Modeling for Time Series Forecasting Forecasting is a necessary input to planning, whether in business,

More information

9.5 THE SIMPLEX METHOD: MIXED CONSTRAINTS

9.5 THE SIMPLEX METHOD: MIXED CONSTRAINTS SECTION 9.5 THE SIMPLEX METHOD: MIXED CONSTRAINTS 557 9.5 THE SIMPLEX METHOD: MIXED CONSTRAINTS In Sections 9. and 9., you looked at linear programming problems that occurred in standard form. The constraints

More information

Introduction to Operations Research Economics 172A Winter 2007 Some ground rules for home works and exams:

Introduction to Operations Research Economics 172A Winter 2007 Some ground rules for home works and exams: Introduction to Operations Research Economics 172A Winter 2007 Some ground rules for home works and exams: Write your homework answers on the sheets supplied. If necessary, you can get new sheets on the

More information

5/15/18. Operations Research: An Introduction Hamdy A. Taha. Copyright 2011, 2007 by Pearson Education, Inc. All rights reserved.

5/15/18. Operations Research: An Introduction Hamdy A. Taha. Copyright 2011, 2007 by Pearson Education, Inc. All rights reserved. The objective of queuing analysis is to offer a reasonably satisfactory service to waiting customers. Unlike the other tools of OR, queuing theory is not an optimization technique. Rather, it determines

More information