Simplex method (algebraic interpretation)

Slides:



Advertisements
Similar presentations
The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case.
Advertisements

Operation Research Chapter 3 Simplex Method.
SIMPLEX METHOD FOR LP LP Model.
Copyright (c) 2003 Brooks/Cole, a division of Thomson Learning, Inc
Computational Methods for Management and Economics Carla Gomes Module 6a Introduction to Simplex (Textbook – Hillier and Lieberman)
OR Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (We may refer it as.
Computational Methods for Management and Economics Carla Gomes Module 6b Simplex Pitfalls (Textbook – Hillier and Lieberman)
The Simplex Method: Standard Maximization Problems
Operation Research Chapter 3 Simplex Method.
Linear Programming (LP)
The Simplex Method.
5.6 Maximization and Minimization with Mixed Problem Constraints
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm.
LINEAR PROGRAMMING SIMPLEX METHOD.
Chapter 3 Linear Programming Methods 高等作業研究 高等作業研究 ( 一 ) Chapter 3 Linear Programming Methods (II)
1. The Simplex Method.
Chapter 6 Linear Programming: The Simplex Method
The Two-Phase Simplex Method LI Xiao-lei. Preview When a basic feasible solution is not readily available, the two-phase simplex method may be used as.
Simplex method (algebraic interpretation)
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Topic III The Simplex Method Setting up the Method Tabular Form Chapter(s): 4.
Barnett/Ziegler/Byleen Finite Mathematics 11e1 Learning Objectives for Section 6.4 The student will be able to set up and solve linear programming problems.
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming: The Simplex Method Chapter 5.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
The Simplex Method Updated 15 February Main Steps of the Simplex Method 1.Put the problem in Row-Zero Form. 2.Construct the Simplex tableau. 3.Obtain.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Solving Linear Programming Problems: The Simplex Method
OR Perturbation Method (tableau form) (after two iterations, optimal solution obtained) (0+2  1 ) (0+2  2 ) (1+  3 )
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
1 1 Slide © 2005 Thomson/South-Western Linear Programming: The Simplex Method n An Overview of the Simplex Method n Standard Form n Tableau Form n Setting.
Chapter 4 Linear Programming: The Simplex Method
Chapter 6 Linear Programming: The Simplex Method Section 4 Maximization and Minimization with Problem Constraints.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
OR Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (We may refer it as.
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
An-Najah N. University Faculty of Engineering and Information Technology Department of Management Information systems Operations Research and Applications.
 LP graphical solution is always associated with a corner point of the solution space.  The transition from the geometric corner point solution to the.
OR  Now, we look for other basic feasible solutions which gives better objective values than the current solution. Such solutions can be examined.
Copyright © 2006 Brooks/Cole, a division of Thomson Learning, Inc. Linear Programming: An Algebraic Approach 4 The Simplex Method with Standard Maximization.
The Simplex Method. and Maximize Subject to From a geometric viewpoint : CPF solutions (Corner-Point Feasible) : Corner-point infeasible solutions 0.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Solving Linear Program by Simplex Method The Concept
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
Chap 10. Sensitivity Analysis
Perturbation method, lexicographic method
10CS661 OPERATION RESEARCH Engineered for Tomorrow.
The Two-Phase Simplex Method
Chapter 4 Linear Programming: The Simplex Method
Chap 9. General LP problems: Duality and Infeasibility
Polyhedron Here, we derive a representation of polyhedron and see the properties of the generators. We also see how to identify the generators. The results.
The Simplex Method.
Chapter 5. Sensitivity Analysis
Chap 3. The simplex method
Chapter 3 The Simplex Method and Sensitivity Analysis
Polyhedron Here, we derive a representation of polyhedron and see the properties of the generators. We also see how to identify the generators. The results.
Solving Linear Programming Problems: Asst. Prof. Dr. Nergiz Kasımbeyli
Well, just how many basic
Chapter 8. General LP Problems
Chapter 5. The Duality Theorem
I.4 Polyhedral Theory (NW)
Flow Feasibility Problems
I.4 Polyhedral Theory.
Chapter 8. General LP Problems
Chapter 4 The Simplex Algorithm
Chapter 2. Simplex method
Chapter 8. General LP Problems
Prepared by Po-Chuan on 2016/05/24
Chapter 2. Simplex method
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Presentation transcript:

Simplex method (algebraic interpretation) Add slack variables(여유변수) to each constraint to convert them to equations. (We may refer it as an augmented LP) (1) (2) OR-1 2017

Every feasible solution of (1) can be extended, in the unique way as given above, into a feasible solution of (2). Every feasible solution of (2) can be restricted, by deleting slack variables, into a feasible solution of (1). The correspondence between feasible solutions of (1) and (2) carries optimal solutions of (1) onto optimal solutions of (2), and vice versa. So solve (2) instead of (1) and disregard the values of slack variables to obtain an optimal solution to the original problem. OR-1 2017

Surplus variable (잉여변수) : 𝑗=1 𝑛 𝑎 𝑖𝑗 𝑥 𝑗 ≥ 𝑏 𝑖  ( 𝑗=1 𝑛 𝑎 𝑖𝑗 𝑥 𝑗 ) − 𝑥 𝑛+𝑖 = 𝑏 𝑖 , 𝑥 𝑛+𝑖 ≥0 Remark: If LP includes equations in the constraints, we need to replace each equation with two inequalities to express the problem in standard form as we have seen earlier. Then we may add slack or surplus variables to convert them to equations. However, this procedure will increase the number of constraints and variables. Equations in an LP can be handled directly without changing them to inequalities. Detailed method will be explained in Chap 8. General LP Problems. For the time being, we assume that we follow the standard procedure to replace each equation with two inequalities to obtain a standard form. OR-1 2017

Next let Then find solution to the following system which maximizes z (tableau form) In the text, dictionary form is used, i.e. each dependent variable (including z) (called basic variable) is expressed as linear combinations of indep. var. (called nonbasic variable). (zeroth equation) (first equation) (second equation) (third equation) (nonnegativity constraints) (Note that, unlike the text, we place the objective function at the top. Such presentation style is used more widely and we follow that convention) OR-1 2017

From previous lectures, we know that if the polyhedron P has at least one extreme point and the LP over P has a finite optimal value, the LP has an extreme point optimal solution. Also an extreme point of P for our problem is a basic feasible solution algebraically. We obtain a basic solution by setting x1 = x2 = x3 = 0 and finding the values of x4, x5, and x6 , which can be read directly from the dictionary. (also z values can be read.) If all values of x4, x5, and x6 are nonnegative, we obtain a basic feasible solution. OR-1 2017

Now, we look for another basic feasible solution (extreme point of the polyhedron) which gives a better objective value than the current solution. Such solution can be examined by setting 7 – 4 = 3 variables at 0 (called nonbasic variables) and solve the equations for the remaining 4 variables (called basic variables). Here z may be regarded as a basic variable and it remains basic at any time during the simplex iterations. OR-1 2017

Initial feasible solution To find a better solution, find a nonbasic variable having positive coefficient in zeroth equation (say x1) and increase the value of the chosen nonbasic variable while other nonbasic variables remain at 0. We need to obtain a solution that satisfies the equations. Since 𝑥 1 increases and other nonbasic variables remain at 0, the values of basic variables must change so that the new solution satisfies the equations and nonnegativity. How much can we increase 𝑥 1 ? OR-1 2017

x1  (5/2) most binding (called minimum ratio test), get new solution (continued) x1  (5/2) most binding (called minimum ratio test), get new solution x1 = (5/2), x2, x3 = 0, x4 = 0, x5 = 1, x6 = (1/2), z = 25/2 This is a new basic feasible solution since x4 now can be treated as a nonbasic variable (has value 0) and x1 is basic. (We need a little bit of caution here in saying that the new solution is a basic feasible solution since we must be able to obtain it by setting x2, x3, and x4 at 0 and obtain a unique solution after solving the remaining system of equations) OR-1 2017

Why could we find a basic feasible solution easily? Change the dictionary so that the new solution can be directly read off x1 : 0 (5/2), x4 : 5  0 So change the role of x1 and x4 . x4 becomes independent (nonbasic) variable and x1 becomes dependent (basic) variable. Why could we find a basic feasible solution easily? 1) all independent(nonbasic) variables appear at the right of equality (have value 0) 2) each dependent (basic) variable appears in only one equation 3) each equation has exactly one basic variable appearing ( z variable may be interpreted as a basic variable, but usually it can be treated separately since it always remains basic and it is irrelevant to the description of the feasible solutions) So change the dictionary so that it satisfies the above properties. OR-1 2017

