0% found this document useful (0 votes)
8 views30 pages

Chapter 3 Simplex Method

Chapter 3 discusses the Simplex Method, a widely used algorithm for solving linear programming problems that involve maximizing or minimizing a linear objective function subject to constraints. It outlines essential terminology, the steps to implement the Simplex Method, and the process of transforming linear programs into standard form. The chapter emphasizes the importance of identifying basic and non-basic variables, as well as the use of tableaux and pivot variables in finding optimal solutions.
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)
8 views30 pages

Chapter 3 Simplex Method

Chapter 3 discusses the Simplex Method, a widely used algorithm for solving linear programming problems that involve maximizing or minimizing a linear objective function subject to constraints. It outlines essential terminology, the steps to implement the Simplex Method, and the process of transforming linear programs into standard form. The chapter emphasizes the importance of identifying basic and non-basic variables, as well as the use of tableaux and pivot variables in finding optimal solutions.
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/ 30

Chapter 3

SIMPLEX METHOD

1
Important terminology
Standard form is the baseline format for all linear
programs before solving for the optimal solution.
Basic variables are variables that are non-negative in
terms of the optimal solution
Constraints are a series of equalities and inequalities that are a
set of criteria necessary to satisfy when finding the optimal
solution
Non-basic variables are variables that are zero in terms of the
optimal solution.
Pivot variable is used in row operations to identify which
variable will become the unit value and is a key factor in the
conversion of the unit value.
Simplex tableau is used to perform row operations on the linear
programming model as well as for checking optimality
Slack variables are additional variables that are introduced into
the linear constraints of a linear program to transform them from
inequality constraints to equality constraints
Optimal solution of a maximization linear programming model
are the values assigned to the variables in the objective function to
give the largest zeta value. The optimal solution would exist on the
corner points of the graph of the entire model.
2
Basic solutions of LPP

 If there are m equality constraints in n variables


with n ≥ m. The number of basic solutions to
be inspected is thus equal to the number of
ways in which m variables can be selected from
a set of n variables

for large values of n and m, this is a very large


number to inspect one by one, The simplex
method is a powerful scheme for obtaining a basic
feasible solution
3
 For 10 equations with 15 variables there
exists 15C
10= 3003 basic solutions!

 Too large number to investigate one-by-


one.

 This can be solved by simplex method

4
Simplex Method

 Simplex method is the most popular method


used for the solution of Linear Programming
Problems (LPP).
 Solution of a LPP, if exists, lies at one of the
vertices of the feasible region.
 All the basic solutions can be investigated
one-by-one to pick up the optimal solution.
 Simplex algorithm helps to move from one
vertex to another adjacent vertex which is
closest to the optimal solution among all
other adjacent vertices.
 Thus, it follows the shortest route to reach
the optimal solution from the starting point.

5
The simplex method is an approach to solve linear
programming models by hand using slack variables,
tableaus, and pivot variables as a means to finding
the optimal solution of an optimization problem

A linear program is a method of achieving the best


outcome given a maximum or minimum equation
with linear constraints

Most linear programs can be solved using solver


such as MatLab, but the Simplex method is a
technique for solving linear programs by hand.

6
To solve a linear programming model using the
Simplex method the following steps are
necessary:

 Standard form
 Introducing slack variables
 Creating the tableau
 Pivot variables
 Creating a new tableau
 Checking for optimality
 Identify optimal values

7
STANDARD FORM
Standard form is the baseline format for all linear
programs before solving for the optimal solution
and has three requirements:
(1) must be a maximization problem,
(2) all linear constraints must be in a less-than-or-equal-to
inequality,
(1) all variables are non-negative.

These requirements can always be satisfied by


transforming any given linear program using basic
algebra and substitution.
Standard form is necessary because it creates an
ideal starting point for solving the Simplex
method as efficiently as possible as well as other
methods of solving optimization problems.
8
standard form
In the standard form of LP, the constraints
are converted as

9
10
Example
Maximize 𝑍 = 3𝑥1 + 5𝑥2
Subjected to
𝑥1 ≤ 4
2𝑥2 ≤ 12
3𝑥1 + 2𝑥2 ≤ 18

Decision variables Non-negativity


𝑥1 ≥ 0
𝑥2 ≥ 0

11
12
 The simplex method is a popular algorithm for
solving linear programming problems, which
involve maximizing or minimizing a linear
objective function subject to a set of constraints.
 The constraints are typically specified as linear
equations or inequalities involving the variables
of the problem.
 The simplex method can be used to solve both
maximization and minimization problems, but it
is typically presented as a method for solving
maximization problems.
 The simplex method can still be used to solve
minimization problems, but it must be modified
to work in the opposite direction.
 This can be done by multiplying the objective
function by -1, and then using the simplex
method as usual
13
step 1:Transform the objective equation
To transform a minimization linear program model into a
maximization linear program model, simply multiply both
the left and the right sides of the objective function by -1.

Transforming linear constraints from a greater-than-or-


equal-to inequality to a less-than-or-equal-to inequality
can be done similarly as what was done to the objective
function. By multiplying by -1 on both sides, the inequality
can be changed to less-than-or-equal-to.

-1 x ( 𝑥1 -3𝑥2 -2x3 ≥ -10)


14
step 2: determine slack variables

 Slack variables are additional variables that are


introduced into the linear constraints of a linear
program to transform them from inequality
constraints to equality constraints. If the model
is in standard form, the slack variables will
always have a +1 coefficient.
• Slack variables are needed in the constraints to
transform them into solvable equalities with
one definite answer.
 After the slack variables are introduced, the
tableau can be set up to check for optimality as
described in Step 3.

15
step 3: setting up the tableau

 A Simplex tableau is used to perform row


