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)