OR-1 2017

OR-1 2017

Equivalent to performing row operations

Note that the previous solution 𝑥 1 = 𝑥 2 = 𝑥 3 =0, 𝑥 4 =5, 𝑥 5 =11, 𝑥 6 =8, 𝑧=0 and the new solution 𝑥 1 = 5 2 , 𝑥 2 = 𝑥 3 = 𝑥 4 =0, 𝑥 5 =1, 𝑥 6 = 1 2 , 𝑧= 25 2 satisfies the updated system of equations. Only difference is that the new solution can be read off directly from the new dictionary. We update the dictionary to read a new basic solution directly, but the set of solutions is not changed. OR-1 2017

Perform substitutions (elementary row operations) Next iteration: Select 𝑥 3 as the nonbasic variable to increase the value (called entering nonbasic variable). 𝑥 6 becomes 0 (changes status from basic variable to nonbasic variable, called leaving basic variable) Perform substitutions (elementary row operations) OR-1 2017

New solution is It is optimal since any feasible solution must have nonnegative values and 𝑧=13−3 𝑥 2 − 𝑥 4 − 𝑥 6 implies that z  13 for any nonnegative feasible solution. Hence if the coefficients of the nonbasic variables in zeroth equation are all non-positive, current solution is optimal (note that it is a sufficient condition for optimality but not a necessary condition) OR-1 2017

