LINEAR PROGRAMMING MODULE Part 2 - Solution Algorithm

Similar documents
Special Situations in the Simplex Algorithm

Chapter 6. Linear Programming: The Simplex Method. Introduction to the Big M Method. Section 4 Maximization and Minimization with Problem Constraints

OPRE 6201 : 2. Simplex Method

1 Solving LPs: The Simplex Algorithm of George Dantzig

Standard Form of a Linear Programming Problem

Chapter 2 Solving Linear Programs

Sensitivity Analysis 3.1 AN EXAMPLE FOR ANALYSIS

Using the Simplex Method to Solve Linear Programming Maximization Problems J. Reeb and S. Leavengood

Practical Guide to the Simplex Method of Linear Programming

Linear Programming Problems

3. Evaluate the objective function at each vertex. Put the vertices into a table: Vertex P=3x+2y (0, 0) 0 min (0, 5) 10 (15, 0) 45 (12, 2) 40 Max

Solving Linear Programs in Excel

Linear Programming. March 14, 2014

Simplex method summary

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

Linear Programming Notes V Problem Transformations

9.4 THE SIMPLEX METHOD: MINIMIZATION

Solving Linear Programs

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

Linear Programming. Solving LP Models Using MS Excel, 18

The number of marks is given in brackets [ ] at the end of each question or part question. The total number of marks for this paper is 72.

56:171 Operations Research Midterm Exam Solutions Fall 2001

Method To Solve Linear, Polynomial, or Absolute Value Inequalities:

Linear Programming in Matrix Form

Linear Programming: Theory and Applications

Linear Programming I

LU Factorization Method to Solve Linear Programming Problem

Duality in Linear Programming

Linear Programming Supplement E

Nonlinear Programming Methods.S2 Quadratic Programming

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes

Linear Programming. April 12, 2005

Unit 1. Today I am going to discuss about Transportation problem. First question that comes in our mind is what is a transportation problem?

The Graphical Method: An Example

Row Echelon Form and Reduced Row Echelon Form

Chapter 6: Sensitivity Analysis

Operation Research. Module 1. Module 2. Unit 1. Unit 2. Unit 3. Unit 1

Decision Mathematics D1. Advanced/Advanced Subsidiary. Friday 12 January 2007 Morning Time: 1 hour 30 minutes. D1 answer book

MEP Y9 Practice Book A

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS. 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method

Simulating the Multiple Time-Period Arrival in Yield Management

This exposition of linear programming

CHAPTER 11: BASIC LINEAR PROGRAMMING CONCEPTS

Linear Programming Notes VII Sensitivity Analysis

4.6 Linear Programming duality

Chapter 10: Network Flow Programming

4 UNIT FOUR: Transportation and Assignment problems

3.1 Solving Systems Using Tables and Graphs

EXCEL SOLVER TUTORIAL

Year 9 set 1 Mathematics notes, to accompany the 9H book.

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

1.2 Linear Equations and Rational Equations

Zeros of a Polynomial Function

CONTENTS. Please note:

Study Guide 2 Solutions MATH 111

information available. There is a tremendous amount of sensitivity information, or information

Solving Linear Programs using Microsoft EXCEL Solver

Solving Systems of Linear Equations Using Matrices

Definition 8.1 Two inequalities are equivalent if they have the same solution set. Add or Subtract the same value on both sides of the inequality.

Solve addition and subtraction word problems, and add and subtract within 10, e.g., by using objects or drawings to represent the problem.

Operation Count; Numerical Linear Algebra

0.1 Linear Programming

Determine If An Equation Represents a Function

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Module1. x y 800.

MATH Fundamental Mathematics IV

3.6. Partial Fractions. Introduction. Prerequisites. Learning Outcomes

Actually Doing It! 6. Prove that the regular unit cube (say 1cm=unit) of sufficiently high dimension can fit inside it the whole city of New York.

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

5.5. Solving linear systems by the elimination method

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite

Mathematical finance and linear programming (optimization)

Indicator 2: Use a variety of algebraic concepts and methods to solve equations and inequalities.

POLYNOMIAL FUNCTIONS

3.3. Solving Polynomial Equations. Introduction. Prerequisites. Learning Outcomes

Inequalities - Solve and Graph Inequalities

Welcome to Harcourt Mega Math: The Number Games

