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

Simplex Algorithm

Optimization course's lecture

Uploaded by

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

Simplex Algorithm

Optimization course's lecture

Uploaded by

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

CAE 597

SYSTEMS ANALYSIS IN CIVIL ENGINEERING

Sys opt Sys opt Sys opt Sys opt Sys opt Sys opt Sys opt Sys opt Sys Opt Sys opt Sys opt Sys opt Sys opt Sys opt Sys opt Sys opt Sys opt

Lecture 4
The Simplex Method

Mohammad Miralinaghi
Illinois Institute of Technology
1

Introduction
 When to use the geometric method to solve linear
programming?

 Simplex method
 Developed by George B. DANTZIG (1914-2005) in
1947 while on assignment with the U.S. Department of
the air force

1
Standard Linear Programming (max)
 Standard maximization problem

Minimize the objective function

Z max  P  c1x1  c2 x2  ...  cn xn

Subject to problem constraints of the form


a1 x1  a2 x2  ...  an xn  b ,b  0

With non-negative constraints


x1 , x2 ,..., xn  0

Slack Variables
 Definition of the slack variable
A mathematical representation of surplus resources.

 Real-life implication
In real-life problems, it’s unlikely that all resources
will be used completely, so there usually are unused
resources.

2
Basic and Nonbasic Variables
 Concept
 Example
x1  2 x2  s1  32
3 x1  4 x2  s2  84

This system has two equations, we can select any


two of the four variables as basic variables.
 How to derive basic variables?

SIMPLEX METHOD

Step-1
Write the
standard Step 2 Step-5
Step 4
maximization Are there Select the
Step-3 Are there
problem in
standard form,
any
negative
Yes Select any Yes pivot
the
positive element and
introduce slack indicators elements
pivot perform the
variables to form in the in the pivot
bottom column pivot
the initial column? operation
system, and row?
write the initial
tableau.

No
No

STOP STOP
The optimal solution has been The linear programming problem
found. has no optimal solution

Simplex algorithm for standard maximization problems


6

3
To solve a linear programming problem in standard form, use the following steps.

1- Convert each inequality in the set of constraints to an


equation by adding slack variables.
2- Create the initial simplex tableau.
3- Select the pivot column. ( The column with the “most
negative value” element in the last row.)
4- Select the pivot row. (The row with the smallest non-negative
result when the last element in the row is divided by the
corresponding in the pivot column.)
5-Use elementary row operations calculate new values for the
pivot row so that the pivot is 1 (Divide every number in the
row by the pivot number.)
6- Use elementary row operations to make all numbers in the
pivot column equal to 0 except for the pivot number. If all
entries in the bottom row are zero or positive, this the final
tableau. If not, go back to step 3.
7- If you obtain a final tableau, then the linear programming
problem has a maximum solution, which is given by the entry 7

in the lower-right corner of the tableau.


7

Pivot
Pivot Column: The column of the tableau
represents the variable to be entered into
the solution mix.
Pivot Row: The row of the tableau
representing the variable to be replaced in
the solution mix.
Pivot Number: The element in both the pivot
column and the pivot row.

4
Initial Simplex Tableau
All variables Solution

Basic variables coefficients

EXAMPLE 1
The Galaxy Company produces two types of water
pipes: Pipe A and Pipe B. Each pipe A takes four
hours of labor from the manufacturing department
and two hours of labor from the finishing
department. Each pipe B requires three hours of
manufacturing and one hour of finishing. During
the current week, 240 hours of manufacturing time
are available and 100 hours of finishing time. Each
pipe A produced gives a profit of $70 and each
pipe B a profit of $50. How many pipes A and
pipes B should be made?
10

10

5
STEP 1
All information about example

Resource Pipe A ( x1 ) Pipe B ( x2 ) Constraints

Manufacturing (hr) 4 3 240

Finishing (hr) 2 1 100

Unit Profit $70 $50

Objective Function P  70 x1  50 x2

Manufacturing Constraint 4 x1  3 x2  240

Finishing Constraint 2 x1  1x2  100

Non-negativity conditions x1 , x2  0 11

11

4 x1  3 x2  s1  240 4 x1  3 x2  s1  0s2  240


2 x1  x2  s2  100 2 x1  x2  0 s1  s2  100

P  70 x1  50 x2  0 s1  0s2
P  70 x1  50 x2  0 s1  0 s2  0
12

12

6
4 x1  3 x2  s1  0s2  240
2 x1  x2  0s1  s2  100
P  70 x1  50 x2  0 s1  0s2  0

13

13

STEP 2
Right
Basic
x1 x2 S1 S2 P Hand
Variables
Side
S1 4 3 1 0 0 240
S2 2 1 0 1 0 100
P -70 -50 0 0 1 0

The tableau represents the initial solution;

x1  0, x2  0, s1  240, s2  100, P  0

The slack variables S1 and S2 form the initial solution mix. The initial
solution assumes that all avaliable hours are unused. i.e. The slack variables
take the largest possible values.

14

14

7
Variables in the solution mix are called basic variables.
Each basic variable has a column consisting of all 0’s
except for a single 1. All variables not in the solution mix
take the value 0.

In the simplex process, a basic variable in the solution mix


is replaced by another variable previously not in the solution
mix. The value of the replaced variable is set to 0.

15

15

STEP 3
Select the pivot column (determine which variable to enter into
the solution mix). Choose the column with the “most negative”
element in the objective function row.

Right
Basic
x1 x2 S1 S2 P hand
Variables
side
S1 4 3 1 0 0 240
S2 2 1 0 1 0 100
P -70 -50 0 0 1 0

