Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
15 views

PRELIM L3 LinearProgramming SimplexMaximizationMethod

The document discusses the steps in solving a maximization problem using the simplex method of linear programming. It provides an example problem to demonstrate setting up the initial table, developing the second table by replacing a row and computing new entries, and developing the third table by selecting a new optimum column and pivotal row.

Uploaded by

Raven
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

PRELIM L3 LinearProgramming SimplexMaximizationMethod

The document discusses the steps in solving a maximization problem using the simplex method of linear programming. It provides an example problem to demonstrate setting up the initial table, developing the second table by replacing a row and computing new entries, and developing the third table by selecting a new optimum column and pivotal row.

Uploaded by

Raven
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

MANAGEMENT SCIENCE (MS301)

PRELIM
LESSON 3: THE SIMPLEX MAXIMIZATION METHOD OF LINEAR PROGRAMMING
Lesson Objectives: At the end of the lesson, you will be able to:
• Define the simplex method of Linear Programming
• Enumerate the steps in simplex maximization method of linear programming
• Set up correctly the objective function and the constraints from given word problems
• Define and discuss all the elements in the simplex maximization table in terms of their significance
to the problem statement and problem solution
• Solve maximization problems using simplex method and interpret solutions

Discussion/Application:
The simplex method of linear programming was developed by George B. Dantzig of Stanford
University. It is a repetitive optimizing technique. It repeats the process of mathematically moving from
an extreme point to another extreme point (in the graphical method) until an optimal solution is reached.
Unlike the graphical, the simplex method can handle an infinite number of variables.
NOTE: The method of solving a maximization problem is different from minimization in the simplex
method.

Steps in Solving a Maximization Problem:


1.) Set up the constraints from the conditions of the problem.
2.) Convert the inequality explicit constraints to equations by adding slack variables.
3.) Enter the numerical coefficients and variables in the simplex table.
4.) Calculate Cj and Zj values.
5.) Determine the optimum column or entering variable by choosing the most positive value in the Cj
– Zj row.
6.) Divide the quantity-column values by the non-zero and non-negative entries in the optimum
column. The smallest quotient belongs to the pivotal row.
7.) Compute the values for the replacing row by dividing all entries by the pivot. Enter the result in
the next table.
8.) Compute the new entries for the remaining rows by reducing the optimum column entries to zero
(entries in the constraint rows).
9.) Calculate Cj and Zj values. Compute also for Cj – Zj row.
10.) If there is a positive entry in the Cj – Zj row, return to step 5. The final solution has been obtained
if there is no positive value in the Cj – Zj row.

Example 1: Consider the following linear programming problem:


Maximize: 𝑍 = 80𝑥 + 60𝑦 (𝑜𝑏𝑗𝑒𝑐𝑡𝑖𝑣𝑒)

4𝑥 + 2𝑦 ≤ 60
Subject to: } 𝑒𝑥𝑝𝑙𝑖𝑐𝑖𝑡 𝑐𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡𝑠
2𝑥 + 4𝑦 ≤ 48
𝑥≥0
} 𝑖𝑚𝑝𝑙𝑖𝑐𝑖𝑡 𝑐𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡𝑠
𝑦≥0

We may use Z to represent the quantity we want to maximize.


Before we convert the explicit constraints to equations, we may have the option of removing first
the greatest common factor in each inequality whenever possible, to simplify the coefficients. So,
dividing each inequality by 2, (the common factor) we have the program:

Maximize: 𝑍 = 80𝑥 + 60𝑦


Subject to: 2𝑥 + 𝑦 ≤ 30
𝑥 + 2𝑦 ≤ 24
𝑥≥0
𝑦≥0

Converting the Constraints to Equations


To convert the inequalities to equations, since in our problem, the left members are less than the
right members, they can be equal if we add some quantities to the left. Let these quantities be called slack
variables.
Slack variables – fill the gap between the left and the right members of the inequalities. It can also be
said that a slack variable represents the unused quantities in the constraints. This can be seen in checking
the objectives after the solutions are found.
Let Sn represent the slack variables.
The new program with slack variables will be:
Maximize: 𝑍 = 80𝑥 + 60𝑦 + 0𝑆1 + 0𝑆2
Subject to: 2𝑥 + 𝑦 + 𝑆1 = 30
𝑥 + 2𝑦 + 𝑆2 = 24
𝑥 ≥ 0, 𝑦 ≥ 0
𝑆1 ≥ 0, 𝑆2 ≥ 0

Setting Up the Initial Table

Initial Table