26 Linear Programming

What is Linear Programming?

VISUAL ALGEBRA FOR COLLEGE STUDENTS. Laurie J. Burton Western Oregon University

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

Linear Equations ! $ & " % & " 11,750 12,750 13,750% MATHEMATICS LEARNING SERVICE Centre for Learning and Professional Development

Mathematics. Mathematical Practices

The Basics of FEA Procedure

Eleonóra STETTNER, Kaposvár Using Microsoft Excel to solve and illustrate mathematical problems

Reduced echelon form: Add the following conditions to conditions 1, 2, and 3 above:

Can linear programs solve NP-hard problems?

is the degree of the polynomial and is the leading coefficient.

Gautam Appa and H. Paul Williams A formula for the solution of DEA models

15.053/8 February 26, 2013

Section 1. Inequalities

8 Primes and Modular Arithmetic

5 Systems of Equations

Linearly Independent Sets and Linearly Dependent Sets

How To Understand And Solve Algebraic Equations

Sensitivity Report in Excel

1 Lecture: Integration of rational functions by decomposition

Algebra 1 Course Title

03 The full syllabus. 03 The full syllabus continued. For more information visit PAPER C03 FUNDAMENTALS OF BUSINESS MATHEMATICS

Transcription:

LINEAR PROGRAMMING MODULE Part 2 - Solution Algorithm Name: THE SIMPLEX SOLUTION METHOD It should be obvious to the reader by now that the graphical method for solving linear programs is limited to models of 2 variables such as in Illustration 1). The models such as Illustration 3), with 3 or more variables, are not easily graphed on two-dimensional graph paper. Thus, an algebraic technique is needed to solve LPs with numerous variables and equations. Also, such an algebraic technique is conducive to computer solution. One algebraic technique for solving linear programs is called the simplex algorithm. It was created by George Dantzig in 1947, and its theoretical foundation was established in 1948 by Gale, Kuhn and Tucker in the working paper Extremum Problems with Inequalities as Subsidiary Conditions. The interested reader is referred to the classic volume, Linear Programming and Extensions, by George Dantzig, Princeton University Press, 1963. Illustration 9) Consider the linear program: Objective function: max Z = 10 X 1 + 40 X 2 Constraints: X 1 + X 2 # 10 2 X 1 + 5 X 2 # 30 X 1 $ 0, X 2 $ 0. 1) The simplex algorithm begins by moving all the terms on the right-hand side of the objective function to the left: Z = 10 X 1 + 40 X 2 becomes Z & 10 X 1 & 40 X 2 = 0 2) The inequalities of the constraint equations are changed into equalities by the addition of the slack variables, X 3 and X 4. Slack variables represent resources that are not used. For example, if we have 10 cars and our motor pool requires 6 cars, then we have 4 cars not being used: a slack of 4 cars. Six is obviously less than10, but if we add the slack of 4 to 6 we have the equality 6 + 4 = 10. X 1 + X 2 # 10 becomes X 1 + X 2 + X 3 = 10 Page 1 of 9

and 2 X 1 + 5 X 2 # 30 becomes 2 X 1 + 5 X 2 + X 4 = 30 3) The three adjusted equations are: Z - 10 X 1-40 X 2 = 0 X 1 + X 2 + X 3 = 10 2 X 1 + 5 X 2 + X 4 = 30 Note that the constants on the right-hand-side (RHS) of the equations are 0, 10, 30. 4) a - We make a chart, called the tableau, with Z, X 1, X 2, X 3, X 4 as variables and the constants on the RHS of the columns. b - We enter the coefficients of Z, X 1, X 2, X 3, X 4 and the RHS at appropriate places in this tableau. objective function row 1-10 - 40 0 0 0 1st constraint row 0 1 1 1 0 10 2nd constraint row 0 2 5 0 1 30 5) We indicate the column in the tableau with the smallest number in the objective function row. 1-10 - 40 0 0 0 0 1 1 1 0 10 0 2 5 0 1 30 The column with -40 has the smallest value in the objective function row. The indicated column, X 2, is called the pivot column. 6) a - We pick only the positive numbers in the pivot column, i.e., no. s bigger than 0. b - We divide the corresponding RHS by these numbers. 1-10 - 40 0 0 0 0 1 1 1 0 10 10 / 1 =10 0 2 5 0 1 30 30 / 5 = 6 Page 2 of 9

