The Simplex Method

advertisement
The Simplex Method
The geometric method of solving linear programming problems
presented before. The graphical method is useful only for
problems involving two decision variables and relatively few
problem constraints.
What happens when we need more decision variables and more problem constraints?
We use an algebraic method called the simplex method, which
was developed by George B. DANTZIG (1914-2005) in 1947 while
on assignment with the U.S. Department of the air force.
Standard Maximization Problems in
Standard Form
A linear programming problem is said to be a standard maximization problem in
standard form if its mathematical model is of the following form:
Maximize the objective function
Zmax  P  c1x1  c2 x2  ...  cn xn
Subject to problem constraints of the form
a1x1  a2 x2  ...  an xn  b
,b  0
With non-negative constraints
x1, x2 ,..., xn  0
Slack Variables
“A mathematical representation of surplus
resources.” In real life problems, it’s unlikely
that all resources will be used completely, so
there usually are unused resources.
Slack variables represent the unused resources
between the left-hand side and right-hand
side of each inequality.
Basic and Nonbasic Variables
Basic variables are selected arbitrarily with the restriction that
there be as many basic variables as there are equations. The
remaining variables are non-basic variables.
x1  2 x2  s1
 32
3x1  4 x2  s2  84
This system has two equations, we can select any two of the four
variables as basic variables. The remaining two variables are
then non-basic variables. A solution found by setting the two
non-basic variables equal to 0 and solving for the two basic
variables is a basic solution. If a basic solution has no negative
values, it is a basic feasible solution.
SIMPLEX METHOD
Step-1
Write the
standard
maximization
problem in
standard form,
introduce slack
variables to form
the initial system,
and write the
initial tableau.
Step 2
Are there
any
negative
indicators
in the
bottom
row?
STOP
The optimal solution has been found.
Step-3
Select
the
pivot
column
Step 4
Are there
any positive
elements in
the pivot
column
above the
dashed
line?
STOP
The linear programming problem has
no optimal solution
Simplex algorithm for standard maximization problems
Step-5
Select
the pivot
element
and
perform
the pivot
operatio
n
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 in the lower-right corner of
the tableau.
Pivot
Pivot Column: The column of the tableau
representing 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.
Simplex Tableau
Most real-world problems are too complex to
solve graphically. They have too many corners
to evaluate, and the algebraic solutions are
lengthy. A simplex tableau is a way to
systematically evaluate variable mixes in order
to find the best one.
Initial Simplex Tableau
All variables
Basic variables
Solution
coefficients
0
EXAMPLE
The Cannon Hill furniture Company produces tables
and chairs. Each table takes four hours of labor
from the carpentry department and two hours of
labor from the finishing department. Each chair
requires three hours of carpentry and one hour
of finishing. During the current week, 240 hours
of carpentry time are available and 100 hours of
finishing time. Each table produced gives a profit
of $70 and each chair a profit of $50. How many
chairs and tables should be made?
STEP 1
All information about example
Resource
Table s ( x1 )
Chairs (x2 )
Constraints
Carpentry (hr)
4
3
240
Finishing (hr)
2
1
100
$70
$50
Unit Profit
Objective Function
Carpentry Constraint
Finishing Constraint
Non-negativity conditions
P  70 x1  50 x2
4x1  3x2  240
2x1  1x2  100
x1, x2  0
The first step of the simplex method requires that each inequality
be converted into an equation. ”less than or equal to”
inequalities are converted to equations by including slack
variables.
Suppose s1 carpentry hours and s 2 finishing hours remain unused
in a week. The constraints become;
4 x1  3x2  s1  240
2 x1  x2  s2  100
or
4 x1  3x2  s1  0s2  240
2 x1  x2  0s1  s2  100
As unused hours result in no profit, the slack variables can be
included in the objective function with zero coefficients:
P  70 x1  50 x2  0s1  0s2
P  70 x1  50 x2  0s1  0s2  0
The problem can now be considered as solving a system of 3 linear
equations involving the 5 variables x1, x2 , s1, s2 , P in such a way
that P has the maximum value;
4 x1  3x2  s1  0s2  240
2 x1  x2  0s1  s2  100
P  70 x1  50 x2  0s1  0s2  0
Now, the system of linear equations can be written in matrix form
or as a 3x6 augmented matrix. The initial tableau is;
STEP 2
Basic
Variables
x1
x2
S1
S2
P
Right
Hand
Side
S1
4
3
1
0
0
240
S2
P
2
-70
1
-50
0
0
1
0
0
1
100
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.
Variables in the solution mix are called basic variables. Each basic
variables has a column consisting of all 0’s except for a single 1.
all variables not in the solution mix take the value 0.
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.
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.
Basic
Variables
x1
x2
S1
S2
P
Right
hand
side
S1
S2
P
4
2
-70
3
1
-50
1
0
0
0
1
0
0
0
1
240
100
0
Pivot column
x1 should enter into the solution mix because each unit of x1 (a table)
contributes a profit of $70 compared with only $50 for each unit of x1 (a
chair)
Step 4
No, There aren’t any positive elements in the
pivot column above the dashed line.
We can go on step 5
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
Exit
Basic
Variables
x1
x2
S1
S2
P
S1
S2
P
4
2
-70
3
1
-50
1
0
0
0
1
0
0
0
1
Right
hand
side
240 240 / 4  60
100 100 / 2  50
0
Pivot row
Pivot column
Pivot number
Should be replaced by x1 in the solution mix. 60 tables can be made with 240
unused carpentry hours but only 50 tables can be made with 100 finishing
hours. Therefore we decide to make 50 tables.
Now calculate new values for the pivot row. Divide every number in the row
by the pivot number.
Basic
Variables
x1
x2
S1
S2
P
S1
x1
P
4
1
-70
3
1/2
-50
1
0
0
0
1/2
0
0
0
1
Right
hand
side
240
50
0
R2
2
Use row operations to make all numbers in the pivot column equal to 0 except
for the pivot number which remains as 1.
Basic
Variables
x1
x2
S1
S2
P
S1
x1
P
0
1
0
1
1/2
-15
1
0
0
-2
1/2
35
0
0
1
Right
hand
side
40
4.R2  R1
50
3500
70.R2  R3
If 50 tables are made, then the unused carpentry hours are reduced by 200
hours (4 h/table multiplied by 50 tables); the value changes from 240 hours to 40
hours. Making 50 tables results in the profit being increased by $3500; the value
changes from $0 to $3500.
x1  50, x2  0, s1  40, s2  0, P  3500
In this case,
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
Exit
Basic
Variables
x1
x2
S1
S2
P
S1
0
1
1
-2
0
Right
hand
side
40
x1
P
1
0
1/2
-15
0
0
1/2
35
0
1
50
3500
40 /1  40
50 / 0,5  100
New pivot row
New pivot
column
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 to
except for the pivot number.
Basic
Variables
x1
x2
S1
S2
P
x2
x1
P
0
1
0
1
0
0
1
-1/2
15
-2
3/2
5
0
0
1
Right
hand
side
40
30
4100
1
 .R1  R2
