0% found this document useful (0 votes)
3 views

Module 5 Notes

This module focuses on the Simplex method for solving linear programming (LP) maximization problems, introducing key concepts such as setting up linear programs, converting inequalities to equations, and constructing the initial simplex tableau. It outlines the steps of the Simplex method, including identifying pivot columns, performing pivoting operations, and deducing optimal solutions. The module emphasizes the efficiency of the Simplex method compared to graphical methods, especially for problems with multiple variables.

Uploaded by

douglasarori770
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Module 5 Notes

This module focuses on the Simplex method for solving linear programming (LP) maximization problems, introducing key concepts such as setting up linear programs, converting inequalities to equations, and constructing the initial simplex tableau. It outlines the steps of the Simplex method, including identifying pivot columns, performing pivoting operations, and deducing optimal solutions. The module emphasizes the efficiency of the Simplex method compared to graphical methods, especially for problems with multiple variables.

Uploaded by

douglasarori770
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Module 5: Maximization by the Simplex Method.

Module Description
In the previous module, you learned about solving maximization and minimiza-
tion LP problems using graphical methods. In this module, you will learn about
the Simplex method of solving LP problems. You will be introduced to new ter-
minologies and approaches of solving LP problems in table form.
In this module, you will learn about the following concepts:

1. Identify and setting up linear programs in standard form,


2. Converting inequality constraints to equations using slack variables,
3. Setting up the initial simplex tableau using the objective function and
slack equations,

4. Finding the optimal simplex tableau by performing pivoting operations,


5. Identifying the optimal solution from the optimal simplex tableau.

Module Learning Outcomes


By the end of this module, you should be able to:

1. Identify and set up a linear program in standard form,


2. formulate up the initial simplex tableau using the objective function and
slack equations,
3. analyze the optimal simplex tableau by performing pivoting operations,

4. deduce the optimal solution from the optimal simplex tableau.

Hello and welcome, you are now at the first part of this module. Your first
task is to measure your prior knowledge and the concepts to be mastered by
solving the given problems.

Introduction
In the previous module, we used the geometrical method to solve linear pro-
gramming problems, but the geometrical approach will not work for problems
that have more than two variables.

In real life situations, linear programming problems consist of literally thou-


sands of variables and are solved by computers. We can solve these problems

1
algebraically, but that will not be very efficient.

Suppose we were given a problem with, say, 5 variables and 10 constraints.


By choosing all combinations of five equations with five unknowns, we could find
all the corner points, test them for feasibility, and come up with the solution, if
it exists. But the trouble is that even for a problem with so few variables, we
will get more than 250 corner points, and testing each point will be very tedious.

So we need a method that has a systematic algorithm and can be pro-


grammed for a computer. The method has to be efficient enough so we wouldn’t
have to evaluate the objective function at each corner point. We have just such
a method, and it is called the simplex method.

The simplex method was developed during the Second World War by Dr.
George Dantzig. His linear programming models helped the Allied forces with
transportation and scheduling problems. In 1979, a Soviet scientist named
Leonid Khachian developed a method called the ellipsoid algorithm which
was supposed to be revolutionary, but as it turned out it is not any better than
the simplex method.

In 1984, Narendra Karmarkar, a research scientist at AT&T Bell Laborato-


ries developed Karmarkar’s algorithm which has been proven to be four times
faster than the simplex method for certain problems. But the simplex method
still works best for most problems.

The simplex method uses an approach that is very efficient. It does not com-
pute the value of the objective function at every point; instead, it begins with
a corner point of the feasibility region where all the main variables are zero and
then systematically moves from corner point to corner point, while improving
the value of the objective function at each stage. The process continues until
the optimal solution is found.

To learn the simplex method, we try a rather unconventional approach. We


first list the algorithm, and then work a problem. We justify the reasoning be-
hind each step during the process.

We start out with an example we solved in the last chapter by the graphical
method. This will provide us with some insight into the simplex method and at
the same time give us the chance to compare a few of the feasible solutions we
obtained previously by the graphical method. But first, we list the algorithm
for the simplex method.