7) We indicate the row with the smallest RHS/X ratio. The row is called the pivot row. 30 / 5 = 6 is smaller than 10 / 1 = 10. 1-10 - 40 0 0 0 0 1 1 1 0 10 pivot row 0 2 5 0 1 30 pivot column The number "5" common to both pivot row and pivot column is the pivot element. 8) We change the pivot element, 5, into 1 by multiplying the pivot row by 1/5. Pivot row: (0 2 5 0 1 30) 1/5 = New pivot row: (0 2/5 1 0 1/5 6) New tableau: 1-10 - 40 0 0 0 0 1 1 1 0 10 new pivot row 0 2/5 1 0 1/5 6 9) We change the other entries, -40 and 1 in the objective-function row and 1st constraint row respectively, in the pivot column to zeros by arithmetic procedures. X 2 (before) X 2 (after) &40 0 1 0 Note: We always want to keep the pivot element at "1" and change all the other numbers in the pivot column to 0. a - We multiply the new pivot row by 40: (0 2/5 1 0 1/5 6) 40 = (0 16 40 0 8 240) and add this to the objective-function row (1-10 -40 0 0 0) and the sum is: (1 6 0 0 8 240) 7 new objective function row Page 3 of 9

New tableau: new obj-fn row 1 6 0 0 8 240 0 1 1 1 0 10 new pivot row 0 2/5 1 0 1/5 6 b - We multiply the new pivot row by -1: (0 2/5 1 0 1/5 6) x (-1) = (0 &2/5 &1 0 &1/5 &6) and add this to the 1st constraint row: (0 1 1 1 0 10) and the sum is: (0 3/5 0 1 &1/5 4), New tableau: 1 6 0 0 8 240 0 3/5 0 1 &1/5 4 0 2/5 1 0 1/5 6 pivot column The pivot column has zeros and one "1". In the addition or subtraction operations between rows, we always want to keep the RHS nonnegative. 10) Are the entries in the objective-function row (the top row) zero or positive? Yes (the next illustration deals with a "no" answer). We're at the end of the simplex algorithm if the answer is "yes". The final and optimal tableau is: 1 6 0 0 8 240 0 3/5 0 1 &1/5 4 0 2/5 1 0 1/5 6 The solution to the problem is read off the tableau as follows: a - Pick all columns with zeros and one "1". Page 4 of 9

b - The corresponding RHS on the same row of the "1" is the optimal answer of the variable. 1 6 0 0 8 240 0 3/5 0 1 &1/5 4 0 2/5 1 0 1/5 6 Z= 240, X 2 = 6, X 3 = 4 and all the other variables are equal to zero, X 1 = 0, X 4 = 0. The optimal answer: Maximum value of Z = 240 at X 1 = 0, and X 2 = 6. There is a slack of 4 for the 1st constraint equation, i.e., 4 units of the limited resource represented by the 1st constraint equation is not used. NOTE: This specific procedure of the simplex algorithm works only for these conditions: a - maximizing the objective function. b - less-than-equal-to inequalities in all the constraint equations c - nonnegativity Illustration 10) Consider: max Z = 4 X 1 + 3 X 2 + 6 X 3 subject to: 3 X 1 + X 2 + 3 X 3 # 30 2 X 1 + 2 X 2 + 3 X 3 # 40 X 1 $ 0, X 2 $ 0, X 3 $ 0 1) Transform objective function: Z & 4 X 1 & 3 X 2 & 6 X 3 = 0 2) Add slack variable, X 4, to the 1st constraint equation: 3 X 1 + X 2 + 3 X 3 + X 4 = 30 3) Add slack variable, X 5, to the 2nd constraint equation: 2 X 1 + 2 X 2 + 3 X 3 + X 5 = 40 4) Write tableau. (Please fill in the blank entries in the following tableau.) Page 5 of 9