The initial table contains the coefficients of the objective in the Cj row. Note that the slack
variables do not contribute any profit, hence they have zero coefficients in the objective. The second row
is composed of the product, quantity (or constant) column and solution variables.
The initial table should begin with zero contributions to profit, entered in the Cj column. Since
the corresponding variables (with zero profit contribution) are S1 and S2, then these variables should be
the ones entered in the product column.
We must add two more rows in the table, the Zj and Cj – Zj rows. Zj row is obtained by
multiplying the profit contribution in Cj column by each of the coefficients in the constraints, then add
their products. Hence:

0(30 2 1 1 0) = 0 0 0 0 0
0(24 1 2 0 1) = 0 0 0 0 0
𝑍𝑗 = 0 0 0 0 0
To compute for Cj – Zj row, subtract the entries in Zj row from Cj row entries.
80 60 0 0
− (0 0 0 0)
Cj – Zj = 80 60 0 0
The column containing the greatest positive entry in the Cj – Zj is the optimum column. In our
table, 80 is the greatest positive, hence we encircle the column. If we divide 30 and 24 by 2 and 1
respectively, 30÷2 has a smaller quotient, hence the first constraint row is the pivotal row.
Initial Table with the indicated optimum column and pivotal row
The variable found at the top of the optimum column should be the entering or incoming variable
and the variable to the left of the pivotal row is the outgoing variable. The entry encircled is called the
pivot.
The Second Table
The pivotal row entries should be divided by 2, the pivot, in order to change the pivot to 1. (30
1 1
2 1 1 0) ÷ 2 = 15 1 2 2 0. The result is called the replacing row and should be the row to be
entered first in the second table.

Table 2 (with the replacing row)

The second constraint row or S2 row is the row to be replaced. Since the numeral found below the
pivot is 1 (in the old row) we must multiply the replacing row by -1, (additive inverse of 1) and add the
result to the row to be replaced in order that the entry below the pivot becomes zero. Hence:
Computing for S2 row:
Table 2 (with the new entries in the S2 row)

Cj 80 60 0 0

Prod Qty x y S1 S2
80 x 15 1 1 1 0
2 2

0 S2 9 0 3 −1 1
2 2
Zj

Cj - Zj
1 1 3 −1
To compute for Zj row, multiply 80 by (15 1 2 2
0) and multiply 0 by (9 0 2 2
1) then
add the results. Hence:

Table 2 (with entries in the Zj row)


Cj 80 60 0 0

Prod Qty x y S1 S2

80 x 15 1 1 1 0
2 2

0 S2 9 0 3 −1 1
2 2
Zj 1200 80 40 40 0

Cj - Zj

To compute for Cj – Zj row, we subtract 80 40 40 0 from 80 60 0 0, hence


Table 2 (with complete entries of elements)

Cj 80 60 0 0

Prod Qty x y S1 S2
80 x 15 1 1 1 0
2 2

0 S2 9 0 3 −1 1
2 2
Zj 1200 80 40 40 0

Cj - Zj 0 20 -40 0

Developing the Third Table


Again we select the most positive entry in the Cj – Zj row. We encircle the column containing this
entry. In Table 2, 20 is the most positive in Cj – Zj row, hence it belongs to the optimum column.

Table 2

1 3 3
Divide 15 by 2 and 9 by 2 to locate the pivotal row. Since the lower quotient is 9 ÷ 2 = 6 so, the
3
second constraint row or S2 row is the pivotal row and 2 is the pivot.
Again the variable above the optimum column is the entering variable and the variable to the left
3
of the pivotal row is the outgoing variable. We now reduce the pivot to 1 by diving the pivotal row by 2 .
3 −1 3 −1 2
(9 0 2 2
1) ÷ 2 = 6 0 1 3 3
Table 3 (with the replacing row)

1
The row to be replaced is the x-row. The entry to be reduced to zero is 2 (in the old row).
Solving for the new entries in the x-row:
−1
6( 2 ) + 15 = 12

−1
0( 2 ) + 1 = 1

−1 1
1( 2 ) + 2 = 0

−1 −1 1 4 2
( )+ = 𝑜𝑟
3 2 2 6 3

2 −1 −1
( )+0
3 2
= 3

Table 3 (with new entries in the first constraint row or x-row)


Again compute for Zj row:

Compute for Cj - Zj row:

Table 3 (with complete entries)

Cj 80 60 0 0

Prod Qty x y S1 S2
80 x 12 1 0 2 −1
3 3

60 y 6 0 1 −1 2
3 3

Zj 1320 80 60 100 40
3 3

Cj - Zj 0 0 −100 −40
3 3

Finding the Optimum Solution:


Since the last row has no more positive entry, then Table 3 is optimum.
Decision:
x = 12 y=6 Maximum Z = 1320
Summary of the Simplex Tables
Table 1

Table 2
Table 3

Example 2: Given the following linear programming problem:


