1 Chapter 2 Solving Linear Programs Companion slides of Applied Mathematical Programming by Bradley, Hax, and Magnanti (Addison-Wesley, 1977) prepared by José Fernando Oliveira Maria Antónia Carravilla
2 A systematic procedure for solving linear programs the simplex method Proceeds by moving from one feasible solution to another, at each step improving the value of the objective function. Terminates after a finite number of such transitions. Two important characteristics of the simplex method: The method is robust. It solves any linear program; it detects redundant constraints in the problem formulation; it identifies instances when the objective value is unbounded over the feasible region; and It solves problems with one or more optimal solutions. The method is also self-initiating. It uses itself either to generate an appropriate feasible solution, as required, to start the method, or to show that the problem has no feasible solution. The simplex method provides much more than just optimal solutions. it indicates how the optimal solution varies as a function of the problem data (cost coefficients, constraint coefficients, and righthand-side data). information intimately related to a linear program called the dual to the given problem: the simplex method automatically solves this dual problem along with the given problem.
3 SIMPLEX METHOD A PREVIEW
4 The canonical form Any linear programming problem can be transformed so that it is in canonical form! (1) (2) 1. All decision variables are constrained to be nonnegative. 2. All constraints, except for the nonnegativity of decision variables, are stated as equalities. 3. The righthand-side coefficients are all nonnegative. 4. One decision variable is isolated in each constraint with a +1 coefficient (x1 in constraint (1) and x2 in constraint (2)). The variable isolated in a given constraint does not appear in any other constraint, and appears with a zero coefficient in the objective function.
5 Discussion Given any values for x3 and x4, the values of x1 and x2 are determined uniquely by the equalities. In fact, setting x3 = x4 = 0 immediately gives a feasible solution with x1 = 6 and x2 = 4. Solutions such as these will play a central role in the simplex method and are referred to as basic feasible solutions. In general, given a canonical form for any linear program, a basic feasible solution is given by setting the variable isolated in constraint j, called the j th basic-variable, equal to the righthand side of the j th constraint and by setting the remaining variables, called nonbasic, all to zero. Collectively the basic variables are termed a basis.
6 Discussion In the example above, the basic feasible solution x1 = 6, x2 = 4, x3 = 0, x4 = 0, is optimal. For any other feasible solution, x3 and x4 must remain nonnegative. Since their coefficients in the objective function are negative, if either x3 or x4 is positive, z will be less than 20. Thus the maximum value for z is obtained when x3 = x4 = 0.
7 Optimality Criterion Suppose that, in a maximization problem, every nonbasic variable has a nonpositive coefficient in the objective function of a canonical form. Then the basic feasible solution given by the canonical form maximizes the objective function over the feasible region.
8 Unbounded Objective Value (1) (2) Since x3 now has a positive coefficient in the objective function, it appears promising to increase the value of x3 as much as possible. Let us maintain x4 = 0, increase x3 to a value t to be determined, and update x1 and x2 to preserve feasibility.
9 Discussion No matter how large t becomes, x1 and x2 remain nonnegative. In fact, as t approaches +, z approaches +. In this case, the objective function is unbounded over the feasible region.
10 Unboundedness Criterion Suppose that, in a maximization problem, some nonbasic variable has a positive coefficient in the objective function of a canonical form. If that variable has negative or zero coefficients in all constraints, then the objective function is unbounded from above over the feasible region.
11 Improving a Nonoptimal Solution As x4 increases, z increases. Maintaining x3 = 0, let us increase x4 to a value t, and update x1 and x2 to preserve feasibility.
12 Discussion If x1 and x2 are to remain nonnegative, we require: and Therefore, the largest value for t that maintains a feasible solution is t = 1. When t = 1, the new solution becomes x1 = 3, x2 = 0, x3 = 0, x4 = 1, which has an associated value of z = 21 in the objective function.
13 Discussion Note that, in the new solution, x4 has a positive value and x2 has become zero. Since nonbasic variables have been given zero values before, it appears that x4 has replaced x2 as a basic variable. In fact, it is fairly simple to manipulate Eqs. (1) and (2) algebraically to produce a new canonical form, where x1 and x4 become the basic variables.
14 Discussion If x4 is to become a basic variable, it should appear with coefficient +1 in Eq. (2), and with zero coefficients in Eq. (1) and in the objective function. To obtain a +1 coefficient in Eq. (2), we divide that equation by 4. (1) (2)
15 Discussion To eliminate x4 from the first constraint, we may multiply Eq. (2 ) by 3 and subtract it from constraint (1). (1) (2 ) We may rearrange the objective function and write it as: and use the same technique to eliminate x4; that is, multiply (20) by 1 and add to Eq. (1):
16 The new global system becomes Now the problem is in canonical form with x1 and x4 as basic variables, and z has increased from 20 to 21. Consequently, we are in a position to reapply the arguments of this section, beginning with this improved solution. However, in this case, the new canonical form satisfies the optimality criterion since all nonbasic variables have nonpositive coefficients in the objective function, and thus the basic feasible solution x1 = 3, x2 = 0, x3 = 0, x4 = 1, is optimal.
17 Improvement Criterion Suppose that, in a maximization problem, some nonbasic variable has a positive coefficient in the objective function of a canonical form. If that variable has a positive coefficient in some constraint, then a new basic feasible solution may be obtained by pivoting.
18 Discussion Recall that we chose the constraint to pivot in (and consequently the variable to drop from the basis) by determining which basic variable first goes to zero as we increase the nonbasic variable x4. The constraint is selected by taking the ratio of the righthand-side coefficients to the coefficients of x4 in the constraints, i.e., by performing the ratio test:
19 Discussion Note, however, that if the coefficient of x4 in the second constraint were 4 instead of +4, the values for x1 and x2 would be given by: so that as x4 = t increases from 0, x2 never becomes zero. In this case, we would increase x4 to t = 6/3 = 2. This observation applies in general for any number of constraints, so that we need never compute ratios for nonpositive coefficients of the variable that is coming into the basis.
20 Ratio and Pivoting Criterion When improving a given canonical form by introducing variable xs into the basis, pivot in a constraint that gives the minimum ratio of righthand-side coefficient to corresponding xs coefficient. Compute these ratios only for constraints that have a positive coefficient for xs.
21 REDUCTION TO CANONICAL FORM PART 1
22 Reduction to Canonical Form To this point we have been solving linear programs posed in canonical form with (1) nonnegative variables, (2) equality constraints, (3) nonnegative righthand-side coefficients, and (4) one basic variable isolated in each constraint. We will now show how to transform any linear program to this canonical form.
23 Inequality constraints Introduce two new nonnegative variables: x5 measures the amount that the consuption of resource falls short of the maximum available, and is called a slack variable; x6 is the amount of product in excess of the minimum requirement and is called a surplus variable.
24 SIMPLEX METHOD A SIMPLE EXAMPLE
25 A simple example The owner of a shop producing automobile trailers wishes to determine the best mix for his three products: flat-bed trailers, economy trailers, and luxury trailers. His shop is limited to working 24 days/month on metalworking and 60 days/month on woodworking for these products. The following table indicates production data for the trailers.
26 LP Model
27 Canonical form
30 Minimization problems Enters the basis the nonbasic variable that has a negative coefficient in the objective function of a canonical form. The solution is optimal when every nonbasic variable has a nonnegative coefficient in the objective function of a canonical form.
31 Formal procedure These steps apply to either the phase I or phase II problem.
32 STEP (4) Pivoting
33 STEP (4) Pivoting
34 REDUCTION TO CANONICAL FORM PART 2
35 Reduction to Canonical Form To this point we have been solving linear programs posed in canonical form with (1) nonnegative variables, (2) equality constraints, (3) nonnegative righthand-side coefficients, and (4) one basic variable isolated in each constraint. We will now show how to transform any linear program to this canonical form.
36 Free variables Production x t must be nonnegative. However, inventory I t may be positive or negative, indicating either that there is a surplus of goods to be stored or that there is a shortage of goods and some must be produced later. To formulate models with free variables, we introduce two nonnegative variables I t + and I t, and write, as a substitute for I t everywhere in the model:
37 Artificial variables To obtain a canonical form, we must make sure that, in each constraint, one basic variable can be isolated with a +1 coefficient. Some constraints already will have this form (for example, slack variables have always this property). When there are no volunteers to be basic variables we have to resort to artificial variables.
38 Artificial variables Add a new (completely fictitious) variable to any equation that requires one: new nonnegative basic variable Any solution with x7 = 0 is feasible for the original problem, but those with x7 > 0 are not feasible. Consequently, we should attempt to drive the artificial variable to zero.
39 Driving an artificial variable to zero the big M method In a minimization problem, this can be accomplished by attaching a high unit cost M (>0) to x7 in the objective function For maximization, add the penalty M x7 to the objective function). For M sufficiently large, x7 will be zero in the final linear programming solution, so that the solution satisfies the original problem constraint without the artificial variable. If x7 > 0 in the final tableau, then there is no solution to the original problem where the artificial variables have been removed; that is, we have shown that the problem is infeasible. artificial variables slack variables
40 Driving an artificial variable to zero the phase I phase II procedure Phase I determines a canonical form for the problem by solving a linear program related to the original problem formulation. New objective function minimizing the sum of the artificial variables. The second phase starts with this canonical form to solve the original problem.
41 The phase I phase II procedure Slack variables added Any feasible solution to the augmented system with all artificial variables equal to zero provides a feasible solution to the original problem. Since the artificial variables x9, x10, and x11 are all nonnegative, they are all zero only when their sum x9 + x10 + x11 is zero. Consequently, the artificial variables can be eliminated by ignoring the original objective function for the time being and minimizing x9 + x10 + x11 (i.e., minimizing the sum of all artificial variables).
42 The phase I phase II procedure If the minimum sum is 0, then the artificial variables are all zero and a feasible, but not necessarily optimal, solution to the original problem has been obtained. If the minimum is greater than zero, then every solution to the augmented system has x9 + x10 + x11 > 0, so that some artificial variable is still positive. In this case, the original problem has no feasible solution.
43 Phase 1 model The artificial variables have zero coefficients in the phase I objective: they are basic variables. Note that the initial coefficients for the nonartificial variable xj in the w equation is the sum of the coefficients of xj from the equations with an artificial variable.
Solving Linear Programs 2 In this chapter, we present a systematic procedure for solving linear programs. This procedure, called the simplex method, proceeds by moving from one feasible solution to another,
Algebraic Simplex Method - Introduction To demonstrate the simplex method, consider the following linear programming model: This is the model for Leo Coco's problem presented in the demo, Graphical Method.
Special Situations in the Simplex Algorithm Degeneracy Consider the linear program: Maximize 2x 1 +x 2 Subject to: 4x 1 +3x 2 12 (1) 4x 1 +x 2 8 (2) 4x 1 +2x 2 8 (3) x 1, x 2 0. We will first apply the
Duality in Linear Programming 4 In the preceding chapter on sensitivity analysis, we saw that the shadow-price interpretation of the optimal simplex multipliers is a very useful concept. First, these shadow
Sensitivity Analysis 3 We have already been introduced to sensitivity analysis in Chapter via the geometry of a simple example. We saw that the values of the decision variables and those of the slack and
CHAPTER 17 Linear Programming: Simplex Method CONTENTS 17.1 AN ALGEBRAIC OVERVIEW OF THE SIMPLEX METHOD Algebraic Properties of the Simplex Method Determining a Basic Solution Basic Feasible Solution 17.2
Linear Programming Models: Standard Form August 31, 2009 Outline: Lecture 4 Standard form LP Transforming the LP problem to standard form Basic solutions of standard LP problem Operations Research Methods
The Essence of the Simplex Method Recall the Wyndor problem Max Z = 3x 1 + 5x 2 S.T. x 1 4 2x 2 12 3x 1 + 2x 2 18 x 1, x 2 0 Chap 4 The Simplex Method 8 corner point solutions. 5 out of them are CPF solutions.
Simplex method summary Problem: optimize a linear objective, subject to linear constraints 1. Step 1: Convert to standard form: variables on right-hand side, positive constant on left slack variables for
Module A The Simplex Solution Method A-1 A-2 Module A The Simplex Solution Method The simplex method is a general mathematical solution technique for solving linear programming problems. In the simplex
Section Notes 3 The Simplex Algorithm Applied Math 121 Week of February 14, 2011 Goals for the week understand how to get from an LP to a simplex tableau. be familiar with reduced costs, optimal solutions,
The Simplex Method The geometric method of solving linear programming problems presented before. The graphical method is useful only for problems involving two decision variables and relatively few problem
Definition of a Linear Program Definition: A function f(x 1, x,..., x n ) of x 1, x,..., x n is a linear function if and only if for some set of constants c 1, c,..., c n, f(x 1, x,..., x n ) = c 1 x 1
The Graphical Simplex Method: An Example Consider the following linear program: Max 4x 1 +3x Subject to: x 1 +3x 6 (1) 3x 1 +x 3 () x 5 (3) x 1 +x 4 (4) x 1, x 0. Goal: produce a pair of x 1 and x that
Linear Inequalities and Linear Programming 5.1 Systems of Linear Inequalities 5.2 Linear Programming Geometric Approach 5.3 Geometric Introduction to Simplex Method 5.4 Maximization with constraints 5.5
Linear Programming Notes V Problem Transformations 1 Introduction Any linear programming problem can be rewritten in either of two standard forms. In the first form, the objective is to maximize, the material
LINEAR PROGRAMMING P V Ram B. Sc., ACA, ACMA 98481 85073 Hyderabad Page 1 of 19 Question: Explain LPP. Answer: Linear programming is a mathematical technique for determining the optimal allocation of resources
The graphical method of solving linear programming problems can be applied to models with two decision variables. This method consists of two steps (see also the first lecture): 1 Draw the set of feasible
7.4 Linear Programming: The Simplex Method For linear programming problems with more than two variables, the graphical method is usually impossible, so the simplex method is used. Because the simplex method
Introduction: In the previous chapter, we discussed about the graphical method for solving linear programming problems. Although the graphical method is an invaluable aid to understand the properties of
Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.
494 CHAPTER 9 LINEAR PROGRAMMING 9. THE SIMPLEX METHOD: MAXIMIZATION For linear programming problems involving two variables, the graphical solution method introduced in Section 9. is convenient. However,
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
Linear Programming: Chapter 5 Duality Robert J. Vanderbei October 17, 2007 Operations Research and Financial Engineering Princeton University Princeton, NJ 08544 http://www.princeton.edu/ rvdb Resource
The Transportation Problem: LP Formulations An LP Formulation Suppose a company has m warehouses and n retail outlets A single product is to be shipped from the warehouses to the outlets Each warehouse
56:171 Operations Research Midterm Exam Solutions Fall 2001 True/False: Indicate by "+" or "o" whether each statement is "true" or "false", respectively: o_ 1. If a primal LP constraint is slack at the
Linear Programming: Theory and Applications Catherine Lewis May 11, 2008 1 Contents 1 Introduction to Linear Programming 3 1.1 What is a linear program?...................... 3 1.2 Assumptions.............................
SUPPLEMENT TO CHAPTER SIX Linear Programming SUPPLEMENT OUTLINE Introduction, 2 Linear Programming Models, 2 Model Formulation, 4 Graphical Linear Programming, 5 Outline of Graphical Procedure, 5 Plotting
PERFORMANCE EXCELLENCE IN THE WOOD PRODUCTS INDUSTRY EM 8720-E October 1998 $3.00 Using the Simplex Method to Solve Linear Programming Maximization Problems J. Reeb and S. Leavengood A key problem faced
Linear Programming April 1, 005 Parts of this were adapted from Chapter 9 of i Introduction to Algorithms (Second Edition) /i by Cormen, Leiserson, Rivest and Stein. 1 What is linear programming? The first
Optimization Methods Draft of August 26, 2005 I. Solving Linear Programs by the Simplex Method Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston,
Does the Simplex Algorithm Work? In this section we carefully examine the simplex algorithm introduced in the previous chapter. Our goal is to either prove that it works, or to determine those circumstances
Chapter 4: The Mechanics of the Simplex Method The simplex method is a remarkably simple and elegant algorithmic engine for solving linear programs. In this chapter we will examine the internal mechanics
3.5 Reduction to Standard Form 77 Exercise 3-4-4. Read the following statements carefully to see whether it is true or false. Justify your answer by constructing a simple illustrative example (for false),
Contents 1. Index 2. Introduction 3. Syntax 4. Explanation of Simplex Algorithm Index Objective function the function to be maximized or minimized is called objective function. E.g. max z = 2x + 3y Constraints
Linear Programming Linear programming refers to problems stated as maximization or minimization of a linear function subject to constraints that are linear equalities and inequalities. Although the study
Chapter Transportation Problems.1 Modelling the transportation problem The transportation problem is concerned with finding the minimum cost of transporting a single commodity from a given number of sources
4.6 Linear Programming duality To any minimization (maximization) LP we can associate a closely related maximization (minimization) LP. Different spaces and objective functions but in general same optimal
56:171 Operations Research -- Sample Homework Assignments Fall 1992 Dennis Bricker Dept. of Industrial Engineering University of Iowa Homework #1 (1.) Linear Programming Model Formulation. SunCo processes
Integer Using the Simplex Method in Mixed Integer UTFSM Nancy, 17 december 2015 Using the Simplex Method in Mixed Integer Outline Mathematical Programming Integer 1 Mathematical Programming Optimisation
Introduction Linear Programming Neil Laws TT 00 A general optimization problem is of the form: choose x to maximise f(x) subject to x S where x = (x,..., x n ) T, f : R n R is the objective function, S
Linear Programming Models: Graphical and Computer Methods Learning Objectives Students will be able to: 1. Understand the basic assumptions and properties of linear programming (LP). 2. Graphically solve
Linear Programming Problems Linear programming problems come up in many applications. In a linear programming problem, we have a function, called the objective function, which depends linearly on a number
Converting a Linear Program to Standard Form Hi, welcome to a tutorial on converting an LP to Standard Form. We hope that you enjoy it and find it useful. Amit, an MIT Beaver Mita, an MIT Beaver 2 Linear
Econ 172A, W2001: Final Examination, Possible Answers There were 480 possible points. The first question was worth 80 points (40,30,10); the second question was worth 60 points (10 points for the first
SOLUTION OF LINEAR PROGRAMMING PROBLEMS THEOREM 1 If a linear programming problem has a solution, then it must occur at a vertex, or corner point, of the feasible set, S, associated with the problem. Furthermore,
Chapter 6: Sensitivity Analysis Suppose that you have just completed a linear programming solution which will have a major impact on your company, such as determining how much to increase the overall production
Linear Programming Supplement E Linear Programming Linear programming: A technique that is useful for allocating scarce resources among competing demands. Objective function: An expression in linear programming
. The Simplex Method and the Standard Maximiation Problem Question : What is a standard maximiation problem? Question : What are slack variables? Question : How do you find a basic feasible solution? Question
Stanford University CS261: Optimization Handout 6 Luca Trevisan January 20, 2011 Lecture 6 In which we introduce the theory of duality in linear programming 1 The Dual of Linear Program Suppose that we
Network Models 8 There are several kinds of linear-programming models that exhibit a special structure that can be exploited in the construction of efficient algorithms for their solution. The motivation
10 Linear Programming Learning Objectives: After studying this unit you will be able to: Formulate the Linear Programming Problem Solve the Linear Programming Problem with two variables using graphical
Theory of Linear Programming Debasis Mishra April 6, 2011 1 Introduction Optimization of a function f over a set S involves finding the maximum (minimum) value of f (objective function) in the set S (feasible
LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method Introduction to dual linear program Given a constraint matrix A, right
APPLIED ECONOMICS By W.E. Diewert. July, 3. Chapter : Linear Programming. Introduction The theory of linear programming provides a good introduction to the study of constrained maximization (and minimization)
Chapter 5. Systems of linear inequalities in two variables. In this section, we will learn how to graph linear inequalities in two variables and then apply this procedure to practical application problems.
Click on the links below to jump directly to the relevant section Solving univariate equations Solving for one variable in a multivariate equation Solving systems of multivariate equations Solving univariate
Chapter 1 What is Linear Programming? An optimization problem usually has three essential ingredients: a variable vector x consisting of a set of unknowns to be determined, an objective function of x to
Operation Research Module 1 Unit 1 1.1 Origin of Operations Research 1.2 Concept and Definition of OR 1.3 Characteristics of OR 1.4 Applications of OR 1.5 Phases of OR Unit 2 2.1 Introduction to Linear
Math 407A: Linear Optimization Lecture 4: LP Standard Form 1 1 Author: James Burke, University of Washington LPs in Standard Form Minimization maximization Linear equations to linear inequalities Lower
Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins
Linear Programming Notes VII Sensitivity Analysis 1 Introduction When you use a mathematical model to describe reality you must make approximations. The world is more complicated than the kinds of optimization
The Canonical and Dictionary Forms of Linear Programs Recall the general optimization problem: Minimize f(x) subect to x D (1) The real valued function f is called the obective function, and D the constraint
S U P P L E M E N T Linear Programming B Before studying this supplement you should know or, if necessary, review 1. Competitive priorities, Chapter 2 2. Capacity management concepts, Chapter 9 3. Aggregate
A Production Planning Problem Suppose a production manager is responsible for scheduling the monthly production levels of a certain product for a planning horizon of twelve months. For planning purposes,
LINEAR PROGRAMMING: MODEL FORMULATION AND GRAPHICAL SOLUTION 2-1 Chapter Topics Model Formulation A Maximization Model Example Graphical Solutions of Linear Programming Models A Minimization Model Example
Introduction to Linear Programming (LP) Mathematical Programming Concept LP Concept Standard Form Assumptions Consequences of Assumptions Solution Approach Solution Methods Typical Formulations Massachusetts
Large-Scale Systems 12 As mathematical-programming techniques and computer capabilities evolve, the spectrum of potential applications also broadens. Problems that previously were considered intractable,
The Graphical Method: An Example Consider the following linear program: Maximize 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2 0, where, for ease of reference,
Solving Linear Programming Problem with Fuzzy Right Hand Sides: A Penalty Method S.H. Nasseri and Z. Alizadeh Department of Mathematics, University of Mazandaran, Babolsar, Iran Abstract Linear programming
Fundamentals of Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture No. # 22 Inventory Models - Discount Models, Constrained Inventory
Lecture 1: Linear Programming Models Readings: Chapter 1; Chapter 2, Sections 1&2 1 Optimization Problems Managers, planners, scientists, etc., are repeatedly faced with complex and dynamic systems which
2.4 Multiplication of Integers Recall that multiplication is defined as repeated addition from elementary school. For example, 5 6 = 6 5 = 30, since: 5 6=6+6+6+6+6=30 6 5=5+5+5+5+5+5=30 To develop a rule
Algebra 2 Chapter 3 3.1 Solve Systems Using Tables & Graphs 3.1 Solving Systems Using Tables and Graphs A solution to a system of linear equations is an that makes all of the equations. To solve a system
Chapter 2 Geometry of Linear Programming The intent of this chapter is to provide a geometric interpretation of linear programming problems. To conceive fundamental concepts and validity of different algorithms
Linear Programming with Post-Optimality Analyses Wilson Problem: Wilson Manufacturing produces both baseballs and softballs, which it wholesales to vendors around the country. Its facilities permit the
Chapter 2 LINEAR PROGRAMMING PROBLEMS 2.1 Introduction Linear Programming is the branch of applied mathematics that deals with solving optimization problems of a particular functional form. A linear programming
Notes for AGEC 622 Bruce McCarl Regents Professor of Agricultural Economics Texas A&M University Thanks to Michael Lau for his efforts to prepare the earlier copies of this. 1 http://ageco.tamu.edu/faculty/mccarl/622class/