Linear programming
Chapter IV: The Simplex Method
Fedia Daami Remadi A S M A B E N YA G H L A N E R I A H I
Roua Ben Ammar
Tunis Business School
Simplex Method
The most frequently used method to
solve LP problems
2
RESOLUTION BY THE SIMPLEX METHOD :
Maximization Problem
Step1: Standard Form
1. Transform linear program by standard form in which all
the constraints are written as equalities
Add a Slack Variable to the LHS of “Less than or equal
constraints ≤
to” constraint to convert it into an equality
Add a Surplus Variable to the LHS of “greater than or
constraints ≥
equal to” constraint to convert it into an equality
RESOLUTION BY THE SIMPLEX METHOD :
Maximization Problem
Step 1: Standard Form
2. In the objective Function
• To guarantee that the Slack and Surplus variables do
not influence the objective function, we associate them
with zero coefficient.
RESOLUTION BY THE SIMPLEX
METHOD : Maximization Problem
•Standard Form (Example)
Step 2: Obtain a Basic Solution to the problem
Basic Solution
It has (n-m) variables equal to zero and solves the system of equations for
the remaining m variables
It corresponds to the solution of “doing nothing”
The initial values of slack variables if the constraint is <=
x1=0,x2=0,e1=240,e2=140,
The the initial basic variables VB={e1, e2},
Step 3: Form the Initial Tableau
Cj 25 15 0 0
VB Q X1 X2 e1 e2 RT
0 e1 240 2 2 1 0
0 e2 140 3 1 0 1
Zj 0 -0 0 0
Cj-Zj 25 15 0 0
Z1=2*0+3*0=0
𝐶𝑗 : coefficient of the variables in the OF C1-Z1=25-0
VB: Basic variables
Q: Basic Solution
RT: Ratio X1=0
Zj: feasible Solution X2=0
E1=240
Cj-Zj: Net Evaluation
E2=140
Terminology
Consider a system of m linear equations in n variables (n>m)
Basic Solution
It has (n-m) variables equal to zero and solves the system of equations for
the remaining m variables
Basic Feasible Solution(BFS)
If all the variables in basic solution are non negative
Optimal Solution
Any BFS which optimizes(maximizes or minimizes) the objective function
8
Terminology
Simplex Table Net Evaluation
Table Form A table which is used Row(Cj-Zj )
When a LP is written to keep track of the The row containing
in a tabular form prior calculations made at net profit or loss. The
to setting up the each iteration when numbers in this row
Initial Simplex Table the simplex method are also known as
is employed shadow prices
9
Step 4: Find (Cj-Zj) having highest positive
value
•The corresponding column: Pivot Column
•In the previous table, the column corresponding to X1 is the pivot column
•X1 will be entering the basis
Cj 25 15 0 0
VB Q X1 X2 e1 e2 RT
0 e1 240 2 2 1 0
0 e2 140 3 1 0 1
Zj 0 0 0 0
Cj-Zj 25 15 0 0
10
Step 5: Ratio-test
•Divide Qj values Column by the corresponding values of Pivot Column
•The row corresponding to the minimum positive value is the Pivot Row 240/2
•The variable of the pivot row leaves the table 140/3
•In the previous table, the row corresponding to the slack variable e2 is the
pivot row
Cj 25 15 0 0
VB Q X1 X2 e1 e2 Rt
0 e1 240 2 2 1 0 120
0 e2 140 3 1 0 1 46,66
6
Zj 0 0 0 M
Cj-Zj 25 15 0 -M
11 EV=X1, LV=e2, PIVOT=3
Terminology
•Pivot Column: The column having largest positive (or negative) value in the Net Evaluation Row for a maximization(or minimization) problem
•Pivot Row: The row corresponding to the variable that will leave the table in order to make room for another variable
•Pivot Element: The intersection of pivotal row and pivotal column
12
Step 6: Build the next table X1=140/3
X2=0
E1=440/3
Update !! E2=0
Pivot Row New value= old value / PIVOT
Other Rows New value= old value- (row projection*Column projection)/PIVOT
(440/3): (4/3)
EV= X2 , LV=e1 , PIVOT=4/3
next table
Update !!
Pivot Row New value= old value / PIVOT
Other Rows New value= old value- (row projection*Column projection)/PIVOT
All the (Cj-Zj) ≤0!!
Step 7: Optimality test
If all the (Cj-
Zj) ≤0: an
optimum
solution is
reached
Else, repeat the process
X1=10, as given in Steps 4,5 & 6
X2=110 and • In the example, it is the
Z=1900 case where optimality
is reached:
15
Checking by the graphical method
A B
100 X1*=10
X2*=110
Z*=1900
Z0 Z1
50
50 100
2x1+2x2=240
3X1+X2=140
Example 2
Maximize Z = 7X1+5X2
s.t. X1+2X2 ≤ 6
4X1+3X2 ≤ 12
X1; X2 ≥0
17
X1 + 2X2 +S1 =6
4X1 +3X2 +S2 = 12
The Objective Function would be
Z = 7X1 + 5X2 + 0S1 + 0S2
18
Step 2: Obtain a Basic Solution to the problem
These are the initial
values of slack
Put the decision variables
variables X1=X2=0
so that S1=6 and
S2=12 It corresponds to
the solution of
“doing nothing”
19
Step 3: Form the Initial Tableau
Initial Tableau
Cj 7 5 0 0
Min.Ratio
Basic
Basic (XB/Pivotal
C Variable
B X1 X2 S1 S2
Soln(XB) Col.)
(B)
0 S1 6 1 2 1 0 6/1=6
0 S2 12 4 3 0 1 12/4=3
Zj 0 0 0 0
(Net Evaluation)Cj - Zj 7 5 0 0
Step4 : EV= X1,
Step 5: LV=S2, Pivot=4
20
next table
Update !!
Pivot Row New value= old value / PIVOT
Other Rows New value= old value- (row projection*Column projection)/PIVOT
Cj 7 5 0 0
Min.Ratio
Basic
Basic (XB/Pivotal
CB Variable X1 X2 S1 S2
Soln(XB) Col.)
(B)
0 S1 3 0 54 1 - 1/4
7 X1 3 1 3/4 0 1/4
Zj 7 21 4 0 74
21
(Net Evaluation)Cj - Zj 0 - 1/4 0 -74
Step 7: Optimality test
If all the (Cj-Zj)
≤ 0: an optimum
solution is
reached
Else, repeat the
process as given
X1=3, X2=0 and in Steps 4,5 & 6
Z=21 • In the example, it is
the case where
optimality is
reached:
22
Special cases
Multiple
Unbounded LP
solutions
The pivot column has Optimal tableau has zero
only negative or zero entries for non-basic
entries solutions in the Cj–Zj row
The ratio test fails and
By pivoting on those rows
hence the relevant
we obtain new solutions
entering variable can
with the same (optimal)
improve the objective
value of Z
function with no stop
23
Multiple optimal solutions
TAB1 4 3 0 0
CB VB Q X1 X2 S1 S2 Ratio
0 S1 24 3 4 1 0 8
Maxz = 4x1+3x2 0 S2 48 8 6 0 1 6
Subject to Zj 0 0 0 0 0
3x1+4x2 <= 24 Cj-Zj 4 3 0 0
8x1+6x2<=48
TAB2 4 3 0 0
Standard form CB VB Q X1 X2 S1 S2 Ratio
0 S1 6 0 7/4 1 -3/8 24/7
Max Z = 4x1+ 3x2+ 0s1 +0s2
4 X1 6 1 6/8 0 1/6 8
Subject to Zj 24 4 3 0 4/6
3x1+4x2+s1 =24 Cj-Zj 0 0 0 -4/6
8x1+6x2+s2=48
TAB3 4 3 0 0
Optimal solution CB VB Q X1 X2 S1 S2 Ratio
24/7<= X1*<=6 3 X2 24/7 0 1 4/7 -14/3 6
0<=X2*<=24/7 4 X1 24/7 1 0 -3/7 0.14 -
8X1*+6X2*=48 Zj 24 4 3 0 -13.44
Z*=24 Cj-Zj 0 0 0 -13.44
Unbounded LP