Maximize: 𝑍 = 50𝑥1 + 100𝑥2 + 150𝑥3 (𝑜𝑏𝑗𝑒𝑐𝑡𝑖𝑣𝑒)

2𝑥1 + 2𝑥2 ≤ 200


Subject to: 3𝑥3 ≤ 150 } 𝑒𝑥𝑝𝑙𝑖𝑐𝑖𝑡 𝑐𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡𝑠
4𝑥1 + 4𝑥3 ≤ 600
𝑥1 ≥ 0
𝑥2 ≥ 0} 𝑖𝑚𝑝𝑙𝑖𝑐𝑖𝑡 𝑐𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡𝑠
𝑥3 ≥ 0

Solution:
The new program with slack variables after reducing the constraints:
Maximize: 𝑍 = 50𝑥1 + 100𝑥2 + 150𝑥3 + 0𝑆1 + 0𝑆2 + 0𝑆3
Subject to: 𝑥1 + 𝑥2 + 𝑆1 = 100
𝑥3 + 𝑆2 = 50
𝑥1 + 𝑥3 + 𝑆3 = 150
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥3 ≥ 0
𝑆1 ≥ 0, 𝑆2 ≥ 0, 𝑆3 ≥ 0
Table 1

After encircling the column containing the most positive entry in the last row, look for the pivotal
row by dividing 50 by 1 and 150 by 1 and get the lower quotient. We do not include 100 divided by 0
because it is a rule that the divisor must be non-zero and non-negative, in looking for the pivotal row.
Since the pivot now is already 1, the pivotal row is also the replacing row in the second table, but
the entering variable should appear at the left side along the product column.

Table 2 (with the 𝑺𝟏 row and the replacing row)

The S1 row need not change because its entry along the optimum column is already zero. Computing for
the new entry in the S3 row:
Table 2 (with complete entries)

Computing for Zj and Cj – Zj rows (Table 2)


Zj row:
0(100 1 1 0 1 0 0) = 0 0 0 0 0 0 0
150(50 0 0 1 0 1 0) = 7500 0 0 150 0 150 0
7500 0 0 150 0 150 0
Cj – Zj row:
50 100 150 0 0 0
− (0 0 150 0 150 0)
50 100 0 0 -150 0
Third Table
The number 100 is the most positive entry in the last row, hence it belongs to the optimum
column. Since there is no positive entry along the optimum column in the constraint rows except the
pivot which is 1 (in Table 2), then S1 row is the pivotal row and there’s no need to compute for the entries
in the X3 row and the S3 row for Table 3 because their optimum column entries are already zero. The
entering variable should be indicated at the left of the replacing row. Compute for Zj and Cj – Zj rows.

Table 3

Decision: X1 = 0, X2 = 100, X3 = 50
Maximum: 17500

Simplex Method of Maximization Problems Containing the “Greater Than” Symbol:


The preceding discussion on maximization problems solved by the simplex method is limited to
problems containing the “less than” symbol in the constraints.
In a maximization problem, we always add a slack variable to convert a constraint to equation.
But if the constraint has “≥” symbol, we cannot transform it to equation by immediately adding a slack
variable for obvious reason. We must convert first the ≥ symbol to a ≤ symbol. This is easily done by
multiplying the inequality constraint by negative 1, then add the slack variable. In this particular case,
since the “greater than” symbol implies a value bigger than the right member, the constraint containing
the greater than symbol could not have solution variables (i.e. x and y) both equal to zero for obvious
reason. Hence, it is not possible for the slack variable in this particular constraint to become negative.

Example:
Maximize: 50𝑋1 +20𝑋2
Subject to: 𝑋1 ≤ 20
𝑋2 ≤ 30
𝑋1 +𝑋2 ≥ 48
𝑋1 ≥ 0, 𝑋2 ≥0
Solution:
Multiplying the third constraint by -1:
(𝑋1 +𝑋2 ≥ 48)(−1)
Gives −𝑋1 −𝑋2 ≤ −48

Hence the new program with slack variables will be:


Maximize: 50𝑋1 + 20𝑋2 + 0𝑆1 + 0𝑆2 + 0𝑆3
Subject to: 𝑋1 +𝑆1 = 20
𝑋2 +𝑆2 = 30
−𝑋1 − 𝑋2 +𝑆3 = −48
𝑋1 ≥ 0, 𝑋2 ≥ 0, 𝑆1 ≥ 0, 𝑆2 ≥ 0, 𝑆3 ≥ 0

Table 1

Table 2
S2 entries need not change, since the entry below the pivot is already 0. Computing for S3 row:
20(1) + (−48) = −28
1(1) + (−1) = 0
0(1) + (−1) = −1
1(1) + 0 = 1
0(1) + 0 = 0
0(1) + 1 = 1

