Optimizing with Solver

advertisement
MGTSC 352
Lecture 14: Aggregate Planning
WestPlast Case
How to deal with multiple objectives
How to use binary variables
AltaMetal Case
Aggregating into multiple product groups
An example where having integer constraints makes
the problem much harder to solve
WestPlast Criteria
•
•
Maximize Revenue
Maximize Plant Capability Index (PCI)
1.
2.
3.
4.
5.
plant output rate
quality compared to industry standards
raw material quality needed
overhead burden
process aggravation
each subcriteria has a “weight” (10% - 30%)
Pgs. 79 - 80
Questions
• Our “better plan” produces 9 products. Suppose
that, on the average, adding a product takes
machine time equivalent to 10,000 lbs of output
per product.
• Does WestPlast want to make more than 9
products?
• Less than 9 products?
• How can we find out?
Pgs. 85-86
Using Binary Variables to
Limit # of Products
• Add binary decision variable for each product
(1 = produce, 0 = don’t produce)
• Add binary constraints
• Want:
– If binary variable = 0 then amt. produced = 0
– If binary variable = 1 then amt. produced ≤ demand
• IF() formulas would make the problem nonlinear
• Instead:
– Add constraint
amt. produced ≤ (binary variable)  demand
Binary Variables
•
•
•
•
Assignment Problems
Location Problems
Routing Problems
Product Selection Problems
Anything with an either yes or no option
WestPlast wants to:
•
•
•
•
Maximize Revenue
Maximize PCI = Plant Capability Index
By changing product mix
Subject to:
– Contractual obligations
– Don’t produce more than forecast demand
• How can we optimize two criteria at the same
time?
How can we optimize two criteria
at the same time?
• Short answer: we can’t
– The criteria may be in conflict
– Maximizing revenue may mean minimizing
PCI
• Long answer: we can’t, but we can find the
“efficient frontier”
= “Set of Pareto optimal solutions”
= “Set of non-dominated solutions”
= “Production possibilities curve”
AltaMetal Ltd.
(Case 8, pg. 111, and pgs. 87 – 92)
• Another aggregate planning problem
– 1,000 products aggregated to 9 groups
AltaMetal Ltd.
(Case 8, pg. 111, and pgs. 87 – 92)
5,000
4,500
Total demand
Capacity
4,000
3,500
Tons
3,000
2,500
2,000
1,500
Is it possible to satisfy demand?
1,000
If so, how? (production plan by product group)
500
0
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Excel …
Active Learning
• Pairs, 1 min.
• Formulate AltaMetal’s problem in English
• What to optimize, by changing what,
subject to what constraints …
To many change-overs …
• The JIT (“just-in-time”) plan we found may
require too many changeovers
• What if we require a minimum lot size of 30
tons?
– Daily capacity = 90 tons
 At most 3 lots per day
• Changing cells:
– Old: # of tons of product X to produce in month Y
– New: # of __ of product X to produce in month Y
Excel …
Tired of Waiting for Solver?
• Hit Escape key
Summary (pg. 92)
JIT
# of different products
per month
Smallest lot
Ton-months of
inventory
30-ton-lots
Formulating Optimization Models (pg. 93)
• Formulate the problem in English
– Or French, or Chinese, or Icelandic, … 
• Start with data in spreadsheet
• Define decision variables – turquoise cells
• Express performance measure (profit, or cost, or
something else) as function of the decision
variables
• Express constraints on decision variables
– Scarce resources
– Physical balances
– Policy constraints
Solving Optimization Problems
• Try simple values of the decision variables to
check for obvious errors
• Guess at a reasonable solution and see if model
is ‘credible’ (sniff test)
– Look for missing or violated constraints
– Is profit (cost) in ballpark?
Optimizing with Solver
• Use Simplex LP method (‘assume linear model’)
whenever possible
• Set Options properly
– automatic scaling, assume non-negative
• Watch for diagnostic messages – do not ignore!
(infeasible, unbounded)
• Interpret solution in real-world terms and again
check for credibility
Things to Remember
• The Simplex LP method always correctly
solves linear programs
• Solver is a slightly imperfect
implementation of the Simplex method
(but you should generally assume that it is
correct)
• The biggest source of errors is in the
model building process (i.e., the human)
Download