PROCESS MANAGEMENT Selected Exact Managerial Methods Study supports Darja Noskievičová FMME VŠB-TUO Ostrava 2016 Language review: Mark Landry Title: Process Management, Selected Exact Managerial Methods Author: Prof. Ing. Darja Noskievičová, CSc. Edition: First, 2016 No. of pages: 76 Study materials for the study support of Process Management, the Faculty of Metallurgy and Materials Engineering. Completion: VŠB – Technical University of Ostrava © Prof. Ing. Darja Noskievičová, CSc. © VŠB – Technical University of Ostrava 2 Darja Noskievičová Process Management STUDY INSTRUCTIONS You have received study support for the combined study containing selected topics covered by the course of „Process Management“ taught in the 3rd semester of the follow-up master's degree of the study programme Quality Management study field at the Faculty of Metallurgy and Materials Engineering. Course objective and learning outputs The main course objective is to offer students a complex overview of the aspects of the process management including various exact managerial approaches covering also linear programming. Knowledge outputs: - a student will be knowledgeable in the problems of process planning and controlling; - a student will understand and learn the algorithms of various methods for process planning and controlling. Skills outputs: - a student will be able to orient him/herself in the problems of the planning and controlling of manufacturing, and auxiliary and service processes in practice; - a student will be able to apply in practice the selected methods of operations research. Who the course is intended for This course is included in the follow-up master's study of the field of study of Quality Management, but it can be studied by an applicant from any other field of study, provided that he/she meets the required prerequisites. This study support is divided into chapters, which logically divide up the studied matter, but are not equally comprehensive. The estimated study time of the chapters may vary considerably, which is why large chapters are further divided into numbered sub-chapters and they correspond to the structure described below. Method of communication with the teacher This matter is presented to students within the frame of their lectures and practical exercises, where they practically learn the topics discussed during the theoretical lectures. But the selected topics suppose self-learning and the elaboration of written seminar work discussed with the lecturer during consultations and via the internet. 3 Darja Noskievičová Process Management STRUCTURE OF THE CHAPTERS Study time The time necessary to study the subject matter is given at the beginning of every chapter. The time is approximate and can serve as a rough guide for the study layout of the entire subject. The time may seem too long to some people or, on the contrary, too short to others. There are students who have never encountered this issue and, on the other hand, those who already have extensive experience in this field. Objective There are defined objectives given for you to achieve after reading the chapter and studying the topics - specific skills and knowledge. Lecture This part is the actual presentation of the studied subject matter, the introduction of new terms, their definitions and the explanation of the principles of the studied subject matter. Everything is accompanied by pictures, tables and solved examples. Examples There are solved examples to better understand the discussed subject matter. Summary of terms The main terms you should learn are repeated at the end of the chapter. If you still do not understand any of the terms, go back to them again. Questions There are several questions to verify that you have fully and well mastered the subject matter of the chapter. Key to solution You will find the solution key to the examples at the end of every chapter. 4 Darja Noskievičová Process Management References There is a list of the used reference sources, from which you can draw additional information on an issue in question, at the very end of every chapter. The author of this educational material wishes you a successful and pleasant study using this textbook. Prof. Ing. Darja Noskievičová, CSc. 5 Darja Noskievičová Process Management CONTENTS STUDY INSTRUCTIONS 3 STRUCTURE OF THE CHAPTERS 4 CONTENTS 6 1. 1. BASIS OF LINEAR PROGRAMMING 9 Time to study 9 Goal 9 Lecture 9 1.1 Introduction 9 1.2 Requirements of a linear programming problem 10 1.3 Introductory example (Optimal production planning) 11 1.4 Forms of LP models 12 1.4.1 General form of an LPP model 12 1.4.2 Standard and canonical form of an LP model 13 1.4.3 Summarization of additional and artificial variables 18 1.5 Assumptions of linear programming 19 1.6 Types of solutions of LPP 20 1.7 General model formulation – a typical LPP 23 1.7.1 Optimal production plan problem 24 1.7.2 Optimal mix problem 24 1.7.3 Optimal rod cutting problem 25 1.8 Techniques of solving LP problems 27 Examples 27 Summary of terms 29 Questions 30 Key to solution 30 References 32 1. 2. GRAPHICAL SOLUTION OF A LINEAR PROGRAMMING PROBLEM 33 Study time 33 Objective 33 Lecture 33 2.1 Introduction 33 2.2 Steps of the graphical solution 33 6 Darja Noskievičová Process Management 2.2.1 Creation of a general LPP model 34 2.2.2 Construction of a feasible region 34 2.2.3 Finding the optimal solution 36 Examples 38 Summary of terms 38 Questions 38 Key to solution 39 References 40 2. 3. SIMPLEX METHOD 41 Study time 41 Objective 41 Lecture 41 3.1 Steps of the simplex method 41 3.1.1 Formulating the problem in terms of a general LPP model 42 3.1.2 Transformation of a general model into the canonical form 42 3.1.3 Setting up the initial table and calculation of the zj and cj-zj quantities 42 3.1.4 Verification of the optimality of the solution 44 3.1.5 Determination of the entering variable 44 3.1.6 Determination of the exiting (leaving) variable 45 3.1.7 Creation of a new table 46 3.1.8 Verification of the optimality of the solution 48 3.1.9 Repeating the simplex algorithm 48 3.2 Solved example 49 Examples 52 Summary of terms 52 Questions 53 Key to solution 53 References 56 3. 4. TRANSPORTATION PROBLEM 57 Study time 57 Objective 57 Lecture 57 4.1 Principle of the transportation problem solution 57 7 Darja Noskievičová Process Management 4.2 Steps of the transportation problem 58 4.2.1 Preparation of the transportation table 58 4.2.2 Generating the initial feasible solution 60 4.2.3 Developing the optimal solution 64 4.3 MODI method 64 4.3.1 Selection of the initial solution 66 4.3.2 Setting the dual variables ui and vj 66 4.3.3 Computation of (ui + vj – cij) for unoccupied cells 67 4.3.4 Selection of the cell with maximal positive (ui + vj – cij) 67 4.3.5 Creation of the closed loop (path, cycle) 67 4.3.6 Recalculation of the last table 68 4.3.7 Repetition of the algorithm from Step 2 69 Examples 71 Summary of terms 73 Questions 73 Key to solution 74 References 76 8 Darja Noskievičová Process Management 1. BASIS OF LINEAR PROGRAMMING PROBLEMS Study time 600 min Objective After studying this chapter you should be able to describe the type of problem that could be solved using linear programming; formulate a general linear programming model from a description of the problem; convert the general model into a standard and canonical form. set an initial feasible solution. Lecture 1.1 Introduction In 1947, George Danzig proposed using linear algebra for determining the optimal solutions of problems involving restrictions (constraints). For instance, the goal is to determine the optimal amount of several products to produce a given product´s profit per unit, respecting such constraints as working machine capacity, labour hours, raw materials needed to make the planned products. This application has been called linear programming (LP) which is a part of a wider class of mathematical methods called mathematical programming. Linear programming has been widely used for solving constrained optimization problems. LP consists of a sequence of steps that will lead to an optimal solution if it exists. [3] The most common type of LP application involves the general problem of allocating limited sources among competing activities in the best possible (i.e. optimal) way. More precisely, an LP problem involves selecting the level of certain activities that compete for scarce resources that are necessary to perform those activities. The choice of activity levels then dictates how much of each resource will be consumed by each activity. LP involves the planning of activities to obtain an optimal result, i.e. the result that reaches the specified best 9 Darja Noskievičová Process Management outcome among all feasible alternatives. LP models are used to help managers make decisions in many different areas where it is necessary to allocate scarce resources among competing demands (resource allocation problems) (see Tab. 1.1). Tab. 1.1 Examples of LPP practical applications Source: [4] Problem type Production planning Distribution Inventory planning Location planning Process control Product planning Scheduling Description Production: finding the minimum-cost production operational plan (schedule) for a given work-force plan, taking into account inventory carrying subcontracting costs. Production and work-force: finding the minimum-cost production operational plan taking into account hiring and layoff costs as well as carrying inventory , overtime, subcontracting costs, and subject to various capacity and policy constraints. Staffing: founding the optimal staffing plan for various categories of workers, subject to various demand and policy constraints. Shipping plans: finding optimal shipping assignments from factories to distribution centres or from warehouses to retailers. Stock control: Determination of the optimal mix of products to hold in inventory in a warehouse. Supplier selection: finding the optimal combination of suppliers to minimize the amount of unwanted inventory. Plants or warehouses: determination of the optimal location of a plant or warehouse with respect to total transportation costs between various alternative locations and existing supply and demand sources. Stock cutting: Given the dimensions of a roll or sheet of raw material finding the cutting pattern that minimized the amount of scrap material Mixes: Finding the optimal production of various ingredients such as gasoline, alloys, paints, foods subject to certain minimal requirements. Determination of the minimum-cost assignment of workers to shifts, subject to varying demand. Vehicles: Assignment of m vehicles to n products or jobs and determination of the number of trips to make, subject to vehicle size, vehicle availability, and demand constraints. Routing: Finding the optimal routing of a product through a number of sequential processes, each with their own capacities and characteristics. 1.2 Requirements of a linear programming problem All LP problems (LPP) have four properties in common [2]: 1. LPP seek to maximize or minimize some quantity (usually profit or cost). We refer to this property as the objective function of an LP problem. The major objective of a typical firm is to maximize profits in the long run. In the case of a trucking or airline distribution system, the objective might be to minimize shipping costs. 10 Darja Noskievičová Process Management 2. The presence of restrictions or constraints limits the degree to which we can pursue our objective. For example, deciding how many units of each product in a firm’s product line to manufacture is restricted by the available labour and machinery. We want, therefore, to maximize or minimize a quantity (the objective function) subject to limited resources (the constraints). 3. There must be alternative courses of action to choose from. For example, if a company produces three different products, management may use LP to decide how to allocate its limited production resources (of labour, machinery, and so on) among them. If there were no alternatives to select from, we would not need LP. 1.3 Introductory example (Optimal production planning) In a plant with 3 workshops five product types (P1 – P5) are planned to be produced. The requirements of the particular products for the working capacity of each workshop and the whole available working capacity of each workshop can be found in Tab. 1.2. Tab. 1.2 Data for the example Workshop 1 2 3 Profit/1 unit of product Capacity requirement / 1 piece of product (hours) P1 P2 P3 P4 P5 2 4 4 10 4 1 3 15 2 3 5 12 8 1 2 8 1 5 4 13 The whole available capacity of the workshop (hours/year) 12 000 8 000 10 000 Task: Plan what products and in which amount (x1, x2, x3, x4, x5) to produce in order to achieve maximal profit. Solution: We are seeking such vector as xT= (x1, x2,…, x5), that enables achieving maximal profit (the optimal solution). 11 Darja Noskievičová Process Management Formulation of the LP model for this example is as follows: Z = 10x1 + 15x2 + 12x3 + 8x4 + 13x5 MAX 2x1 + 4x2 + 2x3 + 8x4 + 1x5 ≤ 12 000 4x1 + 1x2 + 3x3 + 1x4 + 5x5 ≤ 8 000 4x1 + 3x2 + 5x3 + 2x4 + 4x5 ≤ 10 000 xj 0 (j = 1, 2, ..., 5) The key terms are resources and activities: m denotes the number of resources; n denotes the number of activities. Applying to the previous introductory example, m = 3 workshops with their capacity, n = 5 products. 1.4 Forms of LP models In this subchapter we will discuss general, standard and canonical forms of the LP model. 1.4.1 General form of LP For the introductory example the above model can be generalized as follows: a) Objective function Z = c1x1 + c2x2 + …….+ cnxn EXT (MAX or MIN) b) Main (functional) constraints a11x1 + a12x2 +… + a1nxn ≤ b1 i = 1,2,…, m a21x1 + a22x2 +… + a2nxn ≤ b2 j = 1,2,…, n …………. am1x1 + am2x2 +…+ amnxn ≤ bm c) Non-negativity constraints xj 0 (for j = 1, 2,..., n) where xj ...are model (decision) variables (outputs) = level of activity j; Z....is the value of the overall measure of performance (the value of objective function); aij are coefficients of the consumption of the i-th resource for each unit of the j-th activity constants of main constraints; 12 Darja Noskievičová Process Management bi…are the right hand sides - the whole available amount of the i-th resource that is available for allocation to activities (constants in a system of the main constraints); cj ...are objective function coefficients (sometimes called cost coefficients) - contribution of jthe decision variable to objective function Z, i.e. an increase in Z that would result from each unit increase in the level of activity j. As summarized in Tab. 1.3 the values of aij, bi and cj (for i = 1, 2, ...., m and for j = 1, 2, ..., n) are model input constants. They are also referred to as the model parameters. Tab. 1.3 Input constants needed for a linear programming model Resource 1 2 . . . m Contribution to Z per unit of activity Resource usage per unit of activity Activity 1 2 … n a11 a12 … a1n a21 a22 … a2n am1 c1 am2 c2 … … amn cn Amount of resource available b1 b2 . . . bm As we can see, some of constraints in the general model could be written as greater than or equal to () or equal to (=), depending on the problem statement. PL problems can be used to minimize or maximize the value of the objective function (for instance waste). In general the LPP model has 3 parts: a) the objective function where we seek its extreme (maximum or minimum) b) main constraints (m) c) non-negativity constraints and n decision variables. 1.4.2 Standard and canonical form of the LP model Using the simplex method (see later in detail) we need to have a LP model in a socalled standard form. The standard form of the LP model must have the following three characteristics: 1. The objective function should be of a maximization type (but in the literature it can be found that it is requested to be of a minimization type). 2. All the constraints should of an equality type. 13 Darja Noskievičová Process Management 3. All the decision variables should be non-negative. 4. All right-hand side values bi should be non-negative. The procedure to transform a general form of a LP model to its standard form is discussed below. Let us consider the following example: Z = 3x1 5x2 MAX 2x1 - 3x2 ≤ 15 x1 + x2 ≤ 3 4x1 + x2 ≤ 2 xj 0 for j = 1, 2 The above LPP is violating the following criterion of the standard form: - the constraints are not equations. However, a standard form for this LPP can be obtained by transforming it as follows: Z = 3x1 +5x2 + 0u1 + 0u2 + 0u3 MAX 2x1 - 3x2 + 1u1 x1 + x2 = 15 + 1u2 4x1 + x2 = 3 + 1u3 = 2 x1,2 0, u1,2, 3 0 Variables ui are called additional variables (notice that cj for uj in the objective function is equal to 0 and aij of these additional variables are equal to +1). Their goal is to transform inequations into equations to have left-hand sides equal to the right-hand sides. For that reason ui are added to the left-hand side. Additional variables ui that are added to the left-hand side are called slack variables (slack variables have physical meaning in problem formulation, for instance it can be the idle capacity of the workplace). The former model is in the standard form after the described modifications. It also has a canonical form because - all decision variables are constrained to be non-negative, - all constraints, except the non-negativity constraints, are stated as equalities, - right-hand side coefficients are all non-negative, 14 Darja Noskievičová Process Management - one decision variable is isolated in each constraint with +1 coefficient (u1 in the first main constraint, u2 in the second constraint and u3 in the third constraint). The variable isolated in a given constraint does not appear in any other constraint, and appears with a zero coefficient in the objective function. Having a canonical form of the model enables us to set the initial basic feasible solution through setting the variable isolated in constraint j , called the j-th basic variable, equal to the right-hand side of the j -th constraint and by setting the remaining variables, called non-basic variables, all to zero. Collectively the basic variables are termed a basis. In the example above, the initial basic feasible solution is as follows: x1, x2 = 0, u1 = 15, u2 = 3, u3 = 2 and the value of the objective function Z = 0. It means that variables x1 and x2 are non-basic variables and u1, u2 and u3 are basic variables in this initial basic feasible solution. For now let us consider the following different example: Z = -3x1 -5x2 MIN 2x1 - 3x2 ≤ 15 x1 + x2 ≤ 3 4x1 + x2 2 x1 0 x2 unrestricted The above LPP is violating the following criteria of the standard form: 1. The objective function is of a minimization type. 2. The constraints are not equations. 3. Decision variable x2 is unrestricted, i.e. it can be also negative, thus it is violating the non-negativity criterion. A standard form for this LPP can be obtained by transforming it as follows: Z´= -Z = 3x1 +5x2 + 0u1 + 0u2 + 0s3 MAX 2x1 - 3x2 +1u1 x1 + x2 = 15 + 1u2 4x1 + x2 = 3 - 1s3 = 2 x1 0, u1,2 0, s3 0 x2 unrestricted. 15 Darja Noskievičová Process Management The first two main constraints (≤) were transformed into equations by adding the slack variables u1, u2 to the left-hand sides as in the former example. But in the third constraint (inequality ) the additional variable s3 called the surplus variable had to be subtracted from the left-hand side to transform it into the equation. For now the problem with unrestricted variable x2 must be solved. It is solved using the simple substitution x2 = y1 - y2 where y1 and y2 are new non-negative variables. The final standard model for our example is as follows: Z´= -Z = 3x1 +5(y2 – y1)+ 0u1 + 0u2 + 0s3 MAX 2x1 - 3(y2 – y1) +1u1 x1 + (y2 – y1) 4x1 + (y2 – y1) = 15 + 1u2 = 3 - 1s3 = 2 x1 0, u1, 2 0, s3 0, y1,2 0. Because in the previous model it is not true that one decision variable is isolated in each constraint with +1 coefficient (there is -1s3, not +1s3 in the third constraint) the standard model is not in the canonical form and it is not possible to set the initial basic feasible solution. This situation can be solved using so-called artificial variables Ai. These variables are fictitious and cannot have any physical meaning. They are merely a mathematical convenience useful for initiating the simplex algorithm. The artificial variable technique is a device to get the initial basic feasible solution, so that the simplex procedure may be adopted as usual until the optimal solution is obtained. These artificial variables would not be part of any optimal solution, if it exists. To solve such a LPP there are two methods: the Big M method (the "Big M" refers to a large number associated with the artificial variable, represented by the letter M) or the Method of penalties and the Two-phase simplex method. Using the first method means that we assign a very large penalty ' — M ' to the artificial variable in the objective function for the maximization of the objective function (in detail see for instance [1], [5]). For our last example the final transformation leading to the canonical form is as follows: 16 Darja Noskievičová Process Management Z´= -Z = 3x1 +5(y2 – y1)+ 0.u1 + 0.u2 + 0.s3 – M.A3 MAX 2x1 - 3(y2 – y1) +1u1 x1 + (y2 – y1) = 15 + 1u2 4x1 + (y2 – y1) = 3 - 1s3 +1A3 = 2 x1 0, u1, 2 0, s3 0, y1,2 0, A3 0 The initial basic feasible solution for this model is as follows: x1 = 0, x2 = 0, s3 = 0 (non-basic variables); u1 = 15, u2 = 3, A3 = 2 ( basic variables). For now it will be shown how to deal with a situation when in the general model some main constraint in the form of equation exists. Let´s have the following general LPP model: Z = 3x1 5x2 MAX 2x1 - 3x2 ≤ 15 x1 + x2 ≤ 3 4x1 + x2 = 2 xj 0 for j = 1, 2 The standard form of this model is as follows: Z = 3x1 +5x2 + 0.u1 + 0.u2 MAX 2x1 - 3x2 + 1u1 x1 + x2 4x1 + x2 = 15 + 1u2 = 3 = 2 x1,2 0, u1,2 0 Because in this model it is not true that one decision variable is isolated in each constraint with +1 coefficient (there is no such variable in the third constraint) the standard model is not in the canonical form and it is not possible to set the initial basic feasible solution. This situation can be solved using again artificial variables Ai: 17 Darja Noskievičová Process Management Z = 3x1 +5x2 + 0.u1 + 0.u2 – M.A3 MAX 2x1 - 3x2 + 1u1 x1 + x2 = 15 + 1u2 = 3 4x1 + x2 + 1A3 = 2 x1,2 0, u1,2 0, A3 0 and the initial basic feasible solution is the following one: x1 = 0, x2 = 0 (non-basic variables); u1 = 15, u2 = 3, A3 = 2 (basic variables = base). 1.4.3 Summarization of additional and artificial variables Slack variables: Slack variable ui represents an unused quaintly of resources; it is added to less than or equal (<) type constraints in order to get an equality constraint. Surplus variables: Surplus variable si represents the amount by which the solution values exceed a resource. These variables are also called ‘negative slack variables’. Surplus variables like slack variables carry a zero coefficient in the objective function. It is added to greater than or equal to (>) type constraints in order to get an equality constraint. Artificial variable: Artificial variables Ai are added to constraints with equality (=) and greater than or equal to (>) type. An artificial variable is added to the constraint to get an initial solution to an LP problem in these cases. Artificial variables have no meaning in a physical sense and are not only used as a tool for generating an initial solution to an LP problem. Brief information about slack, surplus and artificial variables is given in the following table [6]: Tab. 1.4 Relation between additive and artificial variables and the types of inequality of constraints Inequality type Variable that appears ≥ - surplus + artificial = + artificial ≤ + slack 18 Darja Noskievičová Process Management A more detailed comparison of additional (slack and surplus variables) and artificial variables can be found in the following table: Tab. 1.5 Properties and functions of additional and artificial variables ([6]) Particulars Slack Variable Surplus Variable Artificial Variable Meaning Unused resources of the idle resources. Excess amount of resources utilized. No physical or economic meaning. It is fictitious. When used ? With < constraints With > constraints With > and = constraints Coefficient +1 -1 +1 Coefficient in the Z ( objective function) 0 0 As Initial basic variable Used as a starting point Can’t be used since the unit matrix condition is not satisfied In Optimal Table Used to help for interpreting idle & key resources -M for maximization (+M for minimization) It is initially used but later on eliminated. It indicates the infeasible solution 1.5 Assumptions of linear programming 1. Linearity (proportionality) The objective and constraints in linear programming problems must be expressed in terms of linear equations or inequalities. The contribution of each product (activity) to the value of the objective function Z is proportional to the value of decision variable xj. Also the contribution of each activity (product) to the left-hand side of each main constraint is proportional to the value of xj. [5] When this assumption cannot be met there must be used more complex non-linear programming or mixed integer programming. 2. Divisibility Noninteger values of decision variables are acceptable.In certain practical situations some or all decision variables must be restricted to an integer value. In that case integer programming models can be applied. [5] 19 Darja Noskievičová Process Management 1. Certaininty The values of the model parameters aij, cj, bi are known and constant. Sometimes the degree of uncertainty is very large and the decision variables must be treated as random variables. For such situations stochastic programming was developed. [5] 4. Aditivity Every function in an LP model (in the objective function, on the left-hand side of the main constraint) is the sum of the individual contributions of the respective activities (products). [5] 5. Non-negativity Negative values of decision variable xj are unacceptable. [5] 1.6 Types of solutions of LPP When solving LP problems we work with various types of solutions. A solution is the setting of decision variables xj, i.e. any specification of values for the decision variables xj. A feasible solution is a solution for which all the constraints are satisfied simultaneously, including the non-negativity constraints. The feasible region is the collection of all feasible solutions (see Fig. 1.1, the hatched area). The way how to construct it – see subchapter 2.2. In Fig. 1.1 we can also see feasible solutions (for instance points [0, 0] - initial solution, [100, 600] or [300, 0]) and others. Fig. 1.1 Feasible region 20 Darja Noskievičová Process Management It is possible to have no feasible solutions (see Fig. 1.2). A linear program is infeasible if it has no feasible solutions, i.e. the feasible region is empty. Fig. 1.2 No feasible solution When a feasible region exists, LP tries to find the best feasible solution - a solution which gives the maximal value of the objective function when it is to be maximized or the minimal value of the objective function when it is to be minimized. It is called the optimal solution (in general it is a feasible solution that has the most favourable value of the objective function). An LP problem can have 1) only one single solution (see Fig. 1.3) or 2) multiple optimal solutions each with the same optimal value of the objective function (see Fig. 1.4). Objective function Fig. 1.3 Single optimal solution 21 Darja Noskievičová Process Management Every point of this red line represents an optimal solution with the same Z Objective function Fig 1.4 Multiple optimal solutions There can be also the situation when a problem has no optimal solution. This occurs when it has no feasible solution (see Fig. 1.2) or the constraints do not prevent improving the value of the objective function indefinitely in the favorable direction (positive or negative). It means that for or any choice of xj, there is a larger xj that gives a better objective function value. This linear program is unbounded – see Fig. 1.5. Fig. 1.5 Unbounded LPP A corner-point feasible (CPF) solution is a solution that lies at a corner of the feasible region (see Fig. 1.6). 22 Darja Noskievičová Process Management (x1= 100; x2 = 600) (x1 = 600; x2 = 0) (x1 = 300; x2 = 280) (x1 = 300; x2 = 0) (x1 = 0; x2 = 0) Fig. 1.6 Corner point feasible solutions These solutions have useful properties including the following relationship with optimal solutions. Any LPP with feasible solutions and a bounded feasible region - must posses CPF solutions and at least one optimal solution. - the best CPF solution must be an optimal solution. - if an LPP has exactly one optimal solution there must be a CPF solution. - if an LPP has multiple solutions at least two must be CPF solutions. Basic solution is a solution with at most m non-zero values if there are n variables and m constraints. Basic variables: m non-zero variables. Non-basic variables: n – m of the zero–valued variables. Conclusions: Any LPP that is not infeasible or unbounded has an optimal solution that is basic. Basic feasible solutions correspond to the CPF points of the feasible region. 1.7 General model formulation – typical LPP In this subchapter we can find general models for some typical LPP. 23 Darja Noskievičová Process Management 1.7.1 Optimal production plan problem A store has requested a manufacturer to produce pants and sports jackets. For materials, the manufacturer has 750 m2 of cotton textile and 1000 m2 of polyester. Every pair of pants (1 unit) needs 1 m2 of cotton and 2 m2 of polyester. Every jacket needs 1,5 m2 of cotton and 1 m2 of polyester (see Tab. 1.6). Tab. 1.6 Summarization of LPP data pan t s j acket s avai l abl e cot t on 1 3 750 pol yes t er 2 1 1 000 The price of the pants is fixed at 50 $ and the jacket at 40 $. What is the number of pants and jackets that the manufacturer must give to the stores so that these items obtain a maximum sale? General model formulation: Decision variables x1 ...number of pants x2...number of jackets Objective function Z = 50 x1 + 40 x2 →M AX System of main constraints x1 + 3x2 ≤ 750 2x1 + x2 ≤ 1000 Non-negativity constraints xj 0 for j = 1, 2 1.7.2 Optimal mix problem This problem involves specifying an alloy ingredient combination that will satisfy the stated element content requirements at a minimum cost level. 24 Darja Noskievičová Process Management The alloy must contain maximally 80% of Fe and minimally 4% of Ni. It is produced from 3 raw materials with its own content of Fe and Ni (see Tab. 1.7). The prices of the raw materials are in money units per 100 kg. The goal is to produce the alloy with the requested properties and with minimal cost. Tab. 1.7 Input data Component Content of elements in raw material (%) Raw material 1 Raw material 2 Raw material 3 Fe 70 90 85 Ni 5 2 7 Remaining 25 8 8 Price per 100 kg 60 40 50 General model formulation: Decision variables xj (j = 1, 2, 3) ...portion of j-th raw material Objective function Z= 60x1 + 40x2 + 50x3 →MIN System of main constraints 70x1 + 90x2 + 85x3 ≤ 80 5x1 + 2x2 + 7x3 ≥ 4 x1 + x2 + x3 = 4 Non-negativity constraints xj 0 for j = 1, 2, 3 1.7.3 Optimal rod cutting problem The problem is to cut rods of standard lengths to the planned amount of rods of specific lengths with a minimum of waste. 25 Darja Noskievičová Process Management It is necessary to cut atypical semi-finished products A (its length is 570 mm), B (its length is 820 mm) and C (its length is 1010 mm) up from the standard 2000 mm steel rods. It is planned to produce 50 final products each consisting of 4 pieces of semi-finished products A and B and 5 pieces of semi-finished product C. We need to set the amount of the original standard 2000 mm rods cut according to the j-th cutting pattern to have minimal waste. The cutting pattern 1 means that we cut one 2000 mm rod into 3 semi-finished products A with 290 mm of waste (see Fig 1.7). Fig. 1.7 Example of the cutting pattern Another cutting pattern: 2 semi-finished products A and 1 semi-finished product B and 40 mm of waste. All possible patterns are defined in Tab. 1.8. Tab.1.8 Summary of the problem depiction Semi-finished products (the number of pieces per one original 2000 mm rod) A (570 mm) B (820 mm) C (1010 mm) Waste (mm) 1 2 Cutting pattern 3 4 5 3 290 2 1 40 1 1 420 2 360 1 1 170 General model formulation: Decision variables xj (j = 1, 2, 3, 4, 5) ... number of original 2000 mm rods cut according to the j-th cutting pattern. 26 Darja Noskievičová Process Management Objective function Z= 290x1 + 40x2 + 420x3 + 360x4 + 170x5→MIN System of main constraints 3x1 + 2x2 + 1x3 1x2 = 200 (200 = 50 . 4) = 200 (200 = 50 . 4) + 1x5 = 250 (250 = 50 . 5) + 2x4 + 1x5 + 1x3 Non-negativity constraints xj 0 for j = 1, 2, 3, 4, 5 1.8 Techniques of solving LP problems There are various different LP techniques for finding the optimal solution when it exists, some of them are of special purpose (transportation method) and others are more general in scope. The main general-purpose solution techniques are as follows: graphical linear programming and the simplex method. Graphical LP provides a visual representation of many important concepts of LP. On the other hand it is limited to problems involving only two variables. The simplex method is a mathematical approach enabling the handling of more than two variables. For that reason it is much more useful for solving real problems. Examples Example 1.1 Convert the following general model into a standard form. Z = x 1 - 6 x 2 + 2 x 3 → MAX -2x1 + 3x2 – x3 ≥-6 x1 - 2x2 + 3x3 ≥ 1 x1,2 0 , x3 ∈ ⟨-2, 6⟩ 27 Darja Noskievičová Process Management Example 1.2 Convert the following general model into a form where the initial LP solution can be set. Z = 4 x 1 + x 2 → M IN 3x1 + x2 = 3 4x1 + 3x2 ≥ 8 x1 + 2x2 ≤ 4 xj 0 Example 1.3 Create a general model for the following situation [2]: Then convert this model into a standard and canonical form and set the initial feasible solution. The Shader Electronics Company produces two products: (1) the Shader Walkman, a portable CD/DVD player, and (2) the Shader Watch-TV, a wristwatch-size internet-connected colour television. The production process for each product is similar in that both require a certain number of hours of electronic work and a certain number of labour-hours in the assembly department. Each Walkman takes 4 hours of electronic work and 2 hours in the assembly shop. Each Watch-TV requires 3 hours in electronics and 1 hour in assembly. During the current production period, 240 hours of electronic time are available, and 100 hours of assembly department time are available. Each Walkman sold yields a profit of $7; each Watch-TV produced may be sold for a $5 profit (this problem description is summarized in Tab. 1.9. Shader’s problem is to determine the best possible combination of Walkmans and Watch-TVs to manufacture to reach a maximum profit. This product-mix situation can be formulated as a linear programming problem. Tab. 1.9 Summary of the LPP data Hours required to produce 1 unit Department Electronic Assembly Profit per unit (in money units) Walkman 4 2 7 Watch-TV 3 1 5 28 Available hours this week 240 100 Darja Noskievičová Process Management Summary of terms linear programing problem general model standard form canonical form objective function main constraint non-negative constraint decision variable coefficients of the consumption right-hand side cost coefficient¨ slack variable artificial variable method of penalties big M surplus additional variable feasible solution initial solution feasible region optimal solution corner-point feasible solution basic solution basic variable non-basic variable 29 Darja Noskievičová Process Management Questions For which decision environment is linear programming most suited? What is the structure of the typical LPP model? What are differences between the general and standard form of an LP model? What are the differences between a standard and canonical model? What are the assumptions for an LPP application? What types of LP solutions do you know? Define each type and their differences and similarities. What is the relation between optimal and CPF solutions? What is the feasible region and what determines such a region? Define the various results of LPP and try to describe them graphically. What is the difference between additional and artificial variables? What is their function in the LP model? What is the difference between slack and surplus? What is the cost coefficient for additional and artificial variables? What mix of surplus, slack and artificial variables is used in each of the following constraints? a) ≤ b) = c) ≥ Key to solution Example 1.1 solution Substitution: x3 = y1 - y2 Z = x1 - 6x2 + 2(y1 - y2)+0.u1 +0.u2 + 0.u3 + 0.u4 → MAX 2x1 - 3x2 + y1 - y2 + u1 x1 - 2x2 + 3(y1 - y2) =6 – u2 -(y1 - y2) y1 - y2 + u3 =1 =2 + u4 = 6 x1,2 0; y1,2 0 u1,2,3,4 0 30 Darja Noskievičová Process Management Example 1.2 solution -Z = -4 x 1 - x 2 + 0. s 2 + 0. u 3 –M.A 1 – M.A 2 → MAX 3x1 + x2 + M.A1 4x1 + 3x2 -1s2 = 3 + M.A2 = 8 x1 + 2x2 + 1u3 = 4 xj 0; u3 0; s2; A1,2 0 Initial feasible solution: x1 = 0, x2 = 0, s2 = 0, u3 = 4, A1 =3, A2 = 8 Example 1.3 solution Decision variables x1.... amount of walkmans; x2...amount of watch TV General model Z = 7 x 1 + 5 x 2 → MAX 4x1 + 3x2 ≤ 240 2x1 + 1x2 ≤ 100 xj 0 Standard = canonical form Z = 7 x 1 + 5 x 2 +0.u 1 + 0.u 2 → MAX 4x1 + 3x2 + u1 2x1 + 1x2 = 240 + u2 = 100 xj 0, ui 0 Initial feasible solution x1 = 0, x2 = 0, u1 = 240, u2 = 100, Z = 0 31 Darja Noskievičová Process Management References [1] Eiselt, H. A. – Sandblom, C. L.: Linear Programming and its Applications. Springer, Berlín, 2007. [2] Heiser, J.– Render, B.: Operations Management. 10th ed. Pearson, Harlow, England, 2011. [3] Hillier, F. S. – Lieberman, G. J.: Introduction to Operations Research. 7th ed. McGrawHill Ed., New York, 2001. [4] Krajewski, L. J. – Malhotra, M. K. – Ritzman, L. P.: Operations Management. Process and Supply Chains. 11th ed. Pearson, Harlow, England, 2016. [5] Stewenson, W. J.: Operations Management. 12th ed. McGraw-Hill Ed., New York, 2015. [6] http://freefeast.info/difference-between/difference-between-slack-surplus-and-artificialvariables-slack-vs-surplus-vs-artificial-variables/ 32 Darja Noskievičová Process Management 2. GRAPHICAL SOLUTION OF A LINEAR PROGRAMMING PROBLEM Study time 480 min Objective After studying this chapter you will know when and how to apply the graphical method, you will better understand the principles of linear programming, you will be able to construct a feasible region, you will be able to solve simple linear programming problems using the graphical method and interpret the obtained results. Lecture 2.1 Introduction The easiest way to solve a small LP problem is the graphical solution approach [1], [2]. The graphical procedure can be used only when there are two decision variables (x1, x2). When there are more than two variables, we must apply a more complex approach described as the simplex method (see Chapter 3). 2.2 Steps of the graphical solution The steps of the graphical method of the LPP solution can be defined as follows: 1. the creation of a general LPP model 2. the construction of a feasible region 3. finding the optimal solution (solutions) where it exits 33 Darja Noskievičová Process Management 2.2.1 Creation of the general LPP model In solving an LPP graphically, at first we must form the general LPP model. Let´s have the following one: Z = 5x1 + 8x2 → MAX 3x1 + 3x2 ≤ 1800 (Constraint 1) x1 + 2x2 ≤ 1000 (Constraint 2) xj ≥ 0 2.2.2 Construction of the feasible region To find the optimal solution of the LPP, we must firstly identify a region of feasible solutions (feasible region). It means that we must plot every constraint on a graph (the variable x1 is plotted as the horizontal axis x of the graph, and the variable x2 is plotted as the vertical axis y). In doing it we start by converting each constraint inequality into equations. [1] For our example it is as follows: 3x1 + 3x2 = 1800 (constraint 1) x1 + 2x2 = 1000 (constraint 2) The equation for constraint 1 is plotted in Figure 2.1 and for constraint 2 in Figure 2.2. To plot the line in Figure 2.1, we need to find the points at which the line 3x1 + 3x2 = 1800 intersects the x1 and x2 axes. When x1 = 0 (the location where the line touches the x2 axis), it implies that 3x2 = 1800 and that x2 = 600. Likewise, when x2 = 0, we can see that 3x1 = 1800 and that x1 = 600. Thus, constraint 1 is bounded by the line running from (x1 = 0, x2 = 600) to (x1 = 600, x2 = 0). The hatched area represents all points that satisfy the original inequality (constraint 1). Fig. 2.1 Constraint 1 34 Darja Noskievičová Process Management Constraint 2 is illustrated similarly in Fig. 2.2. When x1 = 0, then x2 = 500 and when x2 = 0 then x1 = 1000. Constraint 2, then, is bounded by the line between (x1 = 0, x2 = 500) and (x1 = 1000, x2 = 0). The hatched area represents the original inequality (constraint 2). Fig. 2.2 Constraint 2 Fig. 2.3 shows both constraints together. The crosshatched region is the area that satisfies both main restrictions and non-negative constraints, too. This area is called the area of feasible solutions, or simply the feasible region (see Chapter 1). This region must satisfy all conditions specified by the programme’s constraints and is thus the region where all constraints overlap. Any point in the region would be a feasible solution to the LPP. Any point outside the crosshatched area would represent an infeasible solution. Fig. 2.3 Feasible region 35 Darja Noskievičová Process Management 2.2.3 Finding the optimal solution Now when the feasible region has been graphed, we can proceed to find the optimal solution to the problem. The optimal solution is the point lying in the feasible region that produces the highest profit. The corner-point solution method [1] can be applied in looking for an optimal solution. This technique involves computing the profit at every corner point of the feasible region (see Fig. 2.4). Fig. 2.4 Feasible region with the corner points The mathematical theory behind linear programming states that an optimal solution to any problem (that is, the values of x1, x2 that yield the maximum profit in our example) will lie at a corner point, or extreme point, of the feasible region.[1] So, it is necessary to find only the values of the variables x1 and x2 at each corner; the maximum profit or optimal solution will lie at one (or more) of them. Once again we can see (in Figure 2.4) that the feasible region for our example is a four-sided polygon with four corner or extreme, points. These points are marked with A, B, C and D on the graph. To find the [x1, x2] values producing the maximum profit, we find out what the coordinates of each corner point are and then we determine and compare their profit levels: Point A: (x1 = 0, x2 = 0); profit 5 . 0 + 8 . 0 = 0 (money units) Point B: (x1 = 0, x2 = 500); profit 5 . 0 + 8 . 500 = 4000 (money units) Point D: (x1 = 600, x2 = 0); profit 5 . 600 + 8 . 0 = 3000 (money units) 36 Darja Noskievičová Process Management We skipped corner point C momentarily because to find its coordinates accurately, we will have to solve for the intersection of the two constraint lines. As you may recall from algebra, we can apply the method of simultaneous equations to these two constraint equations: 3x1 + 3x2 = 1800 x1 + 2x2 = 1000 To solve these equations simultaneously, we multiply the second equation by -3 -3(x1 + 2x2 = 1000) = -3x1 – 6x2 = -3000 and then add it to the first equation: 3x1 + 3x2 = 1800 -3 x1 - 6x2 = -3000 - 3x2 = -1200 Hence x2 = 400. Doing this has enabled us to eliminate one variable, x1, and to solve for x2. We can now substitute 400 for x2 in either of the original equations and solve for x1. Let us use the first equation. When x2 = 400, then 3x1 + 3.400 = 1800 3x1 = 600, hence x1 = 200 Thus, point C has the coordinates (x1 = 200, x2 = 400). We can compute its profit level to complete the analysis: Point C: (x1 = 200, x2 = 400); profit = 5 . 200 + 8 . 400 = 4200 (money units) Because point C produces the highest profit of any corner point, x1 = 200, x2 = 400 is the optimal solution to our LPP. This solution will yield a profit of 4200 per production period. 37 Darja Noskievičová Process Management Examples Example 2.1 Let´s have the following general LPP model: Z = 34x1 + 40x2 → MAX 4x1 + 6x2 ≤ 48 2x1 + 2x2 ≤ 18 2x1 + 1x2 ≤ 16 xj ≥ 0 for j = 1, 2 a) Is it possible to solve this LPP graphically? If it is possible, why? b) If it is possible to find the optimal solution for this LPP do it using the graphical method. Summary of terms feasible region feasible solution optimal solution objective function corner point corner point solution simultaneous equations Questions When is it suitable to solve the LPP graphically? What are the steps of the graphical method of the LPP solution? What depicts the feasible region? How to construct the feasible region? 38 Darja Noskievičová Process Management What is the principle of the corner point solution method? What is the relation between the corner point and the optimal solution? How do we find out that the LPP has only one optimal solution? How do we find out that the LPP has no feasible solution? How do we find out that the LPP has multiple optimal solutions? What does an unbounded LPP mean? Key to solution Example 2.1 Ad a) It is possible because we have only two decision variables. Ad b) Optimal solution: x1 = 3; x2 = 6 Optimal solution 39 Darja Noskievičová Process Management Conclusions: Optimal solution: x1 = 3, x2 = 6, Z = 342. It is also possible to compute the values of the additive (slack) variables u1, u2, u3 from the main constraint equations: u1 = 0, u2 = 2, u3 = 4 For instance: 4x1 + 6x2 + u1 = 48 ⇒ u1 = 0 and so on. References [1] Heiser, J.– Render, B.: Operations Management. 10th ed. Pearson, Harlow, England, 2011. [2] Stewenson, W. J.: Operations Management. 12th ed. McGraw-Hill Ed., New York, 2015. 40 Darja Noskievičová Process Management 3. SIMPLEX METHOD Study time 600 min Objective After studying this chapter you will know when and how to apply the simplex method, you will be able to solve an LPP using the simplex method, you will be able to interpret the obtained results. Lecture 3.1 Steps of the simplex method The simplex method is an iterative algebraic procedure for solving an LPP. After starting with an initial solution, the procedure systematically evaluates CPF (see Chapter 2) in such a way that the objective function improves (or at worst stays the same) at each iteration. The simplex algorithm can be applied through the following steps [1]: 1. Formulating the problem in terms of the general LPP model. 2. Transformation of the general model into the canonical form. 3. Setting up the initial table and calculating the zj and (cj – zj) quantities, ((cj – zj) is the criterion of optimality. 4. The verification of the optimality of the solution using the criterion of optimality. If all (cj – zj) are zero or negative the optimal solution has been found (in maximization problem). If these conditions do not hold, steps 5 – 7 must be implemented. 5. The determination of the entering variable (in the key column) with the largest (cj – zj) value (in maximizing problems). 6. The determination the exiting variable (the key row) by finding the ratio of the value in the quantity column to the corresponding substitution rate in the entering variable column for each row and selecting the smallest positive ratio. 41 Darja Noskievičová Process Management 7. The creation of the new table through the calculation of the new row for entering a variable by dividing the old row for an exiting variable by the pivot element (it is the intersection of the key column and key row) and placing it in the new table. Using Gaussian elimination to transform the values in the remaining rows and placing them in the new array. The calculation of the new zj and (cj – zj) values for the new table. 8. The verification of solution optimality. If all (cj – zj) are zero or negative the optimal solution (criterion of optimality) has been found (in maximization problem). If these conditions do not hold, steps 5 – 7 must be repeated. For practical applications computers are applied but to demonstrate the logic of the simplex method we will solve it manually step by step. We will consider the same LP problem as in the chapter with the graphical solution. 3.1.1 Formulating the problem in terms of the general LPP model Z = 5x1 + 8x2 → MAX 3x1 + 3x2 ≤ 1800 x1 + 2x2 ≤ 1000 xj ≥ 0 3.1.2 Transformation of the general model into the canonical form The general model must be modified for it to be possible to set the initial basic feasible solution (for more detail see Chapter 1). For our example the standard form is equal to the canonical one. Z = 5x1 + 8x2 + 0u1 + 0u2 → MAX 3x1 + 3x2 + 1u1 x1 + 2x2 = 1800 + 1u2 = 1000 xj ≥ 0, ui ≥ 0 3.1.3 Setting up the initial table and the calculation of the zj and (cj – zj) quantities The most convenient way for applying the simplex method is to use tables. Each table corresponds to one basic feasible solution. In this step the initial table for the initial basic feasible solution is created (see Tab. 3.1). Most of it merely duplicates aij, cj and bi constants and variables from the canonical model. 42 Darja Noskievičová Process Management Tab. 3.1 Initial table (table1) In the first row there are the objective function (cost) coefficients cj for each variable from the canonical model, i. e. including slack variables ui (see the second row). The basic non-zero variables are listed under Basis (the second column). In the initial table for our example the slack variables u1 and u2 are chosen for the initial solution to the problem. In the first column there are cost coefficients for the basic variables (we know that these coefficients for the slack variables are equal to zero). In our example we have two main constraints. The column called Quantity shows the current value of the basic variables. In the initial table these values are merely the quantities on the right-hand side of the constraint equations in the canonical model bi, i. e. 1800 and 1000. By convention the variables that are not in the current basic solution (non-basic variables) have the values of zero. Thus in the initial solution x1 = 0 and x2 = 0. This solution corresponds to the origin (0, 0) in the graph of the feasible regions in Chapter 2. All the variables in the canonical model are listed to the right of the Quantity column (there are variable x1, x2, u1, u2) for our example. In the initial table the coefficients aij of the canonical model are listed under the variable name. These coefficients in the initial and all subsequent tables have a special meaning. They indicate the substitution rate for a particular non-basic variable relative to the basic variables. For example, the 3 and 2 in the x2 column tell us that for each unit of x2 introduced into the solution, u1 will be reduced by 3 units and u2 will be reduced by 2 units. In subsequent tables these substitution rates will change. This information will be useful in determining how to improve the current solution at any iteration. The last two rows of the table provide summary information about the trade-offs in introducing a variable into the solution. The zj row shows the profit forgone by introducing 1 unit of variable j into the solution. To calculate zj we use the substitution rates for variable j (in the column for variable j) and the cost coefficients for the basic variables (the first column). 43 Darja Noskievičová Process Management Consider variable x1: when introducing 1 unit of variable x1 into the solution it must be given up 3 units of u1 and 1 unit of u2. As slack variables provide no contribution to profit (cj = 0) the total profit forgone is by introducing 1 unit of x1, i. e. z1 = 0 . 3 + 0 . 1 = 0 (see Tab. 3.2). All it is doing is giving up slack resources at this stage of the solution process. Similarly, z2 = 0 . 3 + 0 . 1 = 0. Tab. 3.2 Table 1 - cont. 1 Similarly, z2 = 0 . 3 + 0 . 2 = 0; z3= 0 . 1 + 0 . 0 = 0 and z4= 0 . 0 + 0 . 1 = 0 and Z = 0 . 1 800 + 0 . 1 000 = 0. Z in the Quantity column shows the current value of the objective function. The (cj - zj) row contains the net contribution effect of introducing 1 unit of a variable into the solution. It is the difference between objective function coefficients cj and the profit forgone zj by the introducing 1 unit of variable j. For x2 we have c2 – z2 = 8 – 0 = 8. 3.1.4 Verification of the optimality of the solution There can be read from the initial table that no resources are being used in the production because only slack variables are in the solution (in the basis). In addition it also shows that the current solution is not optimal as the (cj – zj) are not all zero or negative. It means that this current solution can be improved. For now there must be set a new better basic feasible solution that will lead to a better value of the objective function. To set such a solution we must set the so-called entering and exiting variables. 3.1.5 Determination of the entering variable In linear programming we select one variable to enter the solution and one variable to leave the solution at each iteration until we reach the optimal solution when it exists. The values (cj - zj) tells us whether an improvement of the solution is possible. In our problem there is a positive net contribution of 5 money units per unit of x1 and 8 money units per unit of x2. As we are interested in maximizing the objective function it would make sense to select 44 Darja Noskievičová Process Management the variable with the largest net contribution (cj – zj) as a new basic to enter into the new basic solution. This is variable x2 in our example (see Tab. 3.3 and the column in the red frame which is called the key column). Tab. 3.3 Table 1 – cont. 2 The general rule for the setting the entering variable can be defined as follows: Select a variable with the largest value of (cj – zj) to introduce it into the next solution (in maximizing a problem). 3.1.6 Determination of the exiting (leaving) variable In this step we must select the exiting variable that will be removed from the base of the next solution and will be replaced by the entering variable set in the previous step. For such a solution we must compute value hi which is the ratio of the value in the quantity column to the corresponding substitution rate in the key column for each constraint (the last column in Tab. 3.4). For our example h1 = 1800/3 = 600 and h2 = 1000/2 = 500. Tab. 3.4 Table 1- cont. 3 45 Darja Noskievičová Process Management The exiting (leaving) variable is determined by the smallest positive hi. In our example it is variable u2 (see the row in the red frame in Tab. 3.4 – this row is called the key row) as h2 = 500 (it is less then h2 = 600). The general rule for the setting the exiting variable can be defined as follows: Compute hi which is the ratio of the value in the quantity column to the corresponding substitution rate in the key column for each constraint. Consider only positive values for the substitution rates and select the row with the lowest ratio hi (the key row). After steps 4 and 5 we can create the new table relating to the next basic feasible solution. 3.1.7 Creation of the new table In the new basic feasible solution (new table 2) there will be in the basis an entering variable instead of an exiting one. For our example it means that there will be variable x2 instead of variable u2 (see Tab. 3.5). For that reason cj in the first column in the row for x2 will be changed into 8. Tab. 3.5 Table 2 As we mentioned earlier, we use the simplex method for the systematic evaluation of CPF of a feasible region. Because the corners CPF are formed by the intersection of lines representing linear equations we need to solve a system of linear equations. For that reason we will apply a method called Gaussian elimination to transform the previous table to reflect a new solution to our LPP. Commonly in every tableau the coefficients in the column of a basic variable consist of a number 1 in the row associated with that variable and zeros in the rest of rows. For u2, the exiting variable in our example, we have 0, 1 in a column (see Tab. 3.4). The values in the column for x2, the entering variable in our example, are 3, 2 (see again Tab. 3.4). Using the Gaussian elimination method we will transform the column for x2 into 0, 1. It reflects the fact that x2 was entered into the new basic feasible solution and replaced u2. 46 Darja Noskievičová Process Management These transformations will be done by performing various mathematical operations on the rows of the table. At first we must calculate the new row for the entering variable. It is done as follows: at the intersection of the key column and the key row there is a value called the pivot element. We replace the old key row with the new row of the entering variable (see the pink row in Tab. 3.5) having a value of 1 for the pivot element (the red value in the Tab. 3.5). So, we will divide the values in the old key row in the previous table by the pivot element to create a new entering variable row for the new table. In our example the pivot element is equal to 2 (see the yellow box in Tab. 3.4). With this value we will divide all elements in the old key row for the variable u2 in the previous table 1 and so we will have the new row for the x2 variable in new table 2 (see Tab. 3.5). After transforming the old key row we proceed with the transformation of the other rows. Each other row is transformed according the following scheme new row = old row – (the coefficient from the key column in the old row) x (new entering variable row) element by element, to the recomputed row in order that we have a 0 in the new entering variable column. In our example we must re-compute only one row, i.e. the row for the variable u1. The computations of the elements for the new row for the variable u1 are contained in the following table, the last column in the red frame. Tab. 3.6 Re-computation of the elements in the u1 row The new row for variable u1 will be transferred into table 2 (Tab. 3.7) and zj and (cj – zj) can be computed in the same way as in the previous table (see Tab. 3.7). 47 Darja Noskievičová Process Management Tab. 3.7 Table 2 – cont. 3.1.8 Verification of the optimality of the solution From this table we can read that the current basic solution is: x1 = 0, x2 = 500, u1 = 300, u2 = 0 and the value of the objective function Z = 4 000. As there is one value which if positive means that this solution is not optimal and it can be improved (we can find the solution with the higher value of the objective function). It means that we must create a third table repeating the simplex algorithm from step 5. 3.1.9 Repeating the simplex algorithm Looking at Tab. 3.7 we can find out that only variable x1 has a positive (cj – zj) and for that reason it will be the variable entering into the basis of the next solution. It will substitute for variable u1, because u1 has the smallest positive value (h1 = 200). Now we can start to create the third table – see Tab. 3.8. Tab. 3.8 Table 3 The re-computed values in the row for x2 were set as it is in the following table, the last column in the red frame. 48 Darja Noskievičová Process Management Tab. 3.9 Re-computation of the elements in the x2 row These recomputed values were inserted into the third table and zj and (cj – zj) were computed (see Tab. 3.8). Tab. 3.8 contains the following basic feasible solution: x1 = 200, x2 = 400, u1 = 0, u2 = 0 with the value of the objective function Z = 4 200 money units. As there is no positive value (cj – zj), this solution is also optimal. As the slack values are equal to 0, it means that the both resources were wholly utilized. 3.2 A solved example A company produces plastic pipes with big flexibility. The necessary information can be found in Tab. 3.10. All data are expressed in units per 100 feet of pipe. Tab. 3.10 Input data Pipe type Resource 1 2 Resource availability Extrusion 4 hr 6 hr 48 hr Packaging 2 hr 2 hr 18 hr Additive mix 2 lb 1 lb 16 lb Price per 100 feet 34 money units 40 money units Set what amount of pipe type 1 and what amount of pipe type 2 could be produced to obtain a maximal profit. Solve this LPP using the simplex method. 1. Definition of the variables and creation of the general model X1 ….. amount of the pipe of type I X2….. amount of the pipe of type II 49 Darja Noskievičová Process Management Z = 34x1 + 40x2 → MAX 4x1 + 6x2 ≤ 48 2x1 + 2x2 ≤ 18 2x1 + 1x2 ≤ 16 xj ≥ 0 for j = 1, 2 2. Transformation of the model into canonical form Z = 34x1 + 40x2 + 0u1 + 0u2 + 0u3 → MAX 4x1 + 6x2 + 1u1 2x1 + 2x2 = 48 + 1u2 2x1 + 1x2 = 18 + 1u3 = 16 x1,2 ≥ 0, u1,2,3 ≥ 0 3. Creation of the table for the initial solution, testing the optimality of the initial solution, setting the entering and exciting variables (see Tab. 3.11) Tab. 3.11 Table 1 (initial solution) Initial basic solution x1 = 0, x2 = 0, u1 = 48, u2 = 18, u3 = 16, Z = 0 4. Creation of the recomputed table (the second basic solution), testing the optimality of the second solution, setting the entering and exciting variables – see Tab. 3.12. 50 Darja Noskievičová Process Management Tab. 3.12 Table 2 (the second basic solution) Actual basic feasible solution: x1 = 0, x2 = 8, u1 = 0, u2 = 2, u3 = 8, Z = 320. It is a better solution than the first one but it is not the optimal solution. 5. Creation of the recomputed tableau (the third basic solution), testing the optimality of the third solution, setting the entering and exciting variables – see Tab. 3.13. Tab. 3.13 Table 3 (the third basic solution) As no value of (cj – zj) is positive, it is the optimal solution: x1 = 3, x2 = 6, u1 = 0, u2 = 2, u3 = 4, Z = 342 Conclusion: The plant could produce 300 feet of type 1 pipe and 600 feet of type 2 pipe to reach a profit of 432 money units. 4 units of additive mix would not be utilized. 51 Darja Noskievičová Process Management Examples Example 3.1 Two products A and B can be produced on a certain machine. There are 12 hours of machine time available to produce these products. Product A requires 1 hour per unit, product B requires 3 hours per unit. Both products require one row material: product A uses 4 kg of raw material per one unit and product B uses 3 kg. There are 24 kg of this raw material available for these products. The goal is to maximize the profit from these products and unit profit for the product A is 4 money units and 5 money units for product B. What quantity of each should be produced? This information is summarized in the following table. Solve it using the graphical method and verify the result using the simplex method. Tab. 3.14 Input data Product Resource A B Resource availability Machine time 1 hr 3 hr 12 hr Raw material 4 kg 3 kg 24 kg Profit per 1 product 4 money units 5 money units Summary of terms exciting variable entering variable criterion of optimality substitution rate pivot element net contribution Gaussian elimination key row key column base 52 Darja Noskievičová Process Management profit forgone Questions When is it suitable to solve the LPP using the simplex method? What are the steps of the simplex method? How to construct the simplex table? What is the optimality criterion? How to set the variable that will be removed from the next solution? How to set the variable that will be inserted into the next solution? How to re-compute the actual solution to obtain the an even better basic solution? What is the function of the value (cj – zj)? What is the function of the value hi? How to interpret the simplex table? What can be read from it in each iteration? Key to solution Example 3.1 Graphical solution Definition of the variables: x1 ….. amount of the product A x2….. amount of the product B Creation of the general model: Z = 4x1 + 5x2 → MAX x1 + 3x2 ≤ 12 4x1 + 3x2 ≤ 24 xj ≥ 0 for j = 1, 2 53 Darja Noskievičová Process Management Conclusion: to maximize profit it is necessary to produce 4 units of product A and 2.67 units of the product B. It ensures a maximal profit of 29.34 money units. Example 3.1 Solution using the simplex method Creation of the general model: 54 Darja Noskievičová Process Management Z = 4x1 + 5x2 → MAX x1 + 3x2 ≤ 12 4x1 + 3x2 ≤ 24 xj ≥ 0 for j = 1, 2 Transformation into the canonical model: Z = 4x1 + 5x2 → MAX x1 + 3x2 + 1u1 4x1 + 3x2 ≤ 12 + 1u2 ≤ 24 x1,2 ≥ 0, u1,2 ≥ 0 The table for the initial solution (see Tab. 3.15) Tab. 3.15 Table 1 (initial solution) cj 4 5 0 0 Basis Quantity x1 x2 u1 u2 0 u1 12 1 3 1 0 0 u2 24 4 3 0 1 zj Z=0 0 0 0 0 4 5 0 0 cj – zj Initial basic solution: x1 = 0, x2 = 0, u1 = 12, u2 = 24, Z = 0 … 55 hi Darja Noskievičová Process Management Optimal solution (see Tab. 3.16) Tab. 3.16 The last table with an optimal solution cj 4 5 0 0 Basis Quantity x1 x2 u1 u2 5 x2 8/3 (2,67) 0 1 4/9 -1/9 4 x1 4 1 0 -1/3 1/3 zj Z = 88/3 4 5 8/9 7/9 0 0 -8/9 -7/9 hi (29,34) cj – zj Optimal solution: x1 = 4, x2 = 2.67, u1 = 0, u2 = 0, Z = 29.34. Conclusion: Using the simplex method we have obtained the same solution as using the graphical method. References [1] Krajewski, L. J. – Malhotra, M. K. – Ritzman, L. P.: Operations Management. Process and Supply Chains. 11th ed. Pearson, Harlow, England, 2016. 56 Darja Noskievičová Process Management 4. TRANSPORTATION PROBLEM Study time 600 min Objective After studying this chapter you will know what is a transportation problem you will be able to solve a transportation problem you will be able to apply approximate methods you will be able to find the optimal solution you will be able to interpret the results Lecture 4.1 The principle of a transportation problem Suppose a company has m warehouses (suppliers) and n retail outlets. A single homogenous product is to be shipped from the warehouses (suppliers) to the outlets (customers). Each warehouse (supplier) has a given level of supply (capacity) and each outlet (customer) has a given level of demand. We are also given the transportation costs between every pair of warehouse and outlet, and these costs are assumed to be linear. More explicitly, the assumptions are: The total supply of the product from supplier i is ai, where i = 1, 2, . . ., m. The total demand for the product at a customer j is bj , where j = 1, 2, . . ., n. The cost of sending one unit of the product from supplier i to customer j is equal to cij , where i = 1, 2, . . ., m and j = 1, 2, . . ., n. The total cost of a shipment is linear in the size of the shipment. The problem of interest is to determine the optimal transportation scheme between suppliers and customers, subject to specified supply and demand constraints. 57 Darja Noskievičová Process Management Graphically, a transportation problem can be depicted as follows: Suppliers Customers Fig. 4.1 Graphical description the transportation model where is xij (decision variables) - the size of the shipment from supplier i to customer j, where i = 1, 2, . . ., m and j = 1, 2, . . ., n (xij ≥ 0); cijxij - total cost of the shipment from i-th supplier to j-th customer. The objective function is the overall transportation cost for all supplier-customer combinations: 𝑛 minimize ∑𝑚 𝑖=1 ∑𝑗=1 𝑐𝑖𝑗 𝑥𝑖𝑗 . Such a problem leads to a very complex model using a general LP model. For that reason a more efficient algorithm (of the transportation model) for solving such problem was defined. It consists of three steps: the preparation of the transport table, generating an initial feasible solution and developing the optimal solution [1], [2], [3]. 4.2 Steps of the transportation problem solution In this chapter the steps in solving the transportation problem are described in detail using an example. 4.2.1 Preparation of the transportation table The second and third steps are implemented using so-called transportation tables where supply availability ai at each source is shown in the far right column and the customer 58 Darja Noskievičová Process Management requirements bj are shown in the bottom row. Each cell represents one route. The unit shipping cost cij is shown in the upper right corner of each cell, the amount of shipped material (decision variable xij) is shown in the centre of each cell (see Tab. 4.1). Tab. 4.1 Transportation table for a balanced transportation model where is m … number of sources (suppliers) n.......number of destinations (customers) ai … capacity of i-th supplier (in tons, pounds, litres, etc.) bj … demand of j-th customer (in tons, pounds, litres, etc.) customer (in money units or as a distance in kilometres, miles, etc.) xij … amount of material shipped between i-th supplier and j-th customer (in tons, pounds, litres etc.) The green parameters are input parameters, the red ones are output parameters. 59 Darja Noskievičová Process Management 4.2.2 Generating the initial feasible solution At the beginning of the second step of the transportation problem solution the initial table must be prepared (see Tab. 4.2) – at the beginning it does not contain the values of xij. Tab. 4.2 Initial table It is important at this step to make sure that the total supply availabilities ai and total demand requirements b j are equal (the transportation problem must be balanced – it is the standard model). Often there is an excess supply or demand. In such situations, for the transportation method to work, a dummy customer or supplier must be added. This involves inserting an extra row (for an additional supplier) or an extra column (for an ad customer). The amount of supply or demand required by the ”dummy” – fictional supplier or customer equals the difference between the row and column totals ai b j or b j a i . This procedure converts an unbalanced transportation model into a balanced one. The following solution of such a transportation problem can be found in Tab. 4.3 and Tab. 4.4. 60 Darja Noskievičová Process Management Tab. 4.3 The initial table for an unbalanced problem ai b j - adding fictive customer C5 with demand b5 = 3000 – 2650 = 350 and cij = 0: unbalanced model. Tab. 4.4 Balancing the unbalanced transportation problem using the fictive customer ( ai b j ) As in the simplex method in searching for the optimal solution we must start with setting the initial feasible solution applying the initial table – see the previous step. The feasible solution means that the sum of xij in the row equals the capacity of that row ai and the sum of xij in the column equals the demands for that column bj. These two sets of constraints are called rim conditions. To set such an initial solution it is necessary to allocate quantities xij to cells in the initial table (see Fig. 4.4) so that the rim conditions will be met. There are many various methods to do so, called approximate methods but we will present two approaches: the north-west-corner approach and the least-cost method. 61 Darja Noskievičová Process Management A. North-west corner approach The steps of this approximate method are as follows: 1. Starting from the north-west corner (cell (1, 1)) of the transportation table, allocate as much quantity as possible to cell (1, 1) within the supply constraint of capacity 1 and the demand constraint of customer 1. 2. The first allocation will satisfy either the supply capacity of supplier 1 or the customer requirement of customer 1. a) If the demand requirement of customer 1 is satisfied but the supply capacity of supplier 1 is not exhausted, move on to cell (1, 2) for the next allocation. b) If the demand requirement of customer 1 is not satisfied but the supply capacity of supplier 1 is exhausted, move to cell (2, 1) c) If the demand requirement of customer 1 is satisfied and the supply capacity of supplier 1 is also exhausted, move on to cell (2, 2). 3. Continue the allocation in the same manner toward the southeast corner of the transportation table until the supply capacities of all suppliers are exhausted and the demands of all customers are satisfied. An initial table developed using the north-west corner method is in Tab. 4.5 (see that fictional customer C5 was applied in order to have the balanced model). Tab. 4.5 Transportation table – North-west corner method Like the first variable x11 = b1 = 600 was assigned to the cell S1-C1 because it is the north-west corner (NVC) of the table and the value 600 is min (a1; b1). Then the first column C1 was removed and the reduced table has NVC in the cell (S1-C2). The rest of xij were assigned in the same way (the order of filling the cells expresses the red number on the left in the adequate 62 Darja Noskievičová Process Management cell.) To check the feasibility of the obtained solution we must verify if Σxij = ai in the rows or Σxij = bj in the columns. When it is valid we have the feasible initial basic solution with objective function Z = ΣΣcijxij, i. e. for example: Z = 6 . 600 + 4 . 400 + 1 . 450 + 13 . 550 + 5 . 200 + 12 . 450 + 0 . 350 = 19 200. As it can be seen this algorithm of generating the initial feasible solution does not consider cij coefficients when assigning xij. For that reason this very simple method is not as efficient as the next approach that commonly leads to the solution that is closer to the optimal solution or sometimes it leads to the optimal solution. B. Least-cost method It is another method used to obtain the initial feasible solution for the transportation problem. Here, the allocation begins with the cell which has the minimum cost cij. The lower cost cells are chosen over the higher-cost cell with the objective to have the least cost of transportation. This method usually provides a better initial basic feasible solution than the north-west corner method since it takes into account the cost variables cij in the problem. The steps of this method are as follows: 1. Determine the cell with the least positive cost cij among all the rows of the transportation table. 2. Identify the row and allocate the maximum feasible quantity in the cell corresponding to the least cost in the row. Then eliminate that row (column) when an allocation is made. The cells with cij = 0 (corresponding to the fictional supplier of fictional customer) are filled in as the last ones. 3. Repeat steps 1 and 2 for the reduced transportation table until all the available quantities are distributed to the required places. If the minimum cost is not unique, the tie can be broken arbitrarily (for instance fill in preferentially the cell with the lowest i and j). The initial table developed using the least cost method is in Tab. 4.6 (see that fictive customer C5 was applied to have the balanced model). 63 Darja Noskievičová Process Management Tab. 4.6 Transportation table - Least cost method example In this table we can find the initial feasible solution obtained using the least-cost method. (The order of filling in the cells is expressed by the red number on the left in the appropriate cell.) This basic feasible solution leads to the objective function value Z = 6 . 600 + 9 . 100 + 8 . 300 + 1 . 850 + 5 . 350 + 10 . 450 + 0 . 350 = 14 000. This is less than the value Z obtained using the north-west method where Z = 19 200. It means that the solution obtained using the least-cost method is better. For now we must verify if this solution is optimal and when it is not true we must find the optimal solution. 4.2.3 Developing the optimal solution The methods commonly lead to the optimal solution coming out of some basic initial solution obtained in the previous step using some approximate method. To develop an optimal solution involves evaluating each unused cell to determine whether a shift into it is advantageous from a total-cost stand point. If it is, the shift is made, and the process is repeated. When all cells have been evaluated and appropriate shifts made, the problem is solved. It means that we iteratively improve the initial solution and after a finite number of iterations we reach the optimal solution (one or more). One such method is called MODI. 4.3 MODI method The algorithm of this method could be described using the following steps [1], [2], [3]: 1. The determination of the initial basic feasible solution (see Chapter 4.2.2). 2. Setting dual Variable ui, for each row and variable vj for each column as follows: a) u1 = 0. b) the remaining ui’s and vj’s for occupied cells ((where xij ˃ 0) are calculated by solving the relationship cij = ui + vj. 64 Darja Noskievičová Process Management 3. Calculation of values (ui + vj – cij) for unoccupied cells (where xij = 0) and their recording into the left upper corner of the cell. a) when applying relation (ui + vj – cij) ≤ 0, we have the optimal solution (if for some unoccupied cell there is valid (ui + vj – cij) = 0, then there exists another equivalent optimal basic solution). The algorithm finishes. b) when applying relation (ui + vj – cij) ˃ 0 at least for one unoccupied cell then we don´t have the optimal solution and we procced with its improvement. 4. Selection of the cell with maximal positive (ui + vj – cij). - This cell will be newly occupied (the entering variable) and must be marked with the sign “+”. 5. a) Creation of the closed loop (path, cycle) starting in this cell and going through the occupied cells (the corners of this cycle are occupied cells); these corners are alternatively marked with the signs “-“ and “+”. In Fig. 4.2 some examples of closed loops (paths, cycles) are depicted. + - - + + + - + - Fig. 4.2 Closed loops (paths, cycles) examples Occupied cell Non-occupied cell b) Assignment of the minimal value of xij in the cycle cells marked with the sign “-“ to the entering variable. The cell with this minimal value of xij also represents the exiting (leaving) variable. 6. Recalculation of the last tableau: this minimal xij will be added to the value of xij in the cycle cell with the sign “+” and subtracted from the value of xij in the cycle cell with the sign “-“: it is a new better basic feasible solution. 7. Repetition of the algorithm from step 2. 65 Darja Noskievičová Process Management The MODI method is shown in the example solved in Chapter 4.2. 4.3.1 Selection of the initial solution As an initial solution we use the solution obtained using the north-west corner method (see Tab. 4.7). Tab. 4.7 MODI - step 1 Initial solution set using the north-west corner method 4.3.2 Setting the dual variables ui and vj See Tab. 4.8 Tab. 4.8 Initial tables with dual variables 6 ui + vj = cij for occupied cells 66 Darja Noskievičová Process Management Partial steps: u1 = 0 v3 = c23 – u2 = 13 – (-3) = 16 v1 = c11 – u1 = 6 – 0 = 6 v4 = c24 - u2 = 5 – (-3) = 8 v2 = c12 – u1 = 4 = 0 = 4 u3 = c34 = v4 = 12 = 8 = 4 u2 = c22 = v2 = 1 – 4 = -3 v5 = c35 – u3 = 0 – 4 = -4 4.3.3 Computation of (ui + vj – cij) for unoccupied cells See the next table - the red numbers in the cells. Tab. 4.9 Initial table with the values of (ui + vj – cij) for the unoccupied cells This initial solution has the objective function Z = 19 200. As some of the values (ui + vj – cij) are positive it is not the optimal solution and we must find a new basic feasible solution with a better objective function. 4.3.4 Selection of the cell with maximal positive (ui + vj – cij) See the cell S1-C3 in the red frame in Tab. 4.9. That means that decision variable x13 will be entered into the next basic feasible solution. 4.3.5 Creation of the closed loop (path, cycle) See the next table. 67 Darja Noskievičová Process Management Tab. 4.10 Initial solution – closed loop As it can be seen in the Tab. 4.10 in every column or row their cells are a part of the closed loop there are only one sign „+“ and one sign „-„. The value which will be added or subtracted is x12 = 400 (the green vale in the table as it is the lowest value in the cells signed with „-„. 4.3.6 Recalculation of the last table The last table (Tab. 4.10) is recalculated using the set closed loop and the new table with a new better solution and a lower value of the objective function is created (see Tab. 4.11). Tab. 4.11 The 2nd basic feasible solution This new basic feasible solution has a lower value of objective function Z = 16 400 (as compared to Z = 19 200 for the previous initial solution). 68 Darja Noskievičová Process Management 4.3.7 Repetition of the algorithm from step 2 For this new solution dual variables ui and vj and values (ui + vj – cij) we compute in the same way as in the previous initial solution (see Tab. 4.12). Tab. 4.12 The 2nd solution with dual variables Because there are again some positive values of (ui + vj – cij) it is not the optimal solution and we must continue to find a new basic feasible solution with a better objective function by suitably setting the closed loop and re-computation of the table (see Tab. 4.13 and Tab. 4.14). Tab. 4.13 Evaluation of the optimality of the 2nd solution and setting the new closed loop (path, cycle) The value which will be added or subtracted is x23 = 150 (the green value in the previous table as it is the lowest value in the cells signed with „-„. 69 Darja Noskievičová Process Management 4.14 Tab. Table with the 3rd basic feasible solution The value of the objective function for this 3rd basic feasible solution Z = 14 900. Again we must verify the optimality of this solution computing ui, vj and (ui + vj – cij) - it can be found in the previous table. Because one value of (ui + vj – cij) is positive it means that it is not the optimal solution and we must search for a better solution again. By setting the closed loop (see Tab. 4.15) and re-computing the third solution we will obtain the 4th basic feasible solution (see Tab 4.16). Tab. 4.15 Cycle in the third solution 70 Darja Noskievičová Process Management Tab. 4.16 The 4th basic feasible solution The value of the objective function for this solution Z = 13 100. After computing ui, vj and (ui + vj – cij) we can see in this 4th solution (Fig. 4.16) that there are no positive values of (ui + vj – cij). It means that it is the optimal solution: x11 = 450 units; x12 = 0; x13 = 550 units; ……..x35 = 350 units with the minimum of the transport cost Z = 13 100 money units. We have obtained the optimal solution after 3 iterations. Examples Example 4.1 Find the optimal solution for the same transportation problem as in the previous example but use as the initial solution the result obtained using the least-cost method (see Tab. 4.17). 71 Darja Noskievičová Process Management Tab. 4.17 A table with the initial solution obtained using the least-cost method (the same as Tab. 4.6) Example 4.2 A. Find the initial solution for the transportation problem using the north-west method. B. Find the initial solution for the transportation problem using the least-cost method. C. Find the optimal solution for the transportation problem. As the initial solution use the solution obtained in point A. The transportation problem can be described by the following table: Tab. 4.18 Data for example 4.2 72 Darja Noskievičová Process Management Summary of terms supply demand supplier customer transportation cost transportation tableau balanced transportation problem unbalanced transportation problem fictional supplier fictional customer dummy supplier capacity customer demand rim conditions approximate methods north-west point method least-cost method MODI dual variables closed loop (cycle, path) Questions What is a transportation problem? What is the relation between the transportation problem and the general LP problem? What are the steps of solving a transportation problem? How to set the initial solution of a transportation problem? What are the steps of the north-west corner method? What are the steps of the least-cost method? 73 Darja Noskievičová Process Management What are the similarities and differences of the north-west corner and the least- cost methods? What method of the previously discussed ones is more effective and why? What is the goal of the MODI method? What are the steps of MODI? What is the optimality criterion in MODI and how to compute it? How to decide about solution optimality using the MODI method? Key to solution Solution of example 4.1 4.19 Table for the initial solution with added ui, vj and (ui + vj – cij) and a closed loop 4.20 Table for the 2nd basic feasible solution (recomputed previous table) with added ui, vj and (ui + vj –cij) 74 Darja Noskievičová Process Management This is the optimal solution (no positive (ui + vj – cij) with Z = 13 100 obtained only after 1 iteration (as compared to 3 iterations in Chapter 4.3 when the initial solution was obtained using the north-west method). This result confirms the statement about the low effectivity of the north-west method. Solution of example 4.2 Ad A Tab. 4.21 Initial table with the initial solution (using the north-west method) Z = 1 295 Ad B Tab. 4.22 The initial table with the initial solution (using the least-cost method) Z = 665 75 Darja Noskievičová Process Management Ad C Tab. 4.23 Table with the optimal solution It is the optimal solution obtained after 3 iterations. Z = 665 References [1] Hillier, F. S. – Lieberman, G. J.: Introduction to Operations Research. 7th ed. McGrawHill Ed., New York, 2001. [2] Krajewski, L. J. – Malhotra, M. K. – Ritzman, L. P.: Operations Management. Process and Supply Chains. 11th ed. Pearson, Harlow, England, 2016. [3] Stewenson, W. J.: Operations Management. 12th ed. McGraw-Hill Ed., New York, 2015. 76
© Copyright 2024 Paperzz