2
15.R1  R3
If 40 chairs are made, then the number of tables are reduced by
20 tables (1/2 table/chair multiplied by 40 chairs); the value
changes from 50 tables to 30 tables. The replacement of 20
tables by 40 chairs 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.
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 or P=$4100
The optimal solution (maximum profit to be
made) is to company 30 tables and 40 chairs
for a profit of $4100.
Example-2
A farmer owns a 100 acre farm and plans to plant at
most three crops. The seed for crops A,B, and C costs
$40, $20, and $30 per acre, respectively. A maximum
of $3200 can be spent on seed. Crops A,B, and C
require 1,2, and 1 workdays per acre, respectively,
and there are maximum of 160 workdays available. If
the farmer can make a profit of $100 per acre on
crop A, $300 per acre on crop B, and $200 per acre
on crop C, how many acres of each crop should be
planted to maximize profit?
The Dual Problem: Minimization with
problem constraints of the form ≥
• Linear programming problems exist in pairs. That is in
linear programming problem, every maximization
problem is associated with a minimization problem.
Conversely, associated with every minimization problem
is a maximization problem. Once we have a problem
with its objective function as maximization, we can write
by using duality relationship of linear programming
problems, its minimization version. The original linear
programming problem is known as primal problem, and
the derived problem is known as dual problem.
Thus, the dual problem uses exactly the same parameters
as the primal problem, but in different locations. To
highlight the comparison, now look at these same two
problems in matrix notation.
Primal Problem
Dual Problem
Minimize
Z=cx
Maximize
W=yb
Subject to
Ax≥b
Subject to
yAc
and
x≥0
And
Primal problem
A=
𝑎11
𝑏11
𝑎12
𝑏12
𝑎13
𝑏13
𝑐11
𝑐12
𝑐13
y≥0
Dual problem
T
A=
𝑎11
𝑎12
𝑏11
𝑏12
𝑐11
𝑐12
𝑎13
𝑏13
𝑐13
As an example,
Primal Problem in
algebraic form
Minimize
C=3x1+5x2
Subject to
and
x1 ≥ 4
 2x2 ≥ 12
