Public Policy Modeling
Simplex Method Friday, April 21, 2023
Hun Myoung Park, Ph.D.
Public Management & Policy Analysis ProgramGraduate School of International Relations
2
Simplex Method
• Algorithm to solving LP problems.• Developed by George Dantzig in 1947• Search for optimal solution by examining corner
point feasible solutions (corner solutions)• Iteration algorithm keeps searching until finding
the optimal solution.• Efficient algorithm to reach the optimal solution by
focusing on corner solutions• Informative to provide valuable information such
as shadow price (sensitivity analysis)
3
Augmented Form 1
• Convert the functional inequality constraints to equivalent equality constraints by introducing slack variables
Original form Augmented form
Max Z=3x1+5x2,
Subject to
x1 <= 4
2x2 <= 12
3x1 + 2x2 <= 18
Z-3x1-5x2=0
Subject to
x1 + s1 = 4
2x2 + s2 = 12
3x1 + 2x2 + s3 = 18
4
Augmented Form 2
• The original form has been augmented by some supplementary variables (slack variables)
• Augmented solution is a solution for the original variables that has been augmented by the corresponding values of the slack variables.
• Basic solution is an augmented corner-point solution and
• Basic feasible (BF) solution is an augmented corner point feasible (CPF) solution
5
Simplex Method 1
• Tabular form is often used• Use augmented form with equality constraints• Construct a simplex tableau • A simplex tableau summarizes coefficients in the
middle and result values on the right side • Objective function Z always appears on the top. • The Z value appear on the right side column • Right side contains the (initial) basic feasible
solution.• See Excel Worksheet for an example.
6
Simplex Method 2
• An example of an Initial Simplex Tableau
Basic Coefficients RHS
Z x1 x2 s1 s2 s3
Z 1 -3 -5 0 0 0 0
S1 0 1 0 1 0 0 4
S2 0 0 2 0 1 0 12
S3 0 3 2 0 0 1 18
7
Simplex Method 4
• InitializationOptimality TestIteration Optimality test… Initialization: construct the initial simplex tableau– Decision variables remain nonbasic variables (set
equal to zero) – Slack variables become basic variables that appear
on the left.
• Optimality test: if and only if every coefficient in row for Z is nonnegative (>=0) current BF solution is optimal. Otherwise, go to an iteration.
8
Simplex Method 5
• Iteration 1: determine the entering basic variable (to be basic variables in the next iteration) with the negative coefficient having the largest absolute value. The column for such variable is called pivot column.
• Iteration 2: determine the leaving basic variable (to be nonbasic variables in the next iteration) using minimum ratio test.
• See pp.103-107 of Hillier & Lieberman (2010)
9
Simplex Method 6
• Minimum ratio test:– Pick out each positive (>0) coefficient in the pivot
column
– Divide right side values by positive coefficients
– Identify the row having the smallest ratio
– The row (basic variable) is leaving basic variable and is called pivot row.
– The value in pivot column and row is pivot number.
• Minimum ratio test determine which basic variable drops to zero first as the entering basic variable is increased.
10
Simplex Method 7
• Iteration 3: solve for the new basic feasible solution by Gauss-Jordan method of elimination– Divide the pivot row by the pivot number– Identify a row other than pivot row that has nonzero
coefficient in the pivot column– Multiply the pivot row by the coefficient and then
subtract the pivot row from the row of interest.– Repeat it to other row having nonzero coefficient in the
pivot column
• Optimality Test to see if every coefficients in row Z are nonnegative.
11
Further Directions
• Duality Theory: primal versus dual problem• Transportation and Assignment• Integer (Binary) Programming • Goal Programming