1 & 4 & 3 & 6 0 0 0 0 3 0 30 0 2 0 5) Pick pivot column, the column with the smallest numerical value in the objective row. (Please fill in the blank entries in the following tableau.) 1-4 - 3-6 0 0 0 0 3 3 0 30 0 2 3 0 6) Divide the numbers in the RHS column by the numbers in the X 3 column, the pivot column. X 3 RHS - 6 0 3 30 6 30 / 3 = 10 3 ( ) 6 ( ) = ( ) The ( ) constraint equation has the smallest RHS/X 3 ratio. This is the pivot row. 7) 1-4 - 3-6 0 0 0 pivot row 0 3 1 3 1 0 30 The pivot element is 3. 0 2 2 3 0 1 40 pivot column 8) Multiply the pivot row by ( ) to change the pivot element into "1". (Please fill in the blanks in square brackets below.) pivot row (0 3 1 3 1 0 30) ( ) = Page 6 of 9

(0 [ ] [ ] 1 [ ] 0 [ ]) 9) New tableau: 1-4 - 3-6 0 0 0 0 1 1/3 1 1/3 0 10 0 2 2 3 0 1 40 We want to change X 3 (old) X 3 (new) - 6 0 1 1 3 0 a) Multiply new pivot row by ( ) and add to objective function row to change -6 of the pivot column to 0. b) Multiply new pivot row by ( ) and add to 2nd constraint equation row to change 3 of the pivot column to 0. c) Do the arithmetic. (Please show the calculations.) 10) The new tableau after the arithmetic procedures of step 9 is: 1 2-1 0 2 0 60 0 1 1/3 1 1/3 0 10 0 & 1 1 0 & 1 1 10 Are all the entries in the objective function row (top row) zero or positive? 'No". The entry "&1" in the X 2 column is not zero or positive. Therefore, X 2 column is the new pivot column. And again, we calculate the RHS/X 2 ratios, except for the objective-function row. X 2 RHS - 1 60 1/3 10 6 10 / (1/3) = ( ) 1 10 6 ( ) = ( ) Page 7 of 9

11) The ( ) constraint equation row has the smallest RHS/X 2 ratio, thus it becomes the new pivot row. 1 2-1 0 2 0 60 0 1 1/3 1 1/3 0 10 new pivot row 0 & 1 1 0 & 1 1 10 The new pivot element is 1. new pivot column We want to change the X 2 column as follows: X 2 (old) X 2 (new) - 1 0 1/3 0 1 1 Note: we always want to keep the pivot element at "1" and change all the other numbers in the pivot column to 0. a) Multiply new pivot row by 1 and add to objective-function row to change -1 to 0. b) Multiply new pivot row by ( ) and add to 1st constraint-eqn row to change 1/3 to 0. c) Do the arithmetic. (Please show the calculations.) 12) The new tableau after the arithmetic procedures of step 11: 1 1 0 0 1 1 70 0 4/3 0 1 2/3 &1/3 20/3 0 & 1 1 0 & 1 1 10 Are all the entries in the objective function row (top row) zero or positive? "Yes". We have arrived at the final and optimal tableau. Page 8 of 9

1 1 0 0 1 1 70 0 4/3 0 1 2/3 &1/3 20/3 0 & 1 1 0 & 1 1 10 The optimal answer: Z = 70 X 2 = ( ) X 3 = ( ) X 1 = ( ) X 4 = ( ) X 5 = ( ) Illustration 11) Apply the simplex algorithm to the ice-cream plant illustration. (Please show all the calculations in all the tableaux.) X 1 = number of quarts of chocolate produced X 2 = number of quarts of vanilla produced max Z = 13 X 1 + 10 X 2 X 1 + X 2 # 1,000 (Plant capacity constraint) X 1 # 600 (Chocolate sale constraint) X 2 # 800 (Vanilla sale constraint) X 1 $ 0, X 2 $ 0. CONCLUSION In this simplex and the model formulation modules, we have studied various LP models and the simplex solution algorithm. It can be seen that LPs are used frequently to configure processes, programs, and plans. These examples are used for the sole purpose of learning the basic techniques. The simplex algorithm illustrated in this module is limited to LP models formulated in a particular format. In real life situations, LP models usually assume many different forms, and they have hundreds and thousands of variables and constraint equations. Thus, a more advanced understanding of LP and computer programs are essential in solving these LP models. Chapter 4 (entitled Prescriptive Tools ) and Appendix 4 of this text (entitled Optimization Schemes ) will provide more depth in linear programming. Many available software packages are quite efficient in handling LP models of large size. For convenience, the author has included a software survey in both the conclusion chapter and in the accompanying CD at the back of this book. Page 9 of 9