Outline o o Simplex algorithm The initial basic
Outline o o Simplex algorithm The initial basic feasible solution 18/03/2009 Ch. 29 Linear Programming 1
An example of simplex algorithm o Linear program in standard form 18/03/2009 Ch. 29 Linear Programming 2
An example of simplex algorithm o Putting the linear program into slack form(29. 1) o 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 3
Basic solution o Set all the (nonbasic) variables on the righthand to 0 and then compute the values of the (basic) variables on the left-hand side. In this example, the basic solution is o If a basic solution is also feasible, we call a basic feasible solution. 18/03/2209 Ch. 29 Linear Programming 4
Our goal o o 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 5
Example o 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 6
An example of simplex algorithm o Switch the role of o Rewrite other equations 18/03/2009 and Ch. 29 Linear Programming 7
An example of simplex algorithm o 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 8
An example of simplex algorithm o o o 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 9
An example of simplex algorithm o o o After entering and leaving Basic solution (8, 4, 0, 18, 0, 0) Objective value = 28 18/03/2009 Ch. 29 Linear Programming 10
Basic solutions o 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 11
Selecting Basic and Nonbasic variables o o o 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 12
Example 18/03/2009 Ch. 29 Linear Programming 13
Example 18/03/2009 Ch. 29 Linear Programming 14
Example 18/03/2009 Ch. 29 Linear Programming 15
Initial simplex tableu o Initial simplex tableu 1 3 -50 18/03/2009 2 4 -80 1 0 0 0 1 Ch. 29 Linear Programming 32 84 0 16
Pivot operation o Entering variable 1 2 1 3 4 0 -50 -80 0 32: 2=16 small 84: 4=21 18/03/2009 0 1 0 0 0 1 Ch. 29 Linear Programming 32 84 0 17
Simplex tableu 1/2 1 3 4 -50 -80 18/03/2009 1/2 0 0 1 Ch. 29 Linear Programming 16 84 0 18
Simplex tableu 1/2 1 1 0 -10 0 18/03/2009 1/2 0 -2 1 40 0 1 Ch. 29 Linear Programming 16 20 1280 19
Simplex tableu 1/2 1 1 0 -10 0 18/03/2009 1/2 0 -2 1 40 0 1 Ch. 29 Linear Programming 16 20 1280 20
Simplex tableu 1/2 1 1 0 -10 0 16: 1/2=32 18/03/2009 1/2 0 -2 1 0 40 0 0 1 16 20 1280 20: 1=20 pivot 1 Ch. 29 Linear Programming 21
Simplex tableu 0 18/03/2009 1 0 0 3/2 -1/2 -2 1 20 10 0 0 1 Ch. 29 Linear Programming 6 20 1480 22
Pivoting o 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 23
Copyright © The Mc. Graw-Hill Companies, Inc. Permission required for reproduction or display.
The formal simplex algorithm Assume that we have a procedure INITIALIZESIMPLEX(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 ndimensinal 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 25
Copyright © The Mc. Graw-Hill Companies, Inc. Permission required for reproduction or display.
The initial basic feasible solution o 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 27
Example o Consider the following linear program 18/03/2009 Ch. 29 Linear Programming 28
Example o 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 29
Auxiliary linear program o 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 30
Auxiliary linear program o 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 31
Auxiliary linear program o 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 32
Example. o We now demonstrate the operation INITIALIZE-SIMPLEX on the example. 18/03/2009 Ch. 29 Linear Programming 33
Copyright © The Mc. Graw-Hill Companies, Inc. Permission required for reproduction or display.
Example o We write this linear program in slack form, obtaining 18/03/2009 Ch. 29 Linear Programming 35
Example 18/03/2009 Ch. 29 Linear Programming 36
Example Set x 0=0 and simplifying 18/03/2009 Ch. 29 Linear Programming 37
Example. 18/03/2009 Ch. 29 Linear Programming 38
Fundamental theorem of linear programming o Any linear program L, given in standard form, either: n n n 18/03/2009 Has an optimal solution with a finite objective value Is infeasible Is unbounded Ch. 29 Linear Programming 39
Background o o 18/03/2009 The Simplex Algorithm George Dantzig born 8. 11. 1914, Portland invented "Simplex Method of Optimisation" in 1947 this grew out of his work with the USAF 40
- Slides: 40