3x1+2x2 ≥18
Primal problem
 A=
1
0
4
0
2
12
3
2
18
3
5
1
Dual problem

x1≥0, x2≥0
Consequently, (1) the parameters for a constraint
in either problem are the coefficients of a variable
in the other problem and (2) the coefficients for
the objective function of either problem are the
right sides for the other problem.
T
A=
1
0
0
2
3
2
3
5
4
12
18
1
Dual Problem in algebraic
form
Maximize
Z=4y1+12y2+18y3
Subject to
and
y1+3y3  3
2y2+2y3  5
y1≥0 , y2≥0 ,y3≥0
Summary
Primal
Dual
(a) Maximize.
Minimize
(b) Objective Function.
Right hand side.
(c) Right hand side.
Objective function.
(d) i th row of input-output
coefficients.
i th column of input output
coefficients.
(e) j th column of input-output
coefficients.
j the row of input-output
coefficients.
WORKED – OUT PROBLEM 1
The procedure for forming the dual problem is
summarized in the box below:
Formation of the Dual Problem
Given a minimization problem with problem
constraints,
Step 1. Use the coefficients and constants in the
problem constraints and the objective function to
form a matrix A with the coefficients of the objective function in the last row.
Step 2. Interchange the rows and columns of
T
matrix A to form the matrix A , the transpose of A.
T
Step 3. Use the rows of A to form a maximization
problem with  problem constraints.
Forming the Dual Problem
Minimize C =
subject to
40x1 + 12x2 + 40x3
2x1 + x2 + 5x3 ≥ 20
4x1 + x2 + x3 ≥ 30
x1, x2, X3 ≥ 0
WORKED –OUT PROBLEM 2
Form the dual problem:
Minimize C = 16 x1 + 9x2 + 21x3
subject to
x1 + x2 + 3x3 ≥ 12
2x1 + x2 +x3 ≥ 16
x1, x2, x3 ≥ 0
Solution of Minimization Problems
ORIGINAL PROBLEM (1)
DUAL PROBLEM (2)
Minimize C = 16x1 + 45x2
Maximize P = 50y1 + 27y2
subject to 2x1 + 5x2 ≥ 50
x1 + 3x2 ≥ 27
x1, x2 ≥ 0
subject to 2y1 + y2  16
5y1 + 3y2  45
y1,y2 ≥ 0
MINIMIZATION PROBLEMS
- The Dual Form
- Graphical Approach
- Solution of Minimization Problems with
Simplex Method
- A Transportation Problem
- The Big M method
- Minimization by The Big M Method
Download