Outline Simplex algorithm The initial basic feasible solution 18/03/2009 Ch.29 Linear Programming
An example of simplex algorithm Linear program in standard form 18/03/2009 Ch.29 Linear Programming
An example of simplex algorithm Putting the linear program into slack form(29.1) The system of constraints (29.62)-(29.64) has 3 equations and 6 variables. Any setting of the variables defines values for ; therefore an infinite number of solutions to this system of equations. 18/03/2009 Ch.29 Linear Programming
Basic solution Set all the (nonbasic) variables on the right- hand to 0 and then compute the values of the (basic) variables on the left-hand side. In this example,the basic solution is If a basic solution is also feasible, we call a basic feasible solution. 18/03/2209 Ch.29 Linear Programming
Our goal Our goal in each iteration is to reformulate the linear program so that the basic solution has a greater objective value. We select a nonbasic variable x whose coefficient in the objective function is positive and we increase the value of x as much as possible without violating any of the constraints 18/03/2009 Ch.29 Linear Programming
Example To continue the example let us think about increasing the value of As we increase the values of all decrease. Because we have a nonnegativity constraint for each variable we cannot allow the any of them to become negative. If increases above 30, then becomes negative,while become negative when increases above 12,and 9 respectively 18/03/2009 Ch.29 Linear Programming
An example of simplex algorithm Switch the role of and Rewrite other equations 18/03/2009 Ch.29 Linear Programming
An example of simplex algorithm After rewrite the linear program New basic solution This operation is pivot. Choose a nonbasic variable-entering variable,and a basic variable-leaving variable, exchanges roles. 18/03/2009 Ch.29 Linear Programming
An example of simplex algorithm After entering and leaving Basic solution (33/4, 0, 3/2, 69/4, 0, 0) Objective value = 111/4 18/03/2009 Ch.29 Linear Programming
An example of simplex algorithm After entering and leaving Basic solution (8,4,0,18,0,0) Objective value = 28 18/03/2009 Ch.29 Linear Programming
Basic solutions The objective function variable P is always selected a basic variables and never selected as a nonbasic varaible 18/03/2009 Ch.29 Linear Programming
Selecting Basic and Nonbasic variables Determine the number of basic variables. These numbers do nıt change during simplex process Basic varaibles: A variable can be selected as a basic variable only if it correspondes to a column in the tableu that has exactly one nonzero element(usually 1) Nonbasic variables: Remaining variables 18/03/2009 Ch.29 Linear Programming
Example 18/03/2009 Ch.29 Linear Programming
Example 18/03/2009 Ch.29 Linear Programming
Example 18/03/2009 Ch.29 Linear Programming
Initial simplex tableu 1 2 1 0 0 32 3 4 0 1 0 84 -50 -80 0 0 1 0 18/03/2009 Ch.29 Linear Programming
Pivot operation Entering variable 1 2 1 0 0 32 3 4 0 1 0 84 1 2 1 0 0 32 3 4 0 1 0 84 -50 -80 0 0 1 0 32:2=16 small 84:4=21 18/03/2009 Ch.29 Linear Programming
Simplex tableu 1/2 1 1/2 0 0 16 3 4 0 1 0 84 -50 -80 0 0 1 0 18/03/2009 Ch.29 Linear Programming
Simplex tableu 1/2 1 1/2 0 0 16 1 0 -2 1 0 20 -10 0 40 0 1 1280 18/03/2009 Ch.29 Linear Programming
Simplex tableu 1/2 1 1/2 0 0 16 1 0 -2 1 0 20 -10 0 40 0 1 1280 18/03/2009 Ch.29 Linear Programming
Simplex tableu 1/2 1 1/2 0 0 16 1 0 -2 1 0 20 -10 0 0 40 1 1280 16:1/2=32 20:1=20 pivot 1 18/03/2009 Ch.29 Linear Programming
Simplex tableu 0 1 3/2 -1/2 0 6 1 0 -2 1 0 20 0 0 20 10 1 1480 18/03/2009 Ch.29 Linear Programming
Pivoting The procedure PIVOT takes an input a slack form,given by the tuple (N,B,A,b,c,v) the index l of the living variable and the index e of the entering variable 18/03/2009 Ch.29 Linear Programming
Copyright © The McGraw-Hill Companies, Inc Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The formal simplex algorithm Assume that we have a procedure INITIALIZE-SIMPLEX(A,b,c) that takes as inpur a linear program in standart form,that is an m x n matrix A, an m dimensional vector b and n-dimensinal vector c. If the problem infeasible it returns a message that the program infeasible and then terminates.Otherwise it returns a slack form for which the initial basic solution is feasible. 18/03/2009 Ch.29 Linear Programming
Copyright © The McGraw-Hill Companies, Inc Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The initial basic feasible solution In this section we first describe how test if a linear program is feasible, and it is how to produce a slack form for which the basic solution is feasible. We conclude fundamental theorem of linear programming, which says that the SIMPLEX procedure always produces the correct result. 18/03/2009 Ch.29 Linear Programming
Example Consider the following linear program 18/03/2009 Ch.29 Linear Programming
Example If we were convert this linear program to slack form the basic solution would set and . This solution violates constraint (29.107) and it is not a feasible solution. Thus INITIALIZE-SIMPLEX cannot just returns the obvious slack form. By inspection it is not clear whether this linear program even has any feasible solutions 18/03/2009 Ch.29 Linear Programming
Auxiliary linear program In order to determine whether it does we can formulate an auxilary linear program . For this auxiliary program we will be able to find a slack form for which the basic solution is feasible. Furtermore, the solution of auxilary linear program will determine whether the initial linear program is feasible and if so it will provide a feasible solution with which we can initialize SIMPLEX 18/03/2009 Ch.29 Linear Programming
Auxiliary linear program Lemma. Let L be a linear program in standart form . Let Laux be the following linear program with n+1 variables: Then L is feasible if and only if the optimal objective value of Laux is 0 18/03/2009 Ch.29 Linear Programming
Auxiliary linear program Proof of lemma. Suppose that L has a feasible solution Then the solution combined with x is a feasible solution Laux with objective value 0. Since is a constraint of Laux this solution be optimal for Laux.Conversely, suppose that the optimal objective value of Laux is 0. Then remaining variables satisfy L 18/03/2009 Ch.29 Linear Programming
Example. We now demonstrate the operation INITIALIZE-SIMPLEX on the example. 18/03/2009 Ch.29 Linear Programming
Copyright © The McGraw-Hill Companies, Inc Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Example We write this linear program in slack form,obtaining 18/03/2009 Ch.29 Linear Programming
Example 18/03/2009 Ch.29 Linear Programming
Example Set x0=0 and simplifying 18/03/2009 Ch.29 Linear Programming
Example. 18/03/2009 Ch.29 Linear Programming
Fundamental theorem of linear programming Any linear program L, given in standard form, either: Has an optimal solution with a finite objective value Is infeasible Is unbounded 18/03/2009 Ch.29 Linear Programming
Background George Dantzig born 8.11.1914, Portland invented "Simplex Method of Optimisation" in 1947 this grew out of his work with the USAF 18/03/2009 The Simplex Algorithm