operations on the linear programming model as
well as to check a solution for optimality.
 The tableau consists of the coefficient
corresponding to the linear constraint variables
and the coefficients of the objective function.
 In the tableau below, the bolded top row of the
tableau states what each column represents.
 The following two rows represent the linear
constraint variable coefficients from the linear
programming model, and the last row
represents the objective function variable
coefficients

16
Once the tableau has been completed, the
model can be checked for an optimal solution
as shown in Step 4.

17
step 4: check optimality

 The optimal solution of a maximization linear


programming model are the values assigned to the
variables in the objective function to give the largest
zeta value.
 The optimal solution would exist on the corner
points of the graph of the entire model. To check
optimality using the tableau, all values in the last row
must contain values greater than or equal to zero.
 If a value is less than zero, it means that variable has
not reached its optimal value. As seen in the
previous tableau, three negative values exists in the
bottom row indicating that this solution is not
optimal.
 If a tableau is not optimal, the next step is to
identify the pivot variable to base a new tableau on,
as described in Step 5.
18
step 5: identify pivot variable

 The pivot variable is used in row operations to


identify which variable will become the unit
value and is a key factor in the conversion of the
unit value.
 The pivot variable can be identified by looking at
the bottom row of the tableau and the indicator.
Assuming that the solution is not optimal, pick
the smallest negative value in the bottom row.
 One of the values lying in the column of this
value will be the pivot variable.
 To find the indicator, divide the beta values of
the linear constraints by their corresponding
values from the column containing the possible
pivot variable.

19
 The intersection of the row with the smallest non-
negative indicator and the smallest negative value in
the bottom row will become the pivot variable.
 -10 is the smallest negative in the last row. This will
designate the x2 column to contain the pivot variable.
10
Solving for the indicator gives us a value of for the
3
8
first constraint, and a value of for the second
5
constraint
8
 Due to being the smallest non-negative indicator,
5
the pivot value will be in the second row and have a
value of 5.

20
 Now that the new pivot variable has been
identified, the new tableau can be created in Step
6 to optimize the variable and find the new
possible optimal solution.

21
step 6: create the new tableau

 The new tableau will be used to identify a new


possible optimal solution.
 To optimize the pivot variable, it will need to be
transformed into a unit value (value of 1). To
transform the value, multiply the row containing
the pivot variable by the reciprocal of the pivot
value. In the example below, the pivot variable
1
is originally 5, so multiply the entire row by .
5

22
 After the unit value has been determined, the
other values in the column containing the unit
value will become zero. This is because the x2 in
the second constraint is being optimized, which
requires x2 in the other equations to be zero.

23
 For each new value, multiply the negative of the value
in the old pivot column by the value in the new pivot
row that corresponds to the value being calculated.
Then add this to the old value from the old tableau to
produce the new value for the new tableau.

24
Example:

1 2
 X1 value in row 1 : New tableau value = (-3) * ( ) + 1 =
5 5

1
 s2 value in row 1: New tableau value = (-3) * ( ) +0
5
3
=-
5

8 26
 b in row 1 : New tableau value = (-3) * ( ) + 10 =
5 5

1
 x1 variable in row 3: New value = (10) * ( ) + -8 = -6
5

 Once the new tableau has been completed, the


model can be checked for an optimal solution

25
step 7: check optimality

 The optimal solution of a maximization linear


programming model are the values assigned to
the variables in the objective function to give
the largest zeta value.
 Optimality will need to be checked after each
new tableau to see if a new pivot variable needs
to be identified
 A solution is considered optimal if all values in
the bottom row are greater than or equal to
zero
 If negative values exist, the solution is still not
optimal and a new pivot point will need to be
determined

26
step 8: identify new pivot variable

 A new pivot variable will need to be determined


since negative value exists in the previous step

1/5

With the new pivot variable identified, the new tableau can
1
be created . In the tableau below, the pivot value was , so
5
everything is multiplied by 5.

27
Make the other values in the column of the pivot
variable zero. This is done by taking the negative of
the old value in the pivot column and multiplying it
by the new value in the pivot row.

2
 X2 value in row 1 : New tableau value = (-5) * 5+ 0 = −2
2 7
 X3 value in row 1 : New tableau value = (-5) * 1+ (5) = 1
2
 S1 value in row 1 : New tableau value = (-5) * 0+ 1 = 1
2 −3
 S2 value in row 1 : New tableau value = (-5) * 1+ ( 5 ) = - 1
2
 Z value in row 1 : New tableau value = (-5) * 0+ 0 = 0
2 26
 b value in row 1 : New tableau value = (-5) *8+ ( 5 ) = 0

28
 X2 value in row 3 : New tableau value = 6* 5+ 0 = 30
 X3 value in row 3 : New tableau value = 6 * 1-5 = 1
 S1 value in row 3 : New tableau value = 6 * 0+ 0 = 0
 S2 value in row 3 : New tableau value = 6 * 1+ 2= 8
 Z value in row 3: New tableau value = 6 * 0+ 1 = 1
 b value in row 3 : New tableau value = 6 *8+ 16= 64

New tableau

** All values in the bottom row are greater than or equal to zero.
Thus it is an optimal solution, and iteration ended.
A basic variable can be classified to have a single 1 value in its
column and the rest be all zeros. If a variable does not meet this
criteria, it is considered non-basic.
29
If a variable is non-basic it means the optimal solution of
that variable is zero. If a variable is basic, the row that
contains the 1 value will correspond to the beta value. The
beta value will represent the optimal solution for the given
variable.

Basic variables: x1, s1, z


Non-basic variables: x2, x3, s2

x1 = 8 s1 = 2
x2 = 0 s2 = 0
x3 = 0 z = 64
** The maximum objective value will be 64 from the beta column.
30

You might also like