Nicolai N. Pisaruk Mixed Integer Programming in Operations Management (MIPCL-PY manual)
|
|
- Kathleen Kelly
- 6 years ago
- Views:
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 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 informationPlanning 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 informationA 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 informationComputational 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 informationTransportation 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 information1 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 informationOperations 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 informationCHAPTER 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 informationCombinatorial 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 information2. 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 informationChapter 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 informationSYMBIOSIS 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 information1 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 informationProgram 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 informationSingle-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 informationIntroduction 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 informationSEXTANT & 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 informationDuration 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 informationChapter 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 informationis 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 informationPPU411 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 informationJOINT 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 informationChapter 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 informationMODELING (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 informationLINEAR 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 informationMATH 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 informationAggregate 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 informationTechnical 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 informationSystems 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 informationCHAPTER-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 informationIntroduction 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 informationThe 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 informationInteger 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 informationIE418 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 informationMULTIPLE 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 informationChapter 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 informationDeterministic 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 informationProgrammers 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 informationApplication 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 informationWhat 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 informationLecture 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 informationPractical 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 informationEffective 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 informationAdvanced 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 informationPROJECT 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 informationStacy 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 informationProduction 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 informationReview 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 information56: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 informationForecasting. 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 informationHYBRID 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 information3. 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 informationModern 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 informationAntti 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 informationIntroduction 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 informationAntti 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 informationA 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 informationThe 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 informationFacility 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 informationResearch 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 informationLinear 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 informationInteger 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 informationModelling 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 informationLinear 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 informationarxiv: 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 informationINTEGER 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 informationORI 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 information5 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 informationREVISED 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 informationInteger 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 informationMACHINE 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 informationCorresponding 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 informationChapter 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 informationA 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 informationIndustrial 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 informationTime 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 informationTransfer 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 informationOperation 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 informationRCPSP 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 informationDRAFT 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 informationMS-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 information56: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 informationTime-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 informationOperations 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 informationLecture 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 informationEconomics 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 informationThe 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 informationSub-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 information1 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 informationApplications 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 informationClock-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 informationExtended 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 informationOptimization 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 informationLinear 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 informationScheduling 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 informationLinear 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 informationLecture 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 information9.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 informationIntroduction 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 information5/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