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)