x1 = (5/2), x2, x3 = 0, x4 = 0, x5 = 1, x6 = (1/2), z = 25/2 Moving directions in Rn in the example x1 = (5/2), x2, x3 = 0, x4 = 0, x5 = 1, x6 = (1/2), z = 25/2 Then we obtained 𝑥 1 = 𝑥 0 +𝑡𝑑, where 𝑑= (1, 0, 0, -2, -4, -3 ) and 𝑡= 5 2 Note that the 𝑑 vector can be found from the dictionary.( the column for 𝑥 1 ) We make 𝑡 as large as possible while 𝑥 0 +𝑡𝑑≥0. OR-1 2017

Geometric meaning of an iteration Notation x1=0 x2=0 x3 x3=0 x1 x2 OR-1 2017

Our example : assume x2 does not exist Our example : assume x2 does not exist. It makes the polyhedron 2 dimensional since we have 5 variables and 3 equations (except nonnegativity and zeroth equation) x3=0 x6=0 A We move from A, which is an extreme point defined by 3 eq. and 𝑥 1 = 𝑥 3 =0, to B defined by the 3 eq. and 𝑥 3 = 𝑥 4 =0. x1=0 d x4=0 B OR-1 2017

Terminology Assume that we have max 𝑐 ′ 𝑥, 𝐴𝑥=𝑏, 𝑥≥0, where 𝐴 is 𝑚×(𝑛+𝑚) and full row rank. A solution 𝑥 ∗ is called a basic solution (기저해) if it can be obtained by setting 𝑛 of the variables equal to 0 and then solving for the remaining m variables, where the columns of the 𝐴 matrix corresponding to the 𝑚 variables are linearly independent. (Hence provides a unique solution.) A solution 𝑥 ∗ is called a basic feasible solution (기저가능해) if it is a basic solution and satisfies 𝑥≥0. (feasible solution to the augmented LP) In the text, basic solution is defined as the solution which can be obtained by setting the right-hand side variables (independent var.) at zero in the dictionary. This is the same definition as the one given above. But the text does not make clear distinction between basic solution and basic feasible solution. Basic solutions obtained from a dictionary during simplex iterations are always feasible. OR-1 2017

Both viewpoints are useful. For a basic solution 𝑥 ∗ , the 𝑛 variables which are set to 0 are called nonbasic variables (비기저변수) (independent var.) and the remaining 𝑚 variables are called basic variables (기저변수) (dependent var.) Two view points: (1) The zeroth equation may be considered as part of the system of equations. In that case, z variable is regarded as basic variable. It always remains basic during the simplex iterations. (2) On the other hand, zeroth equation may be regarded as a separate equation which is used to read off the objective function values and other equations and nonnegativity describes the feasible solution set of LP. Note that the set of feasible solutions does not change although we perform simplex iterations. Both viewpoints are useful. OR-1 2017

The set of basic variables is called a basis (기저) of the basic solution. (note that the set of columns in matrix 𝐴 corresponding to basic variables spans the subspace generated by the columns of matrix 𝐴 (which is 𝑅 𝑚 ).) In a simplex iteration, the nonbasic variable which becomes basic in that iteration is called entering (nonbasic) variable (도입변수) and the basic variable which becomes nonbasic is called leaving (basic) variable (탈락변수) Minimum ratio test (최소비율검사) : test to determine the leaving basic variable Pivoting : computational process of constructing the new dictionary (elementary row operations) OR-1 2017

Remarks Maximum number of b.f.s. in augmented form is 𝑚+𝑛 𝑛 . In the simplex method, one nonbasic variable becomes basic and one basic variable becomes nonbasic in each iteration (except the z variable, it always remains basic.) In real implementations, we do not update entire dictionary (or tableau). We maintain information about the current basis. Then entire tableau can be constructed from that information and the simplex iteration can be performed (called revised simplex method, details later in Chapter 7). OR-1 2017

Obtaining all optimal solutions For any feasible solution 𝑥 =( 𝑥 1 , 𝑥 2 , …, 𝑥 6 ), if any of 𝑥 2 , 𝑥 4 , 𝑥 6 (nonbasic) is greater than 0, then the objective value is less than 13. (from zeroth equation) Hence we must have 𝑥 2 = 𝑥 4 = 𝑥 6 =0 for any optimal solution. Then the current optimal solution is the only one solution which satisfies the constraints, which means it is a unique optimal solution. If all coefficients in the zeroth equation are < 0, it gives a sufficient condition for the uniqueness of the current optimal solution. OR-1 2017

Any feasible solution with 𝑥 3 =0 is an optimal solution. Another example Any feasible solution with 𝑥 3 =0 is an optimal solution. The set of feasible solutions with 𝑥 3 =0 is given by OR-1 2017

Tableau format OR-1 2017

Tableau format only maintains coefficients in the equations. It is convenient to carry out simplex iterations in the tableau by performing elementary row operations. OR-1 2017