Lecture 15

advertisement
MGTSC 352
Lecture 15: Aggregate Planning
Altametal Case
Summary of Optimization Modeling
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
LINEAR
INTEGER
NONLINEAR
“Programming” MODELS
A Summary
CLASSIFICATION
Decision Variables
Functions
Fractional
Integer
Linear
LP
ILP
Nonlinear
NLP
INLP
LP
•
•
•
•
•
SIMPLEX method (linear algebra)
Corner point optimality
Move from corner-to-corner, improve obj.
Very efficient
Can solve problems with thousands of
variables and constraints
ILP
•
•
•
•
•
•
•
Branch & Bound (divide-and-conquer)
Solve the LP, ignoring integer constraints
Select a fractional variable, x6 = 15.7
Create two new problems: x6 ≤ 15, x6  16
Solve the new problems
Continue until all branches exhausted
# of branches is exponential in # of var.
NLP
• Gradient method (uses derivatives)
• Repeat until convergence
– Find an improving direction
– Move in the improving direction
• Converges to local optimum
• Multiple starts recommended
INLP
•
•
•
•
•
•
Ignore integer constraints, solve the NLP
Use Branch & Bound
Solve a series of NLPs
Computationally demanding
No guarantee of optimality
YUCK!
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