The Simplex Method Steps


Below is the algorithm for the Simplex method.

2
1. Set up the problem. That is, write the objective function and the inequal-
ity constraints.
2. Convert the inequalities into equations. This is done by adding one slack
variable for each inequality.

3. Construct the initial simplex tableau. Write the objective function as the
bottom row.
4. The most negative entry in the bottom row identifies the pivot column.
5. Calculate the quotients. The smallest quotient identifies a row. The el-
ement in the intersection of the column identified in step 4 and the row
identified in this step is identified as the pivot element. The quotients are
computed by dividing the far right column by the identified column in
step 4. A quotient that is a zero, or a negative number, or that has a zero
in the denominator, is ignored.
6. Perform pivoting to make all other entries in this column zero. This is
done the same way as we did with the Gauss-Jordan method.
7. When there are no more negative entries in the bottom row, we are fin-
ished; otherwise, we start again from step 4.
8. Read off your answers. Get the variables using the columns with 1 and
Os. All other variables are zero. The maximum value you are looking for
appears in the bottom right hand corner.

Let us demonstrate these steps through an example.


Example 1. Ouma holds two part-time jobs, Job I and Job II. He never wants
to work more than a total of 12 hours a week. He has determined that for every
hour he works at Job I, he needs 2 hours of preparation time, and for every hour
he works at Job II, he needs one hour of preparation time, and he cannot spend
more than 16 hours for preparation. If Ouma makes $40 an hour at Job I, and
$30 an hour at Job II, how many hours should he work per week at each job to
maximize his income?
Solution

We follow the steps described above:

Step 1: Set up the problem

We write the objective function and the constraints.

ˆ Let the number of hours per week Ouma will work at Job I be x1 .

ˆ Let the number of hours per week Ouma will work at Job II be x2 .

3
Now we write the objective function. Since Ouma gets paid $40 an hour at
Job
I, and $30 an hour at Job II, his total income Z is given by the following
equation.

Z = 40x1 + 30×2
Now the problem is formulated as follows

Maximize I = 40x1 + 30x2


Subject to: x 1 + ×2 ≤ 12
2 ×1 +x2 ≤ 16
x1 ≥ 0; ×2 ≥0
Step 2: Convert the inequalities into equations

This is done by adding one slack variable for each inequality. For example,
to convert the inequality x1 + x2 ≤ 12 into an equation, we add a non-negative
variable y1 , and we get

x1 + x2 + y1 = 12
Here the variable y1 picks up the slack, and it represents the amount by
which x1 + x2 falls short of 12. In this problem, if Ouma works fewer than 12
hours, say 10 , then y1 is 2 . Later when we read off the final solution from the
simplex table, the values of the slack variables will identify the unused amounts.
We rewrite the objective function Z = 40x1 + 30x2 as −40x1 − 30x2 + Z = 0.
After adding the slack variables, our problem reads:

Objective function: −40x1 − 30x2 + Z =0


Subject to constraints: x1 + x2 + y1 = 12
2x1 + x2 + y2 = 16
x1 ≥ 0, x2 ≥0

Step 3: Construct the initial simplex tableau

Each inequality constraint appears in its own row. (The non-negativity con-
straints do not appear as rows in the simplex tableau.) Write the objective
function as the bottom row.

Now that the inequalities are converted into equations, we can represent the
problem into an augmented matrix called the initial simplex tableau as follows.

x1 x2 y1 y2 Z C
1 1 1 0 0 12
2 1 0 1 0 16
-40 -30 0 0 1 0

4
Here the vertical line separates the left-hand side of the equations from the
right side. The horizontal line separates the constraints from the objective func-
tion. The right side of the equation is represented by the column C .
The reader needs to observe that the last four columns of this matrix look
like the final matrix for the solution of a system of equations. If we arbitrarily
choose x1 = 0 and x2 = 0, we get:
 
y1 y2 Z C
 1 0 0 12 
 
 0 1 0 16 