An easy computation for the new S3 row is just to add the pivotal row (or S1 row) and the S3 row of Table
1.

Table 2 (with complete entries)

Table 3 (with replacing row entries)


X1 row entries will just be transferred since the entry along the optimum column is already zero.
Computing for S3 row entries:
30(1) + (−28) = 2
0(1) + 0 = 0
1(1) + (−1) = 0
0(1) + 1 = 1
1(1) + 0 = 1
0(1) + 1 = 1

Table 3 (with complete entries)

Decision:
X1 = 20
X2 = 30
Maximum: 1600
(This can be checked by the graphical method).
Summary of Tables

Cj 50 20 0 0 0

Prod Qty X1 X2 S1 S2 S3

0 S1 20 1 0 1 0 0

0 S2 30 0 1 0 1 0

Table 1 0 S3 -48 -1 -1 0 0 1

Zj 0 0 0 0 0 0

Cj – Zj 50 20 0 0 0

50 X1 20 1 0 1 0 0

0 S2 30 0 1 0 1 0

Table 2 0 S3 -28 0 -1 1 0 1

Zj 1000 50 0 50 0 0

Cj – Zj 0 20 -50 0 0

50 X1 20 1 0 1 0 0

20 X2 30 0 1 0 1 0

Table 3 0 S3 2 0 0 1 1 1

Zj 1600 50 20 50 20 0

Cj – Zj 0 0 -50 -20 0
Maximization Problems Containing the “Equal” Symbol in the Constraints:
Rule: Add a slack variable to the left member of the constraint containing the equal symbol.

In an equality constraint, the slack variable will have a value equal to the constant if the solution
variables are zero.

Example:
Maximize: 5𝑋1 +4𝑋2
Subject to: 2𝑋1 +𝑋2 = 12
2𝑋1 +3𝑋2 ≤ 24
2𝑋1 +9𝑋2 ≥ 36
𝑋1 ≥ 0, 𝑋2 ≥0
Solution:
The new program with slack variables:
Maximize: 5𝑋1 +4𝑋2 + 0𝑆1 + 0𝑆2 + 0𝑆3
Subject to: 2𝑋1 +𝑋2 + 𝑆1 = 12
2𝑋1 +3𝑋2 + 𝑆2 = 24
−2𝑋1 −9𝑋2 + 𝑆3 = −36
𝑋1 ≥ 0, 𝑋2 ≥ 0, 𝑆1 ≥ 0, 𝑆2 ≥ 0, 𝑆3 ≥ 0

The Initial Table (Table 1)


Table 2 (with the replacing row)

Computing for S2 row:

6(−2) + 24 = 12
1(−2) + 2 = 0
1
(−2) + 3 = 2
2
1
(−2) + 0 = −1
2
0(−2) + 1 = 1
0(−2) + 0 = 0

Computing for S3 row:

6(2) + (−36) = −24


1(2) + (−2) = 0
1
(2) + (−9) = −8
2
1
(2) + 0=1
2
0(2) + 0 = 0
0(2) + 1 = 1
Table 2 (with complete entries, indicating the optimum column and pivotal row)

Table 3 (with replacing row)


Computations:
X1 row: S3 row:
−1
6( 2 )+ 6 = 3 6(8) + (−24) = 24
1
0 (2) + 1 = 1 0(8) + 0 = 0
−1 1
1( 2 )+ 2 = 0 1(8) + (−8) = 0
−1 −1 1 3 −1
(2)+2=4 (8) + 1 = −3
2 2
1 −1 −1 1
( )+0 = (8) + 0 = 4
2 2 4 2
−1
0( 2 )+ 0 = 0 0(8) + 1 = 1

Table 3 (with complete entries)

Decision:
𝑋1 = 3; 𝑋2 = 6
Maximum: 39
Summary of Tables

Cj 5 4 0 0 0

Prod Qty X1 X2 S1 S2 S3

0 S1 12 2 1 1 0 0

0 S2 24 2 3 0 1 0

Table 1 0 S3 -36 -2 -9 0 0 1

Zj 0 0 0 0 0 0

Cj – Zj 5 4 0 0 0

5 X1 6 1 1 1 0 0
2 2

0 S2 12 0 2 -1 1 0

0 S3 -24 0 -8 1 0 1
Table 2
Zj 30 5 5 5 0 0
2 2

Cj – Zj 0 1 −5 0 0
1
2 2

5 X1 3 1 0 3 −1 0
4 4

4 X2 6 0 1 −1 1 0
2 2

Table 3 0 S3 24 0 0 -3 4 1

Zj 39 5 4 7 3 0
4 4

Cj – Zj 0 0 −7 −3 0
4 4

You might also like