Operations Management
Previous class (#8): Demand Forecasting
» Perform simple time series analysis: Simple moving average
(SMA), simple exponential smoothing (SES), linear trend line,
simple regression, and multiple regression
» Key Concepts: Forecast, trends, time series analysis, mean
absolute deviation, panel consensus, Delphi method.
Today’s Class (#9): Mathematical (Linear) Programming
» Linear programming (LP) terminology and formulation.
» Solving an LP graphically when there are only 2 variables by
identifying the feasible regions and finding corner points
» Use “Solver” from Excel to solve LP’s with more than 2 variables
» Key Concepts: Objective function, decision variables, constraints,
feasibility, corner points, optimal solution, shadow price, sensitivity
analysis, binding constraint.
1
Housekeeping Issues
Final exam conflict declaration deadline
– Thursday, Dec 10th at 11:59pm by email
Assignments
– Assignment #4 is due Dec. 2nd, 11:59pm (submit at
https://utormat.io/#/login?r)
Questions from last class?
2
Linear Programming (LP) Problem
If both the objective function and the constraints are
linear, the problem is referred to as a linear programming
problem.
Linear functions are functions in which each variable
appears in a separate term raised to the first power and
is multiplied by a constant (which could be 0).
Linear constraints are linear functions that are restricted
to be “<=“, “=“, or “>=“ a constant.
Characteristics of LPs
Objective function and constraints are linear
functions
Constraint types are ≤ , = , or ≥
Variables can assume any fractional values
Decision variables are non-negative
Maximize or Minimize a single objective
Lego Enterprises
Resources: 6 Large Blocks, 8 Small Blocks
A maximum
of 5 tables
can be made
Products: Tables (2L, 2S) & Chairs (1L, 2S)
Profit: Tables: $16 Chairs: $10
Linear Programming
Formulate as LP
– Decision Variables, Objective Function, Constraints
Solution Methods
– Graphical
» Graph Constraints, Objective function
» Find solution
– Excel Solver
Linear Programming Formulation
Step 1: Determine Decision Variables
Step 2: Determine Objective Function
Step 3: Determine Constraints
Step 1: Decision Variables
The best way to determine the decision variables
is to put oneself in the shoes of the decision
maker and then ask the question “What do I
need to know in order to make this thing work?”
Decision Variables
– T = # of tables
– C = # of chairs
Step 2: Objective Function
Specify the problem objective
Objective Function
– Maximize profit = 16T + 10C
Step 3: Constraints
Determine the Constraints
There are only 6 large blocks
2T + C ≤ 6
There are only 8 small blocks
2T + 2C ≤ 8
Not more than 5 tables
T≤5
Implicit Constraints
T, C ≥ 0
LP Formulation
maximize z = 16T + 10C
subject to 2T + C ≤ 6 (large block constraint)
2T + 2C ≤ 8 (small block constraint)
T ≤ 5 (no more than 5 tables)
T, C ≥ 0 (non-negativities)
Methods of Solution
Trial and Error
Linear Programming
– Graphical
– Simplex (not covered in this lecture)
– Computer – Excel Solver (and other software)
Method 1: Graphical
Step 1: Determine the feasible region.
– Plot a constraint line for each constraint
– For each constraint line, determine the feasible
side.
– Identify the set of solutions that satisfy all the
constraints.
Step 2: Identify an arbitrary objective function.
Step 3: For a maximization problem, move the
arbitrary objective function away from (0,0) until
further movement would take the line completely out
of the feasible region.
Step 1: Constraint 1 (SB)
2C + 2T ≤ 8
Maximum Tables = 4
2C + 2T = 8
Maximum Chairs = 4
Step 1: Constraint 2 (LB)
2C + 2T ≤ 8
Maximum Tables = 3
C + 2T ≤ 6
2C + 2T = 8
C + 2T = 6
Maximum Chairs = 6
Graphing Constraint 3 (Max T)
T =5
Feasible region
2C + 2T = 8
2C + 2T ≤ 8
C + 2T ≤ 6
T≤5
C + 2T = 6
Step1: Feasible Region
Constraints
2C + 2T ≤ 8
C + 2T ≤ 6
T≤5
Step 2: Arbitrary Objective Function
Maximize: z = 10C + 16T
Subject to
2C + 2T ≤ 8
10C + 16T = 20 C + 2T ≤ 6
T≤5
T,C ≥ 0
Step 3: Graphical Solution
Max. z = 10C +16T
Subject to
2C + 2T ≤ 8
C + 2T ≤ 6
T≤5
T,C ≥ 0
(2,2) Optimal solution is at (2,2).
Hence make 2 tables and 2 chairs.
Value of objective function =
16(2) + 10(2) = 52
3 Constraint Types
Active or binding
– Removal of this constraint changes the feasible region
– Is part of the optimal solution
Inactive or non-binding
– Removal of this constraint changes the feasible region
– Is NOT part of the optimal solution
Redundant
– Constraint can be removed without affecting the
feasible region
Binding Constraints
Binding Constraints
2T + C ≤ 6
2T + 2C ≤ 8
These two constraints
are satisfied as
equalities at optimality
Non-Binding Constraints
T≥0
C≥0
These constraints define the
feasible region – but are not part
of the solution.
Redundant Constraints
T≤5
The line T=5 is not
part of the feasible
region. Hence it is
a redundant
constraint
Possible LP Outcomes
Unique optimal solution
Alternate optimal solutions
Unbounded problem
Infeasible problem
Example: Unique Optimal
There is only one point in the feasible set that
maximizes the objective function (x1 = 8, x2 = 0)
x2
8
Max 6x1 + 2x2
4x1 + 3x2 ≥ 12
4
x1 + x2 ≤ 8
Optimum
3 8 x1
Example: Alternate Solutions
There are an infinite number of points satisfying
both constraints - objective function falls on a
constraint line
x2 8 2x1 + x2 ≤ 8
4x1 + 3x2 ≥ 12
Max 6x1 + 3x2 4
3 4 x1
Example: Infeasible Problem
No points satisfy both constraints
– no feasible region, no optimal solution
x2
8 2x1 + x2 ≥ 8
4x1 + 3x2 ≤ 12
4
3 4 x1
Example: Unbounded Problem
Objective function can be moved outward
without limit; z can be increased infinitely
x2
3x1 + x2 ≥ 8
8
5 x1 + x2 ≥ 5
Max 3x1 + 4x2
x1
2.67 5
Minimization Problem
A farmer wants to determine the minimum cost
to fertilize his fields. SuperGro costs $6/bag and
provides 2 lbs of nitrogen and 4 lbs of phosphate
per bag. CropQuick provides 4 lbs of nitrogen
and 3 lbs of phosphate per bag, which costs $3.
The field needs at least 16 lbs of nitrogen and
24 lbs of phosphate.
LP Formulation
Decision Variables
– S = # of bags of SuperGrow
– C = # of bags of CropQuick
LP Formulation
Decision Variables
– S = # of bags of SuperGrow
– C = # of bags of CropQuick
Objective
– Minimize cost: z = 6S + 3C
LP Formulation
Decision Variables
– S = # of bags of SuperGrow
– C = # of bags of CropQuick
Objective
– Minimize cost: z = 6S + 3C
Constraints
– For nitrogen: 2S + 4C ≥ 16
– For phosphate: 4S + 3C ≥ 24
– Non-negativities: S, C≥0
Sensitivity Analysis
Looking Ahead
Sensitivity Analysis
– Objective function coefficient changes (Range of
optimality)
– Changes in RHS of constraints (Shadow Price and
Range of Feasibility)
» Non-binding Constraints
» Binding Constraints
Two Different Methods
– Graphical [Method 1] – will not fully cover
– Computer – Sensitivity Report [Method 2]
Impact of Possible Changes
Change objective
– may change optimal solution
Change existing constraints
– changes slope; may change size of feasible region
Add new constraint
– may decrease feasible region (if binding)
Remove constraint
– may increase feasible region (if binding)
LP Example
Kelson makes 2 different types of baseball gloves: a
regular glove and a catcher’s mitt. The firm has 900 hours
of production time available in its cutting and sewing
department, 300 hours available in its finishing department,
and 100 hours available in its packaging and shipping
department. The production time requirements and the
profit contribution for each product are shown below.
Assume the company is interested in maximizing the total
profit contribution.
Model Cutting& Packaging& Profit/glove
Finishing
Sewing Shipping
Regular 1 (hr) 0.5 0.125 $5
Catcher 1.5 0.333 0.25 $8
LP Formulation
1) Let R = number of regular gloves
C = number of catcher’s mitts
2) max z = 5R + 8C
3) s.t. 1R + 1.5C ≤ 900 (Cut&Sew)
0.5R + 0.333C ≤ 300 (Finishing)
0.125R + 0.25C ≤ 100 (Pack&Ship)
R, C ≥ 0 (Nonnegativity)
Graphical Solution
C
900 Finishing
Pack&Ship
600
400
(500, 150)
Cut&Sew
R
0 600 800 900
Excel Formulation
Data -> Solver
If you cannot see Solver in Data, go to Tools -> Excel Add-ons and choose Solver Add-in
(sometimes it would be in Excel -> Preferences -> Add-ons)
Solver - Options
Solver – dialog box
Excel Solution - I
Excel Solution - II
Constraint C&S has a positive slack value of 175, i.e., 175
units of unused capacity. Thus, it is non-binding.
Excel Solution - III
Shadow price of 0 for a constraint indicates that the capacity of
that constraint has NOT been fully utilized (positive slack value).
Changing Objective Function
Coefficients
Objective Function Coefficient Change
If an objective function coefficient changes, the
slope of the objective function line changes. At
some threshold, another corner point may become
optimal.
Question: How much can objective coefficient
change without changing optimal corner point?
This change is usually referred to as Range of
Optimality
Range of Optimality - Graphically
The slope of the objective function (the line in blue) can vary
between the slope of the Finishing constraint and the Packing
C and Shipping constraint without changing the basis or the
value of the decision variables in the solution
900 Finishing
Pack&Ship
600
400
(500, 150)
Cut&Sew
R
0 600 800 900
Range of Optimality – Computer output
Adjustable Cells
Final Reduced Objective Allowable Allowable
Cell Name Value Cost Coefficient Increase Decrease
$B$3 Decision Variables R 500 0 5 7 1
$C$3 Decision Variables C 150 0 8 2 4.67
If the change in the objective function coefficients is within allowable
limits, the current solution will remain optimal. The new OFV can be
calculated by substituting the optimal solution in the new objective
function.
The profit on regular gloves can increase by 7 (to 12) or decrease by
1 (to 4) [4,12], without changing the basis, or production mix of 500
regular gloves and 150 catcher’s mitts, OR
The profit on catcher’s mitts can increase by 2 (to 10) or decrease by
4 2/3s (to 3 1/3) [3.33, 10], without changing the basis, or production
mix of 500 regular gloves and 150 catcher’s mitts
Reduced Cost
The reduced cost for a decision variable whose value
is 0 in the optimal solution is the amount the
variable's objective function coefficient would have to
improve (increase for maximization problems,
decrease for minimization problems) before this
variable could assume a positive value.
The reduced cost for a decision variable with a
positive value is 0.
If reduced cost is zero for a variable which takes the
value zero at optimality, this indicates that there are
alternate optimal solutions.
Computer Output – Reduced Cost
Final value is non-zero for both variables, hence
the reduced cost is zero. The objective function
coefficient for either variable does not have to
change before they assume non-zero values.
Reduced Cost (Cont.)
Min 10 X1 + 6 X2 + 14 X3 + 9 X4
S.T.
1) 1 X1 + 1 X3 = 100
2) 1 X2 + 1 X4 = 150
3) 4 X1 + 3 X2 < 600
4) 6 X1 + 8 X2 < 1080
5) X1, X2, X3, X4 > 0
Final Reduced Objective Allowable Allowable
Cell Name Value Cost Coefficient Increase Decrease
$B$3 Product 1 100 0 10 1.75 1E+30
$C$3 Product 2 60 0 6 3 2.333333
$D$3 Product 3 0 1.75 14 1E+30 1.75
$E$3 Product 4 90 0 9 2.333333 3
• Objective function value of this solution is
Reduced Cost (Cont.)
Min 10 X1 + 6 X2 + 12.25 X3 + 9 X4
S.T. 1) 1 X1 + 1 X3 = 100
2) 1 X2 + 1 X4 = 150
3) 4 X1 + 3 X2 < 600
4) 6 X1 + 8 X2 < 1080
5) X1, X2, X3, X4 > 0
Final Reduced Objective Allowable Allowable
Cell Name Value Cost Coefficient Increase Decrease
$B$3 Product 1 100 0 10 0 1E+30
$C$3 Product 2 60 0 6 3 0
$D$3 Product 3 0 0 12.25 1E+30 0
$E$3 Product 4 90 0 9 0 3
This
problem has multiple optimal solutions. The alternative
optimal solution is
• Objective function value of this solution is
Reduced Cost (Cont.)
Coefficient of X3 is reduced from 14 to 12.249 (1.751 units decrease because of
minimization objective)
MIN 10X1+6X2+12.249X3+9X4
S.T.
1) 1X1+1X3=100
2) 1X2+1X4=150
3) 4X1+3X2<600
4) 6X1+8X2<1080
5) X1, X2, X3, X4 > 0
Variable Cells
Final Reduced Objective Allowable Allowable
Cell Name Value Cost Coefficient Increase Decrease
$B$3 Product 1 0 0.001 10 1E+30 0.001
$C$3 Product 2 135 0 6 0.001333333 1E+30
$D$3 Product 3 100 0 12.249 0.001 1E+30
$E$3 Product 4 15 0 9 1E+30 0.001333333
The objective function value is 2169.9.
Changing Resource Availability
Changes to the RHS of constraints.
RHS Coefficient Changes
When a right-hand-side value changes, the
constraint moves parallel to itself
Question: How is the solution affected, if at all?
Two cases:
– constraint is binding or active
– constraint is nonbinding or inactive
Common terms
– Shadow Price
– Range of feasibility
Shadow Price (RHS coefficient)
A shadow price for a right hand side value (or
resource limit) is the amount the objective function
will change per unit increase in the right hand side
value of a constraint.
The shadow price for a nonbinding constraint is
0.
The increase in the resource limit of a constraint
with underutilized capacity does not improve the
objective function value.
Shadow Price: Non-binding
A unit change in the RHS of the
non-binding constraint, does not affect the feasible
C region. Nor does it affect the optimal solution.
Hence its effect on OFV is 0.
900 Finish
Therefore, shadow price = 0 for non-binding constraints
600
400
Pack&Ship
(500, 150)
Cut&Sew
R
0 600 800 900
Shadow Price: Non-binding constraint
Cutting Constraint: 1R + 1.5C 900
At optimality, LHS of the constraint is 725 [900 – 175 = 725].
This is not a binding constraint as LHS is not equal to RHS at
optimality. Hence shadow price for this constraint is zero.
Shadow Price: Binding
When the RHS of finishing constraint is increased
by one unit, the feasible region changes and
C optimal solution changes as well.
900 Finish To obtain new point of intersection, solve
0.5R + 0.33C = 301 and
0.125R + 0.25C = 100
600
Solution: (503, 148.5)
400
The new OFV is 3703.
Pack&Ship This is an increase of 3
(500, 150) from original OFV.
Shadow price = 3
Cut&Sew
0 600 800 900 R
Shadow Price – Binding Constraints
Finishing and Packing Constraints
0.5R + 0.333C 300 Both these constraints are satisfied as
equalities at optimality and hence they
0.125R + 0.25R 100
have non-zero shadow prices.
Next class
Next lecture:
– First hour: Beer Distribution Game (BDG # 1)
» If you miss this session, you will lose 5% of your course’s
total mark.
– Second hour: Supply Chain Management
Last Lecture:
– First hour: Beer Distribution Game # 2
» If you miss this session, you will lose 3% of your course’s
total mark.
– Second hour: Debrief of the BDG # 2
Extra slides
Changes to the RHS of constraints.
Range of Feasibility
The range of feasibility for a change in the right
hand side value is the range of values for this
coefficient in which the original shadow price
remains constant.
Range of Feasibility: Non-binding
1R + 1.5C ≤ 900
The RHS of the cutting and sewing constraint can be
increased infinitely without affecting the feasible
region. Hence allowable increase is infinite.
C
However the RHS of the constraint cannot be
900 Finish decreased infinitely without affecting the
feasibility. It can be decreased till it touches
the optimal solution. At this point the RHS
600 of this constraint is 1(500) + 1.5(150)=725.
400 Hence allowable
Pack&Ship decrease is
(500, 150) 900-725 = 175
Cut&Sew
0 600 800 900 R
Range of Feasibility: Non-binding
Constraints
Range of Feasibility: Binding
R/2 + C/3 ≤ 300
The finishing constraint can be moved to the right until the
point (800,0) and this along with the packing will be the
C Finish binding constraints. But any further movement to the right
900 will mean that the finishing is no longer a binding constraint.
Hence the maximum RHS value for this
constraint is 800/2 = 400. Hence
allowable increase =
600 400 – 300 = 100
Cut&Sew
400
Pack&Ship
(500, 150)
0 600 800 900 R
Range of Feasibility: Binding
R/2 + C/3 ≤ 300
The finishing constraint can be moved to the left until the
C point (0,400) and this along with the packing will be the
binding constraints. But any further movement to
900 Finish the left will mean that the packing is no
longer a binding constraint. Hence the
minimum RHS value for this
600 constraint is 0 + 400/3 = 133.33.
Hence the allowable decrease =
300 – 133.33 = 166.67
400
Pack&Ship
(500, 150)
Cut&Sew
0 600 800 900 R
Range of Feasibility: Binding