0 0 1 0
which reads:

y1 = 12, y2 = 16, z = 0
The solution obtained by arbitrarily assigning values to some variables and
then solving for the remaining variables is called the basic solution associated
with the tableau. So the above solution is the basic solution associated with the
initial simplex tableau. We can label the basic solution variable in the right of
the last column as shown in the table below.
x1 x2 y1 y2 Z Basic Solution
1 1 1 0 0 y1 = 12
2 1 0 1 0 y2 = 16
-40 -30 0 1 0 Z=0

Step 4: Identify the pivot column

The most negative entry in the bottom row identifies the pivot column. The
most negative entry in the bottom row is -40 ; therefore, column 1 is identified.

x1 x2 y1 y2 Z Basic Solution
1 1 1 0 0 y1 = 12
2 1 0 1 0 y2 = 16
-40 −30 0 1 0 Z=0

Question: Why do we choose the most negative entry in the bottom row?

Answer: The most negative entry in the bottom row represents the largest
coefficient in the objective function-the coefficient whose entry will increase the
value of the objective function the quickest.

The simplex method begins at a corner point where all the main variables,
the variables that have symbols such as x1 , x2 , x3 etc., are zero. It then moves
from a corner point to the adjacent corner point always increasing the value of

5
the objective function.

In the case of the objective function Z = 40x1 + 30x2 , it will make more
sense to increase the value of x1 rather than x2 . The variable x1 represents
the number of hours per week Ouma works at Job I. Since Job I pays $40 per
hour as opposed to Job II which pays only $30, the variable x1 will increase the
objective function by $40 for a unit of increase in the variable x1 .
Step 5: Calculate the quotients

The smallest quotient identifies a row. The element in the intersection of


the column identified in step 4 and the row identified in this step is identified as
the pivot element.

Following the algorithm, in order to calculate the quotient, we divide the


entries in the far-right column by the entries in column 1, excluding the entry
in the bottom row.
x1 x2 y1 y2 Z Basic Solution
1 1 1 0 0 y1 = 12
2 1 0 1 0 y2 = 16
-40
0 1 0 Z=0 12 ÷ 1 = 12
-30
↑ 16 ÷ 2 = 8

The smallest of the two quotients, 12 and 8 , is 8 . Therefore, row 2 is


identified. The intersection of column 1 and row 2 is the entry 2 , which has
been highlighted. This is our pivot element.

Question: Why do we find quotients, and why does the smallest quotient
identify a row?
Answer: When we choose the most negative entry in the bottom row, we are
trying to increase the value of the objective function by bringing in the variable
x1 . But we cannot choose any value for x1 . Can we let x1 = 100 ? Definitely
not! That is because Ouma never wants to work for more than 12 hours at both
jobs combined: x1 + x2 ≤ 12. Can we let x1 = 12 ? Again, the answer is
no because the preparation time for Job I is two times the time spent on the
job. Since Ouma never wants to spend more than 16 hours for preparation, the
maximum time he can work is 16 ÷ 2 = 8.

Now you see the purpose of computing the quotients; using the quotients to
identify the pivot element guarantees that we do not violate the constraints.

Question: Why do we identify the pivot element?


Answer: As we have mentioned earlier, the simplex method begins with a cor-
ner point and then moves to the next corner point always improving the value
of the objective function. The value of the objective function is improved by

6
changing the number of units of the variables. We may add the number of units
of one variable, while throwing away the units of another. Pivoting allows us to
do just that.

The variable whose units are being added is called the entering variable, and
the variable whose units are being replaced is called the departing variable. The
entering variable in the above table is x1 , and it was identified by the most neg-
ative entry in the bottom row. The departing variable y2 was identified by the
lowest of all quotients.

Step 6: Perform pivoting to make all other entries in this column


zero

In Chapter 2, we used pivoting to obtain the row echelon form of an aug-