Pivot column
X1 should enter into the solution mix because each unit of x1 (pipe
A) contributes a profit of $70 compared with only $50 for each unit
of pipe B 16

16

8
Step 4
Yes, There are positive elements in the pivot
column.

We can go on step 5

17

17

STEP 5
Select the pivot row (determine which variable to replace in
the solution mix). Divide the last element in each row by the
corresponding element in the pivot column. The pivot row is
the row with the smallest non-negative result.
Enter

Basic Right
Variabl x1 x2 S1 S2 P hand
es side
S1 4 3 1 0 0 240 240 / 4  60
Exit S2 2 1 0 1 0 100 100 / 2  50
P -70 -50 0 0 1 0
Pivot row
Pivot column

Pivot number 18

18

9
Right
Basic
x1 x2 S1 S2 P hand
Variables
side
S1 4 3 1 0 0 240
R2
x1 1 1/2 0 1/2 0 50
2
P -70 -50 0 0 1 0
19

19

Use row operations to make all numbers in the pivot column equal to 0 except
for the pivot number which remains as 1.

Right
Basic
x1 x2 S1 S2 P hand
Variables
side
S1 0 1 1 -2 0 40 4.R2  R1
x1 1 1/2 0 1/2 0 50
P 0 -15 0 35 1 3500 70.R2  R3

If 50 pipes A are made, then the unused manufacturing hours are reduced by
200 hours (4 h/pipe A multiplied by 50 pipes A); the value changes from 240
hours to 40 hours. Making 50 pipes A results in the profit being increased by
$3500; the value changes from $0 to $3500.
20

20

10
In this case, x1  50, x2  0, s1  40, s2  0, P  3500
Now repeat the steps until there are no negative numbers in
the last row.
Select the new pivot column. x2 should enter into the solution
mix.
Select the new pivot row. S1 should be replaced by x2 in the
solution mix.
Enter

Basic Right
Variabl x1 x2 S1 S2 P hand
es side
Exit S1 0 1 1 -2 0 40 40 /1  40
x1 1 1/2 0 1/2 0 50 50 / 0,5  100

P 0 -15 0 35 1 3500
New pivot row
New pivot column
21

Calculate new values for the pivot row. As the pivot number is already 1, there is
no need to calculate new values for the pivot row.

Use row operations to make all numbers in the pivot column equal except for the
pivot number.

Basic Right
Variabl x1 x2 S1 S2 P hand
es side
x2 0 1 1 -2 0 40
1
x1 1 0 -1/2 3/2 0 30  2 .R1  R2
P 0 0 15 5 1 4100 15.R1  R3

22

22

11
If 40 pipes B are made, then the number of pipes A
reduced by 20; the value changes from 50 pipes A to 30
pipes B. The replacement of 20 pipe A with 40 pipe B
results in the profit being increased by $600; the value
changes from $3500 to $4100.

As the last row contains no negative numbers, this solution


gives the maximum value of P.

23

23

Result
This simplex tableau represents the optimal
solution to the LP problem and is interpreted as:
x1  30, x2  40, s1  0, s2  0

and profit P=$4100


The optimal solution (maximum profit to be made)
is to company 30 pipe A and 40 pipe B for a profit
of $4100.

24

24

12
Degeneracy
Enter

Basic Right
Variabl x1 x2 S1 S2 P hand
es side
S1 0 1 1 -2 0 40 40 /1  40
x1 1 2 0 1/2 0 80 80/2=40
P 0 -15 0 35 1 3500
New pivot row
New pivot column

25

25

Degeneracy
Enter

Basic Right
Variabl x1 x2 S1 S2 P hand
es side
S1 0 1 1 2 0 40 40 /1  40
x1 1 2 0 1/2 0 80 80/2=40
P 0 -15 0 35 1 3500
New pivot row
New pivot column
Row 1 40/1 40/2=20
Row 2 80/2 80/0.5=160
26

26

13
 Opportunity cost
 What is the effect of using an additional unit of a non-
optimal variable on the objective function?
Basic Right
Variabl x1 x2 S1 S2 hand
es side
x1 1 0.4 0 0.2 2
s1 0 3.8 1 -0.6 9
P 0 4 0 22 220

27

27

 Shadow price
• What is the effect of relaxing a constraint by one unit
on the objective function?
Basic Right
Variabl x1 x2 S1 S2 hand
es side
x1 1 0.4 0 0.2 2
s1 0 3.8 1 -0.6 9
P 0 4 0 22 220
If we relax the second constraint by one unit,
then the objective function will be increased by? 28

28

14
EXAMPLE 2

29

29

EXAMPLE 3

30

30

15
A highway construction company aims to implement three
types of maintenance projects A, B, and C in a network
corridor. These projects need certain resources such as
workers, and small and large trucks. The characteristics of
the projects are presented in the following table:
Workers Small trucks Large trucks Profit
(per hour) (per hour) (per hour)
Project A 10 5 7 $100K
Project B 4 7 6 $200K
Project C 3 5 4 $150K
Available resource 100 200 200
per hour

Develop the optimal plan to maximize the profit?

31

31

EXAMPLE 4

Max:
Z = 5X1 + 7X2 + 6X3

Subject to:
10X1 + 2X2 + X3 <= 100

3X1 + 13X2 + 4X3 <= 150

2X1 + 3X2 +12X3 <= 120


X1 ,X2,X3=>0
32

32

16
Questions?

33

33

17

You might also like