mented matrix. Pivoting is a process of obtaining a 1 in the location of the pivot
element, and then making all other entries zeros in that column. So now our
job is to make our pivot element a 1 by dividing the entire second row by 2 .
The result follows.

x1 x2 y1 y2 z
1 1 1 0 0 12
1 1/2 0 1/2 0 8
-40 -30 0 1 0 0

To obtain a zero in the entry first above the pivot element, we multiply the
second row by -1 and add it to row 1 . We get:

x1 x2 y1 y2 Z
0 1/2 1 −1/2 0 4
1 1/2 0 1/2 0 8
-40 -30 0 1 0 0

To obtain a zero in the element below the pivot, we multiply the second row
by 40 and add it to the last row.

x1 x2 y1 y2 Z
0 1/2 1 −1/2 0 4 y1
01 1/2 0 1/2 0 8 x1
0 -10 0 20 1 320 z

We now determine the basic solution associated with this tableau. By arbi-
trarily choosing x2 = 0 and y2 = 0, we obtain x1 = 8, y1 = 4, and Z = 320. If
we write the augmented matrix, whose left side is a matrix with columns that
have one 1 and all other entries zeros, we get the following matrix stating the
same thing.

7
 
x1 y1 Z C
 0 1 0 4 
 
 1 0 0 8 
0 0 1 320
We can restate the solution associated with this matrix as x1 = 8, x2 = 0,
y1 = 4, y2 = 0, and Z = 320. At this stage of the game, it reads that if Ouma
works 8 hours at Job I, and no hours at Job II, her profit Z will be $320. Recall
from the previous module that (8, 0) was one of our critical points. Here y1 = 4
and y2 = 0 mean that he will be left with 4 hours of working time and no prepa-
ration time.

Step 7: When there are no more negative entries in the bottom


row, we are finished; otherwise, we start again from step 4

Since there is still a negative entry, -10 , in the bottom row, we need to
begin again from step 4 . This time we will not repeat the details of every step,
instead, we will identify the column and row that give us the pivot element, and
highlight the pivot element. The result is as follows.

We make the pivot element 1 by multiplying row 1 by 2 , and we get:


x1 x2 y1 y2 Z
0 1 2 -1 0 8
1 1/2 0 1/2 0 8
0 −10 0 20 1 320

Now to make all other entries as zeros in this column, we first multiply row
1 by − 12 and add it to row 2 , and then multiply row 1 by 10 and add it to the
bottom row.
x1 x2 y1 y2 Z
0 1 2 -1 0 8 x2
1 0 -1 1 0 4 x1
0 0 20 10 1 400 z

We no longer have negative entries in the bottom row, therefore we are fin-
ished. Question: Why are we finished when there are no negative entries in the
bottom row?
Answer: The answer lies in the bottom row. The bottom row corresponds to the
equation:

8
0x1 + 0x2 + 20y1 + 10y2 + Z = 400
or

Z = 400 − 20y1 − 10y2


Since all variables are non-negative, the highest value Z can ever achieve is
400 , and that will happen only when y1 and y2 are zero.
Step 8: Read off your answers We now read off our answers, that is,
we determine the basic solution associated with the final simplex tableau. Again,
we look at the columns that have a 1 and
all other entries zeros. Since the columns labeled y1 and y2 are not such columns,
we arbitrarily choose y1 = 0 and y2 = 0, and we get:
 
x1 x2 z C
 1 0 0 4 
 
 0 1 0 8 
0 0 1 400
The matrix reads x1 = 4, x2 = 8 and Z = 400.
The final solution says that if Ouma works 4 hours at Job I and 8 hours at
Job II, he will maximize her income to $400. Since both slack variables are
zero, it means that he would have used up all the working time, as well as the
preparation time, and none will be left.

References
1. Sekhon, R., and Bloom, R. (2022, May 3). Linear Programming - Maxi-
mization Applications. De Anza College. Material

2. Sekhon, R., and Bloom, R. (2021, August 12). Introduction to Linear


Programming (Minimization). De Anza College. Material

3. Linear Programming. (2021, March 5). Material

You might also like